必须以某种方式将Rosplatform(R虚拟化和R-Storage)与硬件存储系统(3PAR)集成在一起,这在各种情况下都非常有用。
协同配置
以前,这种集成度已在带有Dorado 5000 v3存储系统的华为中央刀片的刀片(Blade CH121 v5)上进行了测试,该存储系统顶部的Rosplatforma P-Storage的SDS(软件定义存储)由于采用了全闪存功能而表现良好,但使用Synergy(如果可用)来自D3940模块的JBOD磁盘,一切都变得更加有趣和灵活。
3个刀片服务器(Synergy 480 Gen10(871940-B21)):
- 每个都有两个英特尔®至强®铂金8270 CPU。
- 网络两个端口为20 Gb / s。
- 内存256GB。
- 刀片服务器中没有硬盘驱动器。
- 在Synergy 2HDD磁盘模块中,每个OS / hypervisor的RAID1中为900GB,元数据+高速缓存角色(每个用于一台服务器)的3SSD HPE VK0960GFDKK 960GB,以及900GB的9HDD EG0900JFCKB。
操作系统是通过RAID控制器通过通道从Synergy磁盘模块加载的。
通过Synergy磁盘模块通过JBOD通道部署了本地SDS。
3PAR配置
Synergy已连接到3PAR(FC16 Gb / s):
来自具有200GB容量的SSD的一个LUN(一对多)RAID6。HDD的9个LUN RAID6,每个容量150GB(每个刀片服务器三个LUN)。
数字:1测试台图。
方案说明
我们测试了几种与3PAR集成的选项,这些选项也可以同时在混合配置中同时使用。
场景与Rosplatform的每个从3PAR 150GB的单独的LUN SDS部署:
图 在方案2中,将Rosplatform的SDS部署在单独的LUN上,
并为三个节点中的每个节点提供了存储系统,并提出了带有3个150GB LUN的FC。
在存储系统上,它们是通过HDD磁盘在RAID6中配置的。在图 图2示意性地显示了10Gb和交换机,但是实现是在具有20Gb端口的Synergy交换机级别上进行的,其中一个接口用于管理和虚拟化,另一个接口用于SDS存储。
已测试此方案以验证以下选项是否有效:
- SDS Rosplatform可在3PAR上运行。
- 通过添加本地SSD缓存来增强Rosplatforma在3PAR之上的SDS。
- 通过创建用于存储VM配置文件的小型SDS Rosplatform,可在LUN 3PAR上创建VM本身。
- 在3PAR上测试SDS Rosplatforma,将其定义为比本地磁盘稍微慢一些。
2)方案与在LUN上从3PAR创建VM:
图 3从3PAR在LUN上创建VM的场景。
提供了来自SSD的VM的LUN 200GB RAID6和存储。LUN配置是一对多的。
已测试此方案以验证功能:
- 直接从3PAR附加到VM LUN。
- 在不使用qcow2的情况下,将附加的VM LUN用作主磁盘。
- 使用多个附加了相同200GB LUN的VM进行后续来宾群集文件系统的安装。
- 从3PAR迁移具有200GB LUN的VM,并且在其余节点上重新启动此VM导致节点崩溃。
- 将3PAR中的SDS用作VM配置文件的存储,并使用来宾OS直接从3PAR部署到LUN。
- 将Synergy模块本地磁盘上的SDS用作VM配置文件的存储,并使用来宾OS直接从3PAR部署在LUN 200GB上。
设定说明
对于每个节点上的所有方案,在常规部署群集之前,以前都进行了相同的设置,这些设置是在从Rosplatform映像安装三个节点之后立即执行的。上一篇文章中提供了有关安装,配置集群本身的简要说明。
1.启用多路径服务自动加载:
#chkconfig multipathd on
2.启用模块加载:
#modprobe dm-multipath
#modprobe dm-round-robin
3.将配置模板复制到工作配置的文件夹中:
#cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc/
4.在以下参数下方检查包含模式:
defaults {
user_friendly_names yes
find_multipaths yes
}
5.为虚拟机的共享磁盘添加别名:
multipaths {
multipath {
# wwid 3600508b4000156d700012000000b0000
# alias yellow
# path_grouping_policy multibus
# path_selector "round-robin 0"
# failback manual
# rr_weight priorities
# no_path_retry 5
# }
multipath {
wwid 360002ac0000000000000000f000049f4
alias test3par
}
}
6.检查服务启动:
#systemctl start multipathd
7.检查服务并显示带有mpath的设备:
#multipath –ll
8.强制重启:
#reboot
9.检查服务并显示带有mpath的设备:
#multipath –ll
接下来,执行标准群集设置。
数字:4 Web UI启用多路径服务之前。
数字:5启用多路径服务后,出现dm设备。
:创建Rosplatforma集群,其中200GB LUN的虚拟机是专门与未分配角色后截图
图。6创建Rosplatforma群集后的屏幕截图。
该屏幕截图示出了2个tier0和等级1,其中tier0是本地SDS,和等级1是超过3PAR SDS:
图 7个本地SDS和3PAR以上。
接下来,创建的VM没有本地磁盘,而是连接了3PAR的200GB LUN:
#prlctl set testVM --device-add hdd --device /dev/mapper/ test3par
使用以下参数创建虚拟机:
- 类型-CentOS Linux
- vCPU-4
- 内存-8
- 来宾操作系统-Centos 7(1908)
迁移测试
迁移测试在安装或未安装来宾工具的情况下进行。
在所有情况下,VM都可以成功迁移而不会停止。
数字: 8 VM迁移的结果和时间。
Test1-仅具有本地磁盘映像QCOW2 64GB的具有相同参数的普通VM,以及从3PAR实时迁移具有200GB LUN的test10 VM。
由于在此过程中没有切换到另一个节点上的VM磁盘映像副本的步骤,因此仅迁移了配置文件并带有指向LUN 200GB的链接的迁移时间,该链接在群集的任何节点上都可见,因此迁移时间较少。
数字: 9 Ping结果。
在实时迁移期间,对来自3PAR的具有200GB LUN的VM进行了ping操作。
仅记录了一个数据包的丢失,SDS上的常规VM发生了完全相同的事情,但是VM仍可通过网络使用并继续工作。
紧急关机测试
关闭服务器电源后,在3PAR上有一个具有200GB LUN的VM的虚拟机,并且在HA服务检测到丢失的节点后,被测试的VM在根据默认drs算法循环选择的另一个节点上成功重新启动,继续工作。在ping期间,丢失了7个数据包。切换时,仅启动了VM配置文件,并且始终可以通过LUN的附加路径访问来宾OS。
我们还测试了创建备份的过程,成功备份了VM配置文件,并且从此VM副本还原时,该备份成功启动。
测试从3PAR对具有200GB LUN的VM的顺序写入测试,该测试显示了3PAR(Rosplatforma并非中间层)中该LUN的性能,并且该测试显示了来宾OS和3PAR存储系统的操作。
来自3PAR的具有200GB LUN的VM内部使用的fio参数:
[seqwrite]
rw=write
size=4g
numjobs=4
bs=1m
ioengine=libaio
iodepth=32
time_based
#runtime=60
direct=1
filename_format=__testfile'$jobnum'
thread
directory=/sdb/
使用来宾操作系统中的集群文件系统进行测试
数字:10来宾OS中的群集文件系统。
已经成功测试了一个200GB LUN连接到两个VM的方案,在该方案中,使用来宾OS在VM内安装了GFS2群集文件系统。在测试过程中,其中一个VM或主机已关闭,然后另一个VM继续使用此LUN并从该LUN写入/读取文件。下面是与VM内的GFS2设置的屏幕截图,起搏器的命令的输出也示出:
在Rosplatform在LUN的另外的SDS:
图 11使用在3PAR LUN上部署的SDS Rosplatform进行配置。
在连接到两个VM的一个200GB LUN上成功测试了相同的场景,使用来宾OS在该VM上将群集文件系统安装在VM上,但是使用从3PAR在LUN上创建的SDS Rosplatforma数据存储作为VM位置。在测试过程中,其中一个VM或主机已关闭,然后另一个VM继续使用此LUN并从该LUN写入/读取文件。
数字: 12通过添加SSD来测试Synergy磁盘模块中的缓存作用。
在连接到两个VM的一个200GB LUN上成功测试了相同的场景,使用来宾OS在VM上将群集文件系统安装在VM上,但是将使用3PAR在LUN上创建的SDS Rosplatforma数据存储作为VM位置。另外,通过从Synergy磁盘模块添加SSD作为缓存,此数据存储的性能得到了增强。在测试过程中,其中一个VM或主机已关闭,然后另一个VM继续使用此LUN并从该LUN写入/读取文件。
在Rosplatform节点上的群集文件系统测试
数字: 13介绍了使用3PAR LUN 200GB上位于SDS Rosplatforma上的VM配置文件进行测试。
使用来自3PAR的共享存储针对群集文件系统上的VM磁盘映像测试了一个方案,该群集文件系统安装在Rosplatforma节点上,并且这些VM的配置文件位于Rosplatforma的SDS上。在测试过程中,其中一台主机被关闭,此后由于其他两台主机的工作,VM必须继续使用其磁盘映像,这是根据SDS群集上的副本3(用于VM配置文件)和群集文件系统的3个日志(用于VM磁盘映像)进行的。
数字: 14 SDS从3PAR启动到LUN。
使用来自3PAR的共享存储针对群集文件系统上的VM磁盘映像测试了一个方案,该群集文件系统安装在Rosplatforma节点上,并且这些VM的配置文件位于Rosplatforma的SDS上,在那里SDS从3PAR提升到LUN。在测试过程中,其中一台主机被关闭,此后由于其他两台主机的工作,VM必须继续使用其磁盘映像,这是根据SDS群集上的副本3(针对VM配置文件)和群集文件系统的3个日志(针对VM磁盘映像)进行的。
数字: 3PAR上的LUN上有15个SDS tier0,Synergy模块上的磁盘上有15个SDS tier1。
使用来自3PAR的共享存储对群集文件系统上安装在Rosplatforma节点上的VM磁盘映像的场景进行了测试,并且这些VM的配置文件位于Rosplatforma的SDS上,其中在3PAR的LUN上引发了SDS tier0,在模块的磁盘上提出了第二个SDS tier1协同作用。在测试过程中,其中一台主机已关闭,此后由于其他两台主机的工作,VM必须使用其磁盘映像,这是根据SDS群集上的副本3(用于VM配置文件)和群集文件系统的3个日志(用于VM磁盘映像)进行的。但是kvm-qemu在GFS2上的工作存在问题,经过长时间的调查,GFS2的锁管理器失败,因此Rosplatforma无法在群集的另一主机上启动VM。问题仍然悬而未决。图13和14中的选项相同。这种情况下可能的问题在于,kvm-qemu与qcow2和原始映像一起工作时的特性,其中写入是同步的,并且GFS2的锁管理器仅限于此类操作。
结论
从SDS从3PAR到LUN的选项以及从3PAR到LUN的选项都非常有效,可以在基础架构中使用,但是它们当然有一些缺点。
例如,在月球上使用SDS的情况下,性能始终会比在本地磁盘上的SDS稍低,您可以通过使用具有缓存作用的本地SSD来改善性能,但是普通的SDS总是会更快。作为一种选择,可以在单独的照相馆中配置存储的SDS。另一个并非不重要的缺点是容错能力,在SDS上,每个节点都是一个控制器,其中至少一个集群以三个节点开始,然后在存储系统的情况下,每个机架始终有两个控制器。对于SDS,这是一个单点故障,但是尽管有这些缺点,但在从外部存储到SDS的逐步过渡过程中或在处置现有存储系统时仍会发生这种情况。另外,由于体系结构方法的特殊性,存储系统本身具有一些功能,例如重复数据删除,压缩Rosplatforma在SDS上不存在,但3PAR确实存在,并且由于上述情况,它们可以在存储级别使用。
具有VM的LUN呈现的方案,具有自己的集群系统的来宾系统的方案也很重要。如果将LUN分别提供给每个VM,则会出现大量VM生命周期内缺乏自动化的缺点,这可能是由于Rosplatform节点上的群集文件系统引起的,但是在这种情况下带有kvm-qemu的GFS2失败了,如果使用任何其他文件,则即使在Rosplatform上进行紧急测试也可以正常工作,但是一旦将VM映像放置在那里,GFS2锁管理器就无法应对紧急测试。也许这个问题会解决。
以上使用多路径的方案对于链接磁带库可能很有用。Rosplatform具有内置的备份系统(SRK),该系统可以将副本写入P-storage群集文件夹或本地文件夹,但是在您自己编写脚本之前不能与磁带设备配合使用,或者为此目的您可以使用外部SRK(例如rubackup)除了使用磁带外,它还有助于制作带有附加LUN的VM的副本,这在与存储系统集成时很重要。