1.什么是虚拟化管理?
将linux真实主机里面的一些东西放到虚拟机上面去管理
然后对虚拟机进行种种管理
其实虚拟机和真机二者功能差不多
只不过真机为操作系统,占用磁盘空间大
虚拟机是一款软件,占用空间少
2.为什么要进行虚拟化管理?
实际企业中的服务器数量非常多,并且服务器运行起来工作的时候散热量非常大,为了安全起见,就需要大量的制冷装置
制冷的耗电量与服务器的个数相关,为了降低能源消耗,企业应该尽可能的减少服务器的个数
因此在服务器上装上虚拟机,用虚拟机代替其他服务器的部分工作,这样就能减少服务器的个数了
企业能源主要消耗在制冷上,如今在企业里面能源重要,提倡低碳绿色发展
3.进行虚拟化管理需要具备什么条件?
检查真正的服务器是否满足虚拟化管理的条件:
看自己系统的cpu是否支持全面虚拟化  
查看方法: cat  /proc/cpuinfo  ,看是否有虚拟化这个指令集管理Linux虚拟机

管理Linux虚拟机

4.实验环境
虚拟化管理的所有的实验都在真机的shell里面

5.怎样手动安装虚拟机?

步骤一:在真机里面的shell里面输入 virt-manager

管理Linux虚拟机

弹出来这个界面 可以看到我的真机此时有两个虚拟机,分别是desktop和server

管理Linux虚拟机

步骤二:点击左上角的小电视,会出现如下界面,选择本地安装,并且选择下一步forward

管理Linux虚拟机
步骤三:选择虚拟机镜像的存放路径

管理Linux虚拟机

填好之后如下

管理Linux虚拟机

步骤四:选择分配内存和cpu的大小

管理Linux虚拟机

步骤五:选择分配硬盘大小

管理Linux虚拟机

步骤六:填写虚拟机名字,默认为generic

管理Linux虚拟机
步骤七:将hahaha虚拟机的硬盘和网卡均设置为虚拟化,并且开始安装

管理Linux虚拟机

管理Linux虚拟机

管理Linux虚拟机

管理Linux虚拟机
可以看到成功添加虚拟机hahaha

管理Linux虚拟机

步骤八:选择安装版本

管理Linux虚拟机

步骤九:选择安装过程的语言–英语

管理Linux虚拟机

步骤十:设置hahaha虚拟机的相关参数

管理Linux虚拟机
步骤十一:等待安装

管理Linux虚拟机

总结:

可以看到,如果手动安装虚拟机的话非常麻烦,这样很不方便,那么怎样可以高效率安装呢?使用命令安装
6.怎样用命令安装虚拟机?
(1)为什么要使用命令安装虚拟机?

因为实际企业当中的服务器很多,如果每台服务器安装虚拟机都手动操作的话非常麻烦
采用在shell脚本中写入实际安装虚拟机的相关参数
用相关命令去调用这个文件即可安装虚拟机
这样就可以省略安装前的手动操作步骤
(2)在真机中使用命令安装虚拟机的具体步骤如下:
注意: 要在超级用户下写脚本 所有的一切都要在超级用户下进行

步骤一:在真机root下的shell当中输入 vim vm_install.sh

管理Linux虚拟机
步骤二:编辑shell脚本 注意:换行符号\不能有空格

管理Linux虚拟机

各个参数说明如下:

#!/bin/bash    shell脚本的头部
virt-install \    使用命令与换行符
–name $1 \    名字、$1环境变量与换行符
–cdrom /home/kiosk/Downloads/rhel-server-7.3-x86_64-dvd.iso \    镜像的存放路径与换行符
–ram 1024 \    占用内存大小与换行符
–vcpus 1 \    占用cpu大小与换行符
–disk /var/lib/libvirt/images/$1.qcow2,size=6,bus=virtio \    物理硬盘的相关信息与换行符
–network bridge=br0,model=virtio &> /dev/null &    网络的信息以及将错误定向输出到垃圾桶不让它占用终端
注意:换行符\后面不能有空格,正常应该为橙色,有空格就会变成黑色

步骤三:直接在真机的shell当中输入 sh vm_install.sh 虚拟机名字,就可以看到虚拟机

管理Linux虚拟机
步骤四:可以看到ttt虚拟机可以安装了

