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

[经验分享] kvm虚拟化技术应用实战

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-7-13 09:23:54 | 显示全部楼层 |阅读模式
本文根据上课笔记整理,大家都知道云计算的基础就是虚拟化,而开源的虚拟化基本以kvm技术为主导,因此kvm技术已成为运维工程师必备的技术,也是云时代必不可少的技术
在介绍kvm之前 我们先来了解一下vnc这个软件,后面安装kvm需要vnc来支持

1、vnc的安装及使用
1
2
3
4
5
6
7
8
9
10
11
12
# yum -y install tigervnc-server
首次启动
# vncserver :1
会提示输入两次密码
然后编辑/root/.vnc/xstartup,将最后一行twm替换为gnome-session或者startkde
懒人可以直接用以下语句直接替换(执行任意一条即可,建议选择第一条稳定,但是占用内存较多)
sed -i 's/twm/gnome-session/g' /root/.vnc/xstartup
sed -i 's/twm/startkde/g' /root/.vnc/xstartup
重启vncserver
# vncserver
客户端连接
vncclient里输入 vncserver-IP:1




2、查看是否 支持虚拟化

确定服务器是否支持虚拟化,如果没有查到,在bios里面开启

vmx属于inter处理器,svm属于amd处理器  egrep 'vmx|svm' /proc/cpuinfo
QQ截图20160713092016.png

3、安装kvm软件包
1
2
3
4
5
yum  groupinstall "DevelopmentTools"
yum  groupinstall "Virtualization" "Virtualization Client""Virtualization Platform"
virtualization //提供虚拟机的环境,主要包含qumu-kvm
virtualization-client//管理和安装虚拟机实例的客户端,主要有python-virtinst,virt-manager,virt-viewer
virtualization-platform//提供访问和控制虚拟客户端的接口,主要有libvirt,libvirt-client




4、检查安装后是否加载相关模块
QQ截图20160713092027.png

5、kvm虚拟机的安装
安装虚拟机有两种方式,一种是通过vnc连接到宿主机图形界面内,然后通过virt-manager命令打开虚拟机创建图形界面创建即可。这里我们简单截图说明,首先通过vncview连接服务端

QQ截图20160713092032.png QQ截图20160713092037.png
点击new
QQ截图20160713092255.png
之后一步一步根据提示安装完成即可,如果这里需要详细说明,我们下次再介绍


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
另一种是通过命令行方式进行安装,步骤如下:
1. 上传ISO文件,这里采用centos6.5
2. 开始安装centos6.5
# virt-install --name=vigor --ram 2048 --vcpus=1 --disk path=/var/lib/libvirt/images/iiveylinux4.img,size=30,bus=virtio --accelerate --cdrom /iso/CentOS-6.5-x86_64-bin-DVD1.iso --vnc --vncport=5911 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole
说明:在linux系统安装开始就要注意添加提高性能的一些参数,后面就不需要做一些调整了。
kvm虚拟化学习笔记(五)之windows虚拟机性能调整,这篇文章介绍windows配置virtio的驱动还有些麻烦,最好是在开始安装时注意加入这些参数。
参数说明:
--name 指定虚拟机名称
--ram 分配内存大小。
--vcpus分配CPU核心数,最大与实体机CPU核心数相同
--disk 指定虚拟机镜像,size 指定分配大小单位为G。
--network 网络类型,此处用的是默认,一般用的应该是 bridge 桥接。
--accelerate 加速
--cdrom指定安装镜像iso
--vnc启用VNC远程管理,一般安装系统都要启用。
--vncport指定VNC 监控端口,默认端口为5900,端口不能重复。
--vnclisten指定VNC 绑定IP,默认绑定127.0.0.1,这里改为 0.0.0.0





6、网络配置
1
2
kvm的网络设置我们在博客中详细说明,这里简单说明下
kvm虚拟机网络问为三种:a)虚拟网络'default':NAT (默认方式,支持虚拟机上网但不支持互访) b)主机设备 vnet0(根据使劲情况而定):macvtap(支持互访) c)主机设备 vent0 (桥接'br0') (bridge方式,可以使用虚拟机成为网络中具有独立IP的主机)bridge方式介绍:1、建立桥接器在/etc/sysconfig/network-scripts目录下,创建一个ifcfg-br0 桥接器,内容如下:[iyunv@hadoop network-scripts]# more ifcfg-br0 DEVICE="br0"BOOTPROTO="static"ONBOOT="yes"IPADDR=172.16.212.232NETMASK=255.255.255.0TYPE="Bridge"2、更改物理设备,这里选择 eth0 ,内容如下:[iyunv@hadoop network-scripts]# more ifcfg-eth0DEVICE="eth0"BOOTPROTO="none"ONBOOT="yes"TYPE="Ethernet"BRIDGE="br0"UUID="d931154d-d2c9-4977-ab78-4a9efa971f39"3、重启网络服务:service network restart




