Linux大神进阶十:Linux中的虚拟机管理器

1.虚拟化管理

1.1 理解

虚拟化管理:虚拟化技术是一种将计算机物理资源进行抽象、转换为虚拟的计算机资源提供给程序使用的技术。这里所指的计算机资源,就包括了 CPU 提供的运算控制资源,硬盘提供的数据存储资源,网卡提供的网络传输资源等。应用于计算机资源的管理.

1.2 工具

***虚拟机管理器(Virtual Machine Manager or virt-manager)***:需要在虚拟机中配置更多详细信息则需要用到虚拟机管理器。

1.3 前提

自己的系统是否支持虚拟化,
cat /proc/cpuinfo ---- ##出现 svm、vmx则为支持虚拟化;
在这里插入图片描述

2.安装虚拟机的方法

2.1手动安装虚拟机

(2.1.1)硬盘信息安装
step1:真机shell输入virt-manager,会看到虚拟机管理界面
在这里插入图片描述step2:点击左上角的小太阳,会出现如下界面,选择local install media,并且选择下一步forward.在这里插入图片描述step3:选择虚拟机镜像的存放路径在这里插入图片描述step4:内存和cpu的设定
在这里插入图片描述step5:硬盘大小的设定在这里插入图片描述step6:虚拟机的命名,默认安装;
在这里插入图片描述step7:将硬盘(Disk)网卡(NIC)虚拟化;注意:apply.在这里插入图片描述2.1.2硬件信息安装

***step1***选择安装版本(默认为第一个),按空格键确认;

在这里插入图片描述***step2***语言的安装(默认英语)
在这里插入图片描述 step3 install summary
在这里插入图片描述
(1)LOCALIZATION
①时区:Asia/Shanghai
②keyboards:english;
③语言支持:中文简体,否则中文会乱码;
在这里插入图片描述(2)SOFTWARE
②software selection;选择Server with GUI
VirtualizationClient

在这里插入图片描述(3)SYSTEM
①(installtion destination)
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
step4 ROOT&USER,完成后启动虚拟机
在这里插入图片描述2.1.3重启后的设置

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

2.2 命令安装和删除虚拟机

2.2.1 优点:(命令安装)服务器较多的情况下,则需要利用shell命令行安装;快速,高效。
2.2.2步骤

功能 命令 注释
1.安装 ① vim vm_install.sh ## 打开shell脚本
对shell脚本进行编辑 注意:(1)换行符 \之后不能有空格,正常情况下换行符为橘黄色,否则为黑色
sh vm_install.sh jerry 生成虚拟机jerry
virsh list --all ##列出所有的虚拟机,进行验证,然后就可以进行手动安装了
2.虚拟机的命令删除① vim vm_undefine.sh ##打开shell脚本
对shell脚本进行编辑 注意:(1)换行符 \之后不能有空格,正常情况下换行符为橘黄色,否则为黑色
virt-manager ##打开虚拟机管理器
sh vm_undefine.sh jerry ##删除虚拟机jerry,最后观察结果

Result1! 虚拟机的命令安装
在这里插入图片描述其中:参数说明如下:

参数 注释
#!/bin/bash ## shell脚本的头部
virt-install | ##使用命令与换行符
–name $1 \ ##名字、$1环境变量与换行符
–cdrom /root/Desktop/rhel-server-7.3-x86_64-dvd.iso | ## 镜像的存放路径与换行符
–ram 1024 \ ##占用内存大小与换行符
–vcpus 1 \ ##占用cpu大小与换行符
–disk /var/lib/libvirt/images/$1.qcow2,size=6,bus=virtio \ ##物理硬盘的相关信息与换行符
–network bridge=br0,model=virtio &> /dev/null & ##网络的信息以及将错误定向输出到垃圾桶不让它占用终端

Result2! 虚拟机的命令删除
在这里插入图片描述

3.虚拟机的管理

