KVM安装搭建

一 安装KVM

环境:Centos7.3

首先检查自己服务器或者虚拟机CPU是否支持

 

 egrep '(vmx|svm)' /proc/cpuinfo

安装阿里云镜像站

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

 

安装KVM

yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python python-virtinst libvirt-client virt-install virt-viewer -y

详解:

 

校验

lsmod | grep kvm
kvm_intel
170181 6 kvm 554609 1 kvm_intel irqbypass 13503 5 kvm

 

开启KVM  并设置开机自动启动

systemctl start libvirtd
systemctl enable libvirtd

查看运行状态

systemctl status libvirtd
● libvirtd.service
- Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled) Active: active (running) since 四 2018-03-01 15:12:08 CST; 15min ago Docs: man:libvirtd(8) http://libvirt.org Main PID: 3237 (libvirtd) CGroup: /system.slice/libvirtd.service ├─1808 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.co... ├─1812 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.co... └─3237 /usr/sbin/libvirtd

 

配置网卡设置(这里使用的是桥接)

现将自己的网卡配置  备份一份,以防万一出错

cd /etc/sysconfig/network-scripts/
cp ifcfg-em1 ifcfg-em1.bak

 

修改网卡配置(有好几种方案,不一定非要这样,)

DEVICE=em1
TYPE=Ethernet
ONBOOT=yes
BRIDGE=br0

创建一个新的文件 ifcfg-br0

DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.70.125
NETMASK=255.255.255.0
GATEWAY=192.168.70.1

重新启动网卡

systemctl restart network

查看网桥

brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.782bcb1992cf       no              em1
                                                        vnet0
                                                        vnet1
virbr0          8000.525400c55958       yes             virbr0-nic

 

安装就基本结束了!!!!

 

测试搭建一台虚拟机*(安装一台Centos6.5)

创建ISO镜像路径

mkdir -p /iso

将Centos6.5镜像上传到服务器上(如果没有 安装一下,yum install -y lrzsz)

rz -y

创建KVM虚拟机目录

mkdir -p /kvm/test/

创建虚拟机

virt-install -n linux-web01 -r 2048 --disk /kvm/test/web01.img,format=qcow2,size=20 --network bridge=br0 --os-type=linux --os-variant=rhel6 --cdrom /iso/CentOS-6-x86_64-DVD-1511.iso --vnc --vncport=5910 --vnclisten=0.0.0.0

 

 

 

  • -name:虚拟机的名字
  • -ram:内存大小MB
  • -vcpus:CPU个数
  • -cdrom:ISO镜像位置
  • -os-variant:OS类型,例如rhel 6,solaris
  • -network:网络,友情链接:创建通过Virt Manager创建桥接网络
  • -graphics:Guest显示设置
  • -disk path:磁盘位置

 

打开防火墙

打开防火墙上的5910端口
firewall-cmd --zone=public --add-port=5910/tcp --permanent

firewall-cmd --reload

 

下载一个VNC

 

直接连接,安装完成。这里我就跳过了,安装好后,启动虚拟机就可以了

virsh start test
virsh list --all
 Id    名称                         状态
----------------------------------------------------
 2     web01                          running
 3     web02                          running
 4     test                           running
 -     test01                         关闭

 

(二)克隆(test 是刚才创建的)

virsh list --all
 Id    名称                         状态
----------------------------------------------------
 2     web01                          running
 3     web02                          running
 4     test                           running
 -     test01                         关闭

 

先把tset关闭掉(如果这里没有关闭掉,是有因为电源模块的问题,)

virsh shutdown test

创建虚拟机目录

mkdir -p /kvm/linux-mysql-01

克隆

virt-clone -o test -n mysql01 -f /kvm/linux-mysql-01/mysql01.img
WARNING 设置图形设备端口为自动端口,以避免相互冲突。
正在分配 'mysql01.img' | 10 GB 00:00:02

成功克隆 'mysql01'。

详解

--original:指定被克隆的虚拟机
--name:克隆后目标虚拟机的名称
--file:指定克隆后目标虚拟机的存储路径

virsh list --all
Id 名称 状态
----------------------------------------------------
2 web01 running
3 web02 running
- mysql01 关闭
- test 关闭
- test01 关闭

修改VNC的端口 

virsh edit mysql01

找到VNC

<graphics type='vnc' port='5912' autoport='no' listen='0.0.0.0'>

启动mysql01

virsh start mysql01

 

可以使用VNC直接连接了(如果连接不上,查看一下端口是否更改过来了,VNC上的端口号是否一致)

virsh dumpxml mysql01

看一下VNC的端口  在使用VNC加上端口就可以

 

删除 

 

 

(三)快照及恢复快照

KVM自带的快照需要qcow2磁盘文件才支持快照

关闭虚拟机

virsh shutdown test

查看虚拟机磁盘信息

qemu-img info /kvm/test/test.img 
image:
/kvm/test/test.img file format: qcow2 virtual size: 10G (10737418240 bytes) disk size: 2.0G cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: true

(如果不是qcow2的,需要转换一下,修改一下配置文件)

qemu-img convert -f raw -O qcow2 /kvm/test/test.img /kvm/test/test.qcow2
vim /etc/libvirt/qemu/test.xml 

<driver name='qemu' type='qcow2'/>

 

创建快照并起别名

 virsh snapshot-create-as test test01

 

查看快照

virsh snapshot-list test
 名称               生成时间              状态
------------------------------------------------------------
 1519957601           2018-03-02 10:26:41 +0800 shutoff
 test01               2018-03-02 10:28:19 +0800 shutoff

创建快照的位置

ls /var/lib/libvirt/qemu/snapshot/

 

开启虚拟机test,测试,在test里随便创建几个文件

virsh start test
 mkdir test
cd test/
touch {1..20}.test


ls
10.test 13.test 16.test 19.test 2.test 5.test 8.test
11.test 14.test 17.test 1.test 3.test 6.test 9.test
12.test 15.test 18.test 20.test 4.test 7.test

恢复快照

先停止虚拟机

virsh shutdown test

查看test快照,恢复到10:28:19  也就是名称test01

virsh snapshot-list test
 名称               生成时间              状态
------------------------------------------------------------
 1519957601           2018-03-02 10:26:41 +0800 shutoff
 test01               2018-03-02 10:28:19 +0800 shutoff

恢复快照

virsh snapshot-revert test test01

启动虚拟机就恢复了

 

如果没有创建别名,名称是数字1519957601

 virsh snapshot-revert test  1519957601

查看创建点

virsh snapshot-current test

<name>test01</name>
<state>shutoff</state>
<parent>
<name>1519957601</name>
</parent>
<creationTime>1519957699</creationTime>
<memory snapshot='no'/>

 

删除快照

virsh snapshot-delete test 1519957601

 

KVM虚拟机重命名

重命名

1. 查看 virsh list

 Id    Name                           State

----------------------------------------------------

 9     VM01                          running

 

2. 关闭虚拟机

virsh shutdown VM01;

无法关闭请查看虚拟机无法关机

 

3. 导出xml文件

cd /etc/libvirt/qemu

virsh dumpxml VM01 > Test.xml

 

4.编辑Test.xml

name>VM01---->name>Test

最后连img文件的名字也一同修改了;

 

 

小方案 shutdown关闭不了虚拟机,是因为acpi服务,反以导致不能关闭虚拟机,需要安装acpi。

yum install acpi -y

开启服务

/etc/init.d/acpi start

 

posted @ 2018-03-01 17:08  大仙儿没溜儿  阅读(246)  评论(0编辑  收藏  举报