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

[经验分享] 虚拟化Xen的高级应用

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-5-23 09:08:42 | 显示全部楼层 |阅读模式
本文将通过virt-manager和virt-viewer来再次讲解如何创建Xen的虚拟机,后面将会讲到如何动态添加磁盘和网卡,已经虚拟机如何实现水平迁移    首先补充一下xm管理的常用命令
    vm save:将内存中的文件加载到磁盘中
    vm restor:将磁盘中的文件加载到内存中
    vm pause:暂停一个xen虚拟机
    vm unpause:启动一个暂停的虚拟机
    vm destroy:强制关闭一个正在运行中的虚拟机,相当于直接拔电源
    vm delete:删除一个虚拟机
    vm top:查看当前运行中的虚拟机的状态,与top命令近似
    vm list:列出当前所有的虚拟机   
一、通过virt-manager来创建虚拟机

    1.安装,由于RedHat官方提供的virt-manager不能驱动xen,故需要安装centos官方提供的libvirt包

1
2
[iyunv@node1 ~]# yum install libvirt -y
[iyunv@node1 ~]# yum install virt-manager -y



    2.启动

1
2
[iyunv@node1 ~]# service libvirtd start
[iyunv@node1 ~]# virt-manager &



    3.查看原来的安装的系统

wKioL1N83RTQYs0sAAEuua1e75E738.jpg
    可以看到原来安装的centos6可以看到,使用Open便可以打开centos6的界面

    4.安装新的虚拟机

wKioL1N83rGi8KkAAAEvD2qqb30987.jpg
    半虚拟化状态只能基于网络安装,而全虚拟化可以基于ISO和--pxe安装,

wKiom1N83t3xloXUAAFGdI8GP0w431.jpg
在虚拟机中开启全虚拟化
wKioL1N832ih77sPAAIsVGzzyOA925.jpg 输入安装书的ip地址,安装树的设置请看前文
wKioL1N83rGxuMBwAAEu9ZsG6vI707.jpg
设置内存大小和cpu的个数
wKiom1N83t2i2ZyXAAEA9pBM4RI215.jpg
设置硬盘的大小
wKioL1N83rGQpZgOAAFW7cYKToY929.jpg
一些摘要信息
wKiom1N83t3CMXzHAAEDKW16SHo721.jpg
开始安装,安装过程通前文一样
wKioL1N84HmjP7SwAAG6F_brYL4510.jpg     5.登陆成功
wKioL1N84wijfG5KAALezQMbhZI945.jpg
    6.通过命令查看
1
2
3
4
5
[iyunv@node1 ~]# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   512     2     r-----   3673.3
centos6                                      9   512     1     -b----     49.6
centos6.5                                   10   512     1     r-----    225.4



二、通过virt-install安装虚拟机
    1.安装vier-viewer,virt-install依赖以vier-viewer

1
[iyunv@node1 ~]# yum install -y virt-viewer



    2.安装虚拟机,为了便于观察本次还是在vnc中安装,  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    创建磁盘,本处使用dd创建,也可以在创建虚拟机的时候创建磁盘
    [iyunv@node1 ~]# virt-install -n rhel6 -r 512 --vcpus=1 -l http://192.168.1.201/centos6 --disk path=/xen/vm/rhel6.img --network bridge=br0
    virt-install命令解释:
      -n NAME, --name=NAME    //虚拟机的名称
      -r MEMORY, --ram=MEMORY  //虚拟机的内存
      --vcpus=VCPUS       //cpu的个数,格式如下
                        --vcpus 5
                        --vcpus 5,maxcpus=10
                        --vcpus sockets=2,cores=4,threads=2
       -c CDROM, --cdrom=CDROM   //通过光驱安装
       -l LOCATION, --location=LOCATION  //通过网路安装
       --pxe               //通过pxe安装,只能在全虚拟化时使用
       --os-type=DISTRO_TYPE   //发行版类型
       --os-variant=DISTRO_VARIANT   //发行版本,如“rhel6”“windows2003”等
       --disk=DISKOPTS    //磁盘映像,格式如下.
                        --disk path=/my/existing/disk
                        --disk path=/my/new/disk,size=5 (in gigabytes)
                        --disk vol=poolname:volname,device=cdrom,bus=scsi,...
       -w NETWORK, --network=NETWORK //网络类型,格式如下
                        --network bridge=mybr0
                        --network network=my_libvirt_virtual_net
                        --network network=mynet,model=virtio,mac=00:11...



    3.开始安装

