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

[经验分享] KVM安装部署、快照备份及常用命令

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-19 08:35:04 | 显示全部楼层 |阅读模式
KVM安装部署:
安装kvm虚拟机首先需要查看物理机的cpu是否支持虚拟化:
[iyunv@localhost ~]# cat /proc/cpuinfo | egrep 'vmx|svm'
wKiom1VZp0XTYnmoAAEo6DF-IDk272.jpg
找到flags部分,如果其中输出有VMX或SVM,即表明支持虚拟化技术。



如果物理机的cpu支持安装虚拟机,那么开始安装虚拟环境,如下:
yum -y groupinstall "Virtualization" "Virtualization Client" "Virtualization Platform" "Virtualization Tools"
可以先用yum grouplist查看下,为了避免缺少组件


虚拟环境安装好后,开始配置网络,一般都用桥接的方式,配置如下:
yum install bridge-utils -y
wKiom1VZqE-xhM-_AAFtM1onoo8103.jpg
配置网卡,添加bridge网卡
修改/etc/sysconfig/network-scripts/ifcfg-em1文件,并且在同目录下新建ifcfg-br0,两文件内容如下:

wKioL1VZqufy0z-WAAD9Hsuupkw973.jpg
br0配置:
wKioL1VZquehnw_KAAE4x8Oc94E407.jpg
查看内核下面三项是否为0,官网说这是为了disabled netfilter:
wKioL1VZq2ujixUdAACIZHeZsOQ809.jpg
最后重启网卡,看bridge是否配置成功,看到如下输出说明桥接配置成功:(或者用brctl show也可以查看)
wKiom1VZql2iiyfuAAFMBQd9a5w143.jpg
可以开始安装虚拟机了,有两种方法安装,第一种用命令行安装,第二种在图形界面安装,这里主要说下在命令行下面怎么安装:
1.新建两个目录分别存放ISO文件和虚拟磁盘,我这里在/opt下新建了iso和kvmimg目录;有些朋友不知道怎么将PC上的ISO文件传送到服务器上,我这里推荐大家用xshell和xftp,简单好用且免费!


2.利用virt-install开始安装系统,更多参数可以参考--help
[iyunv@localhost iso]# virt-install --name vm01 --boot network,cdrom,menu=on --ram 1024 --vcpus=1 --os-variant=rhel6 --accelerate --cdrom=/opt/iso/CentOS-6.4-x86_64-bin-DVD1.iso --disk path=/opt/kvmimg/vm01.img,size=5,bus=virtio --bridge=br0,model=virtio --autostart --vnc --vncport=5900 --vnclisten=0.0.0.0

Starting install...

Creating storage file vm01.img   

Cannot open display:

Run 'virt-viewer --help' to see a full list of available command line options

Domain installation still in progress. You can reconnect to

the console to complete the installation process.

这个时候就是已经OK了,用vnc软件(vnc-viewer/tigervnc)填好IP地址和端口,这里是5900连接,就能看到装系统的界面了。



PS:安装完毕后的补充
查看所有虚拟机状态:
virsh list --all
手动启动虚拟机:
virsh start vm01
最后重启网卡,虚拟机就可以正常联网了。


KVM克隆:
有时需要安装多台虚拟机,但是一台一台安装效率又太低了,这时就可以用虚拟机克隆了。已wm01为例:
首先关闭vm01虚拟机:
virsh stop vm01
运行virsh suspend vm01命令,克隆完成后virsh resume vm01恢复即可
克隆vm02
virt-clone -o vm01 -n vm02 -f /opt/kvmimg/vm02.img
修改vm02.xml文件,因为vm01的vnc已经把5900端口占用所以需要换一下,我这里修改成6900
virsh edit vm02
<graphics type='vnc' port='6900' autoport='no' listen='0.0.0.0'>
启动vm02
virsh start vm02
最后利用vnc登录到vm02之后,有些网络设置需要修改,否则网卡无法启动
cat /etc/sysconfig/network-scripts/ifcfg-eth0     //删除mac地址和uuid那一行

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=dhcp

cat /etc/udev/rules.d/70-persistent-net.rules    //把之前的"SUBSYSTEM=="这一行注释掉,把新的那行的eth1换成eth0

wKioL1VZsDmhIijMAAHNYrtYzGE914.jpg 重启vm02,重启网络,这样克隆就完成了。


KVM快照:
有时需要对虚拟机做快照,防止损坏了可以正常恢复,具体操作如下:

kvm快照,分两种:

1种lvm快照,如果分区是lvm,可以利用lvm进行kvm的快照备份

2种由于raw格式不支持镜像,所以需要将格式转换为qcow2才可以创建快照。

方法2具体操作如下:

kvm虚拟机默认使用raw格式的镜像格式,性能最好,速度最快,它的缺点就是不支持一些新的功能,如支持镜像,zlib磁盘压缩,AES加密等。   
要使用镜像功能,磁盘格式必须为qcow2。下面开始kvm虚拟机快照备份的过程。


查看磁盘格式

[iyunv@localhost images]# qemu-img infotest-script.img

raw格式需要转换成qcow2
wKioL1VZsVGAga1mAAC3qu64erE279.jpg


关闭test-script

