设为首页 收藏本站
查看: 1381|回复: 0

[经验分享] Xen的磁盘工作原理

[复制链接]

尚未签到

发表于 2015-10-12 08:09:48 | 显示全部楼层 |阅读模式
在安装Xen虚拟机时,需要决定选用何种块设备(block devices)。你有三种可能的选择:直接在专用分区中安装;使用磁盘镜像文件;使用dd创建磁盘镜像文件。在本文中,TechTarget中国的特约虚拟化专家Sander van Vugt将概括地介绍最重要的几种选择。  使用物理磁盘
  如果要获得最好的性能,物理磁盘设备是最好的选择。使用物理磁盘设备安装时,你可以安装到一个分区中或逻辑卷中(如果使用了逻辑卷),既可以使用EVMS也可以使用LVM。使用逻辑卷有这样几个好处:
  逻辑卷可以改变大小
  可以使用快照进行备份
  使用物理磁盘设备的最大好处是它提供的性能可能是最好的。然而,物理存储设备不便于移动。要拷贝磁盘镜像文件很容易,但要拷贝逻辑卷或物理分区就会困难得多。不过,困难得多并不表示不可能。例如,如果要将整个逻辑卷/dev/xen/vm1拷贝到一个预建的逻辑卷/dev/xen/vm1-backup中,只需使用dd if=/dev/xen/vm1of=/dev/xen/vm1-backup即可。
  要通过虚拟机配置文件处理物理磁盘设备,需要使用如下语句:
  phy:,,[r|w]
  例如:disk=[ ’phy:/dev/system/mainserver,xvda,w’, ’phy:/dev/cdrom,xvdb,r’, ]
  使用Xen磁盘镜像文件
  在SUSE或Red Hat上安装虚拟机时,默认使用的是Xen磁盘镜像文件。该镜像文件是通过dd工具(dd utility)创建的,所以基本没有任何特殊之处。dd磁盘镜像文件与虚拟硬盘(VHD)格式的文件不一样。dd磁盘镜像文件没有相关的元数据(metadata),只有0和1。
  要创建磁盘镜像文件,你需要通过dd工具把/dev/zero设备中的0复制到你的磁盘镜像文件中。例如,如果要创建一个4GB的文件(文件名为/var/lib/xen/images/disk1),可以使用如下命令:
  dd if=/dev/zero of=/var/lib/xen/images/disk1 bs=1M count=4096
  除了使用dd工具创建空镜像文件以外,你还可以使用ISO文件替代物理光驱创建,用法和用dd一样。如果你甚至没有ISO文件,不要紧,ISO文件很好创建。如果你要创建ISO文件的cd-rom在光驱中,使用如下命令将其复制到cdrom.iso文件:
  dd if=/dev/cdrom of=/isos/cdrom.iso
  创建好一个磁盘镜像文件或ISO文件后,你需要在虚拟机配置文件中包含该磁盘镜像文件,使用文件选项:
  disk=[ ’file:/var/lib/xen/images/disk1,hda,w’, ’file:/isos/cdrom.iso,hdc,r’, ]
  其它环境的镜像文件的使用
  有时,你想从创建镜像文件开始创建一个新的虚拟机。而有些情况下,你要使用的磁盘镜像文件是来自另一种虚拟化环境,可能是VMware环境下的一个vmdk-file,也可能是Qemu环境下的一个qcow文件或者其它文件。要使用这些文件,你必须 “tap” 磁盘镜像。如下命令行是使用VMware环境下的vmdk-file的语句:
  disk=[ ’tap:vmdk:/var/lib/xen/server1.vmdk,hda,w’, ]
  Xen磁盘镜像文件是一种特殊的tap设备,它使用的是xen blktap内核模块。这个模块允许在完全虚拟化环境下作为准虚拟设备处理磁盘镜像文件。要使用这个模块,你需要有aio类型的设备。磁盘镜像文件本身可能是一个由dd命令创建的普通磁盘镜像文件。要在配置文件中使用那种设备类型,可以使用如下语句:
  disk=[ ’tap:aio:/var/lib/xen/server2.img,xvda,w’, ]
  使用tap磁盘镜像有个好处,就是可以使用任何类型的磁盘镜像。然而,它有个缺点:目前的管理工具并不支持tap设备,如virtual manager。这就意味着你不得不利用这个设备手动配置虚拟机。
  网络块设备
  最后,还有一种在虚拟机中可以使用的磁盘类型是网络磁盘类型。它既可以是一个网络块设备(network block devices),如DRBD设备,也可以是iSCSI设备。这使得在iSCSI SAN中直接处理LUN成为可能,不过要记得先在domain0中启动iSCSI启动程序。
  这个磁盘镜像类型是不可移动的,这就意味着你必须在SAN中做一些预防措施,以保护该类型的磁盘镜像文件。例如,在SAN级进行快照备份以保护这些文件。要连接一个iSCSI LUN,你需要在Xen虚拟机的配置文件中包含完整的iSCSI Qualifying Name(iqn)。例如,如果你要使用的iqn为iqn.2007-08.nl.example:xendata,则需要用如下配置行:
  disk=[ ’iscsi:2007-08.nl.example:xendata,xvda,w’, ]
  在本文中,我们了解到了处理虚拟机磁盘设备的各种不同方法。在多数情况下,即使使用了文件设备和物理设备,其它设备类型也是很有用的。尤其是tap设备类型,它能允许你处理任何类型的磁盘镜像文件。
  

  From: http://server.it168.com/a2009/0715/606/000000606641.shtml

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-125600-1-1.html 上篇帖子: Xen块协议的问题 下篇帖子: Xen Internal
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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