管理Linux虚拟机

总结:

通过对比手动方式和命令方式,可知命令方式安装很方便,在服务器数量很多的时候就可以采用命令方式安装虚拟机
前提是要知道所安装虚拟机的一些重要参数,并且在shell脚本里面写正确
我现在做的命令方式的安装只是前半部分,安装好之后第一次登陆的图形界面还是要手动选择
因此我的命令方式只是半自动化,虚拟机安装的全程自动化将在后续更新

6.安装好虚拟机hahaha之后首次登陆的相关设置
可以设置普通用户, 进去之后可以切换root 之前已经讲过

管理Linux虚拟机

管理Linux虚拟机

管理Linux虚拟机

管理Linux虚拟机

管理Linux虚拟机

管理Linux虚拟机

管理Linux虚拟机
7.虚拟机的管理
命令为:virsh

virsh list    列出所有正在开启的虚拟机
virsh destroy hahaha    关闭hahaha虚拟机
virsh list --all    列出所有的虚拟机,包括开启的和关闭的
virsh start hahaha    开启hahaha虚拟机
说明:在真机root下的shell里面实验
(1)virsh list 列出所有正在开启的虚拟机

管理Linux虚拟机
(2)virsh destroy desktop 关闭desktop虚拟机

管理Linux虚拟机

(3)virsh list --all 列出所有存在的虚拟机

管理Linux虚拟机

(4)virsh start server 开启server虚拟机

管理Linux虚拟机
8.虚拟机的复制
声明:只有真机cpu匹配的才可以互相复制虚拟机,具体操作图片如下
前提条件:需要知道对方的ip,用户与用户密码,虚拟机的名字

(1)为什么要复制虚拟机?

因为虚拟机安装需要一千多个文件,比较慢
为了方便起见,我们可以直接将其他主机上安装好的虚拟机直接复制过来使用
复制需要虚拟机的硬盘和硬件信息 ,有可能会出现cpu不一致的问题
将其他人的虚拟机复制到我的真机上,相当于从别人的主机上下载到我的主机上
(2)复制虚拟机的具体步骤:
说明:在真机root下的shell里面
步骤一:复制对方的虚拟机的硬盘信息 scp [email protected]:/var/lib/libvirt/images/generic.qcow2 /mnt/

管理Linux虚拟机

步骤二:复制对方的虚拟机的硬件信息 scp [email protected]:/etc/libvirt/qemu/westos.xml /mnt/

管理Linux虚拟机

步骤三:将硬盘信息和硬件信息放在同一个目录下 mv /mnt/generic.qcow2 /var/lib/libvirt/images/

管理Linux虚拟机
因为硬盘信息是默认在var下的,应该移动,也可以直接在文件里面改,但是容易出错

步骤四:virsh create /mnt/westos.xml 一次性使用复制的虚拟机 ,关掉就没有了

管理Linux虚拟机
步骤五:virsh define /mnt/westos.xml 永久性使用虚拟机 ,关掉依然在

管理Linux虚拟机

步骤六:virsh undefine /mnt/westos(名字) 永久关掉虚拟机

管理Linux虚拟机
说明:因为我已经将虚拟机删除了,因此找不到

9.虚拟机的快照
(1)什么是虚拟机的快照?

磁盘“快照”是虚拟机磁盘文件(VMDK)在某个点及时的复本
系统崩溃或系统异常,你可以通过使用恢复到快照来保持磁盘文件系统和系统存储
当升级应用和服务器及给它们打补丁的时候,快照是救世主
VMware快照是VMware Workstation里的一个特色功能
(2)虚拟机快照的原理:

虚拟机的快照(快照的原理)
用一个文件放到真实的文件面前 ,看到的是真实的文件, 使用的是快照
不对的时候舍弃快照,再拿来一个新的
一个节点相当于一台主机,有自己的功能
(3)使用快照的原因:

虚拟机坏了不可恢复,要重新装,比较麻烦,不可逆
照片处理,我们所使用的虚拟机是一张照片 ,不是一个真正的虚拟机
使用的时候给真正的虚拟机照相处理即可
快照是可逆的
(4)怎样做一个虚拟机的快照以及开启使用这个快照?

实验环境:使用自己下载过的一个实实在在的虚拟机xuniji

