一、硬件及软件准备
:1、物理机一台:要求支持硬件虚拟化,将centos7的mini版本安装在物理机上,如果实在找不到多余的机器可以在windows上安装vmware。然后在vmware上创建centos7的虚拟机。2、CentOS7.5的镜像
3、下载VMware workstation 15
二、制作过程
如果使用VMware,注意必须开启硬件虚拟化功能
1、检查系统是否支持KVM
1 egrep "(vmx|svm)" /proc/cpuinfo
2、安装远程桌面访问依赖
1 yum -y install libX11 xorg-x11-server-utils xorg-x11-proto-devel dbus-x11 xorg-x11-xauth xorg-x11-drv-ati-firmware xorg-x11-xinit
3、重启系统生效
1 reboot
4、安装KVM
1 yum install -y virt-manager virt-install libvirt* libguestfs-tools *VNC* qemu-kvm
5、开机启动libvirtd
1 systemctl enable libvirtd 2 systemctl start libvirtd
6、 创建openstack linux系统镜像,大小为20G
1 qemu-img create -f qcow2 centos.qcow2 20G
7、使用virt-manager安装系统,注意磁盘和网络选择virtio虚拟模式
8、安装操作系统
三、配置虚拟机
1、启用电源管理工具
1 yum install -y acpid 2 systemctl enable acpid
2、安装cloud-init
一个实例必须与元数据服务进行交互,以便在启动时执行几个任务。例如,实例必须获取ssh公钥并运行用户数据脚本。
1 yum install -y epel-release.noarch #有的不需要 2 yum install -y cloud-init
3、配置/etc/cloud/cloud.cnf文件
1 users: 2 - name: admin 3 (...)
4、安装cloud-utils-growpart和cloud-initramfs-growroot以允许分区自动调整大小
注意:在映像中支持功能的最简单方法是将cloud-utils包(包括用于扩展分区的growpart工具)、cloud-initramfs-growroot包(支持在第一次引导时调整根分区大小)和cloud-init包安装到映像中,使用这些安装后,图像在引导时执行发根分区大小调整
如果不能安装cloud-initramfs-tools,Robert Plestenjak有一名为linux-rootfs-ze的github项目,她包含使用growpart最新ramdisk的脚本,以便引导时适当调整映像大小
如果可以安装cloud-utils和cloud-init包,我们建议在创建时,创建一个ext3或ext4分区(不由LVM管理)
1 yum install -y cloud-utils-growpart cloud-initramfs-growroot
5、禁用zeroconf
对于元数据服务的实例,必须禁用默认的zeroconf路由
1 echo "NOZEROCONF=yes" >> /etc/sysconfig/network
6、配置控制台
编辑/etc/default/grub文件并配置该 GRUB_CMDLINE_LINUX选项。删除 rhgb quiet并添加到该选项:console=tty0 console=ttyS0,115200n8
1 GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap console=tty0 console=ttyS0,115200n8"
7、运行以下命令保存更改
# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-229.14.1.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-229.14.1.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-229.4.2.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-229.4.2.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-229.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-229.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-605f01abef434fb98dd1309e774b72ba Found initrd image: /boot/initramfs-0-rescue-605f01abef434fb98dd1309e774b72ba.img done
8、关机
1 poweroff
四,后期处理
1、删除静态信息 必去,MAC UUID 规则等
虚拟以太网卡的MAC地址会记录在一些文件中,例如/etc/sysconfig/network-scripts/ifcfg-eth0和/etc/udev/rules.d/70-persistent-net.rules。每次映像启动时,虚拟以太网卡将具有不同的MAC地址,因此必须从配置文件中删除该信息。
virt-sysprep -d centos
2、取消定义libvirt域
1 virsh undefine centos
五、总结
到目前,centos镜像已经安装完成,带入到平台后,发现硬盘不会自动扩容,后续还需继续探讨
可参考openstack官网:https://docs.openstack.org/image-guide/centos-image.html