虚拟化
虚拟化意思是使用软件模拟硬件的功能,在一台真实的电脑上搭载多个操作系统并分配适当的硬件资源,这样,只需要几台有限的电脑就能够完成以前需要用很多电脑才能完成的工作
虚拟化提出的初衷是为了解决耗电量的问题,以前需要三台电脑,就需要买三台真正的电脑,耗电量和散热量都很夸张,但是虚拟化应用之后,我们可以使用一台电脑模拟三台电脑,这样只需要买一台真正的电脑,耗电量大大减少,更加有利于成本的减少和资源的合理利用
想要安装一个虚拟机首先要有一个系统的镜像(可以自己下载),其次是电脑本身的硬件要支持虚拟化
我们将镜像安装在U盘里或者刻录在光盘里,然后选择从U盘或光盘启动,启动后
我们选择第一行:开始装机
这里选择的是装机过程中使用的语言,不是系统语言
选择好之后,继续
可以看到有很多的配置选项
我们先选择时间
然后是键盘
然后是语言,注意:这里选择的是系统支持的语言,一定要选上中文,否则中文显示会出现问题,变成一个个小方块
然后是装机模式,选择GUI,意思是带有图形界面的,否则你的系统装完就只有文本界面
然后是硬盘资源分配
注意:要选这里
然后会弹出对话框,点选下面的加号,选择你需要的分区(根据每个人的不同需求进行改变)
我的电脑最后改完是这个样子的(每个人需求不同,按需定制)
配置完后继续,会看到这个界面
左边是这个系统的超级用户密码,右边是建立一个普通用户(可以不建立)
把超级用户密码设置好之后,就开始自动装机了
然后就是漫长的等待。。。emmmm。。。比女朋友化妆还墨迹
随后出现一个这样的界面
然后选择你的系统语言
然后选择打字时的输入法
选择时区(我们的是上海时区)
大功告成,享受你的虚拟机生涯吧
虚拟机的控制
virt-manager ##开启虚拟机管理器(图形)
virsh list ##显示正在运行的虚拟机
virsh list --all ##查看所有虚拟机
virsh start &&& ##打开&&&虚拟机
virsh shutdown &&& ##关闭&&&虚拟机
virsh destory &&& ##强行关闭&&&虚拟机
virt-viewer &&& ##显示&&&虚拟机(就是打开虚拟机的界面)
在主机间克隆虚拟机
虚拟机的主要文件有两个,一个是硬盘文件,一个是控制文件
首先在别人的主机发现一个已经安装好的虚拟机
假设24主机中存在已经安装好的虚拟机"generic"
复制虚拟机所需文件
scp root@172.25.254.24:/var/lib/libvirt/image/generic.qcow2 /var/lib/libvirt/images
scp root@172.25.254.24:/etc/libvirt/qemu/generic.xml /mnt/generic.xml
复制之后,在我们的virt-manager中并不能找到这个虚拟机,这个时候我们需要恢复这个虚拟机
virsh create /mnt/generic.xml ##用虚拟机硬件文件一次性打开虚拟机(但是关闭后还是会消失)
关闭后消失
virsh define /mnt/generic.xml ##永久恢复虚拟机
虚拟机快照
很多时候,我们拷贝来的虚拟机文件很大,万一操作不当导致虚拟机崩溃,再拷贝很麻烦。这个时候我们就需要给虚拟机文件来个快照
就像PS一样,先建立一个图层,所有操作都在图层上进行,万一操作错误还有原始文件可以再次PS
qemu-img create -f qcow2 -b /var/lib/libvirt/images/generic.qcow2 /var/lib/libvirt/images/&&&.qcow2 ##为指定文件创建一个名为&&&的快照
-f &&& ##指定创建的快照的文件类型
-b &&& ##指定需要被创建快照的文件
然后我们使用虚拟机控制界面,建立虚拟机,选择这个
然后选择我们刚刚创建的快照文件
,启动虚拟机就可以使用了,如果操作不当导致虚拟机崩溃,只需要删除当前的快照,然后重新照一张快照就可以了
随着对westos的操作,快照文件会越来越大,文件中会存储所有的对于母盘的改变
我们先来查看一下快照的大小
随后我们对于westos进行操作,比如建立一个文件,然后我们再来查看快照文件的大小
我们可以看到文件大小已经发生了改变,其中存储的就是对于母盘的操作
注意:当决定使用快照后,就不要对母盘做任何操作,否则可能导致快照崩溃
使用命令删除虚拟机
上文说过虚拟机的文件组成包含两个文件,一个是虚拟机的硬盘文件(以.qcow2结尾),另一个是虚拟机的前端管理文件(以.xml结尾)
如果想要删除虚拟机们就需要将这两个文件都删除
virsh undefine &&& ##删除&&&虚拟机的前端管理文件
021
rm -fr /var/lib/libvirt/images/&&&.qcow2 ##删除&&&虚拟机的硬盘文件
虚拟机脚本
一条命令一行如果写不下,可以在参数后加上空格\
,这样按enter换行的时候就可以在第二行继续输入命令
在一个文件(比如起名叫north)里写下
#!/bin/bash
virt-install \
--cdrom /home/kiosk/Desktop/rhel-server-7.3-x86_64-dvd.iso \
--memory 1000 \
--vcpus 1 \
--disk /var/lib/libvirt/images/$1.qcow2,size=8,bus=virtio \
--network bridge=br0,model=virtio \
--name $1
然后执行这个文件sh north &&&
,就可以建立一个名为&&&的虚拟机
上面脚本中$1
的意思是占位符,这样在运行文件时就可以写下需要创建的虚拟机的名字了
执行这个命令
使用快照建立虚拟机脚本
#!/bin/bash
qemu-img create -f qcow2 -b \
/var/lib/libvirt/images/$1.qcow2 \
/var/lib/libvirt/images/$2.qcow2
virt-install \
--name $2 \
--memory 1000 \
--vcpus 1 \
--disk /var/lib/libvirt/images/$2.qcow2,bus=virtio \
--network bridge=br0,model=virtio \
--import
可以看到脚本无非就是在文件里写上某个命令和输入参数,之后执行文件其实就是让电脑自动执行命令的过程