为KVM创建存储池
KVM的默认卷是存放在/var/lib/libvirt/images/目录下,此处的磁盘分区大小有限.
# 建立存储池的目录
mkdir /home/kvm_disk
# 配置SELinux文件上下文
semanage fcontext -a -t virt_image_t /home/kvm_disk
# 定义一个存储池
virsh pool-define-as kvm_final --type dir --target /home/kvm_disk
# 查看创建的存储池
virsh pool-list --all
# 激活存储池
virsh pool-start kvm_final
# 自动运行
virsh pool-autostart kvm_final
# 验证存储池
virsh pool-info kvm_final
名称: kvm_final
UUID: ffeb623f-9988-433b-b446-cdab27457308
状态: running
持久: 是
自动启动: 否
容量: 672.41 GiB
分配: 733.66 MiB
可用: 671.70 GiB
创建KVM虚拟机
# 创建卷
virsh vol-create-as kvm_final def_init_centos7.qcow2 30G --format qcow2
# 查看存储池中所有卷
virsh vol-list kvm_final
# 查看卷信息
virsh vol-info def_init_centos7.qcow2 kvm_final
# 删除卷
virsh vol-delete /home/kvm_disk/def_init_centos7.qcow2
# 调整大小
virsh vol-resize per_clone_test.qcow2 50G --pool=kvm_final
# 创建虚拟机
virt-install --name=centos7_tpl --vcpus=2 --memory=2048 --hvm --vnc --network bridge=enp0s31f6 --disk path=/home/kvm_disk/def_init_centos7.qcow2,format=qcow2,size=30,bus=virtio --cdrom=/home/download/iso_images/CentOS-7-x86_64-Minimal-1611.iso
# 查看虚拟机
virsh dominfo kvm_test001
# 关闭虚拟机
virsh shutdown centos7_tpl
# 删除虚拟机
virsh undefine kvm_test001
# 删除卷
virsh vol-delete /home/kvm_disk/kvm_test001.qcow2
克隆虚拟机
# 克隆前需要先关闭目标虚拟机
virsh list --all
virsh shutdown centos7_tpl
# 克隆虚拟机
virt-clone --original=centos7_tpl --name=clone_test --mac=52:54:00:15:c4:3c --file=/home/kvm_disk/per_clone_test.qcow2
# 查看虚拟机
virsh dominfo clone_test
# 调整内存大小
virsh setmaxmem clone_test 4G # 设置内存最大值
virsh setmem clone_test 4G # 修改虚拟机内存
# 增大CPU(只能增大不能减少)
virsh setvcpus clone_test 4 # 修改虚拟处理器的数量
# 查看虚拟机网卡
virsh domiflist clone_test
# 启动
virsh start clone_test
# 连接(默认密码123123)
ssh root@{mac分配的ip}
技巧
# 宿主机连接虚拟机会话(ctrl+]退出)
virsh console clone_test
# 如果卡死在虚拟机里面执行
grubby --update-kernel=ALL --args="console=ttyS0"
reboot
# 更丰富的KVM管理工具
yum install libguestfs-tools
# 查看虚拟机目录
virt-ls -d clone_test /
# 查看虚拟机文件
virt-cat -d clone_test /etc/fstab
# 更多查看http://libguestfs.org/