首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

实现 Xen 和 DS4800 多路存储(4)

实现 Xen 和 DS4800 多路存储(4)

设置 Xen guest 在安装 Xen guest 之前,需要在主机上做两件事:
  • 确保虚拟网络设置正确。
  • 使 Xen guest 可以通过网络(可以是 HTTP、FTP 或 NFS)获得安装媒介 — 但是不能使用本地挂载的 ISO 镜像!
对于我的虚拟网络,我特别地将它绑定到 eth0 适配器。可以使用图形化的 Virtual Machine Manager (VMM) 完成这个操作;进入菜单 Edit          > Host details > Virtual Networks,修改或添加一个新的条目。
图 5. VMM 中的虚拟网络配置 对于安装媒介,我只是从 DVD 镜像中提取所有的文件,将它们放入到 /var/www/html/rhel51 目录中,然后用 service httpd start 启动 Apache Web 服务器。然后,在 Xen guest 中可以通过 http://192.168.100.1/rhel51 访问所有这些文件。注意不要让 iptable 阻塞使用端口 80 的连接。
Guest test0 对于第一个 guest OS,我希望它有 3 个逻辑驱动器,这 3 个逻辑驱动器直接映射到 DS4800 上的 3 个 LUN(当然是通过 Dom0)。
图 6. guest test0 的存储设备映射 现在一切就绪。
  • 单击 VMM 主面板上的 New 按钮。                     图 7. 包含 domain 0 的 VMM 主面板
  • 为 guest 指定一个名称,例如 test0。
  • 选择 Paravirtualized 模式。
  • 在下一个屏幕中,在 Install Media URL 字段中输入:
    http://192.168.100.1/rhel51
              。
  • 为这个 guest 指定一个 Normal Disk Partition;第一个是主机的          /dev/sdb。其他磁盘可以在以后添加。           图 8. 为 guest test0 指定存储空间
  • 选择之前设置的 Virtual Network
  • 为这个 guest 分配内存。对于我来说,我将起始内存设为 512MB,最大内存设为 1GB。对于虚拟 CPU,我将其设为 2。           图 9. 为 guest test0 分配内存
  • 下面是我得到的摘要面板:          图 10. Guest test0              创建摘要面板
  • 单击 Finish 开始创建过程。
  • 此时,应该可以看到熟悉的 Red Hat 安装程序。根据指示完成安装。这通常需要一点时间。          图 11. 在 guest test0 中开始安装
  • 在安装过程中或者安装之后,都可以将剩下的两个逻辑驱动器添加到这个 guest 中。在 VMM 主面板上,选择 test0 并单击            Details。          图 12. 含有 1 个 guest 的 VMM 主面板
  • Hardware 选项卡中,单击 Add。           图 13. guest test0 的硬件详细信息面板
  • 接受 Storage device 的默认选择。
  • 选择一个 Normal Disk Partition,并输入          /dev/sdc。
  • 单击 Finish 完成该过程。
  • 重复该过程,添加 /dev/sdd。
  • 现在应该已经为这个 guest 定义了 3 个磁盘。           图 14. 添加 2 个存储设备到 guest test0 之后
  • 在适当的时候关闭并重新启动这个 guest,以使更改生效 — 这里不要使用重启。
要访问这个 guest OS:
  • 可以像 OS 安装时那样使用图形化控制台。
  • 可以从主机终端会话中运行          xm console test0 来访问一个文本控制台。
  • 如果知道为其分配的 DHCP IP 地址,可以通过 ssh 访问 test0。
要查看新的磁盘,可以运行 fdisk -l,还可以选择使用 fdisk,以便在磁盘上创建分区。
guest 配置存储在 /etc/xen 目录中的一个纯文本文件中。例如,下面是 /etc/xen/test0 的内容:
清单 10. guest test0 的配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
[root@xenhost ~]# cat /etc/xen/test0
name = "test0"
uuid = "dddf02f6-5f90-74a5-0098-365a51b54282"
maxmem = 1000
memory = 500
vcpus = 2
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [ "type=vnc,vncunused=1,keymap=en-us" ]
disk = [ "phy:/dev/sdb,xvda,w", "phy:/dev/sdc,xvdb,w", "phy:/dev/sdd,xvdc,w" ]
vif = [ "mac=00:16:3e:79:2f:e1,bridge=vnet0" ]




从头开始创建这个文件并不容易,但是手动修改这个文件却很容易。例如,如果想要更改内存分配或虚拟 CPU 的数量,只需编辑这个文件,并使用 xm shutdown test0 和 xm create test0 命令关闭/重新启动 guest。         或者也可以使用 VMM 工具。
对于这个练习,我将 guest 中每个磁盘的名称由 xvdx 改为        hdx,如下所示:
清单 11. 更改虚拟设备名称
1
disk = [ "phy:/dev/sdb,hda,w", "phy:/dev/sdc,hdb,w", "phy:/dev/sdd,hdc,w" ]




实际上,如何命名虚拟设备并不重要。您也可以尝试使用        sdx。guest 只是启动列表中的第一个块设备。在虚拟磁盘上创建分区和文件系统之后,我从 test0 中得到以下内容:
清单 12. test0 中所有文件系统的列表
1
2
3
4
5
6
7
[root@test0 ~]# df -h
Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00  3.8G  1.8G  1.8G  51% /
/dev/hda1                         99M   13M   82M  14% /boot
tmpfs                            251M     0  251M   0% /dev/shm
/dev/hdb1                        2.0G   36M  1.9G   2% /mnt/disk1
/dev/hdc1                        2.0G   36M  1.9G   2% /mnt/disk2





这样就完成了 test0 的设置过程,test0 现在可以对 DS4800 上的 3 个 LUN 进行多路访问。
返回列表