功能 命令 注释
1.虚拟机的常规操作(真机) virsh list ##列出所有正在开启的虚拟机
virsh list --all ##列出所有的虚拟机,包括开启的和关闭的
virsh start johnsonlee ##开启johnsonlee虚拟机
virsh destroy johnsonlee ##关闭johnsonlee虚拟机,强制断电
virshshutdown johnsonlee ##正常断电
rm -rf /var/lib/libvirt/images/vmname.qcw2 ##删除虚拟机硬盘
virt-viewer johnsonlee ##可视化查看johnson状态
virsh undefine johnsonleel ##永久关掉虚拟机
2.虚拟机的复制 ##
(1) scp root@ip:/var/lib/libvirt/images/westos.qcow2 /mnt/ ##复制对方的虚拟机的硬盘信息 (disk)
(2) scp root@ip:/etc/libvirt/qemu/westos.xml /mnt/ ##复制对方的虚拟机的硬件信息(0hardware)
(3) mv /mnt/westos.qcow2 /var/lib/libvirt/images/ ##将硬盘信息和硬件信息放在同一个目录下
(4) virsh create /mnt/westos.xml ##一次打开虚拟机
(5) virsh define /mnt/westos.xml ##永久恢复(在)虚拟机
(6) virt-manager ##选择已经存在的硬盘进行安装,后面的步骤同手动安装

Result1 虚拟机的常规操作
在这里插入图片描述

Result2 虚拟机的复制安装
在这里插入图片描述

4.虚拟机的快照管理

4.1理解

快照:(1)磁盘“快照”是虚拟机磁盘文件(VMDK)在某个点及时的复本,统崩溃或系统异常,你可以通过使用恢复到快照来保持磁盘文件系统和系统存储。当升级应用和服务器及给它们打补丁的时候,快照很关键,快照是可逆的。
(2)原理:用一个文件放到真实的文件面前 ,看到的是真实的文件, 使用的是快照
不对的时候舍弃快照,再拿来一个新的。

4.2手动快照步骤

序号 命令 注释
cd /var/lib/libvirt/images/ ##在真机的root下打开镜像目录,为了后期的相对路径
qemu-img create -f qcow2 -b /var/lib/libvirt/images/johnsonlee.qcow2 /var/lib/libvirt/imag /node1.qcow2 ## -f (我们要建虚拟机快照的硬盘格式 )-b (备份虚拟机的硬盘信息 )/var/lib/libvirt/images/johnsonlee.qcow2(真实虚拟机的硬盘路径) /var/lib/libvirt/imag /node1.qcow2(虚拟机的快照路径)
ls ## 查看快照是否生成
du -sh node1.qcow2 ## 查看快照文件的大小
file node1.qcow2 ## 回到查看真正文件的大小
virt-manager ## 查看虚拟机管理器
##然后给快照导入路径 ,改名字为node1
##分配内存和cpu
## 改名,不选择默认安装

4.3结果

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

4.4 命令行安装快照步骤

序号 命令 注释
cd /mnt/ ## 在真机的root下打开该目录,在该目录下建立脚本设置快照
vim vm_snap.sh ## 打开shell脚本
对shell脚本进行编辑 注意:(1)换行符 \之后不能有空格,正常情况下换行符为橘黄色,否则为黑色
##然后退出保存即可,点击小太阳,点击import
sh vm_snap.sh $1(原来虚拟机的名字) $2(快照虚拟机的名字) ##可以建立一个快照虚拟机

其中:

脚本 注释
#!/bin/bash ## 该脚本头文件
cd /var/lib/libvirt/images ##为了下面使用相对路径方便
qemu-img create -f qcow2 -b $1.qcow2 $2.qcow2 &> /dev/dull ##创建虚拟机的快照,并且将输出重定向输出到垃圾桶
virt-install \ ##使用命令
–name $2 \ ##虚拟机快照的名字
–ram 1024 \ ##快照的内存大小
–vcpus 1 \ ##快照的cpu大小
–disk /var/lib/libvirt/images/$2.qcow2,bus=virtio \ ##快照的硬盘信息
–network bridge=br0,model=virtio | ## 快照的网络信息
–import &> /dev/null & ##导入快照的路径,并且将输出重定向输出到垃圾桶,将该进程在后台运行

在这里插入图片描述

5.综合文本实现多个功能

序号 命令 注释
cd /mnt/ ## 在真机的root下打开该目录,在该目录下建立脚本设置功能
vim test.sh ## 打开shell脚本,进行编辑,导入虚拟机基本信息,并在后台运行、输出重定向;使用case … esac语句适应用户的多种选择。
chmod +x test.sh ##添加可执行权限
/mnt/test.sh delete virtname ##删除的验证
/mnt/test.sh install virtname ##新建的验证
/mnt/test.sh snapvm ##快照的验证

在这里插入图片描述

发布了33 篇原创文章 · 获赞 8 · 访问量 2291

猜你喜欢

转载自blog.csdn.net/Pierce110110/article/details/102612633