我必须向 SLES 10 服务器添加一些存档\暂存存储。要求是提供相当大的容量(每个大约 9-20TB,总共 60TB 左右),用于存储包含大型图像文件(大部分为 150Meg Tiff)的存档数据(字面上,这是用于库)和大 tarball。数据将极大地偏向于读取 IO,当然 >95% 并且可能超过 99%。
存储已经购买 - 一个戴尔 MD3000 SAS 阵列菊花链与 2 个 MD1000 完全填充 2TB 7200 RPM SATA 驱动器,总共 45 个驱动器。阵列堆栈使用两个双端口外部 SAS 适配器连接,即有 4 条路径到堆栈。
我的目的是将这些配置为一组 4 个卷,位于 4 个 RAID 组上,每个阵列有一个热备用。所有组都将是具有 7 个或 14 个驱动器的 RAID 6,并且每个 RAID 组将显示为使用该组中所有容量的单个 LUN。在 SLES 端,这些需要格式化为 XFS 卷。
我对 SLES(以及一般的 Linux)的经验有限,我正在寻找有关此的一些建议,特别是:
我正在尝试使用 Linux 优化某些 Sun 硬件上的存储设置。任何想法将不胜感激。
我们有以下硬件:
这是 SAS 硬件的数据表:
http://www.sun.com/storage/storage_networking/hba/sas/PCIe.pdf
它使用 PCI Express 1.0a,8x 通道。每条通道的带宽为 250 MB/秒,我们应该能够达到每个 SAS 控制器 2000 MB/秒的速度。
每个控制器每个端口可以达到 3 Gb/秒,并且有两个 4 端口 PHY。我们将两个 PHY 从控制器连接到 JBOD。因此,在 JBOD 和控制器之间,我们有 2 个 PHY * 4 个 SAS 端口 * 3 Gb/秒 = 24 Gb/秒的带宽,这超过了 PCI Express 带宽。
启用写缓存并进行大写时,每个磁盘可以维持大约 80 …
不幸的是,我可能不得不重启我的存储阵列。
在使用带有 libvirt 的 KVM 管理虚拟机的情况下,我需要对存储阵列重新通电,是否可能或什至建议:
然后按照相反的过程
欢迎任何建议。
iscsi storage-area-network libvirt multipath kvm-virtualization
我们这里有一个 RHEL 5.6 服务器,它有 4 个指向单个 LUN 的活动路径。我们怀疑它无法将足够多的 IO 通过管道塞入另一端的 XIV:
mpath0 (XXXXXXXXXXXXXXX) dm-9 IBM,2810XIV
[size=1.6T][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=4][active]
\_ 2:0:1:2 sdaa 65:160 [active][ready]
\_ 1:0:0:2 sdc 8:32 [active][ready]
\_ 1:0:1:2 sdk 8:160 [active][ready]
\_ 2:0:0:2 sds 65:32 [active][ready]
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sdc 0.00 108.18 49.30 273.65 795.21 1527.35 14.38 0.49 1.51 1.16 37.50
sdk 0.00 101.00 49.70 280.44 1700.60 1525.75 19.55 0.55 1.67 1.15 38.06
sds 0.20 110.58 …Run Code Online (Sandbox Code Playgroud) 是否可以在现有 vlan 接口之上设置绑定(活动/备份)?
假设以下场景:
像这样的东西:
eth0 --- eth0.101 -- iSCSI IP 1
\ eth0.100 -------------------
\__bond100——IP
eth1 --- eth0.102 -- iSCSI IP 2 /
\ eth1.100 -------------------
恐怕这不起作用,因为绑定驱动程序没有从 vlan-interface 获取链路层信息...
任何其他想法如何解决这个问题?
我正在尝试使用 EMC VMAX3 在后端的同一数据中心的两台服务器之间复制(使用 rsync 的约 7TB 数据)
复制 ~30-40GB 的数据后,多路径开始失败
Dec 15 01:57:53 test.example.com multipathd: 360000970000196801239533037303434: Recovered to normal mode
Dec 15 01:57:53 test.example.com multipathd: 360000970000196801239533037303434: remaining active paths: 1
Dec 15 01:57:53 test.example.com kernel: sd 1:0:2:20: [sdeu] Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
[root@test log]# multipath -ll |grep -i fail
|- 1:0:0:15 sdq 65:0 failed ready running
- 3:0:0:15 sdai 66:32 failed ready running
Run Code Online (Sandbox Code Playgroud)
我们使用默认的 multipath.conf
HBA driver version 8.07.00.26.06.8-k
HBA model QLogic Corp. ISP8324-based 16Gb Fibre Channel to PCI Express …Run Code Online (Sandbox Code Playgroud) 我正在设置一些 iSCSI 存储(联想)以及运行 RHEL7 的物理服务器。服务器有 2 个用于主 LAN(绑定)的 NIC 和用于 iSCSI 网络的 2 个 NIC。Lenovo 存储有 4 个端口连接到 2 个物理交换机。服务器中的 iSCSI NIC 转到每个交换机中的 1 个端口。
我已经安装了 iscsi-initiator-utils 和 dm-multipath。
当我运行此命令时,我可以看到以下输出
iscsiadm -m 发现 -t sendtargets -p 192.168.1.11
192.168.1.13:3260,2 iqn.2002-09.com.lenovo:thinksystem.600a098000f8709a000000005cfff0e0
192.168.1.14:3260,2 iqn.2002-09.com.lenovo:thinksystem.600a098000f8709a000000005cfff0e0
192.168.1.11:3260,1 iqn.2002-09.com.lenovo:thinksystem.600a098000f8709a000000005cfff0e0
192.168.1.12:3260,1 iqn.2002-09.com.lenovo:thinksystem.600a098000f8709a000000005cfff0e0
Run Code Online (Sandbox Code Playgroud)
令人放心的是,发现过程已在 Lenovo 存储 NIC 上找到了所有 4 个地址。
然后我使用 rescan-scsi-bus.sh 通过 SCSI 总线重新扫描
我使用 puppet multipath 为名为 lenovo01 的磁盘 wwid 定义了一个别名
然后我运行这个命令并看到以下输出
多路径 -ll
lenovo01 (3600a098000f63bc40000027d5d680d78) dm-14 LENOVO ,DE_Series
size=16T features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' …Run Code Online (Sandbox Code Playgroud) 我们有两台类似的 SLES10SP2 服务器,它们都在来自同一存储阵列的同一设备上使用多路径。
在一台服务器上,/dev/disk/by-id/scsi-* 设备正确指向多路径设备:
server1:/dev/disk/by-id # ls -l scsi-* | awk '{print $9,$10,$11;}'
scsi-3600a0b80005047d80000050c4933f22c -> ../../dm-1
scsi-3600a0b80005047d80000050c4933f22c-part1 -> ../../dm-2
scsi-3600a0b80005047d80000050c4933f22c-part2 -> ../../dm-3
scsi-3600a0b80005047d80000b0a14dbb20e4 -> ../../dm-0
Run Code Online (Sandbox Code Playgroud)
另一方面,/dev/disk/by-id/scsi-* 磁盘设备指向其中一个路径而不是多路径 dm 设备:
server2:/dev/disk/by-id # ls -l scsi-* | awk '{print $9,$10,$11;}'
scsi-3600a0b80005047d80000a3464a07f6ee -> ../../dm-1
scsi-3600a0b8000505008000004f84933e183 -> ../../sda
scsi-3600a0b8000505008000004f84933e183-part1 -> ../../dm-4
scsi-3600a0b8000505008000004f84933e183-part2 -> ../../dm-5
scsi-3600a0b80005050080000057749352a81 -> ../../sdd
scsi-3600a0b80005050080000057749352a81-part1 -> ../../dm-6
scsi-3600a0b80005050080000a7cd4dbb2498 -> ../../sdg
Run Code Online (Sandbox Code Playgroud)
这会导致问题,因为某些磁盘被配置为使用整个磁盘作为 pv。
我们需要在 server2 上更改什么才能让系统设置所有 scsi-* 链接以指向多路径设备而不是单个路径?
我有兴趣使用以下技术在 Linux 上手动运行 SAN 解决方案:
在硬件方面,我正在考虑在目标和启动器上具有多个 gigE NIC 的 2 x gigE(或更好)交换机。
人们对如何在理想情况下在完全 n+1(最小)冗余的假设下进行配置有什么建议?
另外,我是否需要在 iSCSI“结构”中间设置一组聚合器主机?像这样的东西:
目标(使用 mdadm)<-gigE-> 聚合主机(lvm)<-gigE-> 发起者
或者最好做这样的事情:
目标(无镜像) <-gigE-> 聚合器主机 (mdadm) <-gigE-> 启动器 (lvm)
有很多方法可以设计这个,我很想知道其他人在做类似的事情时可能有什么经验?
SAN 将用于 VMware 映像和通用文件服务(以及一些数据库,如果可行)。
我对使用 ISCSI 和多路径设置 SAN 有点困惑。我们正在将我们的网络升级到 10Gbit,因此有 2 个 10Gbit 交换机配置了 MLAG,用于正常的以太网流量。LAG 组是在适当的 NIC 上创建的,因此仅适用于以太网。
现在有一个带有 2 个控制器的 SAN。每个控制器包含 4 个 10Gbit NIC。所以我最初的计划是在每个控制器上使用所有 4 个 NIC 来最大化吞吐量,因为有多个服务器连接到 SAN。
连接的服务器包含 2 个用于 SAN 流量的专用 10Gbit NIC。每个 NIC 连接到其中一个交换机。这些接口上没有 LAG,它们在 SAN 网络中配置了一个静态地址。
好吧,正如人们所见,我不是存储专家,...:-)
所以我得到了关于问题 1 的更新。假设我要使用每个 SAN 控制器的 2 个 NIC(为了暂时保持简单,不是全部 4 个),使用两个不同的子网是有意义的。这似乎增加了 MPIO 被有效使用的机会。
如果所有 …