Linux下的虚拟化部署详解

Posted 是大姚呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下的虚拟化部署详解相关的知识,希望对你有一定的参考价值。

Linux下的虚拟化部署

前言:在进行虚拟化部署前,我们需要查看主机是否具有kvm虚拟化安装条件,即通过cat /proc/cpuinfo命令查看主机的cpu信息是否含有vmx或svm。

1、kvm虚拟化安装

Linux下的kvm虚拟化功能由libvirtd服务提供,虚拟化核心组件为qemu/kvm。由于真实主机已做过kvm虚拟化安装操作,所以我们在虚拟机westosa里进行虚拟化安装,方便查看实验效果。具体操作如下:

实验步骤:
1)为了在虚拟机westosa里进行虚拟化安装,我们需要事先在真实主机中调整westosa的内存大小,以便westosa内有足够空间建立虚拟机
在这里插入图片描述
2)编写westosa软件源指向文件配置目录中的软件仓库指向文件,使用之前在真实主机上搭建好的软件仓库,在westosa中安装所有虚拟化工具

dnf group install "Virtualization Client" "Virtualization Hypervisor" "Virtualization Tools" -y
Virtualization Client :虚拟化客户端
Virtualization Tools:虚拟化工具
Virtualization Hypervisor :虚拟化核心套件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3)虚拟化安装完成后,virt-manager打开虚拟机管理器,可以创建新的虚拟机,此时网络选择只能选择NAT源地址转换模式
在这里插入图片描述
4)NAT这种网络通信方式速度较慢,我们可以通过编写westosa的网络配置文件,使得在创建虚拟机时可以选择桥接模式,桥接模式下虚拟机和在该虚拟机中建立的虚拟机可以通过网桥直接通信**桥接模式**
配置/etc/sysconfig/network-scripts/ifcfg-ens3
在这里插入图片描述
配置/etc/sysconfig/network-scripts/ifcfg-br0
在这里插入图片描述
网络配置文件编写完成后,重启连接,此时在westosa中创建新的虚拟机时,网络选择可以选择桥接模式
在这里插入图片描述
在这里插入图片描述

2、kvm虚拟化相关信息

我们在Linux下创建的每一台虚拟机都对应了真实主机中以下两部分内容:
a)虚拟化存储目录/var/lib/libvirt/images/下的一块虚拟机硬盘/var/lib/libvirt/images/xxx.qcow2
b)虚拟化硬件信息目录/etc/libvirt/qemu/下的虚拟机硬件信息文件/etc/libvirt/qemu/xxx.xml

实验步骤1:修改虚拟机硬件信息文件
1)libvirtd虚拟化服务开启,virt-manager打开虚拟机管理器,可以查看到真实主机中建立有westosa、westosb两台虚拟机
在这里插入图片描述
在这里插入图片描述
2)查看虚拟化存储目录/var/lib/libvirt/images/和虚拟化硬件信息目录/etc/libvirt/qemu/,可以看到westosa、westosb两台虚拟机各自的虚拟机硬盘、虚拟机硬件信息文件
在这里插入图片描述
修改westosb的虚拟机硬件信息文件,更改虚拟机名称,重启libvirtd虚拟化服务后可以看到虚拟机westosb的名称发生改变
在这里插入图片描述在这里插入图片描述
实验步骤2:虚拟机硬盘的动态使用
1)在真实主机中建立新的虚拟机westosvm
选择安装虚拟机使用的资源:使用镜像安装 / 使用网络资源安装 / 使用网络引导 / 把已经存在的装好的硬盘文件导入虚拟机
选择网络资源:填写软件仓库的地址(这里使用真实主机上搭建的软件仓库)
选择桥接模式:否则虚拟机无法联网(必须有dhcp服务)
分配内存、CPU个数、硬盘大小
在这里插入图片描述
2)虚拟机westosvm建立完成后,查看/var/lib/libvirt/images//etc/libvirt/qemu/可以看到westosvm的虚拟机硬盘、虚拟机硬件信息文件,硬盘大小为建立虚拟机时设定的8G,查看硬盘属性信息可以看到该硬盘lazy_refcounts参数值为true,这意味着无论westosvm是否启动,都会占用系统8G的硬盘空间
在这里插入图片描述
3)这种默认硬盘大小为8G的方法显然不合理,会占用系统多余空间,应使用多少占用多少,因此我们可以事先手动建立好硬盘,设定硬盘lazy_refcounts参数值为off,动态地占用硬盘空间
在这里插入图片描述
4)创建虚拟机,在分配硬盘时选择手动建立好的硬盘,就可以实现虚拟机硬盘的动态使用
在这里插入图片描述

3、手动安装虚拟机系统

在虚拟机建立完成后,进入到虚拟机安装页面,我们需要对虚拟机系统进行手动安装设定,具体操作如下:

