KVM安装部署

安装KVM
编辑

  1. 安装qemu-kvm和libvirt*

yum install -y qemu-kvm libvirt ###qemu-kvm用来创建虚拟机硬盘,libvirt用来管理虚拟机

  1. 安装virt-install

yum install -y virt-install ###用来创建虚拟机

yum -y install openssl

  1. 设置开机启动

systemctl start libvirtd && systemctl enable libvirtd

4.安装vnc

yum install tigervnc tigervnc-server

vncserver ###启动vnc 并设置密码

使用KVM创建虚拟机
编辑
1.创建虚拟机硬盘

qemu-img create -f raw /opt/kvm/centos02.raw 200G

2.配置网桥模式

方法一:

先将 /etc/sysconfig/network-scripts/ 目录下的网卡配置文件备份一份

a. 创建 ifcfg-br0 文件,(创建的br0文件的IP地址要和物理网卡的IP地址一致,命令 ipconfig查看物理网卡将不会显示IP)

vi /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0

BOOTPROTO=none

DEFROUTE=yes

ONBOOT=yes

TYPE=Bridge

IPV4_FAILURE_FATAL=yes

IPADDR=192.168.1.130

NETMASK=255.255.255.0

GATEWAY=192.168.1.254

DNS1=221.6.4.66

DELAY=0

USERCE=no
b.修改原网卡配置

vi /etc/sysconfig/network-scripts/ifcfg-eth0

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static

DEFROUTE=yes

IPV4_FAILURE_FATAL=yes

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=eth0

UUID=bb40d726-8d67-4187-90c3-eb61e1b42d61

DEVICE=eth0

ONBOOT=yes

IPADDR=192.168.1.130

NETAMSK=255.255.255.0

GATEWAY=192.168.1.254

DNS1=8.8.8.8

IPV6_PRIVACY=no

BRIDGE=br0
c. 重启网络服务

systemctl restart network

方法二:

virsh iface-bridge eth0 br0

3.创建虚拟机

virt-install --name=centos01 --vcpus=4 --memory=8192 --location /home/CentOS-7-x86_64-DVD-1611.iso --disk path=/opt/kvm/centos01.raw,size=200, --network bridge=br0 --graphics vnc,port=5999,listen=0.0.0.0,password=1GmsAZqwqw --extra-args="edd=off" --force

4.vnc连接上面配置的端口

vnc客户端连接上面命令配置的port=5999,listen=0.0.0.0,password=1GmsAZqwqw,完成安装

KVM常用命令
编辑
virsh start x 启动名字为x的非活动虚拟机
virsh list --all 列出虚拟机
virsh create x.xml 创建虚拟机(创建后,虚拟机立即执行,成为活动主机)
virsh suspend x 暂停虚拟机
virsh resume x 启动暂停的虚拟机
virsh shutdown x 正常关闭虚拟机
virsh destroy x 强制关闭虚拟机

virsh undefine x 删除虚拟机,慎用

virsh dominfo x 显示虚拟机的基本信息
virsh domname 2 显示id号为2的虚拟机名
virsh domid x 显示虚拟机id号
virsh domuuid x 显示虚拟机的uuid
virsh domstate x 显示虚拟机的当前状态
virsh dumpxml x 显示虚拟机的当前配置文件(可能和定义虚拟机时的配置不同,因为当虚拟机启动时,需要给虚拟机 分配id号、uuid、vnc端口号等等)
virsh setmem x 512000 给不活动虚拟机设置内存大小
virsh edit x 编辑配置文件(一般是在刚定义完虚拟机之后)

同宿主机克隆
编辑

virt-clone -o 35-MC_40_41 -n 35-RCLB_43 -f /opt/kvm/35-RCLB_43.raw

编辑
KVM虚拟机迁移
编辑
先在esxi主机里建立一个文件夹,文件夹的名称为虚拟机的名称:

进入数据存储

[root@server2:~] cd /vmfs/volumes/datastore_1/

新建文件夹

[root@server2:/vmfs/volumes/52540d02-86fc97d5-c7a2-d8d38597d7aa] mkdir test-1

在将KVM虚拟机镜像迁移至esxi之前需要先转换格式,先进入虚拟机镜像所在目录:

进入目录

[root@kvm-t1 ~]# cd /usr/local/kvm/images/

查看镜像

[root@kvm-t1 images]# ll -h

total 2.1G

-rw------- 1 root root 11G Sep 1 10:52 centos-t1.img

磁盘的格式需要转换两次,这一次是在KVM主机上进行,转换为vmdk格式。可是这个镜像还不能直接应用在esxi主机中,还需要在esxi主机转换一次。

在KVM主机中使用以下命令将虚拟机镜像进行转换:

qemu-img convert -f qcow2 centos-t1.img -O vmdk centos-t1_temp.vmdk -o compat6

为了防止镜像被拆分为2GB的小块,需要增加compat6的选项。

需要注意的是,转换过程中并不会出现进度条,完成转换后会出现一个新的镜像:

[root@kvm-t1 images]# ll -h

total 4.2G

-rw------- 1 root root 11G Sep 1 10:52 centos-t1.img

-rw-r--r-- 1 root root 2.1G Sep 1 16:19 centos-t1_temp.vmdk

将转换后的镜像导入ESXI新创建的文件夹中。

在esxi主机里,使用vmkfstools命令进行格式转换:

转换成精简备置的磁盘

[root@server2:/vmfs/volumes/52540d02-86fc97d5-c7a2-d8d38597d7aa/test-1] vmkfstools -i centos-t1_temp.vmdk -d thin centos-t1.vmdk

Destination disk format: VMFS thin-provisioned

Cloning disk 'centos-t1_temp.vmdk'...

Clone: 100% done.

在ESXI中创建虚拟机添加现有磁盘即可。

文件路径
编辑
虚拟机配置文件路径
/etc/libvirt/qemu/
虚拟机镜像文件路径
/var/lib/libvirt/images/

上一篇:kvm安装报错“ERROR Host does not support domain type kvm for virtualization type 'hvm' arch


下一篇:懂了!VMware/KVM/Docker原来是这么回事儿