openstack 构建自己的云主机镜像

系统平台:ubuntu18.04

openstack:红帽官方v10

构建镜像CentOS7.2

  • 创建一个镜像文件默认qcow2格式大小10G。
qemu-img create -f qcow2 centos7.2.qcow2 10G
  • 创建域并启动虚拟机。
virt-install --virt-type kvm --name centos7.2_base --ram 2048 --disk centos7.2.qcow2,format=qcow2 --network network=vbr --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel7 --cdrom=/doc/CentOS7-1804.iso
  • 使用vnc client 或 virt-manager或 virt-viewer 进行链接,我图方便就使用了virt-viewer。
virt-viewer centos7.2_base

  • 和传统的一样选择安装centos7,语言最好是英语因为中文有时候确实会坏事,时区选择中国上海,选择最小化安装,分区需要手动配置不需要swap交换分区,文件系统选择ext4或者xfs ,xfs的话存储大文件性能相较于ext4要更好一点,存储驱动默认即为Virtio Block Device。

  • 网络开启DHCP自动获取。

  • 操作完毕后就可以开始安装系统了,在配置页面设置一个临时密码,安装完成后直接重启系统即可。

  • 安装acpid并设置开机启动,acpid用来处理电源相关事件,对于云主机来说这样关机和重启以及强制重启更加安全。

yum install -y acpid && systemctl enable acpid
  • 安装cloud-init
yum install -y cloud-init && systemctl enable cloud-init
  • 安装growpart 用来自动拓展根磁盘大小。
yum install -y cloud-utils-growpart.noarch
rpm -qa kernel | sed 's/^kernel-//' | xargs -I {} dracut -f /boot/initramfs-{}.img {}
  • 完成所有工作后清除history历史命令,进行关机
shutdown -h now
  • 清空虚拟机所有信息 需要安装libguestfs-tools
virt-sysprep -d centos7.2_base
  • 删除虚拟机
virsh undefine centos7.2_base
  • 上传镜像即可,我先scp到openstack的虚拟机中使用glance进行上传。
source keystonerc_admin
glance image-create --file /centos7.4.qcow2 --disk-format qcow2 --container-format bare --name CentOS7.4 --progress
  • 登录到面板中就可以看到制作的镜像了。

posted @ 2019-11-14 00:14  不愿透露姓名的先生  阅读(737)  评论(0编辑  收藏  举报