实验步骤:
1)选择安装系统时使用的语言
在这里插入图片描述
2)设定键盘类型、系统支持语言、系统时钟和时区、安装系统时使用的资源(软件仓库地址)、安装系统时安装的软件、系统分区、关机时备份内存数据到硬盘、网络名和主机名、暗转策略,如下图所示
在这里插入图片描述
3)自定义系统分区,/boot和swap分区大小各设为500M,剩下所有的磁盘空间全分给根分区在这里插入图片描述在这里插入图片描述
4)设定超级用户密码,建立普通用户,虚拟机系统安装完成
在这里插入图片描述

4、虚拟机管理命令

virt-viewer westos				##显示westos虚拟机
virt-manager 					##打开虚拟机控制器
virsh list 						##列出运行的虚拟机
virsh list --all 				##列出所有虚拟机
virsh start westos 				##开启虚拟机
virsh shutdown westos 			##正常关闭虚拟机
virsh destroy westos 			##断电westos虚拟机
virsh reboot --domain westos	##重启虚拟机

实验步骤1:虚拟机管理命令
在这里插入图片描述
在这里插入图片描述
实验步骤2:为虚拟机添加网卡/硬盘
对于已经建立好的虚拟机,我们可以利用虚拟机管理命令为其添加设备,具体操作如下
1)为虚拟机添加网卡:virsh attach-interface --domain westosvm --source br0 --model virtio --live --config --type bridge
其中–domain参数指定虚拟机对象;–source指定网络源接口; --model指定网卡设备类型; --live表示在虚拟机开启状态下添加; --config表示永久添加; --type指定添加网卡的工作模式
在这里插入图片描述
在这里插入图片描述
2)为虚拟机添加硬盘:virsh attach-disk westosvm /var/lib/libvirt/images/westosvm_disk.qcow2 vdb --subdriver qcow2 --live --config
在这里插入图片描述
在这里插入图片描述

5、虚拟机快照

虚拟机快照可以复制当前虚拟机的配置环境,对虚拟机进行快照后,我们可以在后续过程中直接对快照进行操作,这样出现错误时可以直接删掉快照,重新为虚拟机建立一个快照,快速还原出错之前的状态。具体操作如下:

实验步骤:
1)对虚拟机westosvm的硬盘进行快照,生成nodel.qcow硬盘
在这里插入图片描述
2)virt-manager打开虚拟机管理器,创建新的虚拟机,在选择安装虚拟机使用的资源时,把已经存在的装好的硬盘文件导入虚拟机 ,填写硬盘文件路径,以此创建的虚拟机nodel为虚拟机westosvm的快照
在这里插入图片描述
在这里插入图片描述

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

当一台主机B默认没有虚拟机,另一台主机A默认安装过虚拟机westos时,我们可以通过虚拟机传输在没有虚拟机的主机中快速创建虚拟机。具体操作如下:

实验步骤:
1)在没有虚拟机的主机B中安装虚拟化组件:dnf group install "Virtualization Client" "Virtualization Hypervisor" "Virtualization Tools" -y
2)将主机A中虚拟机的文件(虚拟化存储目录下的虚拟机硬盘、虚拟化硬件信息目录下的虚拟机硬件信息文件)复制到主机B的相应目录中
在这里插入图片描述
3)在主机B中利用复制的虚拟机文件恢复虚拟机
方法一:一次性恢复
virsh create westos.xml:通过硬件信息文件打开虚拟机,虚拟机关闭后消失
方法二:永久恢复
virsh define westos.xml:通过硬件信息文件恢复虚拟机
virsh undefine westos:删除虚拟机硬件信息

7、编写脚本进行自动虚拟化部署

实验步骤1:自动创建虚拟机
1)编写脚本westos_vm.sh:对输入的虚拟机名称进行非空判断和重复判断,判断无误后自动创建得到新的虚拟机
在这里插入图片描述
2)脚本测试:虚拟机westosvm已建立,执行脚本后提示系统中已存在该虚拟机
在这里插入图片描述
实验步骤2:自动创建虚拟机快照
1)编写脚本westos_kz.sh:对输入的虚拟机快照名称进行非空判断和重复判断,判断无误后自动创建得到虚拟机westos的虚拟机快照
在这里插入图片描述
2)脚本测试:执行脚本后自动生成虚拟机westos的虚拟机快照nodel1
在这里插入图片描述
实验步骤3:自动重置虚拟机
1)编写脚本westos_reset.sh:对输入的虚拟机名称进行非空判断和存在性判断,判断无误后自动重置得到虚拟机westos的虚拟机快照
在这里插入图片描述
2)脚本测试:执行westos_kz.sh脚本生成虚拟机westos的虚拟机快照nodel,接着执行脚本westos_reset.sh删除nodel后自动生成新的虚拟机快照nodel1
在这里插入图片描述

以上是关于Linux下的虚拟化部署详解的主要内容,如果未能解决你的问题,请参考以下文章

Linux下的虚拟化部署

Linux中的无人职守安装脚本kickstart详解

Linux下的监控器之一Ganglia详解与部署

Linux下的虚拟化部署(脚本方式安装,快照和重置虚拟机)

centos7部署KVM虚拟化平台详解

Linux运维架构篇 KVM技术详解和部署