kavin

OpenStack手动制作CentOS 7 KVM镜像

kavin 虚拟化 2018-05-10 2543浏览 0

 

在前面讲解KVM的时候,我们已经学习了如何制作KVM镜像,那么制作OpenStack使用的镜像和KVM是有一些区别的。

1.    下载CentOS 7官方ISO安装镜像

这里使用国内阿里云的镜像源进行下载:http://mirrors.aliyun.com/centos

http://mirrors.aliyun.com/cent ... 1.iso

2.    创建虚拟机磁盘镜像

[root@linux-node1 src]# qemu-img create -f qcow2 /tmp/CentOS-7-x86_64.qcow2 10G

Formatting '/tmp/CentOS-7-x86_64.qcow2', fmt=qcow2 size=10737418240 encryption=off cluster_size=65536 lazy_refcounts=off

3.    开始手动安装虚拟机

[root@linux-node1 ~]# virt-install --virt-type kvm --name CentOS-7-x86_64 \

--ram 2048 --disk /tmp/CentOS-7-x86_64.qcow2,format=qcow2 \

--network network=default \

--graphics vnc,listen=0.0.0.0 --noautoconsole \

--os-type=linux --os-variant=rhel7 \

--cdrom=/usr/local/src/CentOS-7-x86_64-DVD-1511.iso

如果需要使用已经存在的桥接网卡,可以使用--network bridge=brq-name来使用。

4.    安装过程省略,注意在进行磁盘分区的时候可以使用默认的LVM,也可以自定义分区结构。针对虚拟机的建议是只分配一个根分区/,不创建其它分配和swap分区。安装成功后,点击reboot,注意并不会重启,需要我们手动启动:

[root@backup ~]# yum list | grep virt

[root@backup ~]# virsh list --all

 Id    Name                           State

----------------------------------------------------

 -     CentOS-7-x86_64                shut off

 

[root@backup ~]# virsh start CentOS-7-x86_64

Domain CentOS-7-x86_64 started

  virsh start CentOS-7-x86_64

启动完毕后,我们再连接到虚拟机上。

5.    安装 ACPI 服务

    启动后,你可能需要手动配置你的虚拟机的网络。为了让虚拟化层能重启和关闭虚拟机,必须在虚拟机内安装并运行 acpid 服务。

CentOS虚拟机内运行以下命令安装 ACPI 服务并配置为系统启动时自动启动。

# yum install acpid

# systemctl enable acpid

6.    配置获取metadata

    虚拟机在启动的时候需要和元数据服务交互以便完成几个任务,例如,虚拟机必须获取ssh公钥以及运行用户数据脚本。确保虚拟机能完成这些任务,使用以下几个方法之一:

?    安装从 Ubuntu cloud-init 移植过来的cloud-init RPM包,这也是推荐的方法。

?    修改 /etc/rc.local 文件从元数据服务获取信息。

    使用 cloud-init 获取公钥

cloud-init 包自动从元数据服务获取公钥并保存到账户,你可以在 CentOS虚拟机添加 EPEL 安装源来安装 cloud-init 包。

# rpm -ivh http://mirrors.aliyun.com/epel ... h.rpm

# yum install cloud-init

7.    清除MAC地址相关信息:

操作系统会在/etc/sysconfig/network-scripts/ifcfg-eth0

/etc/udev/rules.d/70-persistent-net.rules 这类文件记录下网卡MAC地址,但是,虚拟机的网卡MAC地址在每次虚拟机创建的时候都会不同,因此这些信息必须从配置文件删除掉。

8.    其它标准化操作:

可以把所有虚拟机都需要进行的设置在镜像这一级全部设置完毕。例如:比如关闭SElinuxfirewalldpostfix。以及设置内网DNS,安装相关的Agent等。

9.    收尾工作

最后,你可以关闭虚拟机了,如果以后不在需要该虚拟机也可以直接删除。建议是保留,方便后期进行虚拟机镜像的定制。

10.    上传镜像到Glance

# glance image-create --name "CentOS-7-x86_64" --disk-format qcow2 --container-format bare --file /tmp/CentOS-7-x86_64.qcow2 --visibility public --progress


发表评论