找回密码
 注册
【阿里云】2核2G云新老同享 99元/年,续费同价华为云精选云产品特惠做网站就用糖果主机Jtti,新加坡服务器,美国服务器,香港服务器
查看: 1037|回复: 1

Xen 部署 iSCSI 存储

[复制链接]
发表于 2010 年 10 月 2 日 20:57:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×

运行在 Xen 的虚拟机(domainU)有多种存储方式可以选择,可以是普通的文件(file)、逻辑卷(LVM)、物理硬盘分区(partition)等,也可以是网络存储 NFS、NAS、GNBD、SAN、AoE、iSCSI 等。在企业、高校等机构里,我们一般有充足的硬件资源来部署基于 Xen 的虚拟化环境,例如SUN Fire V880,可以容下 12 个硬盘,就非常适合来做网络存储,为了虚拟环境达到高可靠、高性能的要求,采用一些更高级、更昂贵的网络存储方式会让后续的管理、容错、备份、迁移、灾难恢复等工作更容易一些。

NFS 是文件级别的存储(Network File Storage),提供文件、目录级别的共享和访问,而 iSCSI 之类的网络存储则是块级别的存储(Block Storage)。他们的工作方式不一样,缓存机制也不一样,NFS 自己有文件缓存系统,而 iSCSI 的缓存依赖相应的文件系统的缓存。经测试表明,在大量数据繁重(Data-intensive)的应用中 NFS 的性能稍好一些,在小量数据(Meta-data)面向操作的应用中 iSCSI,由于虚拟化环境大部分传输的是命令之类的 meta-data,因此 iSCSI 非常适合部署在虚拟化环境。

为了描述方便,VPSee 用 A 机器代表运行 domain0 的 Xen 服务器,用 B 机器代表存储多个 domainU 的 iSCSI 服务器。他们的关系是这样的,A(iSCSI 客户端)通过 iSCSI 协议来启动和运行 B(iSCSI 服务端)上的 Xen 虚拟机镜像(可以是文件、LVM、物理分区等)。下面的操作在 CentOS 5.5 上执行:

安装必要软件包

安装必备软件:

  1. yum install kernel-devel openssl-devel gcc rpm-build
复制代码
      安装和配置 iSCSI target 服务器

  1. cd /usr/src
    tar xvf iscsitarget-1.4.20.1.tar.gz
    cd iscsitarget-1.4.20.1
    make
    make install
复制代码

关闭防火墙或者打开 iSCSI 需要的 3260 端口,否则客户端会连接不上:

  1. system-config-securitylevel-tui
复制代码

配置 iSCSI target 服务器,设置客户端可以访问的用户名和密码,本来为了达到好的稳定性和性能这里是应该分一个 LVM 逻辑分区出来当作 Xen 虚拟机的块设备,然后在上面安装 domainU 的,这里为了简便 VPSee 直接拿一个已经装好的虚拟机镜像文件 vpsee.img 来充当 LVM 分区:

  1. vi /etc/iet/ietd.conf
    ...
    Target iqn.2010-06.xen-sanhead:xen-vpsee
    IncomingUser vpsee 123456
    OutgoingUser vpsee 123456
    Lun 0 Path=/iSCSI/vpsee.img,Type=fileio,IOMode=wb
    Alias iSCSI for diskname
    ImmediateData Yes
    MaxConnections 1
    InitialR2T Yes
复制代码

iSCSI target 服务器端设置完后重启服务:

  1. /etc/init.d/iscsi-target restart
复制代码
     安装和配置 iSCSI 客户端

安装 iSCSI 客户端:

  1. yum install iscsi-initiator-utils
复制代码

配置 iSCSI 客户端:

  1. vi /etc/iscsi/iscsid.conf
    ...
    node.session.auth.username = vpsee
    node.session.auth.password = 123456
    discovery.sendtargets.auth.username = vpsee
    discovery.sendtargets.auth.password = 123456
复制代码

启动服务:

  1. /etc/init.d/iscsi start
复制代码
  1. iscsiadm -m discovery -t sendtargets -p 172.16.39.101
    172.16.39.101:3260,1 iqn.2010-06.xen-sanhead:xen-vpsee
    /etc/init.d/iscsi restart
复制代码

执行 fdisk 就会看到本机(A 机器)多出了一个块设备,那正是 B 机器上的 vpsee.img:

  1. fdisk -l
    ...
    Disk /dev/sdc: 10.4 GB, 10486808576 bytes
    64 heads, 32 sectors/track, 10001 cylinders
    Units = cylinders of 2048 * 512 = 1048576 bytes
    Disk /dev/sdc doesn't contain a valid partition table
复制代码

最后在 A 机器上把 Xen 配置文件的 disk 一行改成:

  1. disk = [ "phy:/dev/sdc,sda1,w" ]
复制代码

启动 Xen 虚拟机后,就实际上从 A 机器的块设备 /dev/sdc 通过 iSCSI 协议启动并连到了 B 机器上的 vpsee.img 文件,虽然 domainU 运行在 A 机器上,但是所有数据和程序都在 B 机器的 vpsee.img 中。这样实现了操作和数据的分离,将更有利于以后迁移、管理和备份 Xen 虚拟机。



Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
发表于 2011 年 2 月 18 日 17:33:17 | 显示全部楼层
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价
顶一下,不错不错....
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2024 年 11 月 20 日 11:43 , Processed in 0.018648 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表