基于Linux的虚拟机安装及管理
一、镜像安装
首先明确,该机是否有安装虚拟机需文件。在本机存在安装所需的镜像以及系统文件后,开始安装。
首先进入超级用户,打开virt-manager。点击创建虚拟机,并选择本地镜像安装
在browse里,选择本地镜像
选择内存以及cpu个数以及机器大小
设置虚拟机名字以及选择自行配置虚拟机数据
配置网卡,硬盘
之后进入安装,利用键盘的上下键选择
选择安装时的语言
选择时区,键盘格式,软件,系统等
时区选择上海
语言可以选择中文
软件选择,在安装主机时,选取右边3给选项,在系统内安装虚拟机可以不选
在配置boot以及swap大小时,选择自行配置
本人在安装时,选择boot为200M,sawp为500M
在这些配置结束后开始安装
点红框内的标志进行密码设置,系统要求8位以上,若执意要求8位以下,点2次确定即可。
安装结束后,点击reboot
点击红框内的标志,查看协议并同意。需要至底部才能看见同意协议的选项
之后命名用户
之后便可以一直前进(继续)直至安装完成进入虚拟机。
二、远程获取
在镜像安装之后,还可以通过已经安装过虚拟机的主机处获取
1、仅获取.qcow2文件
从其他主机的该目录下获取.qcow2文件之后,打开virt-manager。
在安装时,选择导入已经存在的disk。
通过browse找到该文件
之后配置网卡内存后,便可以直接启动虚拟机
2、同时拥有.qcow2文件已经xml文件
(1)创建一次性的虚拟机
当关闭虚拟机后,该虚拟机便会被删除
(2)创建永久有效的虚拟机
即使关闭虚拟机,该虚拟机仍存在
三、虚拟机管理
virsh list 列出正在运行的虚拟机
virsh list --all 列出所有的虚拟机
virsh start +虚拟机名 开启虚拟机
virt-viewer +虚拟机名 显示虚拟机
virsh shutdown +虚拟机名 正常关闭虚拟机
shutdown为正常关闭,因此需要时间
virsh destroy +虚拟机名 强制关闭虚拟机
virsh undefine +虚拟机名 删除虚拟机硬件信息
rm -rf /var/lib/libvirt/images/虚拟机.qcow2 删除虚拟机硬盘
四、虚拟机快照
qemu-img create -f qcow -b /var/lib/libvirt/images/虚拟机名.qcow2 /var/lib/libvirt/images/快照名.qcow2 建立一个虚拟机快照,在这个快照上修改可以看到在原机上修改的效果,但不会对原机进行修改
可以将快照想象为一面镜子,我们在镜子上修改时,可以在实体观察结果,然后实体不会被修改。
以CQQ.qcow2为母盘创建一个虚拟机快照test.qcow2。在利用该快照创建虚拟机
导入虚拟机快照创建虚拟。就可以实现既做了实验并观察结果又不影响原机本身。
五、利用脚本快速建立虚拟机
为了更便捷的创建虚拟机,我们可以通过运行脚本来创建
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 便可以运行脚本,创建虚拟机
修改指令后的字符,便可以再创建一个虚拟机
以此类推我们还可以建立一个脚本,通过虚拟机快照创建虚拟机。
我们还可以将多个脚本合并。
利用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
完成脚本编写后进行测试
创建虚拟机
利用快照建立虚拟机
删除虚拟机