标签:x86 自定义 python QCOW2 noarch 64 OpenStack el7 2.5
一、安装KVM虚拟机
1.1 虚拟机安装虚拟化软件包
注意:虚拟机指的是CentOS7.8
#挂载光盘
[root@cloudcs ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@cloudcs ~]# ls /mnt/
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
#配置本地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
1.2 创建KVM虚拟机
注意:虚拟机通过命令ifconfig可看到一张虚拟网卡vritbr0,该虚拟网卡为kvm虚拟机default默认的NAT网络类型网卡(192.168.122.1)
#创建目录上传ISO镜像
[root@cloudcs ~]# mkdir -p /soft/disk
#将CentOS7.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
1.3 安装KVM虚拟机
1.3.1 语言选择
1.3.2 自动分区
1.3.3 网络及主机名
注意:当开启网络后,必须可以通过 DHCP 自动获取到 IP 地址,如下图
1.3.4 配置 ROOT 密码
默认采用最小化 minimal 安装
1.3.5 重启并测试网络
重启kvm虚拟机,并以root身份登录,测试kvm虚拟机 能否连通外网
二、配置 KVM 虚拟机
2.1 修改KVM虚拟机网络配置文件
注意:修改的是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
2.2 安装 cloud-init 软件包
根据 1.3.5 小节测试,kvm 虚机可正常连通外网,此时直接在线安装软件包即可。目的是为了可以获取到客户自定义元数据信息,如主机名及root密码等。
[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!
2.3 编辑 cloud.cfg 文件
编辑 /etc/cloud/cloud.cfg 配置文件,在 cloud_init_modules 下添加以下内容
#添加内容
- 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
2.4 编辑 network 文件
编辑 /etc/sysconfig/network 配置文件,使其包含以下内容,避免访问 EC2 元数据服务时出现问题。
#添加内容
NOZEROCONF=yes
#最终配置文件效果
[root@local ~]# vi /etc/sysconfig/network
[root@local ~]# cat /etc/sysconfig/network
#Created by anaconda
NOZEROCONF=yes
2.5 编辑 grub 文件
编辑 /etc/default/grub 配置文件,使其包含以下引导选项内容,为了确保控制台的信息出现在 dashboard 的日志标签页中,以及 nova console-log 日志的输出内容中。
#添加内容
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
2.6 关闭 KVM 虚拟机
[root@local ~]# init 0
三、创建 QCOW2 镜像
注意:以下步骤在虚拟机中操作,不是kvm虚拟机,概念分不清?参考第一部分 约定
3.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" ...
3.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.
四、测试镜像启动
4.1 注册镜像
将镜像 centos-cloud.qcow2 注册到 OpenStack 平台,以下为图形化注册演示,命令行注册请参考博文 G020-OP-INS-RHEL-02 RedHat OpenStack 发放云主机(命令行)
4.2 创建云主机类型(规格)
4.3 发放云主机测试
注意:网络及路由请参考 G020 创建,务必保证路由及网关存在,否则无法获取到客户自定义主机名
观察启动流程及尝试登录,测试镜像正确无误
标签:x86,自定义,python,QCOW2,noarch,64,OpenStack,el7,2.5 来源: https://www.cnblogs.com/kongshuo/p/16648489.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。