安装KVM
编辑
- 安装qemu-kvm和libvirt*
yum install -y qemu-kvm libvirt ###qemu-kvm用来创建虚拟机硬盘,libvirt用来管理虚拟机
- 安装virt-install
yum install -y virt-install ###用来创建虚拟机
yum -y install openssl
- 设置开机启动
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/