KVM安装部署与应用
[root@KVM ~]# 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 sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pcl mulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse 4_2 x2apic popcnt tsc_deadline_timer aes xsave 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最好大于
1.2. 安装阿里云源wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum clean all
yum makecache
安装KVM并检查模块
yum install qemu-kvm -y
[root@KVM ~]# lsmod | grep kvm
kvm_intel 54285 0
kvm 333172 1 kvm_intel
安装管理工具
yum install virt-manager python-virtinst qemu-kvm-tools -y
yum install libvirt libvirt-python -y
物理机配置桥接网卡
[root@KVM network-scripts]# cat ifcfg-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
[root@KVM network-scripts]# cat ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
BRIDGE=br0
重启网络服务
service network restart
开启路由查看完成后网络配置
[root@KVM ~]# ifconfigbr0
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/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:143000 errors:0 dropped:0 overruns:0 frame:0
TX packets:44349 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:10882563 (10.3 MiB) TX bytes:16649590 (15.8 MiB)
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:0 dropped:0 overruns:0 frame:0
TX packets:77679 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:71695893 (68.3 MiB) TX bytes:19745769 (18.8 MiB)
Memory:fbe20000-fbe40000
创建空硬盘,相当于物理机的硬盘(公司常用的qcow2格式)# /home/kvm需要手动创建,一般存放在较大空间目录下,自行修改
[root@KVM ~]# 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/libvirtd start
创建一个新的虚拟机
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 使用的网络
--disk path=/home/kvm/kvm-demo.qcow2
指定磁盘(之前创建的) 通过virsh list --all查看虚拟机状态
[root@KVM ~]# 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 虚拟机随宿主机启动
2、KVM应用
++++++++++++++++++++++++++++++创建和拍摄快照++++++++++++++++++++++++++++++++++KVM快照方法常用的是qemu-img snapshot 和virsh snapshot经过我多次试验qemu-img snapshot -c 快照名 域名,此种方法已经不能再百分百成功创建快照,创建后可能导致虚拟机无法启动,报File too large的错误,并且未找到解决办法。下面将介绍virsh snapshot创建还原快照的方法。查看KVM虚拟机运行状态[root@KVM ~]# virsh list Id 名称 状态---------------------------------------------------- 5 kvm-test running首先创建一个纯净版的快照,没有安装任何服务[root@KVM ~]#virsh snapshot-create-as --domain kvm-test --name kvm_cleanDomain snapshot kvm_clean createddomain是虚拟机的名字 name是快照的名字备注:创建快照的速度根据服务器的配置会有所不同,在创建快照的同时,KVM虚拟机会处于暂时暂停的状态(创建快照完成后会自动转换为running),如果是线上服务器,请自行定夺。查看创建的快照[root@KVM ~]# virsh snapshot-list kvm-test 名称 Creation Time 状态------------------------------------------------------------ kvm_clean 2016-01-25 15:07:14 +0800 running登录到kvm虚拟机 kvm-test中安装Apache服务并启动yum install httpd -y ; echo "Test KVM snapshot" >> /var/www/html/index.html ; /etc/init.d/httpd restart 访问测试[root@kvm-test ~]# curl 127.0.0.1Test KVM snapshot再次创建快照[root@KVM ~]# virsh snapshot-create-as --domain kvm-test --name kvm_httpdDomain snapshot kvm_httpd created再次查看快照[root@KVM ~]# virsh snapshot-list kvm-test 名称 Creation Time 状态------------------------------------------------------------ kvm_clean 2016-01-25 15:07:14 +0800 running kvm_httpd 2016-01-25 16:03:52 +0800 running还原测试: 首先还原至纯净版,未安装Apache服务 关闭虚拟机(也可开机还原,不建议) [root@KVM ~]# virsh snapshot-revert kvm-test kvm_clean 登录到虚拟机查看能否访问httpd服务 [root@kvm-test ~]# curl 127.0.0.1 curl: (7) couldn't connect to host 无法访问,说明还原成功,再次还原到已安装httpd服务的状态 [root@KVM ~]# virsh snapshot-revert kvm-test kvm_httpd 访问测试 [root@kvm-test ~]# curl 127.0.0.1 Test KVM snapshot 还原成功。 +++++++++++++++++++++++++++++++在线增加CPU个数+++++++++++++++++++++++++++++++查看为增加之前的逻辑CPU个数[root@kvm-test ~]# cat /proc/cpuinfo | grep process | wc -l2增加CPU一条命令即可[root@KVM ~]# virsh setvcpus kvm-test 3再次查看[root@kvm-test ~]# cat /proc/cpuinfo | grep process | wc -l3+++++++++++++++++++++++++++++++在线增加内存+++++++++++++++++++++++++++++++++++查看现有的内存[root@kvm-test ~]# free -m | grep Mem | awk '{print $2}'628增加内存至1024M同样一条命令[root@KVM ~]# virsh setmem kvm-test 1024M再次查看[root@kvm-test ~]# free -m | grep Mem | awk '{print $2}'852
- 2022-08-23
KVM安装部署与应用 - 2022-08-23
ip kvm 二次开发(虚拟化技术发展编年史) - 2022-08-22
分布式IP KVM支持CCTV打造全球首个8K视频工 - 2022-08-22
Ubuntu 22.04 之 KVM 安装手札 - 2022-08-22
《辰东群侠传》PC电脑版怎么玩?模拟器 - 2022-08-22
2个设备自由“切换”使用 , 只需要一个“ - 2022-08-22
控制室为什么要过渡到基于IP的KVM? - 2022-08-22
双屏解决方案 优派VP2785-2K体验 - 2022-08-22
想要双屏无缝拼接的视界!可别错过这款 - 2022-08-22
荣获红点设计奖的ATEN 宏正矩阵式影音切