虚拟机的复制与恢复
复制虚拟机其实就是复制他的硬盘和硬件信息
/var/lib/libvirt/images/xxxx.qcow2 ##硬盘的储存路径
/etc/libvirt/qemu/xxxx.xml ##硬件信息文件存储路径
例如想要复制远程主机中名为westos的虚拟机 我们则需要复制他的硬盘和硬件信息
scp root@ip:/var/lib/libvirt/images/westos.qcow2 /mnt
scp root@ip: /etc/libvirt/qemu/westos.xml /mnt
当在虚拟机管理器中删除复制过来的虚拟机时 我们该如何恢复虚拟机 如下模拟恢复过程
cd /mnt
virsh create test.xml ##通过硬件信息文件启动名为test虚拟机
error: Cannot access strage file ' /var/lib/libvirt/images/xxxx.qcow2 '(as uid :107, gid 107): No such file or directory ##出现报错 提示这个目录里面不存在这个硬件信息文件 有它对应的存储路径
mv /mnt/test.qcow2 /var/lib/libvirt/images/ ##解决方法 将硬盘信息文件移动到相应目录下
virsh create test.xml ##通过硬件信息文件启动虚拟机 该虚拟机被恢复 虚拟机管理器中出现该虚拟机 使用命令关掉之后该虚拟机就在管理器中消失了
virsh define test.xml ##用命令关掉虚拟机之后 管理器中该虚拟机仍然存在
复制远程主机的虚拟机信息文件后 虚拟机的管理器中没有该台虚拟机 可以通过驱动复制来的虚拟机硬件信息文件来显示
发现报错 移动复制来的虚拟机硬盘信息文件
移动后再启动该虚拟机的硬件信息文件 发现成功在管理器中出现
虚拟机的管理
virt-manager ##打开虚拟机管理器
virsh start desktop ## 打开虚拟机不能被阻塞的 rht-vmctl start desktop 可能被阻塞的
virt-viewer desktop ##显示虚拟机不能被阻塞的 rht-vmctl view desktop 可能被阻塞的
virsh list ##显示正在运行的虚拟机
vrish list --all ##查看所有的虚拟机
vrish shutdown desktop ##正常关闭虚拟机
vrish destory desktop ##强行关闭
打开虚拟机的管理器
打开被阻塞 和 不被阻塞
显示阻塞 显示不阻塞
列出正在运行的虚拟机
列出所有虚拟机的状态
shutdown 关闭虚拟机可能被阻塞
destroy 关闭虚拟机不能被阻塞
虚拟机的安装
(1)图形方式安装虚拟机
virt-manager ##在真机中输入该命令打开虚拟机管理器
在打开的虚拟机管理器点击“电视”标志图形 选择本地下载 llocal install media cdrom
选择好本地镜像路径
选择要安装虚拟机的内存大小 cpu个数
选择虚拟机占用内存大小
设定虚拟机名称 选择自定义虚拟机的硬件信息
硬盘选择虚拟化 virtio
网卡选择虚拟化
选择左上角开始安装 begin installation 出现如图所示界面
安继续 填写安装信息
进入如下界面开始信息 选择
选择时区亚洲上海
!
语言支持 选择英文和简体中文
选择安装后系统界面显示图形界面
选择自定义分区
设定分区 /boot swap / 根下不用选择自动分配剩下的内存
按开始安装 可以在添加超级用户和密码
(2)编辑脚本安装虚拟机(半自动)
通过脚本自动填入建立虚拟机时所需要录入的信息 实现执行脚本建立虚拟机
cd /mnt ##连接上个实验位置 可进入该目录也可以不进入
vim vm_create.sh ##建立脚本 包含所创建虚拟机的全部所需信息
test -z "$1" && {
echo "Error : Please input VMname following scripts !! " ##当命令后加安装的虚拟机名称时不出现报错 否则出现报错
exit
}
vrit-install \ ##下载
--name $1 \ ##创建虚拟机的名称 $1表示占位
--cdrom /root/rhel7.3/x86_64/isos/rhel_server-7.3-x86_64-dvd.iso \ ##选择镜像路径
-- memory 1024 \ ##填入内存大小为1024
--vcups 1 \ ##一个cpu ##安装的虚拟机有一个cpu
--disk /var/lib/libvirt/images/$1.qcow2,size=6,bus=virtio \ ##物理硬盘的相关信息 该指定目录下产生所建虚拟机硬盘信息 大小6G 总线虚拟化
--network source=br0,model=virtio &> /dev/null & ##网络服务来源 网络模式虚拟化 将错误输出定向到垃圾桶 在后台下载
如图执行脚本创建一个名为b的虚拟机 该虚拟机只完成了一部分操作是不能使用的
虚拟机快照生成(创建虚拟机的快照 该虚拟机是完全安装好的)
(1)基本方式生成快照
cd /var/lib/libvirt/images
ls
qemu-img create -f qcow2 -b /var/lib/libvirt/images/westos.qcow2 /var/lib/libvirt/images/su.qcow2
##该命令可以为虚拟机westos创建 名为su的快照硬件信息文件 前提是要有该虚拟机的硬件信息文件
图形方式创建快照 点击“电视”图标 选择导入快照硬盘信息文件创建快照
选择快照信息路径
选择创建的快照内存大小
设定快照名称为su 选择自定义快照硬件信息
开始选择硬件信息 和之前虚拟机创建的选择一样
如图创建成功
qemu-img create -f qcow2 -b /var/lib/libvirt/images/westos.qcow2 /var/lib/libvirt/images/su.qcow2 被复制的硬盘路径 得到硬盘路径
(2)使用脚本生成快照
cd /mnt ##在任意路径下建立生成快照的脚本文件
vim vm_create_shotsnop ##编辑脚本文件
qemu-img create
-f qcow2
-b /var/lib/libvirt/images/$1.qcow2 /var/lib/libvirt/images/$2.qcow2 &> /dev/null ##$1虚拟机名称 $2快照名称
virt-install \
--name $1\
--cdrom /root/rhel7.3/x86_64/isos/rhel_server-7.3-x86_64-dvd.iso \ ##通过镜像路径安装系统
--memory 1024 \
--vcpus 1 \
--disk /var/lib/libvirt/images/$1.qcow2,bus=virtio \
--network source=br0,model=virtio \
--import &> /dev/null & ##导入快照路径
用脚本为名为westos的虚拟机创建名为node1的快照