一、虚拟化(KVM)安装条件
1、inter cpu
—vmx
2、amd cpu
—svm
cat /proc/cpuinfo | grep vmx #查看主机cpu信息并抓取vmx的信息
出现vmx信息代表我们的cpu是支持虚拟化环境部署的:
二、KVM虚拟化
1、服务名称libvirtd
2、虚拟化核心(虚拟化的守护进程)qemu/kvm
3、虚拟化存储目录(虚拟机硬盘)/var/lib/libvirt/images/westos.qcow2
4、虚拟化硬件信息/etc/libvirt/qemu/westos.xml
cd /var/lib/libvirt/images/
ls
cd /etc/libvirt/qemu/
ls
vim westosa.xml
systemctl restart libvirtd.service #重启虚拟化服务
三、虚拟化软件安装
- 在安装虚拟化软件之前在主机中需要配置软件仓库,具体看上一篇内容
dnf group list --hidden #查看未安装的软件
dnf group install "Virtualization Client" "Virtualization Hypervisor" "Virtualization Tools" -y #安装虚拟部署软件
# Virtualization Client 虚拟化客户端
# Virtualization Hypervisor 虚拟化核心套件
# Virtualization Tools 虚拟化工具
virt-manager #打开虚拟机控制器
安装
其中使用镜像安装大致步骤如下:
之后进入配置环境界面,比如时区或者支持语言等等,具体在我的小技巧专栏的vmware中安装Linux虚拟机步骤操作相似,这里不做过多阐述。
四、手动安装虚拟机
manger qcow2 disk
qemu-img create -f qcow2 /var/lib/libvirt/images/westosvm.qcow2 8G -o lazy_refcounts=off #建立虚拟硬盘并指定动态应用空间
cd /etc/libvirt/qemu/
ls
qemu-img info westosvm.qcow2 #查询虚拟硬盘信息
qemu-img resize xxx.qcow2 20G #更改虚拟硬盘容量最大阀值
怎么使用这块我们创建的硬盘呢?如下:
五、虚拟机管理命令
virt-viewer westos #显示westos虚拟机
virt-manager #打开虚拟机控制器
virsh list #列出运行的虚拟机
virsh list --all #列出所有虚拟机
virsh start westos #开启虚拟机
virsh shutdown westos #正常关闭虚拟机
virsh destroy westos #断电westos虚拟机
virsh reboot westos #重启westos虚拟机
virsh attach-interface --domain westosc --source br0 --model virtio --live --config --type bridge #添加网卡
virsh attach-interface --domain westosa --type --mac"52:54:00:1d:f3:21" --live --config #删除网卡
qemu-img create -f qcow2 /var/lib/libvirt/images/westosvm_disk.qcow2 8G -o lazy_refcounts=off #建立一个新的硬盘
virsh attach-disk westosc /var/lib/libvirt/images/westosvm_disk.qcow2 vdb --live --config #添加硬盘
virsh detach-disk westosc --target vdb --live --config #删除硬盘
六、虚拟机在Linux系统中传输
westos1:172.25.254.151默认没有虚拟机
westos2:172.25.254.51默认安装过虚拟机
1、在westos1中安装虚拟化组件
dnf group install "Virtualization Client" "Virtualization Hypervisor" "Virtualization Tools" -y #安装虚拟部署软件
2、在westos2中复制westos2中的虚拟机的文件到westos1中去
scp /etc/librvirt/qemu/westosc.xml root@172.25.254.151:/etc/librvirt/qemu #将硬件信息复制到westos1的目录中(硬件信息文件放在哪个目录中去都可以)
scp /var/lib/librvirt/images/westosvm.qcow2 root@172.25.254.151:/var/lib/librvirt/images/westosvm.qcow2 #将westos2中的硬盘复制到westos1中的目录中去(硬盘信息必须是此指定位置)
virsh create westosc.xml #一次性通过硬件信息打开虚拟机,关闭后失效
virsh define westosc.xml #通过硬件信息文件恢复虚拟机
virsh undefined westosc #删除虚拟机(后面接虚拟机名称)
七、虚拟机快照
快照原理即为reset原理
qemu-img create -f qcow2 -b /var/lib/libvirt/images/westosvm.qcow2 /var/lib/libvirt/images/node1.qcow2 #创建快照
八、脚本创建虚拟机、快照以及重建
脚本创建虚拟机:
cd /mnt
vim westos_vm.sh #vim内容如下:
//////
#!/bin/bash
test -z $1 && {
echo "Please input vmname following srcipt"
exit
}
test -e "/var/lib/libvirt/images/$1.qcow2" && {
echo"$1 is exit!!"
exit
}
qemu-img create -f qcow2 /var/lib/libvirt/images/$1.qcow2 8G -o lazy_refcounts=off
virt-install \
--name $1 \
--memory=2048 \
--vcpus 1 \
--disk /var/lib/libvirt/images/$1.qcow2,size=8,bus=virtio \
--network bridge=br0,model=virtio \
--location http://172.25.254.51/rhel8.2 \
--os-variant rhel8.2 &>/dev/null &
//////
sh westos_vm.sh jiajiren #启用脚本创建新的虚拟机jiajiren
脚本创建快照:
cd /mnt
vim kuaizhao_vm.sh #vim内容如下:
//////
#!/bin/bash
test -z $1 && {
echo "Please input vmname following srcipt"
exit
}
test -e "/etc/libvirt/qemu/$1.xml" && {
echo"$1 is exit!!"
exit
}
qemu-img create -f qcow2 -b /var/lib/libvirt/images/westos.qcow2 /var/lib/libvirt/images/$1.qcow2
virt-install \
--name $1 \
--memory=2048 \
--vcpus 1 \
--disk /var/lib/libvirt/images/$1.qcow2,bus=virtio \
--network bridge=br0,model=virtio \
--import \
--os-variant rhel8.2 &>/dev/null &
//////
sh kuaizhao.sh node1 #利用脚本创建快照node1
脚本重建虚拟机:
cd /mnt
vim reset_vm.sh #vim内容如下:
//////
#!/bin/bash
test -z $1 && {
echo "Please input vmname following srcipt"
exit
}
test -e "/etc/libvirt/qemu/$1.xml" || {
echo"$1 is exit!!"
exit
}
virsh destroy $1
rm -fr /var/lib/libvirt/images/$1.qcow2
qemu-img create -f qcow2 -b /var/lib/libvirt/images/westos.qcow2 /var/lib/libvirt/images/$1.qcow2
virsh start $1
virt-viewer $1 &
//////
sh reset_vm.sh node1 #利用脚本重建虚拟机node1