Linux中虚拟机的管理高级教程

虚拟机管理命令

virt-manager                                ##开启虚拟机管理
virsh list                                  ##列出正在运行的虚拟机

                                 

virsh list --all   显示所有的虚拟机

         

virsh start desktop                        ##打开虚拟机

                     

virsh shutdown desktop              ##正常关闭虚拟机

                                

virsh destroy desktop                 ##强行关闭

                                 

virt-viewer desktop                     ##显示虚拟机

                                     

注:

xml                    ####可扩展性编辑语言
html                  ####超文本标记语言
uc.xml              ####设备管理文件


恢复虚拟机的过程

克隆步骤:
1.假设10主机中存在已经安装好的虚拟机“uc”

2.复制虚拟机所需文件
 

scp [email protected]:/var/lib/libvirt/images/uc.qcow2  /var/lib/libvirt/images

[root@foundation6 images]# scp [email protected]:/var/lib/libvirt/images/uc.qcow2 /var/lib/libvirt/images/
The authenticity of host '172.25.254.10 (172.25.254.10)' can't be established.
ECDSA key fingerprint is e9:c3:b4:5d:c5:d0:53:42:50:0c:62:0b:b5:ae:8a:74.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.25.254.10' (ECDSA) to the list of known hosts.
[email protected]'s password:
uc.qcow2                                      100%   10GB  53.9MB/s   03:10    
[root@foundation6 images]# ls
rh124-desktop-vda.ovl    rh124-desktop.xml       rh124-server-vdb.qcow2
rh124-desktop-vda.qcow2  rh124-server-vda.ovl    rh124-server.xml
rh124-desktop-vdb.ovl    rh124-server-vda.qcow2  trump.qcow2
rh124-desktop-vdb.qcow2  rh124-server-vdb.ovl    uc.qcow2

scp [email protected]:/etc/libvirt/qemu/uc.xml  /mnt/uc.xml

3.对虚拟机进行恢复
 

virsh creat /mnt/uc.xml      ##用虚拟机硬件文件一次性打开虚拟机,关闭从virt-manager上面消失
virsh define /mnt/uc/xml     ##永久恢复

更改虚拟机名字:

cd /etc/libvirt/qemu/                ####虚拟机的配置文件夹

                                        

如上图将name中间的参数修改为test

systemctl restart libvirtd       ####重启虚拟机服务

                                          

重启之后打开virt-manager查看虚拟机,这时候虚拟机的名字已经更改过来了

虚拟机的快照

虚拟机快照很有必要的,用快照生成的虚拟机在出现错误的时候,用户可以直接删掉快照,然后用虚拟机的磁盘重新产生快照,以达到重置虚拟机的效果

1.产生虚拟机快照

qemu-img create -f qcow2 -b 母盘地址  快照盘地址
qemu-img create -f qcow2 -b /var/lib/libvirt/images/uc.qcow2 /var/lib/libvirt/images/node3.qcow2

查看生成的快照文件

             

             

上图所示:node.qcow2 文件大小为196k

2.把生成的快照倒入到虚拟机图形控制器中

选择输入是disk image 

 

选择node.qcow镜像文件

查看虚拟机管理器

3.虚拟可以使用
4.快照虚拟机损坏,那么删除快照从新制作快照即可
5.当使用快照后不要对母盘进行任何操作(进行操作之后,快照会崩溃)

命令删除虚拟机

virsh undefine nodde3      ####删除虚拟机nodde3,只是在virt-manager图形界面的删除

rm -rf /var/lab/labvirt/images/nodde3.qcow2    ###删除虚拟机的磁盘内容

用脚本创建虚拟机

#!/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/test1.qcow2,size=8,bus=virtio \
--network bridge=br0,model=virtio \
--name test1

注:上面的bus表示总线类型,可以用$1替代test1,可以建立指定名字的虚拟机

 

用脚本建立快照基础上的虚拟机
 

#!/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 &

安装过程:

 查看虚拟机管理器

实验成功。

自动批量安装配置虚拟机

前提要有系统镜像文件

1.在一台机器上面下载kickstar这个软件(这个软件可以提供虚拟机的安装过程的脚本)

yum install  system-config-kickstar

2.安装之后运行软件

system-config-kickstar

3.运行软件之后的界面如下:

如上图所示,将时区修改为Asia/Shanghai,设定root密码

Installation Method选择Perform new installation

Installation source选择HTTP,也可以自己设计yum源(这里我用了之前设置过的yum源)

第三项:

第四项:

点击Add添加目录

 上面是目录只设置这三项必须的就行了

 

注:这里给网卡的设置是dhcp(是为了批量自动安装虚拟机),如果没有dhcp服务器的话可以选择静态ip,但是设置静态ip这个实验安装虚拟机的优势就显现不出来了。文章后面会附上搭建dhcp服务器的教程

 

注:这个软件在Package Selecation这一选项是有bug的,关于package的选择在生成文件之后要手写到脚本文件内

如下:

%packsges

@base

lftp

%end

加在文件的最后就行

至此设置完成,将文件生成保存。

将此文件复制到/var/www/html/目录下(不是移动,移动可能会出问题)

2.在要安装虚拟机的主机上编辑一个脚本文件(负责安装虚拟机)

脚本内容如下

#!/bin/bash                   ####在shell下运行 
virt-install \                    ####安装虚拟机
--name $1 \                  ####参数,指定name是占位符
--memory 1000 \         ####指定内存1000MB
--vcpus 1 \                    ####分配的cpu数是1
--disk /var/lib/libvirt/images/$1.qcow2,size=8,bus=virtio \    ####指定磁盘放在/var/lib/libvirt/images, 文件名字叫做xx.qcow,

                                                                                                               指定磁盘空间是8Gb,总线是虚拟io
--network bridge=br0,model=virtio \                                        ####指定网络类型
--location http://172.25.80.250/westos \          ####指定yum源的路径
--extra-args "ks=http://172.25.254.106/ks.cfg" &                  ####指定虚拟机内安装设置

开始安装:

安装成功之后:

dhcp服务搭建教程:

1.在主机上下载dhcp安装包

2.安装成功之后编辑dhcp的配置文件

在第一次编辑的时候会有下面的提醒:

将文件/usr/share/doc/dhcp*/dhcpd.conf.example 复制到/etc/dhcp/dhcpd.conf

对dhcpd.conf进行修改

 7 option domain-name "westos.org";                              
  8 option domain-name-servers 114.114.114.114;       ###设置dns
  9
 10 default-lease-time 600;                                                                      
 11 max-lease-time 7200;

22 log-facility local7;                                                           ###这三项不需要修改     

30 subnet 172.25.80.0 netmask 255.255.255.0 {           ###网络区域
 31   range 172.25.80.10 172.25.80.30;                          ###dhcp可以分配ip的范围
 32   option routers 172.25.80.250;                                   ###dhcp分配的网关
 33 }

设置完成,启动dhcp服务

验证:在另外一台网络类型设置成dhcp的主机上查看ip,查看网关,查看dns

complete!

猜你喜欢

转载自blog.csdn.net/halobios_/article/details/86537036