虚拟机的创建及其管理

在我们运维的相关学习过程中,经常会用到虚拟机来模拟相关的服务器和客户端。

这篇我们主要了解一下虚拟机的不同方式的建立方法(模拟装机过程)以及虚拟机相关的管理方式。例如虚拟机的快照等。




0.虚拟机的组成

首先我们先来认识一下虚拟机
虚拟主要由两部分做成:前端管理文件,后端存储文件(硬盘文件),他们所在真机中的位置分别如下。

[root@foundation14 mnt]# cd /var/lib/libvirt/images ##后端硬盘位置
[root@foundation14 images]# ls
generic.qcow2            rh124-desktop-vdb.ovl    rh124-server-vdb.ovl
node3.qcow2              rh124-desktop-vdb.qcow2  rh124-server-vdb.qcow2
node.qcow2               rh124-desktop.xml        rh124-server.xml
rh124-desktop-vda.ovl    rh124-server-vda.ovl
rh124-desktop-vda.qcow2  rh124-server-vda.qcow2

 

[root@foundation14 images]# cd /etc/libvirt/qemu/  ##前端管理文件位置
[root@foundation14 qemu]# ls
desktop.xml  LULUBAO.xml  networks  server.xml    ##(xml可扩展标记语言 用来封装虚拟机中的硬件信息)


注意:虚拟机的前端文件可以自动生成 只删除前端管理文件并不会彻底的删除虚拟机,虚拟机是可恢复的;但若直接删除硬盘文件保留前端文集 虚拟机无法恢复。



一.虚拟机的创建

1.图形
利用镜像(相当于真机装机是的系统盘)装机
(1)[kiosk@foundation14 Desktop]$ virt-manager ##开启虚拟化管理


(2)制作一个新的虚拟机(点击左上角的小电视 并选择第三个选项)

并进行依次如下选择(虚拟机参数可根据自己需求自由定义)



(3)添加光驱(点击小灯泡 再点击add hardware)


(4)重启虚拟机完成添加光驱


(5)把系统盘放入光驱



(6)调整启动顺序(调整到先在光驱启动)



(7)重启虚拟机(光标选择在第一行 开始安装)


(8)进行一系列的配置选择
系统语言


时区


安装软件


设置root永久密码 和新用户




等待进度条完成安装


2.命令

利用shell脚本命令,创建虚拟机

(1)[kiosk@foundation14 mnt]$ vim Create_Vm.sh  ##建立相关脚本命令


#!/bin/bash                           ##命令运行环境的指定
virt-install \                        ##安装虚拟机
--name $1 \                           ##虚拟机名字($1 为命令后跟的第一串字符)
--ram 1024 \                          ##内存为1G
--file /var/lib/libvirt/images/$1.qcow2 \               ##硬盘文件位置 (名字为为命令后的第一串字符.qcow2)
--file-size 8 \                                         ##硬盘为8G
--cdrom /home/kiosk/Desktop/张璐运维/rhel-server-7.2-x86_64-dvd.iso \         ##光盘(镜像)位置
--vcpus 1 &                                                                  ##cpu数为1 (&表示命令在后台运行)


(2)[root@foundation14 mnt]# chmod +x Create_Vm.sh  ##添加x执行权限


(3)[root@foundation14 mnt]# ./Create_Vm.sh node2    ##用绝对路径执行命令



(4)直接执行命令 不需要加位置

[root@foundation14 mnt]# mv /mnt/Create_Vm.sh  /usr/sbin/ ##将文件移动到可执行目录下

[root@foundation14 mnt]# Create_Vm.sh node  ##文件移动后可用相对路径执行





二.删除,拷贝虚拟机相关配置文件并恢复虚拟机

0.实验前的准备

(1)将前端复制文件备份

[root@foundation14 images]# cd /etc/libvirt/qemu/   ##位置移动到前端配置文件位置 
[root@foundation14 qemu]# ls
desktop.xml  LULUBAO.xml  networks  server.xml
[root@foundation14 qemu]# cp LULUBAO.xml  /mnt/  ##并复制

(2)将后端存储文件删除或移动查看确认前后端文件均以保存

[root@foundation14 qemu]# cd /var/lib/libvirt/images  ##位置移动到后端存储文件位置(硬盘)
[root@foundation14 images]# ls
generic.qcow2            rh124-desktop-vdb.ovl    rh124-server-vdb.ovl
node3.qcow2              rh124-desktop-vdb.qcow2  rh124-server-vdb.qcow2
node.qcow2               rh124-desktop.xml        rh124-server.xml
rh124-desktop-vda.ovl    rh124-server-vda.ovl
rh124-desktop-vda.qcow2  rh124-server-vda.qcow2
[root@foundation14 images]# mv generic.qcow2 /mnt/  ##移动或删除
rh124-desktop-vda.qcow2  rh124-server-vda.qcow2

[root@foundation14 images]# cd /mnt/   ##查看复制前端和后端文件
[root@foundation14 mnt]# ls
generic.qcow2  LULUBAO.xml



1.删除虚拟机

[root@foundation14 mnt]# virsh undefine LULUBAO  ##删除虚拟机 (删除虚拟机前端管理,不会删除存储文件。因为我们在实验准备阶段已经移除了硬盘文件,所以此时虚拟机已经彻底删除。)
Domain LULUBAO has been undefined




