虚拟化技术之kvm镜像模板制作工具virt-sysprep

  virt-sysprep这个工具来自libguest-tools这个工具包,它能够把kvm虚拟机对应的磁盘文件做成一个模板,后续我们启动虚拟机就可以基于这个镜像模板启动;什么是镜像模板呢?所谓模板就是去除了一个虚拟机自身的私有信息的一个镜像磁盘文件;我们知道把一个镜像文件启动为虚拟机以后,它会生成许多私有信息,比如网卡的mac地址,ip地址,磁盘的uuid,ssh密钥等等;对于模板我们是不需要把这些私有信息的,而virt-sysprep这个工具就能很好的帮助我们去制作一个模板文件,它能够让我们在模板中打入自己想要新装的软件包,想要加入到模板里的文件等等操作;简单点virt-sysprep这个工具能够让我们自定义在模板镜像中定义有哪些东西,后续我们基于这个模板直接启动为虚拟机;也就是在我们启动虚拟机之前把我们需要的东西直接通过virt-sysprep这个工具打入到磁盘镜像文件中去;

  要想使用virt-sysprep这个工具,我们首先要安装libguest-tools这个工具包;

  1、安装libguest-tools

[root@node1 ~]# yum install libguestfs-tools
已加载插件:fastestmirror, langpacks
base                                                                                            | 3.6 kB  00:00:00     
docker-ce-stable                                                                                | 3.5 kB  00:00:00     
epel                                                                                            | 4.7 kB  00:00:00     
extras                                                                                          | 2.9 kB  00:00:00     
updates                                                                                         | 2.9 kB  00:00:00     
(1/3): epel/x86_64/updateinfo                                                                   | 1.0 MB  00:00:00     
(2/3): epel/x86_64/group_gz                                                                     |  95 kB  00:00:00     
(3/3): epel/x86_64/primary_db                                                                   | 6.9 MB  00:00:00     
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 libguestfs-tools.noarch.1.1.40.2-9.el7_8.1 将被 安装
--> 正在处理依赖关系 libguestfs-tools-c = 1:1.40.2-9.el7_8.1,它被软件包 1:libguestfs-tools-1.40.2-9.el7_8.1.noarch 需要
--> 正在处理依赖关系 libguestfs = 1:1.40.2-9.el7_8.1,它被软件包 1:libguestfs-tools-1.40.2-9.el7_8.1.noarch 需要
--> 正在处理依赖关系 perl(Win::Hivex) >= 1.2.7,它被软件包 1:libguestfs-tools-1.40.2-9.el7_8.1.noarch 需要
--> 正在处理依赖关系 perl(Win::Hivex::Regedit),它被软件包 1:libguestfs-tools-1.40.2-9.el7_8.1.noarch 需要
--> 正在处理依赖关系 perl(Win::Hivex),它被软件包 1:libguestfs-tools-1.40.2-9.el7_8.1.noarch 需要
--> 正在处理依赖关系 perl(Sys::Virt),它被软件包 1:libguestfs-tools-1.40.2-9.el7_8.1.noarch 需要
--> 正在处理依赖关系 perl(Sys::Guestfs),它被软件包 1:libguestfs-tools-1.40.2-9.el7_8.1.noarch 需要
--> 正在处理依赖关系 perl(Locale::TextDomain),它被软件包 1:libguestfs-tools-1.40.2-9.el7_8.1.noarch 需要
--> 正在检查事务
……省略部分内容……
已安装:
  libguestfs-tools.noarch 1:1.40.2-9.el7_8.1                                                                           

作为依赖被安装:
  hexedit.x86_64 0:1.2.13-5.el7                           hivex.x86_64 0:1.3.10-6.9.el7                                
  libguestfs.x86_64 1:1.40.2-9.el7_8.1                    libguestfs-tools-c.x86_64 1:1.40.2-9.el7_8.1                 
  perl-Sys-Guestfs.x86_64 1:1.40.2-9.el7_8.1              perl-Sys-Virt.x86_64 0:4.5.0-2.el7                           
  perl-hivex.x86_64 0:1.3.10-6.9.el7                      perl-libintl.x86_64 0:1.20-12.el7                            
  scrub.x86_64 0:2.5.2-7.el7                              squashfs-tools.x86_64 0:4.3-0.21.gitaae0aff4.el7             
  supermin5.x86_64 0:5.1.19-1.el7                         syslinux.x86_64 0:4.05-15.el7                                
  syslinux-extlinux.x86_64 0:4.05-15.el7                 

完毕!
[root@node1 ~]# 

  2、查看virt-sysprep的帮助信息

[root@node1 ~]# virt-sysprep --help
virt-sysprep: reset or unconfigure a virtual machine so clones can be made

 virt-sysprep [--options] -d domname

 virt-sysprep [--options] -a disk.img [-a disk.img ...]

A short summary of the options is given below.  For detailed help please
read the man page virt-sysprep(1).

Options:
  -a, --add                     Add disk image file
  --append-line            Append line(s) to the file
  -c, --connect                  Set libvirt URI
  --chmod           Change the permissions of a file
  --color, --colors, --colour, --colours
                                      Use ANSI colour sequences even if not tty
  --commands-from-file      Read customize commands from file
  --copy                 Copy files in disk image
  --copy-in      Copy local files or directories into image
  -d, --domain                Set libvirt guest name
  --delete                      Delete a file or directory
  -n, --dryrun, --dry-run             Perform a dry run
  --echo-keys                         Don’t turn off echo for passphrases
  --edit                   Edit file using Perl expression
  --enable                Enable specific operations
  --firstboot 
                    
                    

你可能感兴趣的:(虚拟化技术之kvm镜像模板制作工具virt-sysprep)