1 首先在VMware workstation配置一台虚拟机
在VMware workstation安装一台图形化虚拟机,虚拟机的内存,cpu,磁盘尽可能给的足够大,我写这个博客选择的是内存12GB,处理器8个,硬盘100GB。开启设备前,一定记得点击硬件设置,勾选虚拟化引擎!如图
2 安装kvm
2.1 首先查看cpu是否支持虚拟化
cat /proc/cpuinfo | grep -E 'vmx|svm'
2.2 关闭防火墙和selinux
2.3
yum -y install qemu-kvm libvirt virt-manager librbd1-devel virt-install
(注:qemu-kvm:主包 libvirt:api接口 virt-manager:图形化界面
kvm技术中用到了qemu+kvm,其中kvm负责cpu虚拟化+内存虚拟化但无法模拟其他设备;qemu模拟IO设备(网卡,磁盘)kvm+qemu能实现服务器虚拟化。libvirt则是调用kvm虚拟技术的接口用于管理)
2.4 启动服务,查看kvm模块,如果加载成功则软件安装完成
systemctl start libvirtd lsmod | grep kvm
正常显示如下:
3 文本安装虚拟机,mount宿主机iso
本次实验中,我用的ftp方式安装,所以我将宿主机的镜像,挂载到了/var/ftp/下的新建目录中。操作命令如下:
yum install -y vsftpd systemctl start vsftpd mkdir /var/ftp/zhu03 mount /dev/cdrom /var/ftp/zhu03 virt-install --connect qemu:///system -n zhu03 -r 2050 --disk path=/var/lib/libvirt/images/zhu03.img,size=5 --os-type=linux --os-variant=centos7.0 --vcpus=1 --location=ftp://192.168.123.133/zhu03 -x console=ttyS0 --nographics
(磁盘大小,和内存看个人需求来选择)
接下来会出现文本安装的界面,按照操作点击即可(附上操作图片)
(数字前面的!转变为x,即完成选项,除了digit9可以空着,其他八项要全部操作完毕才可以开始install,没选完一个数字,配置完成记得按c 继续下一步。后面操作省略)
如果显示安装完成,按enter进入,输入root的用户密码即可
4 cp配置文件和镜像,来克隆安装虚拟机
首先,kvm的配置文件存在于/etc/libvirt/qemu/ 磁盘文件存在于/var/lib/libvirt/images/
也就是说,想要克隆一台虚拟机,只需要cp出一份配置文件,一份磁盘文件即可,不过配置文件的一些参数需要进行修改
我已经有了zhu03,对应就会有zhu03.img和zhu03.xml。通过这种方式cp创建名字为zhu04的虚拟机的img和配置文件,操作如下
cp /etc/libvirt/qemu/zhu03.xml /etc/libvirt/qemu/zhu04.xml cp /var/lib/libvirt/images/zhu03.img /var/lib/libvirt/images/zhu04.img
zhu04.xml的参数需要修改,如虚拟机名字,mac地址,uuid序列号需要不一样,磁盘镜像把刚刚cp的镜像写上去。uuid可以自己修改几个符号,也可以通过命令随机创建一个uuid
uuidgen
其他两个地方如图提示(内存磁盘大小,自己可以根据需要修改,我提到的四处是必须修改
定位到disk,修改img名称)
配置文件修改完毕,刷新一下zhu04文件,重新启动libvirtd,kvm克隆完成
virsh define /etc/libvirt/qemu/vm4.xml systemctl restart libvirtd
5 克隆的kvm无网络连接的解决方案
通过cp配置文件和镜像的虚拟机无法上网,需要在宿主机上开启路由转发功能
vim /etc/sysctl.conf
在配置文件中,加入一条命令
net.ipv4.ip_forward=1
此时,virt-manager 打开zhu04,上网正常
(kvm创建的虚拟机默认是nat网络模式)
6 命令行克隆
virt-clone -o vm2 --auto-clone
正在分配 ‘vm2-clone.qcow2’ | 5.0 GB 00:00
成功克隆 ‘vm2-clone’。
-o
origin-原始
virt-clone -o vm2 -n vm5 --auto-clone
正在分配 ‘vm5.qcow2’ | 5.0 GB 00:00
成功克隆 ‘vm5’。
-n :指定新客户机的名字
virt-clone -o vm2 -n vm6 -f /var/lib/libvirt/images/vm6.img
正在分配 ‘vm6.img’ | 5.0 GB 00:00
成功克隆 ‘vm6’。
-f ,–file
NEW_DISKFILE:为新客户机使用新的磁盘镜像文件
这条命令在克隆的同时,可以指定镜像文件的位置和名称。
7629058707)]
正在分配 ‘vm6.img’ | 5.0 GB 00:00
成功克隆 ‘vm6’。
-f ,–file
NEW_DISKFILE:为新客户机使用新的磁盘镜像文件
这条命令在克隆的同时,可以指定镜像文件的位置和名称。
图形化克隆kvm省略