一.用镜像安装虚拟机
1.镜像:将一个磁盘上的数据在另一个磁盘上存在的完全相同的副本即为镜像,是一个文件存储形式,可以将许多文件做成一个镜像文件。
a.先选择从光驱下载
b.从磁盘引导安装
2.用脚本的方法来创建虚拟
支持虚拟机的两个重要文件:
/var/lib/libvirt/images/ .qcow2 ##后台的硬盘文件,删除以后便不能在创建虚拟机
/etc/libvirt/qemu/ .xml ##用来封装数据的前台文件,在建立虚拟机时会自动建立
思路:先在root用户下用命令virt-manager打开管理虚拟机的前台界面,选择用镜像安装虚拟机,选择好所需要的内存和硬盘大小,根据安装引导完成没有安装系统的虚拟机,如下:
接着开始从镜像下载系统文件,下载完成后先关闭再选择从磁盘引导安装,一台装了系统的虚拟机就建立好了如下:
a.先建出没有安装系统的虚拟机
vim create_vm.sh
#!/bin/bash
virt- install
--name node1 \
--ram 1024 \
--file 硬盘文件存在的绝对路径 \
--file-size 8 \
--vcpus 1 \
b.将系统导入的虚拟机
vim create_vm.sh
#!/bin/bash
virt- install
--name node1 \
--ram 1024 \
--file 硬盘文件存在的绝对路径 \
--file-size 8 \
--vcpus 1 \
--import & ## ‘&’代表在后台运行
脚本优点:不需要在前台的图形界面下一步步点击选择完成,只需要在shell中执行脚本名称就可以创建出虚拟机。
3.用快照的脚本方式快速的创建虚拟机
vim create_vm.sh
#!/bin/bash
qemu-img create -f qcow2 -b /var/lib/libvirt/images/wzw.qcow2 /var/lib/libvirt/images/$1.qcow2
virt- install
--name $1 \
--ram 1024 \
--file 硬盘文件存在的绝对路径 \
--file-size 8 \
--vcpus 1 \
--import &
快照优点:如果不小心删除母本虚拟机根目录下的文件导致虚拟机启动不了,就需要重新安装,这种麻烦就可以利用快照来解决,快照出.qcow2的文件就可以很快的重新创建虚拟机。
思路:在脚本里面写入快照命令,可以快速通过执行脚本创建你想创建任意数量的虚拟机。
图上这种网卡的配置方式很慢,若手动改变则会降低效率,在脚本中添加--network那一行命令就可以在自动创建时就选择好,如图下的配置方式:<命令参数的写法可以使用man命令来查找>
若写好的脚本在执行时出现允许拒绝则可以使用chmod命令添加可执行的权限
4.恢复创建好的虚拟机
vim create_vm.sh
#!/bin/bash
virsh destroy $1
rm -fr /var/lib/libvirt/images/$1.qcow2
qemu-img create -f qcow2 -b /var/lib/libvirt/images/wzw.qcow2 /var/lib/libvirt/images/$1.qcow2
virsh start $1
virt-viewer $1
思路:已经创建好的虚拟机因为删掉根目录下的文件启动不了,可以直接执行一个脚本让其重新启动。在脚本里面先要写关闭这台虚拟机的命令,接着删除已经废掉的硬盘文件,重新从母本快照一个新的硬件文件,最后开启并显示。
注意:快照的硬件文件读取的是母本,写入的才是自己
5.使用虚拟机的一些基本命令
virsh list ##开启的虚拟机
virsh list --all ##所有的虚拟机
virsh start wzw ##开启wzw这台虚拟机
virt-viewer wzw ## 显示wzw这台虚拟机
virsh shutdown wzw ##正常关闭wzw这台虚拟机
virsh destroy wzw ##强制关闭wzw这台虚拟机
virsh define wzw ##恢复wzw这台虚拟机
virsh undefine wzw ##删除wzw这台虚拟机的.xml文件
virsh create wzw.xml ##打开虚拟机
file wzw.qcow2 ##查看wzw这台虚拟机是母本还是快照
删除时这样选择是将虚拟机两个重要文件都删除了,虚拟机已不存在
这种删除只是将前台管理文件删除,虚拟机还可以恢复,就如命令:virsh undefine node2