KVM搭建与应用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KVM搭建与应用相关的知识,希望对你有一定的参考价值。
KVM通俗的说就是一台服务器当多台用,详细介绍去百度和谷歌。
首先查看服务器是否支持虚拟化
[[email protected]~]# grep -E ‘(vmx|svm)‘ /proc/cpuinfo --color
反馈如下:
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov p at pse36 clflush dts acpi mmx fxsr sse sse2ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tscaperfmperf pni pcl mulqdq dtes64monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse 4_2 x2apic popcnt tsc_deadline_timer aesxsave avx f16c rdrand lahf_lm arat epb xsave opt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
备注:如果是使用VMware测试搭建,需要开启虚拟化支持:右击虚拟机-设置-处理器-虚拟化引擎首选模式为Intel VT-x/EPT 或 AMD-V/RVI,并勾选虚拟化"Intel VT-x/EPT 或AMD-V/RVI",之后内存最好大于2G,CPU最好大于2.
安装阿里云源
wget -O /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-6.repo
yum clean all
yum makecache
安装KVM并检查模块
yuminstallqemu-kvm -y
[[email protected]~]# lsmod | grep kvm
kvm_intel 54285 0
kvm 333172 1 kvm_intel
安装管理工具
yuminstallvirt-manager python-virtinst qemu-kvm-tools -y
yuminstalllibvirt libvirt-python -y
物理机配置桥接网卡
[[email protected]]# catifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none(也可以设置成dhcp,按需配置)
DNS2=114.114.114.114
DNS1=202.106.0.20
IPADDR=172.16.10.189
NETMASK=255.255.255.0
GATEWAY=172.16.10.1
[[email protected]]# catifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
BRIDGE=br0
重启网络服务
servicenetwork restart
开启路由转发
查看完成后网络配置
[[email protected]~]# ifconfig
br0 Link encap:Ethernet HWaddr 70:E2:84:08:EB:AE
inet addr:172.16.10.189 Bcast:172.16.10.255 Mask:255.255.255.0
inet6 addr:fe80::72e2:84ff:fe08:ebae/64Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:143000 errors:0dropped:0overruns:0frame:0
TX packets:44349 errors:0dropped:0overruns:0carrier:0
collisions:0 txqueuelen:0
RX bytes:10882563 (10.3MiB) TX bytes:16649590 (15.8MiB)
eth0 Link encap:Ethernet HWaddr 70:E2:84:08:EB:AE
inet6 addr: fe80::72e2:84ff:fe08:ebae/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:189220 errors:0dropped:0overruns:0frame:0
TX packets:77679 errors:0dropped:0overruns:0carrier:0
collisions:0 txqueuelen:1000
RX bytes:71695893 (68.3MiB) TX bytes:19745769 (18.8MiB)
Memory:fbe20000-fbe40000
创建空硬盘,相当于物理机的硬盘(公司常用的qcow2格式)
# /home/kvm需要手动创建,一般存放在较大空间目录下,自行修改
[[email protected]~]# qemu-img create -f qcow2 /home/kvm/kvm-demo2.qcow2 100G
Formatting‘/home/kvm/kvm-demo2.qcow2‘, fmt=qcow2 size=107374182400 encryption=off cluster_size=65536
上传磁盘镜像/home/kvm/CentOS-6.5.iso(可使用winscp上传,这个是装机用的光盘,因为配置了桥接网卡,同样可以使用PXE或者cobbler进行装系统)
启动libvirt
/etc/init.d/libvirtdstart
创建一个新的虚拟机
virt-install --virt-type kvm --name kvm-demo --boot network,cdrom,menu=on--ram 512 --cdrom=/home/kvm/CentOS-6.5.iso --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel6 --accelerate--disk path=/home/kvm/kvm-demo.qcow2,size=5,format=qcow2,bus=virtio --bridge=br0,model=virtio --autostart
解释:
--virt-type kvm 类型
--name 名字
--ram 内存
--cdrom=/home/kvm/CentOS-6.5.iso 安装使用的镜像
--network 使用的网络
--diskpath=/home/kvm/kvm-demo.qcow2 指定磁盘(之前创建的)
virsh setvcpus kvm-test --maximum 8 --config
添加cpu会用到这条命令
通过virshlist --all查看虚拟机状态
[[email protected]~]# virsh list --all
Id Name State
----------------------------------------------------
12 kvm-demo running
使用VNC登录查看,并进行装机(VNC端口默认是从5900开始)
登录上去以后即可进行装机。
装机完成以后再次进行连接,界面如下
登录到系统查看IP
至此KVM虚拟机搭建完成,可以使用Xshell连接上去,之后就和普通服务器没什么大的区别了。
常用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快照方法常用的是qemu-img snapshot 和virsh snapshot
经过我多次试验qemu-imgsnapshot -c 快照名 域名,此种方法已经不能再百分百成功创建快照,创建后可能导致虚拟机无法启动,报Filetoo large的错误,并且未找到解决办法。下面将介绍virsh snapshot创建还原快照的方法。
查看KVM虚拟机运行状态
[[email protected]~]# virsh list
Id 名称 状态
----------------------------------------------------
5 kvm-test running
首先创建一个纯净版的快照,没有安装任何服务
[[email protected]~]#virsh snapshot-create-as --domain kvm-test --name kvm_clean
Domainsnapshot kvm_clean created
domain是虚拟机的名字 name是快照的名字
备注:创建快照的速度根据服务器的配置会有所不同,在创建快照的同时,KVM虚拟机会处于暂时暂停的状态(创建快照完成后会自动转换为running),如果是线上服务器,请自行定夺。
查看创建的快照
[[email protected]~]# virsh snapshot-list kvm-test
名称 Creation Time 状态
------------------------------------------------------------
kvm_clean 2016-01-2515:07:14 +0800 running
登录到kvm虚拟机 kvm-test中
安装Apache服务并启动
yuminstallhttpd -y ; echo"Test KVM snapshot">> /var/www/html/index.html ; /etc/init.d/httpd restart
访问测试
[[email protected]~]# curl 127.0.0.1
TestKVM snapshot
再次创建快照
[[email protected]~]# virsh snapshot-create-as --domain kvm-test --name kvm_httpd
Domainsnapshot kvm_httpd created
再次查看快照
[[email protected]~]# virsh snapshot-list kvm-test
名称 Creation Time 状态
------------------------------------------------------------
kvm_clean 2016-01-2515:07:14 +0800 running
kvm_httpd 2016-01-2516:03:52 +0800 running
还原测试:
首先还原至纯净版,未安装Apache服务
关闭虚拟机(也可开机还原,不建议)
[[email protected] ~]# virsh snapshot-revertkvm-test kvm_clean
登录到虚拟机查看能否访问httpd服务
[[email protected] ~]# curl 127.0.0.1
curl: (7) couldn‘t connect to host
无法访问,说明还原成功,再次还原到已安装httpd服务的状态
[[email protected] ~]# virsh snapshot-revertkvm-test kvm_httpd
访问测试
[[email protected] ~]# curl 127.0.0.1
Test KVM snapshot
还原成功。
+++++++++++++++++++++++++++++++在线增加CPU个数+++++++++++++++++++++++++++++++
查看为增加之前的逻辑CPU个数
[[email protected]~]# cat /proc/cpuinfo | grep process | wc -l
2
增加CPU一条命令即可
[[email protected]~]# virsh setvcpus kvm-test 3
再次查看
[[email protected]~]# cat /proc/cpuinfo | grep process | wc -l
3
+++++++++++++++++++++++++++++++在线增加内存+++++++++++++++++++++++++++++++++++
查看现有的内存
[[email protected]~]# free -m | grep Mem | awk‘{print $2}‘
628
增加内存至1024M同样一条命令
[[email protected]~]# virsh setmem kvm-test 1024M
再次查看
[[email protected]~]# free -m | grep Mem | awk‘{print $2}‘
852
Over
本文出自 “小看博客论坛” 博客,请务必保留此出处http://xiaokan.blog.51cto.com/10445299/1969157
以上是关于KVM搭建与应用的主要内容,如果未能解决你的问题,请参考以下文章