概述
1.什么是虚拟化管理?
将linux真实主机里面的一些东西放到虚拟机上面去管理
然后对虚拟机进行种种管理
其实虚拟机和真机二者功能差不多
只不过真机为操作系统,占用磁盘空间大
虚拟机是一款软件,占用空间少
2.为什么要进行虚拟化管理?
实际企业中的服务器数量非常多,并且服务器运行起来工作的时候散热量非常大,为了安全起见,就需要大量的制冷装置
制冷的耗电量与服务器的个数相关,为了降低能源消耗,企业应该尽可能的减少服务器的个数
因此在服务器上装上虚拟机,用虚拟机代替其他服务器的部分工作,这样就能减少服务器的个数了
企业能源主要消耗在制冷上,如今在企业里面能源重要,提倡低碳绿色发展
3.进行虚拟化管理需要具备什么条件?
检查真正的服务器是否满足虚拟化管理的条件:
看自己系统的cpu是否支持全面虚拟化
查看方法: cat /proc/cpuinfo ,看是否有虚拟化这个指令集
注意:我做的是个人级别的虚拟化 ,真正企业的虚拟化待后续更新
4.实验环境
虚拟化管理的所有的实验都在真机的shell里面
5.怎样手动安装虚拟机?
前提条件:虚拟机的安装镜像已经下载好,并且要明确其存放的路径
说明:我安装的是图形化的虚拟机
步骤一:在真机里面的shell里面输入 virt-manager
弹出来这个界面 可以看到我的真机此时有两个虚拟机,分别是desktop和server
步骤二:点击左上角的小电视,会出现如下界面,选择本地安装,并且选择下一步forward
步骤三:选择虚拟机镜像的存放路径
填好之后如下
步骤四:选择分配内存和cpu的大小
步骤五:选择分配硬盘大小
步骤六:填写虚拟机名字,默认为generic
步骤七:将hahaha虚拟机的硬盘和网卡均设置为虚拟化,并且开始安装
可以看到成功添加虚拟机hahaha
步骤八:选择安装版本
步骤九:选择安装过程的语言–英语
步骤十:设置hahaha虚拟机的相关参数
步骤十一:等待安装
总结:
可以看到,如果手动安装虚拟机的话非常麻烦,这样很不方便,那么怎样可以高效率安装呢?
答案就是:使用命令安装
6.怎样用命令安装虚拟机?
(1)为什么要使用命令安装虚拟机?
因为实际企业当中的服务器很多,如果每台服务器安装虚拟机都手动操作的话非常麻烦
采用在shell脚本中写入实际安装虚拟机的相关参数
用相关命令去调用这个文件即可安装虚拟机
这样就可以省略安装前的手动操作步骤
(2)在真机中使用命令安装虚拟机的具体步骤如下:
注意: 要在超级用户下写脚本 所有的一切都要在超级用户下进行
步骤一:在真机root下的shell当中输入 vim vm_install.sh
步骤二:编辑shell脚本 注意:换行符号不能有空格
各个参数说明如下:
#!/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 虚拟机名字,就可以看到虚拟机
步骤四:可以看到ttt虚拟机可以安装了
总结:
通过对比手动方式和命令方式,可知命令方式安装很方便,在服务器数量很多的时候就可以采用命令方式安装虚拟机
前提是要知道所安装虚拟机的一些重要参数,并且在shell脚本里面写正确
我现在做的命令方式的安装只是前半部分,安装好之后第一次登陆的图形界面还是要手动选择
因此我的命令方式只是半自动化,虚拟机安装的全程自动化将在后续更新
6.安装好虚拟机hahaha之后首次登陆的相关设置
可以设置普通用户, 进去之后可以切换root 之前已经讲过
7.虚拟机的管理
命令为:virsh
virsh list | 列出所有正在开启的虚拟机 |
---|---|
virsh destroy hahaha | 关闭hahaha虚拟机 |
virsh list --all | 列出所有的虚拟机,包括开启的和关闭的 |
virsh start hahaha | 开启hahaha虚拟机 |
说明:在真机root下的shell里面实验
(1)virsh list 列出所有正在开启的虚拟机
(2)virsh destroy desktop 关闭desktop虚拟机
(3)virsh list --all 列出所有存在的虚拟机
(4)virsh start server 开启server虚拟机
8.虚拟机的复制
声明:只有真机cpu匹配的才可以互相复制虚拟机,具体操作图片如下
两个问题:
(1)怎样复制
(2)复制好了怎样使用
前提条件:需要知道对方的ip,用户与用户密码,虚拟机的名字
(1)为什么要复制虚拟机?
因为虚拟机安装需要一千多个文件,比较慢
为了方便起见,我们可以直接将其他主机上安装好的虚拟机直接复制过来使用
复制需要虚拟机的硬盘和硬件信息 ,有可能会出现cpu不一致的问题
将其他人的虚拟机复制到我的真机上,相当于从别人的主机上下载到我的主机上
(2)复制虚拟机的具体步骤:
说明:在真机root下的shell里面
步骤一:复制对方的虚拟机的硬盘信息 scp root@172.25.254.72:/var/lib/libvirt/images/generic.qcow2 /mnt/
步骤二:复制对方的虚拟机的硬件信息 scp root@172.25.254.12:/etc/libvirt/qemu/westos.xml /mnt/
步骤三:将硬盘信息和硬件信息放在同一个目录下 mv /mnt/generic.qcow2 /var/lib/libvirt/images/
因为硬盘信息是默认在var下的,应该移动,也可以直接在文件里面改,但是容易出错
步骤四:virsh create /mnt/westos.xml 一次性使用复制的虚拟机 ,关掉就没有了
步骤五:virsh define /mnt/westos.xml 永久性使用虚拟机 ,关掉依然在
步骤六:virsh undefine /mnt/westos(名字) 永久关掉虚拟机
说明:因为我已经将虚拟机删除了,因此找不到
9.虚拟机的快照
(1)什么是虚拟机的快照?
磁盘“快照”是虚拟机磁盘文件(VMDK)在某个点及时的复本
系统崩溃或系统异常,你可以通过使用恢复到快照来保持磁盘文件系统和系统存储
当升级应用和服务器及给它们打补丁的时候,快照是救世主
VMware快照是VMware Workstation里的一个特色功能
(2)虚拟机快照的原理:
虚拟机的快照(快照的原理)
用一个文件放到真实的文件面前 ,看到的是真实的文件, 使用的是快照
不对的时候舍弃快照,再拿来一个新的
一个节点相当于一台主机,有自己的功能
(3)使用快照的原因:
虚拟机坏了不可恢复,要重新装,比较麻烦,不可逆
照片处理,我们所使用的虚拟机是一张照片 ,不是一个真正的虚拟机
使用的时候给真正的虚拟机照相处理即可
快照是可逆的
(4)怎样做一个虚拟机的快照以及开启使用这个快照?
实验环境:使用自己下载过的一个实实在在的虚拟机xuniji
在真机的root下面进行 其实所有改的都是原来的虚拟机信息
步骤一:在真机的root下 cd /var/lib/libvirt/images/, 为了后期使用相对路径
ls 查看该路径下的文件 ,查看虚拟机的硬盘信息 ,看是否有xuniji.qcow2
步骤二:接下来建立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 | 虚拟机的快照路径 |
步骤三:ls查看node1.qcow2是否生成(虚拟机快照硬盘格式)
步骤四:du -sh node1.qcow2 查看快照文件的大小, 一般比真正虚拟机文件要小
步骤五:file node1.qcow2 回到查看真正文件的大小
步骤六:回去点击电视 ,然后给快照导入路径 ,改名字为node1
然后就可以看到一个虚拟机生成了 ,可以登陆了 ,密码和帐号与原来虚拟机一样
步骤七:登陆快照虚拟机node1(帐号和密码与xuniji的一模一样)
进去快照虚拟机之后,删根,rm -rf /*破坏掉这个快照虚拟机,然后就坏了
可以看到有些文件不能删除,因为这些文件是这个快照虚拟机正在运行的,在内存当中
扔掉快照 重新照 ,rm -rf node1.qcow2,重新建立快照即可
以上就是手动建立虚拟机快照的方法
(5)使用脚本安装虚拟机的快照
步骤一:在真机的root下cd /mnt/ 在该目录下建立脚本设置快照;ls
步骤二:vim vm_snap.sh 建立生成快照虚拟机的脚本
步骤三:编写脚本
#!/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 & | 导入快照的路径,并且将输出重定向输出到垃圾桶,将该进程在后台运行 |
步骤四:然后退出保存即可,点击电视,点击import
步骤五:ll /var/lib/libvirt/images/ -d
sh vm_snap.sh $1(原来虚拟机的名字) $2(快照虚拟机的名字)
sh vm_snap.sh xuniji node1 就可以看到快照虚拟机了(还是有东西输出,原始虚拟机的信息,这个也可以屏蔽)
一条命令可以建立一个快照虚拟机 这个很有用
但是如果执行命令虚拟机没有出来,也没有报错,那么我们应该在脚本写入判断条件
最后
以上就是长情灰狼为你收集整理的如何在企业中虚拟化管理服务器(包括手动安装虚拟机、写脚本利用命令安装虚拟机、虚拟机的管理+复制+快照)的全部内容,希望文章能够帮你解决如何在企业中虚拟化管理服务器(包括手动安装虚拟机、写脚本利用命令安装虚拟机、虚拟机的管理+复制+快照)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复