安装如下软件。
yum -y install qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools bridge-utils virt-install vnc -y
启动kvm服务。
service libvirtd start
cd /etc/sysconfig/network-scripts/
此处假设宿主机网卡名称为ifcfg-enp1s0。复制建立br0配置文件。 cp ifcfg-enp1s0 ifcfg-br0
配置内容以下:python
四、建立虚拟机。mysql
qemu-img create -f qcow2 /data/vitual-img/kvm-mysql-18.18.100.4-data.img 500G 解析: create -f qcow2:建立磁盘并指定硬盘文件系统格式 /data/vitual-img/kvm-mysql-18.18.100.4-data.img:指定硬盘文件存储目录 500G:指定硬盘大小
virt-install --name kvm-liushaoqiang-192.168.40.91 --ram 32768 --vcpus=4 --cdrom /data/iso/CentOS-7-x86_64-Minimal-1804.iso --disk path=/data/vitual-img/kvm-liushaoqiang-192.168.40.91-system.img,format=qcow2,bus=virtio --bridge=br0 --vnc --vncport=5992 --vnclisten=0.0.0.0 解析: --name kvm-liushaoqiang-192.168.40.91:指定建立虚拟机的名称 --ram 32768:指定虚拟机内存,默认按MB计算 --vcpus=4:指定虚拟机cpu核心数量 --cdrom /data/iso/CentOS-7-x86_64-Minimal-1804.iso:指定启动文件,以cdrom iso镜像启动 --disk path=/data/vitual-img/kvm-liushaoqiang-192.168.40.91-system.img,size=40,format=qcow2,bus=virtio:指定磁盘位置,格式为qcow2,虚拟化方式为virtio(半虚拟化方式) --bridge=br0:指定网络模式为桥接,桥接网卡为br0 --vnc --vncport=5992 --vnclisten=0.0.0.0:指定虚拟机远程vnc地址以及端口
如下命令均在虚拟机的宿主机上执行。sql
5.一、强制关闭虚拟机vim
virsh destroy kvm-mysql-18.18.100.4 解析: kvm-mysql-18.18.100.4:虚拟机名称,不是虚拟机的hostname。
5.二、完全删除虚拟机缓存
virsh undefine kvm-mysql-18.18.100.4
5.三、关闭虚拟机网络
virsh shutdown kvm-mysql-18.18.100.4 备注:须要在虚拟机上安装acpid,同时启动该服务。不然没法使用virsh shutdown远程关闭虚拟机。
5.四、启动虚拟机dom
virsh start kvm-mysql-18.18.100.4
5.五、查看虚拟机列表spa
virsh list --all 解析: list:不加--all没法查看该宿主机上全部虚拟机,只能列出当前处于运行状态的虚拟机
--all:列出该宿主机上全部虚拟机
5.六、虚拟机新增磁盘操作系统
virsh attach-disk --domain kvm-mysql-18.18.100.4 --source /data/vitual-img/kvm-mysql-18.18.100.4-data.img --target sda --cache none 解析: --domain kvm-mysql-18.18.100.4:指定虚拟机名称 --source /data/vitual-img/kvm-mysql-18.18.100.4-data.img:指定要挂载的磁盘目录以及所在位置 --target sda:指明该磁盘挂载的虚拟机以后,在虚拟机上的磁盘位置 --cache none:无缓存 备注: 1、只有raw模式的磁盘才可直接挂载,qcow2格式的磁盘须要远程映射才可挂载。 2、系统重启,使用该命令挂载磁盘会丢失。
5.七、虚拟机卸载磁盘rest
virsh detach-disk kvm-mysql-18.18.100.4 --target sda 解析: kvm-mysql-18.18.100.4:指定虚拟机名称 --target sda:指明虚拟机上磁盘挂载点
5.八、查看img磁盘信息
qemu-img info kvm-mysql-18.18.100.4-data.img
5.九、在虚拟机关闭状态下,将文件复制到虚拟机内部
virt-copy-in -d kvm-mysql-18.18.100.4 change_ip.sh /etc/rc.d 解析: -d kvm-mysql-18.18.100.4:指定虚拟机名称 change_ip.sh:在宿主机上的文件名称,建议使用绝对地址 /etc/rc.d:虚拟机内部目录