Board logo

标题: 实现 Xen 和 DS4800 多路存储(5) [打印本页]

作者: look_w    时间: 2018-5-22 16:00     标题: 实现 Xen 和 DS4800 多路存储(5)

Guest test1 对于第二个 guest,我想将 Dom0 中的镜像文件作为虚拟磁盘映射到这个 guest。DS4800 上的 LUN #3 以 /dev/sde 的形式提供给 Dom0。我使用 fdisk 在它上面创建一个分区,然后使用        mkfs 在那个分区上创建一个文件系统。然后,我将这个文件系统挂载到默认的 Xen 镜像文件位置,即 /var/lib/xen/images。
图 15. guest test1 的存储设备映射 现在我们用和之前一样的过程继续创建 guest test1,在 VMM 主面板中单击 New,将它的 System          Name 设为 test1,选择 Paravirtualized。在指定存储屏幕中,选择 Simple File,位置为 /var/lib/xen/images/test1-xvda.img。指定一个大小,并选中          Allocate entire virtual disk now 选项。
图 16. 为 guest test1 指定存储空间 然后,像前面那样完成其他屏幕。最后,应该开始 OS 安装。在安装期间,打开 VMM test1        详细信息面板,使用镜像文件名        /var/lib/xen/images/test1-xvdb.img 和 /var/lib/xen/images/test1-xvdc.img 添加 2 个磁盘。然后,应该有如图 17 所示的 3 个磁盘。
图 17. guest test1 的硬件详细信息面板下面是 test1 的配置文件:
清单 13. guest test1 的配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@xenhost ~]# cat /etc/xen/test1
name = "test1"
uuid = "53b39c1e9edc6143a06d4011154beab9"
maxmem = 1000
memory = 600
vcpus = 2
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [ "type=vnc,vncunused=1,keymap=en-us" ]
disk = [ "tap:aio:/var/lib/xen/images/test1-xvda.img,xvda,w",
"tap:aio:/var/lib/xen/images/test1-xvdb.img,xvdb,w", "tap:aio:/var/lib/xen/images/
test1-xvdc.img,xvdc,w" ]
vif = [ "mac=00:16:3e:7b:78:63,bridge=vnet0" ]




标记 tap:aio 用于表示基于镜像文件的一个逻辑磁盘,而标记 phy 表示一个物理磁盘。在完成 OS 安装后,关闭并重新启动 test1,使用 fdisk -l 可以看到 2 个新添加的磁盘。在这些磁盘上创建分区和文件系统之后,test1 中有以下内容:
清单 14. test1 中所有文件系统的列表
1
2
3
4
5
6
7
[root@test1 ~]# df -h
Filesystem                       Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00  4.7G  1.8G  2.9G  39% /
/dev/xvda1                        99M   13M   82M  14% /boot
tmpfs                            301M     0  301M   0% /dev/shm
/dev/xvdb1                       2.0G   35M  1.8G   2% /mnt/disk1
/dev/xvdc1                       2.0G   35M  1.8G   2% /mnt/disk2




至此,两个 guest 都已经安装和配置完毕,现在可以通过 domain 0 对各自的虚拟磁盘进行多路访问。我的 VMM 现在显示:
图 18. 有 2 个 guest 的 VMM 主面板拔掉一些电缆 为了确保这两个 guest 中都可以进行多路访问,我在每个 guest 中运行一个 IBM 内部 I/O 工作负载工具。它编写数据块,然后连续地在这 3 个虚拟磁盘上进行读取和验证。然后,我故意拔掉主机与交换机之间的一根 FC 电缆,以中断其中一条访问路径。这个 I/O 工具暂停了大约 5 秒钟,然后继续像通常一样活动。
为了模拟 SAN 交换机故障,我禁用了连接主机的另一个交换机上的一个端口,同样,I/O 工具继续正常运行。
最后,我禁用 DS4800 上的一个控制器,和预期的一样,I/O 工具继续正常运行。当然,在每次测试之间,我将环境恢复到正常状态,并等待几分钟,让多路驱动程序重新建立与断开的路径的连接。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0