wKiom1N86KjCWUbuAAL0sAlZZLw714.jpg     4.安装完成,登陆成功
wKioL1N87UfgxebdAAHwhgnBpco828.jpg
    5.通过命令行查看

1
2
3
4
5
6
[iyunv@node1 ~]# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   485     2     r-----   4978.6
centos6                                      9   512     1     -b----     55.0
centos6.5                                   11   512     1     -b----     31.2
rhel6                                       12   512     1     -b----    627.6



    6.通过virt-manager查看

wKiom1N867aRwRgfAAFLrAwbPRY137.jpg
三、动态添加设备
    1.动态添加磁盘
1
2
3
4
5
6
7
8
9
10
11
12
13
创建硬盘
[iyunv@node1 ~]# qemu-img create -f qcow2 -o size=20G,preallocation="metadata"  /xen/vm/test.img
添加到centos6.5中
[iyunv@node1 ~]# xm blcok-attach centos6.5 file://xen/vm/test.img xvdb w
[iyunv@node1 ~]# xm block-list centos6.5
Vdev  BE handle state evt-ch ring-ref BE-path
51712  0    0     4      10     8     /local/domain/0/backend/vbd/11/51712  
51728  0    0     4      12     857   /local/domain/0/backend/vbd/11/51728  
删除设备
[iyunv@node1 ~]# xm block-detach centos6.5 51728
[iyunv@node1 ~]# xm block-list centos6.5
Vdev  BE handle state evt-ch ring-ref BE-path
51712  0    0     4      10     8     /local/domain/0/backend/vbd/11/51712



    2.添加网络设备,与添加磁盘相似
    更多命令请查考xm --help

四、虚拟机的动态迁移
     当前运行状态
1
2
3
4
5
6
7
[iyunv@node1 ~]# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   493     2     r-----     88.3
centos6                                      2   512     1     -b----      0.0
[iyunv@node2 ~]# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   493     2     r-----     81.4



    1.修改配置文件,两台机器的配置相同

1
2
3
4
5
6
7
8
9
10
[iyunv@node1 ~]# grep xend-relocation /etc/xen/xend-config.sxp |grep -v "#"
(xend-relocation-server yes)
(xend-relocation-port 8002)
(xend-relocation-address '')
(xend-relocation-hosts-allow '')
[iyunv@node2 ~]# grep xend-relocation /etc/xen/xend-config.sxp |grep -v "#"
(xend-relocation-server yes)
(xend-relocation-port 8002)
(xend-relocation-address '')
(xend-relocation-hosts-allow '')



    2.为磁盘映像文件准备共享存储,本处使用的为nfs,也可以基于别的机制做,关于nfs的详细使用,请参照本人博文http://wangfeng7399.blog./3518031/1383400
1
2
3
4
[iyunv@node1 ~]# vi /etc/exports
/xen/vm 192.168.1.0/24(rw,no_root_squash)
[iyunv@node1 ~]# service nfs restart
[iyunv@node2 ~]# mount -t nfs 192.168.1.201:/xen/vm/ /xen/vm/



    3.为了确保实验的可用性,我们在虚拟机上创建一个文件,退出虚拟机的命令为ctrl+]

1
[iyunv@localhost ~]# echo "wangfeng7399" >> test.txt



    4.迁移虚拟机

1
[iyunv@node1 ~]# xm migrate -l centos6 192.168.1.202



    5.在迁移的过程中,我们一直对虚拟机做ping操作

wKiom1N-AxKh0Li6AAN5LgZJMnY353.jpg
    可以看到我们的ping操作中间没有断过

    6.查看虚拟机运行状态

1
2
3
4
5
6
7
[iyunv@node2 ~]# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   496     2     r-----     72.4
centos6                                      1   512     1     -b----      0.0
[iyunv@node1 ~]# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   493     2     r-----     80.6



    7.查看我们先前创建的文件

1
2
[iyunv@localhost ~]# cat test.txt
wangfeng7399



    可以看到我们创建的文件也都在,这证明在不间断业务的前提下,对虚拟机做实时动态迁移是成功的,后期的改进方法,如果能够实时监测物理机的状态,在发现物理机出现故障的情况下,能够触发脚本对虚拟机做实时动态迁移将会更加完美!

运维网声明 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-19501-1-1.html 上篇帖子: 虚拟化软件Xen的简单应用 下篇帖子: 虚拟化之安装Xen实例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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