G027-OP-INS-RHEL-04 RedHat OpenStack 创建自定义的QCOW2格式镜像

Posted CloudCS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了G027-OP-INS-RHEL-04 RedHat OpenStack 创建自定义的QCOW2格式镜像相关的知识,希望对你有一定的参考价值。

1 您需要了解

  • 约定:我们称运行在 VMware Workstation 里面的虚拟机为客户虚拟机(以下简称虚机,采用 CentOS 7.8 图形化);我们称在虚机里面基于 KVM 运行的虚拟机为 KVM虚拟机(以下简称 KVM虚机,采用 CentOS 7.4),是的,两层套娃
  • 虚机在启动前,必须在 VMware Workstation 上为其开启虚拟化引擎 虚拟化 Intel VT-x/EPT 或 AMD-V
  • 建议虚机网络配置为 NAT桥接,因为未来 KVM虚机 需要借助 虚机 的外网能力进行联网安装软件包
  • 您可参考下列相关文章 G016 完成 CentOS 安装及 G019G020 完成 RedHat OpenStack 环境搭建及基础操作
  • 为有更好的浏览体验,您可以点击文章左上方目录按钮来显示文章整体目录结构

2 安装 KVM 虚机

2.1 虚机安装虚拟化软件包

#配置本地YUM源
[root@cloudcs ~]# mkdir /tmp/repo
[root@cloudcs ~]# mv /etc/yum.repos.d/*.repo /tmp/repo/
[root@cloudcs ~]# vim /etc/yum.repos.d/local.repo
[root@cloudcs ~]# cat /etc/yum.repos.d/local.repo
[local_repo]
name = local
baseurl = file:///mnt/
gpgcheck = 0

#安装虚拟化软件包及虚拟机镜像管理工具
[root@cloudcs ~]# yum groupinstall -y "Virtualization*"
[root@cloudcs ~]# yum install -y libguestfs-tools-c.x86_64


## 2.2 创建 KVM 虚机

> 注意:`虚机` 通过命令 `ifconfig` 可看到一张虚拟网卡 `vritbr0`,该虚拟网卡为 `kvm虚机` default 默认的 `NAT` 网络类型网卡(`192.168.122.1`)

