前言

我们在做Linux实验时,难免会出现误操作从而导致严重的问题,这时候我们就需要一些虚拟化工具,我们可以利用这些工具来做我们的实验,这样即使不小心误操作,也很容易恢复,对真机并没有什么损害。下面就讲一下如何安装部署虚拟化工具。

一、虚拟机的安装

我们选择通过本地镜像来安装虚拟机,主要步骤如下:

mount /isos/rhel-8.2-x86_64-dvd.iso /mnt   #挂载镜像到/mnt目录下
df   #查看挂载
dnf group list --hidden     #列出隐藏软件案组
dnf group install "Virtualization Client" "Virtualization Hypervisor" "Virtualization Tools"      #把列出的隐藏软件案组里面的这三个组建安装
vim /etc/yum.repos.d/xxxx.repo    #把xxxx.repo文件中不能访问的源给注释掉
systemctl status libvirtd.service  #查看虚拟化服务libvirtd.service是否开启
systemctl status libvirt-guests.service  #查看虚拟化服务libvirt-guests.service是否开启
systemctl enable --now libvirtd.service  #激活虚拟化服务libvirtd.service
systemctl enable --now libvirt-guests.service  #激活虚拟化服务libvirt-guests.service
virt-manager   #打开虚拟机控制器在图形中进行设置

注意:必须确保libvirt-guests.service 和libvirt-guests.service都已经开启并激活

二、虚拟机在 Linux 系统中的传输

如果我们可以直接复制另一台主机中的虚拟机,是不是会更方便一点呢?这是可以实现的,我们需要复制虚拟机的硬盘信息和硬件信息到自己主机中的相关存储目录下,具体操作步骤如下:

ssh root@10.4.17.83     #进入到ip为10.4.17.83的主机中
cd /var/lib/libvirt/images  #切换到该目录下,查看该主机中的虚拟机硬盘信息文件
scp xxx.qcow2 root@10.4.17.xx:/var/lib/libvirt/images  #将10.4.17.83主机中的xxx.qcow2文件复制到10.4.17.xx主机的/var/lib/libvirt/images目录下
cd /etc/libvirt/qemu/   #切换到该目录下,查看该主机中的虚拟机硬件信息
scp xxx.xml root@10.4.17.xx:/var/libvirt/qemu/   #将10.4.17.83主机中的xxx.xml文件复制到10.4.17.xx主机的/var/libvirt/qemu目录下 
exit    #退出10.4.17.83主机
cd /var/lib/libvirt/images  #切换到本机该目录下,查看该主机中的虚拟机硬盘文件
virsh create xxx.xml   #通过硬件信息文件打开虚拟机,虚拟机关闭后消失
virsh define xxx.xml   #通过硬件信息文件恢复虚拟机
virsh undefine xxx.xml  #删除虚拟机硬件信息

注意:通过virsh undefine xxx.xml删除虚拟机硬件信息后该虚拟机硬件信息还存在于/var/lib/libvirt/images目录下,可使用rm指令删除。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、快速创建虚拟机及虚拟机快照

常规创建虚拟机快照方法:

qemu-img create -f qcow2 -b /var/lib/libvirt/images/xxxx.qcow2
/var/lib/libvirt/images/node1.qcow2  #创建虚拟机xxxx.qcow2的快照node1.qcow2

在这里插入图片描述
在这里插入图片描述

我们可以通过编写脚本并执行的方式来快速创建虚拟机:

cd /mnt    #切到/mnt目录下编写脚本
vim create_vm.sh   #编写脚本create_vm.sh
#!/bin/bash        #脚本中的内容
virt-install \
--cdrom /mnt/isos/rhel-8.2-x86_64-dvd.iso \
--memory 2048 \
--vcpus 1 \
--disk /var/lib/libvirt/images/$*.qcow2,size=8,bus=virtio \
--name $*              

也可以通过编写脚本并执行的方式来快速创建虚拟机快照并执行:

cd /mnt    #切到/mnt目录下编写脚本
vim snapshoot_vm.sh   #编写脚本snapshoot_vm.sh
#!/bin/bash        #脚本中的内容
qemu-img create \
-f qcow2 \
-b /var/lib/libvirt/images/xxxx.qcow2 \
/var/lib/libvirt/images/$*.qcow2

virt-install \
--memory 2048 \
--vcpus 1 \
--disk /var/lib/libvirt/images/$*.qcow2 \
--import   

具体如下图所示:
在这里插入图片描述
在这里插入图片描述
注意:上述编辑脚本时\前面需有一个空格,而后面不能有空格,否则执行该脚本的时候会出错。

四、虚拟机与真机的桥接

在未设置情况下,一台主机中虚拟机与真机并不处于同一网段,因此需要经过真机内核产生的虚拟路由,无法直接通信,影响通信效率,当我们需要在同一网段中使用两台主机做实验,而实际只有一台主机的时候,这样的设置肯定是不方便的,所以我们需要在虚拟机和真机之间搭建一个桥梁,使得虚拟机和真机可以直接通信,具体步骤如下:

1、cd /etc/sysconfig/network-scripts/     #切换目录
2、vim ifcfg-enp0s25             #编辑ifcfg-enp0s25文件
DEVICE=enp0s25
ONBOOT=yes
BOOTPROTO=none
BRIDGE=br0

3、vim ifcfg-br0                 #编辑ifcfg-br0文件
DEVICE=br0
ONBOOT=yes
BOOTPROTO=none
IPADDR=xxxxxxx(有线网卡IPNETMASK=255.255.255.0
TYPE=Bridge
4、reboot            #重启系统
5、打开虚拟机,设置连接方式
6、ping真机ip,检查是否连通

具体操作如下所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

今天我们讲的主要是以上四部分内容,需要注意的是:最后真机与虚拟机的桥接要注意IP地址是有线网卡的ip,还有安装虚拟机的时候要确保虚拟化服务开启,这两部分经常出现问题,要注意。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