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

[经验分享] KVM(系统虚拟化模块)安装

[复制链接]
累计签到:29 天
连续签到:1 天
发表于 2015-12-24 15:10:22 | 显示全部楼层 |阅读模式
Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。
KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化


1.安装要用的软件;安装软件的时,关闭selinux
安装kvm模块
#yum install qemu-kvm.x86_64
安装kvm调试工具(可以不安装)
#yum install qemu-kvm-tools.x86_64
安装python组件,主要用来记录创建vm时的xml文件
#yum install python-virtinst.noarch
安装qemu组件,使用qemu命令来创建磁盘,启动虚拟机等(这个可能在安装时qemu-kvm.x86_64已安装)
#yum install qemu-img.x86_64
安装网络支持工具
#yum install bridge-utils.x86_64
安装虚拟机管理工具,使用virsh来管理虚拟机
#yum install libvirt
二.汇总:安装软件:
yum -y install qemu-kvm kvm qemu-kvm qemu-img python-virtinst libvirt bridge-utils qemu-kvm-tools virt-viewer virt-v2v tunctl virt-manager libvirt-python kmod-kvm qemu

三.重新启动libvirtd
    #/etc/init.d/libvirtd start
    #ps -e| grep libvirtd
    30706 ? 00:00:01 libvirtd
四.检查kvm模块是否安装完成
    #lsmod | grep kvm
    会显示两个模块
    kvm_intel/ kvm_amd
    kvm
五.配置网卡桥接
[iyunv@localhost network-scripts]# cat ifcfg-eth0 |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
BRIDGE=br0
IPV6INIT=no
HWADDR=F8:BC:12:60:99:86
[iyunv@localhost network-scripts]# cat ifcfg-br0 |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.10.103
GATEWAY=192.168.10.1
NETMASK=255.255.255.0
DNS1=192.168.10.1
IPV6INIT=no
DELAY=0
#service network restart
重启网络报错:
    弹出界面 br0: 错误:激活连接失败:Failed to determine connection's virtual interface name
解决的方法:
    #service NetworkManager stop //这个关闭掉就行
如果以下内容就说明配置成功了:
[iyunv@station1 network-scripts]# ifconfig
br0 Link encap:Ethernet HWaddr 5E:0E:C2:8E:CC:E6
inet addr:192.168.23.89 Bcast:192.168.23.255 Mask:255.255.255.0
inet6 addr: fe80::5c0e:c2ff:fe8e:cce6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:636 (636.0 b)

eth0 Link encap:Ethernet HWaddr 00:0C:29:EA:5F:9A
inet addr:10.10.21.13 Bcast:10.10.255.255 Mask:255.255.0.0
inet6 addr: fe80::20c:29ff:feea:5f9a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2995655 errors:0 dropped:0 overruns:0 frame:0
TX packets:40564 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:302081352 (288.0 MiB) TX bytes:3884529 (3.7 MiB)
Interrupt:19 Base address:0x2000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:80537 errors:0 dropped:0 overruns:0 frame:0
TX packets:80537 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8967119 (8.5 MiB) TX bytes:8967119 (8.5 MiB)

virbr0 Link encap:Ethernet HWaddr 52:54:00:B2:93:53
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
[iyunv@station1 network-scripts]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c29ea5f9a no eth0 //显示这个ok
virbr0 8000.525400b29353 yes virbr0-nic
六、可以用virt-install 生成.img文件;来新建虚拟机了,但是启动后没办法看到所以要安装客户端来管理,也可以用virsh来管理但还要加VNC来连接虚拟机
①安装VNC
    #yum install tigervnc-server.x86_64

改防火墙:还要改一下iptables #vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6900 -j ACCEPT
#service iptables restart

②开始新建虚拟机
[iyunv@station1 ~]# virt-install --name vmxp1 --ram 1024 --vcpus=1 --disk path=/home/kvm/img/xp1.img,size=20 --network bridge=br0 --os-variant=winxp --cdrom /home/kvm/soft/XP.iso --vnclisten=192.168.1.12 --vncport=6900 --vnc

[iyunv@station1 network-scripts]# virt-install --name=ubuntu1 --ram 1024 --vcpus=1 --disk path=/root/ubuntu1.img,size=10 --accelerate --cdrom /root/ubuntu-14.04-desktop-amd64.iso --graphics vnc,port=5920 --network bridge=br0
报错:
could not open disk image : Permission denied
解决方法:
[iyunv@localhost ~]# cat /etc/libvirt/qemu.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'
vnc_listen = "0.0.0.0"
user = "root" //去掉注释
group = "root" //去掉注释
dynamic_ownership = 0 //去掉注释,把1改为0
这一步做完,系统文件就好了
七.启动虚拟机
如果报错:
[iyunv@localhost ~]# virsh start ubuntu1
错误:域已经活跃
解决方法:
[iyunv@localhost ~]# pkill qemu-kvm
[iyunv@localhost ~]# virsh start ubuntu1
域 ubuntu1 已开始
[iyunv@localhost ~]# virt-viewer ubuntu1 //进入图形界面

或者进入系统;
应用程序中;找到虚拟系统管理器==>配置新系统
#qemu-img snapshot  #创建虚拟快照#使用 virsh snapshot-create-as 命令进行生成快照

关闭虚拟机并转换磁盘
#virsh  shutdown  oeltest01   
查看虚拟状态
#virsh list --all
raw格式的不具备快照功能,需要raw镜像转换为qcow2格式,
#qemu-img convert -f raw -O qcow2  100.img 111.img
# qemu-img snapshot -l  test.qcow2  #列出某个镜像的所有快照
#qemu-img snapshot -a snapshot01  test.qcow2#使用快照附:
  'snapshot' is the name of the snapshot to create, apply or delete
  '-a' applies a snapshot (revert disk to saved state)
  '-c' creates a snapshot
  '-d' deletes a snapshot
  '-l' lists all snapshots in the given image
3 查看虚拟机testsnp已有的快照
  [iyunv@nc1 boss]# virsh snapshot-list testsnp
4 可以通过snapshot-dumpxml命令查询该虚拟机某个快照的详细配置
[iyunv@nc1 boss]# virsh snapshot-dumpxml testsnp 1315385065
5 查看最新的快照信息
  [iyunv@nc1 boss]# virsh snapshot-current testsnp
6 使用快照,指定使用哪一个快照恢复虚拟机
[iyunv@nc1 boss]# virsh snapshot-revert testsnp snapshot02

7 删除指定快照
  [iyunv@nc1 boss]# virsh snapshot-delete testsnp snapshot02




运维网声明 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-155821-1-1.html 上篇帖子: kernel 3.10代码分析--KVM相关--虚拟机运行 下篇帖子: kvm/xen使用virsh console连接guest
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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