linux学习之旅(十三)

时间:2023-01-27 16:06:37

系统虚拟机管理


安装

首先我们以普通的图形界面进行演示

linux学习之旅(十三)
//打开虚拟机管理工具点击带星星的电脑图标
选择第一个,这是以镜像文件或光盘安装
linux学习之旅(十三)
//因为没有光盘,选择iso镜像,并找到文件添加进去
选择内存大小,cpu核数
linux学习之旅(十三)
选择容量
linux学习之旅(十三)
虚拟机名称
linux学习之旅(十三)
出现安装选项

Install Centos7 安装centos7
Test this media & install CentOS 7 测试安装文件并安装
Troubleshooting 故障修复

linux学习之旅(十三)
//选择第一个,直接安装
加载一些配置信息后,出现图形安装界面
第一个是安装时的语言
linux学习之旅(十三)
然后出现一个有很多选择的界面
linux学习之旅(十三)

  • 在LOCALIZATION中,选择自己的时间时区,键盘类型,支持的语言(语言中,如果有可能用中文,一定要选择,不然后面即是切换到中文也是乱码)

下面要选择的就是SOFTWARE SELECTION 软件安装
linux学习之旅(十三)
//这里选择最简安装,而且不添加任何附加包
下来是INSTALLATION DESTINATION 磁盘分盘
linux学习之旅(十三)
//选择手动分盘

标准格式,就分三个,
/boot系统启动200M
swap系统运行500M(swap 一般比内存大两倍 32G内存以上的内存,要大四倍)
/根,剩余空间全部给根

linux学习之旅(十三)
然后退出安装就完成了。

  • 过程中,需要手动添加root用户的密码

用脚本自动化安装

man    virt-install                  //查看virt-install的说明文档

linux学习之旅(十三)
//可以发现很多所有的参数都是可以用命令配置的

用脚本将命令综合实现系统的安装。

#!/bin/bash         ##命令运行环境的指定
virt-install \ ##安装虚拟机
--name $1 \##虚拟机名称指定,$1表示脚本后的第一串字符
--ram 1024 \ ##内存
--file /var/lib/libvirt/images/$1.img \ ##硬盘文件
--file-size 8 \ ##硬盘文件大小
--cdrom /iso/rhel-server-7.2-x86_64-dvd.iso & ##安装源指定
  • 但是这其实也只是将安装界面之前的简单配置如名称,cpu,内存,镜像等的配置好,进入后还是有会进入图形安装界面,不是真正的自动化。所以,是*半自动化*
    linux学习之旅(十三)
    //如图,并没有直接完全安装

管理

/var/lib/libvirt/images/*.qcow2存放的是虚拟机的全部配置文件
*.xml 存放的是虚拟机的前端管理软件

virt-manager            ##开启图形管理工具
virt-viewer vmname ##显示虚拟机,vmname表示虚拟机名称
virsh list ##列出正在运行的vm
virsh list --all ##列出所有vm
virsh start vmname ##运行指定vm
virsh shutdown vmname ##正常关闭指定vm
virsh destroy vmname ##强行结束指定vm
virsh create vmname.xml ##临时恢复指定vm,vmname表示前端管理文件
virsh define vmname.xml ##永久恢复vm
virsh undefine vmname ##删除vm的前端管理,不会删除存储

列出正在运行的虚拟机:
linux学习之旅(十三)
正常关闭指定的虚拟机:
linux学习之旅(十三)
删除指定虚拟机的前端管理:
linux学习之旅(十三)


虚拟机快照

快照是对真实虚拟机在某个时间点的“拷贝”,这个“拷贝”并不是对其文件的复制,而是保持磁盘文件和系统内存在该时间点的状态,以便在出现故障后虚拟机能够恢复到该时间点。如果对某个虚拟机创建了多个快照,那么就可以有多个可恢复的时间点。
快照随着虚拟机对磁盘文件的写操作而增长。当虚拟机需要修改原来的磁盘文件的数据块时,这些修改会被保存到快照文件中。当在快照文件中的已经修改过的数据块需要被再次修改时,这些修改将覆盖快照文件中的数据块,此时,快照文件大小不会改变。因此,快照文件的大小永远不会超过原来的真实虚拟机文件的大小。

用法:
qemu-img create -f qcow2 -b vm2.qcow2 node1.qcow2

修改,将一个已经创建好的快照变为一个新的
#!/bin/bash
virsh destroy $1 &> /dev/null
virsh undefine $1 &> /dev/null
qemu-img create -f qcow2 -b /var/lib/libvirt/images/$1.qcow2 /var/lib/libvirt/images/$2.qcow2 &> /dev/null
virt-install \
--name $2 \
--ram 1000 \
--disk /var/lib/libvirt/images/$2.qcow2 \
--import &> /dev/null &

简单的直接创建一个快照:
linux学习之旅(十三)
实现:
linux学习之旅(十三)
可以发现,非常快,直观的看,几秒就完成了一个新的虚拟机创建