Linux下虚拟机管理
文章目录
- Linux下虚拟机管理
- 1.虚拟机管理命令
- 2.手动安装虚拟机
- 3.通过脚本自动安装虚拟机
- 4.虚拟机的恢复:(root用户)
- 5.手动虚拟机的快照(root用户)
- 6.通过脚本对虚拟机快照并自动安装(root用户)
1.虚拟机管理命令
virt-manager 开启虚拟机管理器
virsh list 显示正在运行的虚拟机
virsh list --all 查看所有虚拟机
virsh start desktop 打开虚拟机desktop
virsh shutdown desktop 正常关闭虚拟机(可能被阻止)
virsh destroy desktop 强行关闭虚拟机
virt-viewer desktop 显示虚拟机
2.手动安装虚拟机
步骤如下图:
3.通过脚本自动安装虚拟机
步骤:
(1)执行命令查看真机的httpd和防火墙的状态,以保证httpd是开启的,防火墙是关闭的:
systemctl status httpd
systemctl status firewalld
(2)真机安装system-config-kickstart软件:
yum install system-config-kickstart -y
注:此处应保证挂载的rhel-server-7.3-x86_64-dvd.iso镜像的完整性。
并且要保证yum源地址正确:
cd /etc/yum.repos.d/
vim westos.repo
安装之后清除原有的yum数据,并且刷新:
yum clean all
yum repolist
(3)执行命令进入窗口选择,并且正确填写选项(密码、防火墙、分盘情况等需要着重注意),保存生成ks.cfg文件:
system-config-kickstart
(4)将ks.cfg拷到/var/www/html/目录下,并在此目录下编辑ks.cfg,以更改时区、添加软件等:
cp /root/ks.cfg /var/www/html/
vim /var/www/html/
(5)在/mnt/目录下编辑脚本:
vim vm_create.sh
内容:
tezt -z "$1" &&{
echo "Error:Please input VMname following scritps!"
exit
}
virt-install \
--name $1 \
--location http://172.25.254.28/westos \
--memory 1024 \
--vcpus 1 \
--disk /var/lib/libvirt/images/$1.qcow2,size=6,bus=virtio \
--network source=eth0,model=virtio \
--extra-args "ks=http://172.25.254.28/ks.cfg"
注:此处应注意链接的正确。
(6)在/mnt/目录下执行命令开始自动安装虚拟机:
sh vm_create.sh lee
4.虚拟机的恢复:(root用户)
(1)准备一个已经安装好的虚拟机,执行以下命令将虚拟机文件拷过来:
scp root@remote_host:/etc/libvirt/qemu/xxx.xml /mnt/
scp root@remote_hosr:/var/lib/libvirt/images/xxx.qcow2 /mnt/
(2)在虚拟机管理器中删除这个装好的虚拟机
恢复过程:
执行以下命令:
cd /mnt
virsh create xxx.xml 用硬件信息文件启动虚拟机
注:如果出现以下错误:
error:Cannot access storage file'/var/lib/libvirt/images/test.qcow2'(as uid:107,gid:107):No such file or directory
解决方案如下:
mv /mnt/xxx.qcow2 /var/lib/libvirt/images 将虚拟机文件移到正确目录
virsh difine xxx.xml 永久恢复虚拟机
5.手动虚拟机的快照(root用户)
(1)目的
在虚拟机中做试验时有可能对虚拟机造成不可挽回的错误,因此需要对虚拟机快照。生成的虚拟机不需要繁琐的安装过程,并且与原虚拟机的相关配置相同,但在此虚拟机中发生错误后可以直接将此虚拟机删除,而原虚拟机则不会受到影响。
(2)步骤
执行命令进入目录:
cd /var/lib/libvirt/images/
查看原虚拟机文件:
ls
执行命令对原文件进行拍照:
qemu-img create -f qcow2 -b haohao1.qcow2 node1.qcow2
再次查看此目录下的文件:
ls
执行命令打开虚拟机管理器:
virt-manager
按照步骤添加虚拟机:
6.通过脚本对虚拟机快照并自动安装(root用户)
步骤:
(1)在/mnt/目录下编写脚本:
cd /mnt/
vim vm_create_snopshot.sh
内容如下:
qemu-img create \
-f qcow2 \
-b /var/lib/libvirt/images/$1.qcow2 /var/lib/libvirt/images/$2.qcow2
virt-install \
--name $2 \
--memory 1024 \
--vcpus 1 \
--disk /var/lib/libvirt/images/$2.qcow2,bus=virtio \
--network source=br0,model=virtio \
--import &> /dev/null &
(2)在/mnt/目录下执行命令自动快照:
sh vm_create_snopshot.sh xxx(原虚拟机名称).qcow2 xxx(照得虚拟机名称).qcow2