基于Linux的虚拟机安装及管理

一、镜像安装

首先明确,该机是否有安装虚拟机需文件。在本机存在安装所需的镜像以及系统文件后,开始安装。
首先进入超级用户,打开virt-manager。点击创建虚拟机,并选择本地镜像安装
基于Linux的虚拟机安装及管理
在browse里,选择本地镜像
基于Linux的虚拟机安装及管理
选择内存以及cpu个数以及机器大小
基于Linux的虚拟机安装及管理
基于Linux的虚拟机安装及管理
设置虚拟机名字以及选择自行配置虚拟机数据
基于Linux的虚拟机安装及管理
配置网卡,硬盘
基于Linux的虚拟机安装及管理
基于Linux的虚拟机安装及管理
之后进入安装,利用键盘的上下键选择
基于Linux的虚拟机安装及管理
选择安装时的语言
基于Linux的虚拟机安装及管理
选择时区,键盘格式,软件,系统等
基于Linux的虚拟机安装及管理
时区选择上海
基于Linux的虚拟机安装及管理
语言可以选择中文
基于Linux的虚拟机安装及管理
软件选择,在安装主机时,选取右边3给选项,在系统内安装虚拟机可以不选
基于Linux的虚拟机安装及管理
在配置boot以及swap大小时,选择自行配置
基于Linux的虚拟机安装及管理
本人在安装时,选择boot为200M,sawp为500M
在这些配置结束后开始安装
基于Linux的虚拟机安装及管理
点红框内的标志进行密码设置,系统要求8位以上,若执意要求8位以下,点2次确定即可。
基于Linux的虚拟机安装及管理
安装结束后,点击reboot
基于Linux的虚拟机安装及管理
点击红框内的标志,查看协议并同意。需要至底部才能看见同意协议的选项
基于Linux的虚拟机安装及管理
之后命名用户
基于Linux的虚拟机安装及管理
之后便可以一直前进(继续)直至安装完成进入虚拟机。

二、远程获取

在镜像安装之后,还可以通过已经安装过虚拟机的主机处获取
1、仅获取.qcow2文件
基于Linux的虚拟机安装及管理
从其他主机的该目录下获取.qcow2文件之后,打开virt-manager。
基于Linux的虚拟机安装及管理
在安装时,选择导入已经存在的disk。
通过browse找到该文件
基于Linux的虚拟机安装及管理
之后配置网卡内存后,便可以直接启动虚拟机
2、同时拥有.qcow2文件已经xml文件
(1)创建一次性的虚拟机
基于Linux的虚拟机安装及管理
当关闭虚拟机后,该虚拟机便会被删除
基于Linux的虚拟机安装及管理
(2)创建永久有效的虚拟机
基于Linux的虚拟机安装及管理
即使关闭虚拟机,该虚拟机仍存在

三、虚拟机管理

virsh list 列出正在运行的虚拟机
基于Linux的虚拟机安装及管理
virsh list --all 列出所有的虚拟机
基于Linux的虚拟机安装及管理
virsh start +虚拟机名 开启虚拟机
基于Linux的虚拟机安装及管理
virt-viewer +虚拟机名 显示虚拟机
基于Linux的虚拟机安装及管理
virsh shutdown +虚拟机名 正常关闭虚拟机
基于Linux的虚拟机安装及管理
shutdown为正常关闭,因此需要时间
virsh destroy +虚拟机名 强制关闭虚拟机
基于Linux的虚拟机安装及管理
virsh undefine +虚拟机名 删除虚拟机硬件信息
基于Linux的虚拟机安装及管理
基于Linux的虚拟机安装及管理
rm -rf /var/lib/libvirt/images/虚拟机.qcow2 删除虚拟机硬盘

四、虚拟机快照

qemu-img create -f qcow -b /var/lib/libvirt/images/虚拟机名.qcow2 /var/lib/libvirt/images/快照名.qcow2 建立一个虚拟机快照,在这个快照上修改可以看到在原机上修改的效果,但不会对原机进行修改
可以将快照想象为一面镜子,我们在镜子上修改时,可以在实体观察结果,然后实体不会被修改。
基于Linux的虚拟机安装及管理
以CQQ.qcow2为母盘创建一个虚拟机快照test.qcow2。在利用该快照创建虚拟机
基于Linux的虚拟机安装及管理
导入虚拟机快照创建虚拟。就可以实现既做了实验并观察结果又不影响原机本身。

五、利用脚本快速建立虚拟机

为了更便捷的创建虚拟机,我们可以通过运行脚本来创建
vim /usr/bin/vm_create.sh 在/usr/bin下建立脚本
#!/bin/bash
virt-install \ 运行虚拟机安装
–name $1 \ 设置虚拟机名字,$1表示以指令后的第一个字符串为虚拟机名字
–cdrom /home/kiosk/Desktop/rhel-server-7.3-x86_64-dvd.iso \ 选择镜像,并输入镜像所在的绝对地址
–vcpus 1 \ 设置cpu个数
–memory 1024 \ 设置内存大小
–disk /var/lib/libvirt/images/$1.qcow2,size=8,bus=virtio \ 选择虚拟机硬盘(绝对路径),设置大小为8G,总线为virtio
–network bridge=br0,model=virtio &> /dev/null & 设置网卡为bridge=br0,model为virtio
其中 \表示换行,&代表将程序在后台运行,&> /dev/null,代表将输出定向至/dev/null。在输出重定向之前我们要确保指令的正确,否则无法观察错误。
完成脚本编写后,输入指令。
chmod +x /usr/bin/vm_create.sh 使vm_create.sh拥有执行权限。
输入指令 /usr/bin/vm_create.sh 便可以运行脚本,创建虚拟机
基于Linux的虚拟机安装及管理
基于Linux的虚拟机安装及管理
修改指令后的字符,便可以再创建一个虚拟机
基于Linux的虚拟机安装及管理
以此类推我们还可以建立一个脚本,通过虚拟机快照创建虚拟机。
我们还可以将多个脚本合并。
利用case $1 in 可以通过一个脚本,实现多个功能的自动化
#!/bin.bash
case $1 in
install)
virt-install \
–name $1
–cdrom /home/kiosk/Desktop/rhel-server-7.3-x86_64-dvd.iso
–vcpus 1
–memory 1024
–disk /var/lib/libvirt/images/$1.qcow2,size=8,bus=virtio
–network bridge=br0,model=virtio &> /dev/null &
;;
snapvm)
read -p “请输入要备份的虚拟机名称” NAME
read -p “请输入要快照名称” NNAME
qemu-img create -f qcow2 -b /var/lib/libvirt/images/&{NAME}.qcow2
/var/lib/libvirt/images/&{NNAME}.qcow2 &> /dev/null
virt-install
–name $NNAME
–vcpus 1
–memory 1024
–disk /var/lib/libvirt/images/$2.qcow2,bus=virtio
–network bridge=br0,model=virtio
–import &> /dev/null &
;;
delete)
virsh destroy $2
virsh undefine $2
rm -rf /var/lib/libvirt/images/$2.qcow2
;;
esca
完成脚本编写后进行测试
创建虚拟机
基于Linux的虚拟机安装及管理
利用快照建立虚拟机
基于Linux的虚拟机安装及管理
删除虚拟机
基于Linux的虚拟机安装及管理