在真机的root下面进行 其实所有改的都是原来的虚拟机信息

管理Linux虚拟机

管理Linux虚拟机

步骤一:在真机的root下 cd /var/lib/libvirt/images/, 为了后期使用相对路径

ls 查看该路径下的文件  ,查看虚拟机的硬盘信息 ,看是否有xuniji.qcow2
管理Linux虚拟机

管理Linux虚拟机

步骤二:接下来建立xuniji这个虚拟机的快照 ,使用命令 qemu-img

qemu-img   create  -f  qcow2  -b   /var/lib/libvirt/images/xuniji.qcow2   /var/lib/libvirt/imag /node1.qcow2
-f    我们要建虚拟机快照的硬盘格式
-b    备份虚拟机的硬盘信息
/var/lib/libvirt/images/xuniji.qcow2    真实虚拟机的硬盘路径
/var/lib/libvirt/imag /node1.qcow2    虚拟机的快照路径

管理Linux虚拟机

步骤三:ls查看node1.qcow2是否生成(虚拟机快照硬盘格式)

管理Linux虚拟机

步骤四:du -sh node1.qcow2 查看快照文件的大小, 一般比真正虚拟机文件要小

管理Linux虚拟机

步骤五:file node1.qcow2 回到查看真正文件的大小

管理Linux虚拟机

步骤六:回去点击电视 ,然后给快照导入路径 ,改名字为node1

然后就可以看到一个虚拟机生成了 ,可以登陆了 ,密码和帐号与原来虚拟机一样
管理Linux虚拟机

管理Linux虚拟机

管理Linux虚拟机

管理Linux虚拟机

管理Linux虚拟机

管理Linux虚拟机
步骤七:登陆快照虚拟机node1(帐号和密码与xuniji的一模一样)

进去快照虚拟机之后,删根,rm -rf /*破坏掉这个快照虚拟机,然后就坏了 
可以看到有些文件不能删除,因为这些文件是这个快照虚拟机正在运行的,在内存当中
扔掉快照 重新照 ,rm -rf node1.qcow2,重新建立快照即可
以上就是手动建立虚拟机快照的方法

(5)使用脚本安装虚拟机的快照

步骤一:在真机的root下cd /mnt/ 在该目录下建立脚本设置快照;ls

管理Linux虚拟机
步骤二:vim vm_snap.sh 建立生成快照虚拟机的脚本

管理Linux虚拟机

步骤三:编写脚本

#!/bin/bash    该脚本为二进制文件
cd /var/lib/libvirt/images    为了下面使用相对路径方便
qemu-img create -f qcow2 -b $1.qcow2 $2.qcow2 &> /dev/dull    创建虚拟机的快照,并且将输出重定向输出到垃圾桶
virt-install \    使用命令
–name $2 \    虚拟机快照的名字
–ram 1024 \    快照的内存大小
–vcpus 1 \    快照的cpu大小
–disk /var/lib/libvirt/images/$2.qcow2,bus=virtio \    快照的硬盘信息
–network bridge=br0,model=virtio \    快照的网络信息
–import &> /dev/null &    导入快照的路径,并且将输出重定向输出到垃圾桶,将该进程在后台运行

管理Linux虚拟机

步骤四:然后退出保存即可,点击电视,点击import

管理Linux虚拟机

步骤五:ll /var/lib/libvirt/images/ -d

sh vm_snap.sh $1(原来虚拟机的名字) $2(快照虚拟机的名字)
sh vm_snap.sh xuniji node1 就可以看到快照虚拟机了(还是有东西输出,原始虚拟机的信息,这个也可以屏蔽)
一条命令可以建立一个快照虚拟机 这个很有用

但是如果执行命令虚拟机没有出来,也没有报错,那么我们应该在脚本写入判断条件

管理Linux虚拟机

管理Linux虚拟机

管理Linux虚拟机

管理Linux虚拟机

相关文章:

  • 2021-10-23
  • 2022-01-01
  • 2021-11-19
  • 2021-06-15
  • 2021-04-21
猜你喜欢
  • 2021-12-13
  • 2021-12-12
  • 2021-12-06
  • 2021-07-30
  • 2021-05-31
  • 2021-08-13
  • 2022-01-01
相关资源
相似解决方案