7、虚拟机的克隆

1
2
kvm虚拟机的克隆分为两种情况,本文也就通过以下两种情况进行克隆。(1) KVM主机本机虚拟机直接克隆。(2) 通过复制配置文件与磁盘文件的虚拟机复制克隆(适用于异机的静态迁移)。1. 本机虚拟机直接克隆
(1) 查看虚拟机配置文件[iyunv@node1 ~]# cat /etc/libvirt/qemu/oeltest01.xml虚拟机磁盘文件: /data/test01.img虚拟机名称:oeltest01(2) 开始克隆# virt-clone -o oeltest01 -n oeltest02 -f /data/test02.img说明:以oeltest01做为源,克隆oeltest01虚拟机,并创建名称为oeltest02虚拟机,使用磁盘文件/data/test02.img(3) 启动虚拟机并配置主机名,IP地址等。



# vi /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 test02localhost.localdomainlocalhost
::1 localhost6.localdomain6 localhost6
# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=test02
GATEWAY=192.168.233.2
修改IP地址
# vi /etc/sysconfig/network-script/ifcfg-eth0
# Virtio Network Device
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
HWADDR=52:54:00:56:bd:2b
IPADDR=192.168.233.142
NETMASK=255.255.255.0
[iyunv@test01 ~]# service network restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]


8、进入虚拟控制台
kvm虚拟机能否像xen虚拟机一样通过virsh console 一样采用字符界面进行linux虚拟机控制台呢,答案是肯定的,默认情况下该命令是不起作用的,需要修改KVM虚拟机(非宿主机)相关文件才能实现。
这里我们先看下效果,以后再详细说明
QQ截图20160713092302.png
QQ截图20160713092311.png
可以看到 我们能看到完整的启动的过程,这样的好处是我们不在需要依靠第三方软件vnc登陆
,效果等同于我们拿着console线直接插入到交换机的管理口一样,即可直接在物理主机上面对虚拟机进行控制

9、kvm虚拟化常用管理命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
1、查看KVM虚拟机配置文件及运行状态
(1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/
autostart目录是配置kvm虚拟机开机自启动目录。
(2) virsh命令帮助
# virsh -help
或直接virsh命令和,再执行子命令。如下所示。
[iyunv@node1 ~]# virsh
欢迎使用virsh,虚拟化的交互式终端。
输入:'help' 来获得命令的帮助信息
'quit' 退出
virsh # help
(3) 查看kvm虚拟机状态
显示虚拟机列表:
virsh # list --all
2. KVM虚拟机开机
启动虚拟机:
virsh # start [name]
3. KVM虚拟机关机或断电
(1) 关机
默认情况下virsh工具不能对linux虚拟机进行关机操作,linux操作系统需要开启与启动acpid服务。在安装KVM linux虚拟机必须配置此服务。
# chkconfigacpid on
# serviceacpid restart
关闭虚拟机:
virsh # shutdown [name]
(2) 强制关闭电源
# virsh destroy wintest01
(3)重启虚拟机
重启虚拟机:
virsh # reboot [name]
(4)查看kvm虚拟机配置文件
virsh # dumpxml [name]
4. 通过配置文件启动虚拟机
# virsh create /etc/libvirt/qemu/wintest01.xml
5. 配置开机自启动虚拟机
# virshautostart oeltest01
autostart目录是kvm虚拟机开机自启动目录,可以看到该目录中有KVM配置文件链接。
6. 导出KVM虚拟机配置文件
# virshdumpxml wintest01 > /etc/libvirt/qemu/wintest02.xml
KVM虚拟机配置文件可以通过这种方式进行备份。
7. 添加与删除KVM虚拟机
(1) 删除kvm虚拟机
# virshundefine wintest01
说明:该命令只是删除wintest01的配置文件,并不删除虚拟磁盘文件。
(2) 重新定义虚拟机配置文件
通过导出备份的配置文件恢复原KVM虚拟机的定义,并重新定义虚拟机。
# mv /etc/libvirt/qemu/wintest02.xml /etc/libvirt/qemu/wintest01.xml
# virsh define /etc/libvirt/qemu/wintest01.xml
8. 编辑KVM虚拟机配置文件
# virsh edit wintest01
virsh edit将调用vi命令编辑/etc/libvirt/qemu/wintest01.xml配置文件。也可以直接通过vi命令进行编辑,修改,保存。
可以但不建议直接通过vi编辑。
9. virsh console 控制台管理linux虚拟机
[iyunv@node1 data]# virsh console oeltest02
10. 其它virsh命令
(1) 挂起服务器
# virsh suspend oeltest01
(2) 恢复服务器
# virsh resume oeltest01







运维网声明 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-243400-1-1.html 上篇帖子: Centos6.5安装配置KVM 下篇帖子: 启动kvm虚拟机出错 技术
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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