[iyunv@localhost images]# virsh shutdowntest-script

wKiom1VZr9fTqL-KAACn7mb8xVc720.jpg


转换磁盘格式

[iyunv@localhost images]# qemu-img convert -fraw -O qcow2 test-script.img test-script.qcow2

-f  源镜像的格式   
-O 目标镜像的格式

wKioL1VZsVHQ-U6tAAFaXwNAwSM978.jpg



查看转换后的格式,已经转换成了qcow2, 这里是拷贝一份,并将格式转成qcow2

[iyunv@localhost images]# qemu-img infotest-script.qcow2

wKioL1VZsVHhGf4eAADJ_Ng9cU4230.jpg


2.修改虚拟机配置文件:
修改磁盘格式,与新qcow2格式的磁盘。

[iyunv@localhost images]# virsh edittest-script

wKiom1VZr9fh5Ru_AAH9B7Le_VI355.jpg


3. 对虚拟机进行快照管理

对oeltest01虚拟机创建快照

也可以virsh snapshot-create as oeltest01 snap1 创建后个快照别名。

[iyunv@localhost images]# virshsnapshot-create test-script
Domain snapshot 1419995560 created

wKiom1VZr9eSPdghAABCKxXfMJo667.jpg


查看虚拟机镜像快照的版本

[iyunv@localhost images]# virshsnapshot-list test-script

wKiom1VZsIuDsGCrAACOC1BeWdI626.jpg


可以看到为当前最新的快照版本。

[iyunv@localhost images]#virsh snapshot-current test-script
wKioL1VZsVORj6pZAAFvrtsjHmQ521.jpg


查看当前虚拟机镜像文件

又创建了一个,快照的版本也记录在镜像文件中了。

[iyunv@localhost images]# virshsnapshot-create test-script

[iyunv@localhost images]# qemu-imginfo test-script.qcow2

wKioL1VZsVOy0ouTAAG3mIctSxI751.jpg


快照配置文件在/var/lib/libvirt/qemu/snapshot/虚拟机名称下

wKiom1VZr9nTB3lLAAEKxDWSqPY971.jpg


当前的还是最新的快照:

wKiom1VZr9njNQiAAAC4ucFhJ6Y869.jpg


恢复虚拟机快照

恢复虚拟机快照必须关闭虚拟机。

[iyunv@localhost test-script]#virsh domstate test-script
wKioL1VZsVTSqLZ6AADUpm5Apfk381.jpg


确认需要恢复的快照时间,这里恢复到1419995560

[iyunv@localhost test-script]# virshsnapshot-list test-script

wKiom1VZr9qS1QooAAC3AlRxp9U711.jpg


执行恢复,并确认恢复版本

[iyunv@localhost test-script]# virshsnapshot-revert test-script 1419995560

[iyunv@localhost test-script]# virshsnapshot-current test-script

wKioL1VZsVSStKFWAAGSZ8itZko483.jpg


删除虚拟机快照

查看虚拟机快照

[iyunv@localhost images]# qemu-imginfo test-script.qcow2

wKioL1VZsxKBv3tfAAEhiBurlUk967.jpg


这里删除第一个快照1419995560

删除快照

[iyunv@localhost images]# virshsnapshot-delete test-script 1419995560

[iyunv@localhost images]# qemu-imginfo test-script.qcow2

wKioL1VZsVbT7HmyAAFVPZCZ_GA905.jpg


由于把当前的快照删除了:显示没有快照了。

[iyunv@localhost images]# virshsnapshot-current test-script
error: domain 'test-script' has no current snapshot

[iyunv@localhost images]# virshsnapshot-revert test-script 1419995769

[iyunv@localhost images]# virshsnapshot-current test-script

再次还原到快照2,然后查看当前快照。

wKiom1VZr9yjgDjyAAF2HS5-itE477.jpg


到此kvm虚拟机快照测试完毕。

开启测试虚拟机:

[iyunv@localhost images]# virsh starttest-script

wKiom1VZr9zA70G8AAERtcbkwo4700.jpg


常用virsh指令:

1)virsh list 列出当前虚拟机列表,不包括未启动的

2)virsh list --all 列出所有虚拟机,包括所有已经定义的虚拟机

3)virsh destroy vm-name 关闭虚拟机

4)virsh start vm-name 启动虚拟机

5)virsh edit vm-name 编辑虚拟机xml文件

6)virsh undefine vm-name 删除虚拟机

7)virsh shutdown vm-name 停止虚拟机

8)virsh reboot vm-name 重启虚拟机

9)virsh autostart vm-name 虚拟机随宿主机启动



kvm虚拟机删除报错:

error:Failed to undefine domain test

error:Requested operationis not valid: cannot undefine transient domain

直接命令行操作解决:  关闭kvm虚拟机后记得重启图形管理virtual manager,否则可能会出现卡死的情况,关闭了kvm虚拟机而无法删除虚拟机。

wKiom1VZsfWzWXncAACGsOvFQNg692.jpg
wKiom1VZsfWx_h8tAADmQ54bD3E721.jpg


运维网声明 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-68340-1-1.html 上篇帖子: VMware Vsphere6.0的功能及版本升级方式介绍 下篇帖子: kvm性能测试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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