企业中虚拟化管理服务器(手动安装虚拟机、写脚本利用命令安装虚拟机、虚拟机的管理+复制+快照)
进行虚拟化管理需要具备什么条件?检查真正的服务器是否满足虚拟化管理的条件:看自己系统的cpu是否支持全面虚拟化查看方法: cat/proc/cpuinfo,看是否有虚拟化这个指令集一、手动通过图形安装虚拟机,Server with GUI命令virt-manager打开Manager由于已经下载好ISO镜像文件,则选择本地(用homenamectl查看...
进行虚拟化管理需要具备什么条件?
检查真正的服务器是否满足虚拟化管理的条件:
看自己系统的cpu是否支持全面虚拟化
查看方法: cat /proc/cpuinfo ,看是否有虚拟化这个指令集
一、手动通过图形安装虚拟机,Server with GUI
命令virt-manager打开Manager
由于已经下载好ISO镜像文件,则选择本地(用homenamectl查看版本号,然后在进行下载对应的iso镜像文件)
选择自动检测操作系统~~~
并口硬盘选择virtio disk bus
网卡选择虚拟网卡
安装环境语言选择
时区选择
图形化界面
选择手动设置
点开第一个框,选择里边的standard分配,点击加号,给/ swap /boot 分配大小
然后把剩下的全给/,如下图
此时,图形化安装虚拟机就成功了
二、命令安装虚拟机
以上可以看出,每安装一次虚拟机就要通过那么多麻烦的步骤,所有就想到了脚本安装虚拟机。
在真机中使用命令安装虚拟机的具体步骤如下:
注意: 要在超级用户下写脚本 所有的一切都要在超级用户下进行
可以通过man virt-install(为了方便寻找自己的文件信息)查看具体安装信息
首先:在/mnt 下,vim vm_create.sh下编写文件:
在写文件时每行后面添加 \,后面不要添加空格,是因为为了让其是一个命令
安装方式:–cdrom 自己镜像的绝对路径
内存和cpu–memory 1024\
–vcpus 1 \
硬盘大小–disk 路径写全,总线(在文件中查找)
名字–name 可以直接写自己需要创建虚拟机的名字,也可以写$1来自己输入可以不用每次麻烦的修改脚本,可以方便快速安装多个脚本。
网络 --network source=br0,model=virtio &> /dev/null 根据定向输出,不显示提示(包括报错)。&直接在后台运行。(这两个可以在最后一行添加)
脚本的解释:
virt-install \ 使用这个命令进行安装
--cdrom /home/kiosk/Desktop/rhel-server-7.3-x86_64-dvd.iso \ 安装方式,其镜像文件的绝对路径
--ram 1024 \ 内存大小
--cpus 1 \ CPU大小
--disk /var/lib/libvirt/images/test.qcow2,bus=virtio,size=9 \ 磁盘的格式,disk 的路径,总线
--name $1 \ 名字、$1环境变量与换行符
---network source=br0,model=virtio &> /dev/null 根据定向输出,不显示提示(包括报错)。&直接在后台运行。(这两个可以在最后一行添加
不看输出结果, & > /dev/null
注意:脚本语句的顺序其实就是在手动安装过程中所
三、虚拟机管理命令(virsh)
virt-manager 开机虚拟机管理器
virsh list 显示正在运行的虚拟机
virsh list --all 查看所有虚拟机
virsh start desktop 打开
virsh shutdown desktop ##正常关闭虚拟机 ##必须进虚拟机里边
virsh destroy desktop ##强行关闭
virt-viewer desktop ##显示虚拟机
virsh undefine test ##删除虚拟机
模拟虚拟机的恢复
思路:备份镜像,然后通过.xml文件中记录的创建虚拟机的硬件信息和镜像来恢复虚拟机
准备1个已经安装好的虚拟机
步骤一:在真机shell上边:
mv /etc/libvirt/qemu/test.xml /mnt/ ##硬件信息
mv /var/lib/libvirt/images/test.qcow2 /mnt/ ##镜像
步骤二:在虚拟机管理器中删除这个装好的虚拟机
模拟恢复过程
cd /mnt
virsh create test.xml 用硬件信息启动虚拟机(一次性,关了就没了)
在操作过程中会有以下错误:
error: Cannot access storage file '/var/lib/libvirt/images/test.qcow2' (as uid:107, gid:107): No such file or directory
解决方案:
mv /mnt/test.qcow2 /var/lib/libvirt/images/
virsh define test.xml ##永久恢复虚拟机
此时虚拟机恢复完毕
应用:可以复制别的主机上的.xml和.qcow2文件,然后通过模拟虚拟机恢复技术,来创建虚拟机,此时就相当于把别人弄好的,还原到我电脑上了
四、虚拟机快照
什么是快照呢?
快照就是对某一个特定文件系统在某一个特定时间内的一个具有只读属性的镜像。
当你需要重复的返回到某一系统状态,又不想创建多个虚拟机的时候,就可以使用快照功能。
例如,我给一个虚拟机做了快照,当我在这个快照上操作,当有些操作把快照搞坏了之后,删除快照,
虚拟机数据就恢复到原来。
qemu-img create -f qcow2 -b test.qcow2 node1用该命令建快照
test 就是新建的虚拟机的名字,node1,就是快照的名字
步骤一:cd /var/lib/libvirt/images,在这个路径下面进行虚拟机的快照操作
ls 一下,查看新建的虚拟机是否存在
步骤二:qemu-img create -f qcow2 -b test.qcow2 node1用该命令建快照
查看快照大小: du -sh node1.qcow2
大小远小于原虚拟机大小
步骤三:点击virt-manager里边的那个小电视,
然后按照图形化新建虚拟机的步骤去做就好了,此时快照做好。
当在快照上操作,损坏了快照,步骤如下;
①先关闭快照,在/var/lib/libvirt/images/ 下删除rm -rf node1.qcow2 (就是刚才做的快照)
②然后再重新利用命令qemu做一个快照。
重复以上步骤即可。。。。。
这里有个问题:快照做好之后,就又会出现图形化安装的繁琐问题,每次都是这样,所以,按照创建虚拟机用脚本的思路,
是否也可以用脚本创建快照呢??
答案是肯定的。
脚本创建虚拟机
1、cd /mnt 进入该目录下进行操作
2、 vim vm_create_snopshot.sh 编辑文件
3、chmod +x vm_create_snopshot.sh 给该文件权限
4、sh vm_create_snopshot.sh 虚拟机名字 快照名字 /用该命令创建快照
步骤2里的文件内容如下:
qemu-img create \
-f qcow2 \
-b /var/lib/libvirt/images/$1.qcow2 /var/lib/libvirt/images/$2.qcow2 $> /dev/null
virt-install \
--name $2 \
--ram 1024 \
--cpus 1 \
--disk /var/lib/libvirt/images/$2.qcow2,bus=virtio \
--network bridge=br0,model=virtio \
–import &> /dev/null &
更多推荐
所有评论(0)