2.恢复虚拟机

0)将硬盘恢复到系统保存虚拟机硬盘文件的位置

[root@foundation14 mnt]# mv /mnt/generic.qcow2 /var/lib/libvirt/images/  ##将硬盘文件移动到硬盘文件位置


(1)用前端管理文件暂时性恢复虚拟机(关闭后会消失),恢复后虚拟机是运行状态

[root@foundation14 mnt]# virsh create LULUBAO.xml  ##用前端文件暂时性恢复虚拟机 
Domain LULUBAO created from LULUBAO.xml


Force off 虚拟机后 虚拟机就不见了


(2)用前端管理文件永久性恢复虚拟机(关闭后不会消失)

[root@foundation14 mnt]# virsh define LULUBAO.xml  ##用前端文件永久性恢复虚拟机
Domain LULUBAO defined from LULUBAO.xml




三.虚拟机的基础管理命令

1.

[root@foundation14 images]# virsh list            ##列出正在运行的虚拟机
 Id    Name                           State
---------------------------------------------


2.

[root@foundation14 images]# virsh list --all    ##列出所有虚拟机
 Id    Name                           State
----------------------------------------------------
 -     desktop                        shut off
 -     LULUBAO                        shut off
 -     server                         shut off


3.

[root@foundation14 images]# virt-viewer 虚拟机名字  ##显示虚拟机


4.

[root@foundation14 images]# virsh shutdown 虚拟机名  ##正常关闭指定虚拟机
Domain LULUBAO is being shutdown



5.

[root@foundation14 images]# virsh destroy 虚拟机名 ##强行关闭指定虚拟机
Domain LULUBAO destroyed





四.虚拟机快照

相当于复制虚拟机硬盘但大小很小,不占用空间,对快照进行修改不影响被照的对象。操作成本低,不会对重要服务器造成不可挽回的影响。
在使用快照时,不能使用制作快照原型虚拟机硬盘(且不能对快照使用快照)。
在使用快照时,读取的时母盘信息,所以离开母盘信息的快照是没有意义的。


0.实验前的准备

(1)为防止改变母盘影响快照,可以删除母盘对应的前端管理文件


(2)重命名母盘方便管理

[root@foundation14 images]# mv generic.qcow2  vm_strorage.qcow2  ##将母盘重命名



1.快照并用新建快照新建虚拟机

(1)图形中

1>快照

[root@foundation11 images]# qemu-img create -f  qcow2 -b vm_strorage.qcow2 node1_snap.qcow2      ##将一个硬盘快照并命名
Formatting 'node1_snap.qcow2', fmt=qcow2 size=8589934592 backing_file='vm_strorage.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off 


2>查看快照大小(证明快照真的很小 不占用很多存储空间)

[root@foundation11 images]# du  -sh node1_snap.qcow2   ##查看快照大小 很小
196K    node1_snap.qcow2


3>在虚拟机管理器中用快照新建虚拟机


(2)shell脚本命令

[root@foundation14 images]# vim Createvm.sh  ##编写脚步文件


#!/bin/bash   ##命令运行环境的指定
#qemu-img create -f qcow2 -b /var/lib/libvirt/images/vm_strorage.qcow2 \ 
#/var/lib/libvirt/images/$1.qcow2  &> /dev/null   ##快照并把所有内容删除
#echo success  ##打印'success'
#
#virt-install \   ##安装虚拟机
#--name $1 \
#--ram 1024 \
#--file /var/lib/libvirt/images/$1.qcow2 \
#--file-size 8 \
#--import &> /dev/null &   ##导入


[root@foundation14 images]# chmod +x Createvm.sh ##加执行权限
[root@foundation14 images]# ./Createvm.sh work1  ##执行


2.reset虚拟机(shell脚本命令)

[root@foundation14 images]# vim Rester.sh  ##编写脚本文件

#!/bin/bash
#virsh destory $1 &> /dev/null      ##关闭虚拟机
#rm -fr /var/lib/libvirt/images/$1.qcow2  ##删除建立虚拟机的快照
#
#qemu-img create -f qcow2 -b /var/lib/libvirt/images/vm_strorage.qcow2 \  
#/var/lib/libvirt/images/$1.qcow2 &> /dev/null   ##快照
#
#echo success
#
#virsh start $1 &> /dev/null  ##打开虚拟机
#
#virt-viewer $1 &> /dev/null & ##显示虚拟机(并在后台运行)

[root@foundation14 images]# chmod +x Rester.sh 
[root@foundation14 images]# ./Rester.sh work1




四.排错方法

1.

[root@foundation14 images]# file work1.qcow2  ##查看文件类型 可以看出他是一个快照 
work1.qcow2: QEMU QCOW Image (v3), has backing file (path /var/lib/libvirt/images/vm_strorage.qcow2), 8589934592 bytes


2.

[root@foundation14 images]# sh -x ./Createvm.sh work1  ##查看脚本运行进程(同时运行程序)
+ qemu-img create -f qcow2 -b /var/lib/libvirt/images/vm_strorage.qcow2 /var/lib/libvirt/images/work1.qcow2
+ echo success
success
+ virt-install --name work1 --ram 1024 --file /var/lib/libvirt/images/work1.qcow2 --file-size 8 --import







  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值