```shell
#创建目录上传ISO镜像
[root@cloudcs ~]# mkdir -p /soft/disk

#将 CentOS 7.4 上传到 /soft 目录下
[root@cloudcs ~]# ls /soft/
CentOS-7-x86_64-DVD-1708.iso  disk

#创建 kvm虚机 使用的磁盘文件
[root@cloudcs ~]# qemu-img create -f qcow2 /soft/disk/centos7.qcow2 15G
Formatting /soft/disk/centos7.qcow2, fmt=qcow2 size=16106127360 encryption=off cluster_size=65536 lazy_refcounts=off 

#创建 kvm 虚机
virt-install \\
--name centos \\
--disk path=/soft/disk/centos7.qcow2 \\
--vcpus 1 \\
--memory 2048 \\
--location /soft/CentOS-7-x86_64-DVD-1708.iso \\
--network network=default

2.3 安装 KVM 虚机

2.3.1 语言选择

2.3.2 自动分区

2.3.3 网络及主机名

2.3.4 配置 ROOT 密码

2.3.5 重启并测试网络

3 配置 KVM 虚拟机

3.1 修改 KVM 虚机网络配置文件

# 修改 kvm 虚机网卡配置文件,使其只包括以下 4 行内容
[root@local ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 
[root@local ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 

TYPE=Ethernet
BOOTPROTO=dhcp
DEVICE=eth0
ONBOOT=yes

3.2 安装 cloud-init 软件包

[root@local ~]# yum install -y cloud-utils-growpart cloud-init

#输出

Loaded plugins: fastestmirror
base                                                     | 3.6 kB     00:00     
extras                                                   | 2.9 kB     00:00     
updates                                                  | 2.9 kB     00:00     
(1/4): extras/7/x86_64/primary_db                          | 247 kB   00:00     
(2/4): base/7/x86_64/group_gz                              | 153 kB   00:00     
(3/4): updates/7/x86_64/primary_db                         |  16 MB   00:31     
(4/4): base/7/x86_64/primary_db                            | 6.1 MB   00:36     
Determining fastest mirrors
 * base: mirrors.cn99.com
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package cloud-init.x86_64 0:19.4-7.el7.centos.6 will be installed
--> Processing Dependency: python-six for package: cloud-init-19.4-7.el7.centos.6.x86_64
--> Processing Dependency: python-setuptools for package: cloud-init-19.4-7.el7.centos.6.x86_64
--> Processing Dependency: python-requests for package: cloud-init-19.4-7.el7.centos.6.x86_64
--> Processing Dependency: python-prettytable for package: cloud-init-19.4-7.el7.centos.6.x86_64
--> Processing Dependency: python-jsonpatch for package: cloud-init-19.4-7.el7.centos.6.x86_64
--> Processing Dependency: python-jinja2 for package: cloud-init-19.4-7.el7.centos.6.x86_64
--> Processing Dependency: pyserial for package: cloud-init-19.4-7.el7.centos.6.x86_64
--> Processing Dependency: policycoreutils-python for package: cloud-init-19.4-7.el7.centos.6.x86_64
--> Processing Dependency: net-tools for package: cloud-init-19.4-7.el7.centos.6.x86_64
--> Processing Dependency: PyYAML for package: cloud-init-19.4-7.el7.centos.6.x86_64
---> Package cloud-utils-growpart.noarch 0:0.29-5.el7 will be installed
--> Running transaction check
---> Package PyYAML.x86_64 0:3.10-11.el7 will be installed
--> Processing Dependency: libyaml-0.so.2()(64bit) for package: PyYAML-3.10-11.el7.x86_64
---> Package net-tools.x86_64 0:2.0-0.25.20131004git.el7 will be installed
---> Package policycoreutils-python.x86_64 0:2.5-34.el7 will be installed
--> Processing Dependency: policycoreutils = 2.5-34.el7 for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: setools-libs >= 3.3.8-4 for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: libsemanage-python >= 2.5-14 for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: audit-libs-python >= 2.1.3-4 for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: python-IPy for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: libqpol.so.1(VERS_1.4)(64bit) for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: libqpol.so.1(VERS_1.2)(64bit) for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: libcgroup for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: libapol.so.4(VERS_4.0)(64bit) for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: checkpolicy for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: libqpol.so.1()(64bit) for package: policycoreutils-python-2.5-34.el7.x86_64
--> Processing Dependency: libapol.so.4()(64bit) for package: policycoreutils-python-2.5-34.el7.x86_64
---> Package pyserial.noarch 0:2.6-6.el7 will be installed
---> Package python-jinja2.noarch 0:2.7.2-4.el7 will be installed
--> Processing Dependency: python-babel >= 0.8 for package: python-jinja2-2.7.2-4.el7.noarch
--> Processing Dependency: python-markupsafe for package: python-jinja2-2.7.2-4.el7.noarch
---> Package python-jsonpatch.noarch 0:1.2-4.el7 will be installed
--> Processing Dependency: python-jsonpointer for package: python-jsonpatch-1.2-4.el7.noarch
---> Package python-prettytable.noarch 0:0.7.2-3.el7 will be installed
---> Package python-requests.noarch 0:2.6.0-10.el7 will be installed
--> Processing Dependency: python-urllib3 >= 1.10.2-1 for package: python-requests-2.6.0-10.el7.noarch
--> Processing Dependency: python-chardet >= 2.2.1-1 for package: python-requests-2.6.0-10.el7.noarch
---> Package python-setuptools.noarch 0:0.9.8-7.el7 will be installed
--> Processing Dependency: python-backports-ssl_match_hostname for package: python-setuptools-0.9.8-7.el7.noarch
---> Package python-six.noarch 0:1.9.0-2.el7 will be installed
--> Running transaction check
---> Package audit-libs-python.x86_64 0:2.8.5-4.el7 will be installed
--> Processing Dependency: audit-libs(x86-64) = 2.8.5-4.el7 for package: audit-libs-python-2.8.5-4.el7.x86_64
---> Package checkpolicy.x86_64 0:2.5-8.el7 will be installed
---> Package libcgroup.x86_64 0:0.41-21.el7 will be installed
---> Package libsemanage-python.x86_64 0:2.5-14.el7 will be installed
--> Processing Dependency: libsemanage = 2.5-14.el7 for package: libsemanage-python-2.5-14.el7.x86_64
---> Package libyaml.x86_64 0:0.1.4-11.el7_0 will be installed
---> Package policycoreutils.x86_64 0:2.5-17.1.el7 will be updated
---> Package policycoreutils.x86_64 0:2.5-34.el7 will be an update
--> Processing Dependency: libsepol >= 2.5-10 for package: policycoreutils-2.5-34.el7.x86_64
--> Processing Dependency: libselinux-utils >= 2.5-14 for package: policycoreutils-2.5-34.el7.x86_64
---> Package python-IPy.noarch 0:0.75-6.el7 will be installed
---> Package python-babel.noarch 0:0.9.6-8.el7 will be installed
---> Package python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7 will be installed
--> Processing Dependency: python-ipaddress for package: python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch
--> Processing Dependency: python-backports for package: python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch
---> Package python-chardet.noarch 0:2.2.1-3.el7 will be installed
---> Package python-jsonpointer.noarch 0:1.9-2.el7 will be installed
---> Package python-markupsafe.x86_64 0:0.11-10.el7 will be installed
---> Package python-urllib3.noarch 0:1.10.2-7.el7 will be installed
---> Package setools-libs.x86_64 0:3.3.8-4.el7 will be installed
--> Processing Dependency: libselinux >= 2.5-14.1 for package: setools-libs-3.3.8-4.el7.x86_64
--> Running transaction check
---> Package audit-libs.x86_64 0:2.7.6-3.el7 will be updated
--> Processing Dependency: audit-libs(x86-64) = 2.7.6-3.el7 for package: audit-2.7.6-3.el7.x86_64
---> Package audit-libs.x86_64 0:2.8.5-4.el7 will be an update
---> Package libselinux.x86_64 0:2.5-11.el7 will be updated
--> Processing Dependency: libselinux(x86-64) = 2.5-11.el7 for package: libselinux-python-2.5-11.el7.x86_64
---> Package libselinux.x86_64 0:2.5-15.el7 will be an update
---> Package libselinux-utils.x86_64 0:2.5-11.el7 will be updated
---> Package libselinux-utils.x86_64 0:2.5-15.el7 will be an update
---> Package libsemanage.x86_64 0:2.5-8.el7 will be updated
---> Package libsemanage.x86_64 0:2.5-14.el7 will be an update
---> Package libsepol.x86_64 0:2.5-6.el7 will be updated
---> Package libsepol.x86_64 0:2.5-10.el7 will be an update
---> Package python-backports.x86_64 0:1.0-8.el7 will be installed
---> Package python-ipaddress.noarch 0:1.0.16-2.el7 will be installed
--> Running transaction check
---> Package audit.x86_64 0:2.7.6-3.el7 will be updated
---> Package audit.x86_64 0:2.8.5-4.el7 will be an update
---> Package libselinux-python.x86_64 0:2.5-11.el7 will be updated
---> Package libselinux-python.x86_64 0:2.5-15.el7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                          Arch   Version                  Repository
                                                                           Size
================================================================================
Installing:
 cloud-init                       x86_64 19.4-7.el7.centos.6      updates 933 k
 cloud-utils-growpart             noarch 0.29-5.el7               base     27 k
Installing for dependencies:
 PyYAML                           x86_64 3.10-11.el7              base    153 k
 audit-libs-python                x86_64 2.8.5-4.el7              base     76 k
 checkpolicy                      x86_64 2.5-8.el7                base    295 k
 libcgroup                        x86_64 0.41-21.el7              base     66 k
 libsemanage-python               x86_64 2.5-14.el7               base    113 k
 libyaml                          x86_64 0.1.4-11.el7_0           base     55 k
 net-tools                        x86_64 2.0-0.25.20131004git.el7 base    306 k
 policycoreutils-python           x86_64 2.5-34.el7               base    457 k
 pyserial                         noarch 2.6-6.el7                base    124 k
 python-IPy                       noarch 0.75-6.el7               base     32 k
 python-babel                     noarch 0.9.6-8.el7              base    1.4 M
 python-backports                 x86_64 1.0-8.el7                base    5.8 k
 python-backports-ssl_match_hostname
                                  noarch 3.5.0.1-1.el7            base     13 k
 python-chardet                   noarch 2.2.1-3.el7              base    227 k
 python-ipaddress                 noarch 1.0.16-2.el7             base     34 k
 python-jinja2                    noarch 2.7.2-4.el7              base    519 k
 python-jsonpatch                 noarch 1.2-4.el7                base     15 k
 python-jsonpointer               noarch 1.9-2.el7                base     13 k
 python-markupsafe                x86_64 0.11-10.el7              base     25 k
 python-prettytable               noarch 0.7.2-3.el7              base     37 k
 python-requests                  noarch 2.6.0-10.el7             base     95 k
 python-setuptools                noarch 0.9.8-7.el7              base    397 k
 python-six                       noarch 1.9.0-2.el7              base     29 k
 python-urllib3                   noarch 1.10.2-7.el7             base    103 k
 setools-libs                     x86_64 3.3.8-4.el7              base    620 k
Updating for dependencies:
 audit                            x86_64 2.8.5-4.el7              base    256 k
 audit-libs                       x86_64 2.8.5-4.el7              base    102 k
 libselinux                       x86_64 2.5-15.el7               base    162 k
 libselinux-python                x86_64 2.5-15.el7               base    236 k
 libselinux-utils                 x86_64 2.5-15.el7               base    151 k
 libsemanage                      x86_64 2.5-14.el7               base    151 k
 libsepol                         x86_64 2.5-10.el7               base    297 k
 policycoreutils                  x86_64 2.5-34.el7               base    917 k

Transaction Summary
================================================================================
Install  2 Packages (+25 Dependent packages)
Upgrade             (  8 Dependent packages)

Total download size: 8.2 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
warning: /var/cache/yum/x86_64/7/base/packages/PyYAML-3.10-11.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for PyYAML-3.10-11.el7.x86_64.rpm is not installed
(1/35): PyYAML-3.10-11.el7.x86_64.rpm                      | 153 kB   00:00     
(2/35): audit-libs-python-2.8.5-4.el7.x86_64.rpm           |  76 kB   00:00     
(3/35): cloud-utils-growpart-0.29-5.el7.noarch.rpm         |  27 kB   00:00     
(4/35): audit-2.8.5-4.el7.x86_64.rpm                       | 256 kB   00:00     
(5/35): audit-libs-2.8.5-4.el7.x86_64.rpm                  | 102 kB   00:00     
(6/35): libcgroup-0.41-21.el7.x86_64.rpm                   |  66 kB   00:00     
(7/35): libselinux-utils-2.5-15.el7.x86_64.rpm             | 151 kB   00:00     
(8/35): libselinux-python-2.5-15.el7.x86_64.rpm            | 236 kB   00:00     
(9/35): libselinux-2.5-15.el7.x86_64.rpm                   | 162 kB   00:00     
(10/35): libsemanage-2.5-14.el7.x86_64.rpm                 | 151 kB   00:00     
(11/35): checkpolicy-2.5-8.el7.x86_64.rpm                  | 295 kB   00:00     
(12/35): libyaml-0.1.4-11.el7_0.x86_64.rpm                 |  55 kB   00:00     
(13/35): libsemanage-python-2.5-14.el7.x86_64.rpm          | 113 kB   00:00     
(14/35): libsepol-2.5-10.el7.x86_64.rpm                    | 297 kB   00:00     
(15/35): net-tools-2.0-0.25.20131004git.el7.x86_64.rpm     | 306 kB   00:00     
Public key for cloud-init-19.4-7.el7.centos.6.x86_64.rpm is not installed03 ETA 
(16/35): cloud-init-19.4-7.el7.centos.6.x86_64.rpm         | 933 kB   00:01     
(17/35): policycoreutils-python-2.5-34.el7.x86_64.rpm      | 457 kB   00:00     
(18/35): python-IPy-0.75-6.el7.noarch.rpm                  |  32 kB   00:00     
(19/35): python-backports-1.0-8.el7.x86_64.rpm             | 5.8 kB   00:00     
(20/35): policycoreutils-2.5-34.el7.x86_64.rpm             | 917 kB   00:00     
(21/35): pyserial-2.6-6.el7.noarch.rpm                     | 124 kB   00:00     
(22/35): python-backports-ssl_match_hostname-3.5.0.1-1.el7 |  13 kB   00:00     
(23/35): python-ipaddress-1.0.16-2.el7.noarch.rpm          |  34 kB   00:00     
(24/35): python-jsonpatch-1.2-4.el7.noarch.rpm             |  15 kB   00:00     
(25/35): python-jsonpointer-1.9-2.el7.noarch.rpm           |  13 kB   00:00     
(26/35): python-prettytable-0.7.2-3.el7.noarch.rpm         |  37 kB   00:00     
(27/35): python-markupsafe-0.11-10.el7.x86_64.rpm          |  25 kB   00:00     
(28/35): python-requests-2.6.0-10.el7.noarch.rpm           |  95 kB   00:00     
(29/35): python-chardet-2.2.1-3.el7.noarch.rpm             | 227 kB   00:00     
(30/35): python-six-1.9.0-2.el7.noarch.rpm                 |  29 kB   00:00     
(31/35): python-urllib3-1.10.2-7.el7.noarch.rpm            | 103 kB   00:00     
(32/35): python-jinja2-2.7.2-4.el7.noarch.rpm              | 519 kB   00:00     
(33/35): setools-libs-3.3.8-4.el7.x86_64.rpm               | 620 kB   00:00     
(34/35): python-setuptools-0.9.8-7.el7.noarch.rpm          | 397 kB   00:00     
(35/35): python-babel-0.9.6-8.el7.noarch.rpm               | 1.4 MB   00:02     
--------------------------------------------------------------------------------
Total                                              2.0 MB/s | 8.2 MB  00:04     
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Importing GPG key 0xF4A80EB5:
 Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Package    : centos-release-7-4.1708.el7.centos.x86_64 (@anaconda)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : libsepol-2.5-10.el7.x86_64                                  1/43 
  Updating   : libselinux-2.5-15.el7.x86_64                                2/43 
  Updating   : audit-libs-2.8.5-4.el7.x86_64                               3/43 
  Updating   : libsemanage-2.5-14.el7.x86_64                               4/43 
  Updating   : libselinux-python-2.5-15.el7.x86_64                         5/43 
  Installing : python-ipaddress-1.0.16-2.el7.noarch                        6/43 
  Installing : python-six-1.9.0-2.el7.noarch                               7/43 
  Installing : libsemanage-python-2.5-14.el7.x86_64                        8/43 
  Installing : audit-libs-python-2.8.5-4.el7.x86_64                        9/43 
  Installing : net-tools-2.0-0.25.20131004git.el7.x86_64                  10/43 
  Updating   : libselinux-utils-2.5-15.el7.x86_64                         11/43 
  Updating   : policycoreutils-2.5-34.el7.x86_64                          12/43 
  Installing : setools-libs-3.3.8-4.el7.x86_64                            13/43 
  Installing : libcgroup-0.41-21.el7.x86_64                               14/43 
  Installing : python-prettytable-0.7.2-3.el7.noarch                      15/43 
  Installing : libyaml-0.1.4-11.el7_0.x86_64                              16/43 
  Installing : PyYAML-3.10-11.el7.x86_64                                  17/43 
  Installing : python-chardet-2.2.1-3.el7.noarch                          18/43 
  Installing : python-jsonpointer-1.9-2.el7.noarch                        19/43 
  Installing : python-jsonpatch-1.2-4.el7.noarch                          20/43 
  Installing : python-backports-1.0-8.el7.x86_64                          21/43 
  Installing : python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch   22/43 
  Installing : python-setuptools-0.9.8-7.el7.noarch                       23/43 
  Installing : python-urllib3-1.10.2-7.el7.noarch                         24/43 
  Installing : python-requests-2.6.0-10.el7.noarch                        25/43 
  Installing : python-babel-0.9.6-8.el7.noarch                            26/43 
  Installing : python-markupsafe-0.11-10.el7.x86_64                       27/43 
  Installing : python-jinja2-2.7.2-4.el7.noarch                           28/43 
  Installing : python-IPy-0.75-6.el7.noarch                               29/43 
  Installing : checkpolicy-2.5-8.el7.x86_64                               30/43 
  Installing : policycoreutils-python-2.5-34.el7.x86_64                   31/43 
  Installing : pyserial-2.6-6.el7.noarch                                  32/43 
  Installing : cloud-init-19.4-7.el7.centos.6.x86_64                      33/43 
  Updating   : audit-2.8.5-4.el7.x86_64                                   34/43 
  Installing : cloud-utils-growpart-0.29-5.el7.noarch                     35/43 
  Cleanup    : policycoreutils-2.5-17.1.el7.x86_64                        36/43 
  Cleanup    : libsemanage-2.5-8.el7.x86_64                               37/43 
  Cleanup    : libselinux-utils-2.5-11.el7.x86_64                         38/43 
  Cleanup    : audit-2.7.6-3.el7.x86_64                                   39/43 
  Cleanup    : libselinux-python-2.5-11.el7.x86_64                        40/43 
  Cleanup    : libselinux-2.5-11.el7.x86_64                               41/43 
  Cleanup    : libsepol-2.5-6.el7.x86_64                                  42/43 
  Cleanup    : audit-libs-2.7.6-3.el7.x86_64                              43/43 
  Verifying  : python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch    1/43 
  Verifying  : libselinux-2.5-15.el7.x86_64                                2/43 
  Verifying  : libselinux-python-2.5-15.el7.x86_64                         3/43 
  Verifying  : python-setuptools-0.9.8-7.el7.noarch                        4/43 
  Verifying  : pyserial-2.6-6.el7.noarch                                   5/43 
  Verifying  : python-urllib3-1.10.2-7.el7.noarch                          6/43 
  Verifying  : audit-libs-2.8.5-4.el7.x86_64                               7/43 
  Verifying  : checkpolicy-2.5-8.el7.x86_64                                8/43 
  Verifying  : policycoreutils-2.5-34.el7.x86_64                           9/43 
  Verifying  : libsepol-2.5-10.el7.x86_64                                 10/43 
  Verifying  : net-tools-2.0-0.25.20131004git.el7.x86_64                  11/43 
  Verifying  : python-IPy-0.75-6.el7.noarch                               12/43 
  Verifying  : python-jinja2-2.7.2-4.el7.noarch                           13/43 
  Verifying  : libselinux-utils-2.5-15.el7.x86_64                         14/43 
  Verifying  : policycoreutils-python-2.5-34.el7.x86_64                   15/43 
  Verifying  : python-six-1.9.0-2.el7.noarch                              16/43 
  Verifying  : setools-libs-3.3.8-4.el7.x86_64                            17/43 
  Verifying  : python-markupsafe-0.11-10.el7.x86_64                       18/43 
  Verifying  : audit-2.8.5-4.el7.x86_64                                   19/43 
  Verifying  : python-babel-0.9.6-8.el7.noarch                            20/43 
  Verifying  : libsemanage-python-2.5-14.el7.x86_64                       21/43 
  Verifying  : libsemanage-2.5-14.el7.x86_64                              22/43 
  Verifying  : python-backports-1.0-8.el7.x86_64                          23/43 
  Verifying  : cloud-init-19.4-7.el7.centos.6.x86_64                      24/43 
  Verifying  : python-jsonpointer-1.9-2.el7.noarch                        25/43 
  Verifying  : python-jsonpatch-1.2-4.el7.noarch                          26/43 
  Verifying  : audit-libs-python-2.8.5-4.el7.x86_64                       27/43 
  Verifying  : python-chardet-2.2.1-3.el7.noarch                          28/43 
  Verifying  : libyaml-0.1.4-11.el7_0.x86_64                              29/43 
  Verifying  : python-prettytable-0.7.2-3.el7.noarch                      30/43 
  Verifying  : python-requests-2.6.0-10.el7.noarch                        31/43 
  Verifying  : python-ipaddress-1.0.16-2.el7.noarch                       32/43 
  Verifying  : PyYAML-3.10-11.el7.x86_64                                  33/43 
  Verifying  : cloud-utils-growpart-0.29-5.el7.noarch                     34/43 
  Verifying  : libcgroup-0.41-21.el7.x86_64                               35/43 
  Verifying  : libselinux-utils-2.5-11.el7.x86_64                         36/43 
  Verifying  : libselinux-2.5-11.el7.x86_64                               37/43 
  Verifying  : libsemanage-2.5-8.el7.x86_64                               38/43 
  Verifying  : audit-2.7.6-3.el7.x86_64                                   39/43 
  Verifying  : policycoreutils-2.5-17.1.el7.x86_64                        40/43 
  Verifying  : libsepol-2.5-6.el7.x86_64                                  41/43 
  Verifying  : audit-libs-2.7.6-3.el7.x86_64                              42/43 
  Verifying  : libselinux-python-2.5-11.el7.x86_64                        43/43 

Installed:
  cloud-init.x86_64 0:19.4-7.el7.centos.6                                       
  cloud-utils-growpart.noarch 0:0.29-5.el7                                      

Dependency Installed:
  PyYAML.x86_64 0:3.10-11.el7                                                   
  audit-libs-python.x86_64 0:2.8.5-4.el7                                        
  checkpolicy.x86_64 0:2.5-8.el7                                                
  libcgroup.x86_64 0:0.41-21.el7                                                
  libsemanage-python.x86_64 0:2.5-14.el7                                        
  libyaml.x86_64 0:0.1.4-11.el7_0                                               
  net-tools.x86_64 0:2.0-0.25.20131004git.el7                                   
  policycoreutils-python.x86_64 0:2.5-34.el7                                    
  pyserial.noarch 0:2.6-6.el7                                                   
  python-IPy.noarch 0:0.75-6.el7                                                
  python-babel.noarch 0:0.9.6-8.el7                                             
  python-backports.x86_64 0:1.0-8.el7                                           
  python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7                    
  python-chardet.noarch 0:2.2.1-3.el7                                           
  python-ipaddress.noarch 0:1.0.16-2.el7                                        
  python-jinja2.noarch 0:2.7.2-4.el7                                            
  python-jsonpatch.noarch 0:1.2-4.el7                                           
  python-jsonpointer.noarch 0:1.9-2.el7                                         
  python-markupsafe.x86_64 0:0.11-10.el7                                        
  python-prettytable.noarch 0:0.7.2-3.el7                                       
  python-requests.noarch 0:2.6.0-10.el7                                         
  python-setuptools.noarch 0:0.9.8-7.el7                                        
  python-six.noarch 0:1.9.0-2.el7                                               
  python-urllib3.noarch 0:1.10.2-7.el7                                          
  setools-libs.x86_64 0:3.3.8-4.el7                                             

Dependency Updated:
  audit.x86_64 0:2.8.5-4.el7             audit-libs.x86_64 0:2.8.5-4.el7        
  libselinux.x86_64 0:2.5-15.el7         libselinux-python.x86_64 0:2.5-15.el7  
  libselinux-utils.x86_64 0:2.5-15.el7   libsemanage.x86_64 0:2.5-14.el7        
  libsepol.x86_64 0:2.5-10.el7           policycoreutils.x86_64 0:2.5-34.el7    

Complete!

3.3 编辑 cloud.cfg 文件

#添加内容
 - resolv-conf

#最终配置文件效果
[root@local ~]# vi /etc/cloud/cloud.cfg
[root@local ~]# cat /etc/cloud/cloud.cfg
users:
 - default

disable_root: 1
ssh_pwauth:   0

mount_default_fields: [~, ~, auto, defaults,nofail,x-systemd.requires=cloud-init.service, 0, 2]
resize_rootfs_tmp: /dev
ssh_deletekeys:   1
ssh_genkeytypes:  ~
syslog_fix_perms: ~
disable_vmware_customization: false

cloud_init_modules:
 - disk_setup
 - migrator
 - bootcmd
 - write-files
 - growpart
 - resizefs
 - set_hostname
 - update_hostname
 - update_etc_hosts
 - rsyslog
 - users-groups
 - ssh
 - resolv-conf

cloud_config_modules:
 - mounts
 - locale
 - set-passwords
 - rh_subscription
 - yum-add-repo
 - package-update-upgrade-install
 - timezone
 - puppet
 - chef
 - salt-minion
 - mcollective
 - disable-ec2-metadata
 - runcmd

cloud_final_modules:
 - rightscale_userdata
 - scripts-per-once
 - scripts-per-boot
 - scripts-per-instance
 - scripts-user
 - ssh-authkey-fingerprints
 - keys-to-console
 - phone-home
 - final-message
 - power-state-change

system_info:
  default_user:
    name: centos
    lock_passwd: true
    gecos: Cloud User
    groups: [adm, systemd-journal]
    sudo: ["ALL=(ALL) NOPASSWD:ALL"]
    shell: /bin/bash
  distro: rhel
  paths:
    cloud_dir: /var/lib/cloud
    templates_dir: /etc/cloud/templates
  ssh_svcname: sshd

# vim:syntax=yaml

3.4 编辑 network 文件

#添加内容
NOZEROCONF=yes

#最终配置文件效果
[root@local ~]# vi /etc/sysconfig/network
[root@local ~]# cat /etc/sysconfig/network
#Created by anaconda
NOZEROCONF=yes

3.5 编辑 grub 文件

#添加内容
GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"

#最终配置文件效果
[root@local ~]# vi /etc/default/grub
[root@local ~]# cat /etc/default/grub 

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed s, release .*$,,g /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"
GRUB_DISABLE_RECOVERY="true"

#执行命令使参数生效
[root@local ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-c515a8f65bf14e138d99b2c451179327
Found initrd image: /boot/initramfs-0-rescue-c515a8f65bf14e138d99b2c451179327.img
done

3.6 关闭 KVM 虚拟机

[root@local ~]# init 0

4 创建 QCOW2 镜像

4.1 重置并清理镜像

[root@cloudcs ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     centos                         shut off

[root@cloudcs ~]# virt-sysprep -d centos

#输出
[   0.0] Examining the guest ...
[  25.4] Performing "abrt-data" ...
[  25.4] Performing "backup-files" ...
[  26.3] Performing "bash-history" ...
[  26.4] Performing "blkid-tab" ...
[  26.4] Performing "crash-data" ...
[  26.4] Performing "cron-spool" ...
[  26.4] Performing "dhcp-client-state" ...
[  26.4] Performing "dhcp-server-state" ...
[  26.4] Performing "dovecot-data" ...
[  26.4] Performing "logfiles" ...
[  26.5] Performing "machine-id" ...
[  26.5] Performing "mail-spool" ...
[  26.5] Performing "net-hostname" ...
[  26.5] Performing "net-hwaddr" ...
[  26.5] Performing "pacct-log" ...
[  26.5] Performing "package-manager-cache" ...
[  26.5] Performing "pam-data" ...
[  26.5] Performing "passwd-backups" ...
[  26.5] Performing "puppet-data-log" ...
[  26.6] Performing "rh-subscription-manager" ...
[  26.6] Performing "rhn-systemid" ...
[  26.6] Performing "rpm-db" ...
[  26.6] Performing "samba-db-log" ...
[  26.6] Performing "script" ...
[  26.6] Performing "smolt-uuid" ...
[  26.6] Performing "ssh-hostkeys" ...
[  26.6] Performing "ssh-userdir" ...
[  26.6] Performing "sssd-db-log" ...
[  26.6] Performing "tmp-files" ...
[  26.6] Performing "udev-persistent-net" ...
[  26.6] Performing "utmp" ...
[  26.6] Performing "yum-uuid" ...
[  26.6] Performing "customize" ...
[  26.6] Setting a random seed
[  26.6] Setting the machine ID in /etc/machine-id
[  26.7] Performing "lvm-uuids" ...

4.2 创建并压缩镜像

#查找 centos 实例对应的磁盘文件
[root@cloudcs ~]# virsh domblklist centos
Target     Source
------------------------------------------------
vda        /soft/disk/centos7.qcow2
hda        -

#创建并清理压缩镜像
[root@cloudcs ~]# virt-sparsify --compress /soft/disk/centos7.qcow2 /tmp/centos-cloud.qcow2

#输出
[   0.0] Create overlay file in /tmp to protect source disk
[   0.1] Examine source disk
 100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
[  13.6] Fill free space in /dev/centos/root with zero
 100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
[  31.5] Clearing Linux swap on /dev/centos/swap
[  33.3] Fill free space in /dev/sda1 with zero
[  40.9] Copy to destination and make sparse
[ 101.4] Sparsify operation completed with no errors.
virt-sparsify: Before deleting the old disk, carefully check that the 
target disk boots and works correctly.

5 测试镜像启动

5.1 注册镜像

5.2 创建云主机类型(规格)

5.3 发放云主机测试


  • END

以上是关于G027-OP-INS-RHEL-04 RedHat OpenStack 创建自定义的QCOW2格式镜像的主要内容,如果未能解决你的问题,请参考以下文章

redha7 链路聚合

redha 精简开机,优化系统

redha7.2配置静态网卡(三步搞定)

安装saltstack

CentOS还好吗?

nginx升级