首页 > 其他 > 详细

OpenStack的centos镜像制作

时间:2020-09-05 23:42:57      阅读:93      评论:0      收藏:0      [点我收藏+]

server端

安装qemu, kvm

yum install qemu,qemu-kvm

安装libvirt

yum install libvirt 
systemctl enable libvirtd.service
systemctl start libvirtd.service

安装virt-install

yum install virt-install

下载centos的mirror镜像
wget http://mirror.pregi.net/centos/7.3.1611/isos/x86_64/CentOS-7-x86_64-Minimal-1611.iso
创建qcow2镜像

qemu-img create -f qcow2 /home/images/centos.qcow2 10G

启动虚拟机

virt-install --virt-type kvm --name centos --ram 1024
--disk /home/images/centos.qcow2,format=qcow2
--network network=default
--graphics vnc,listen=0.0.0.0 --noautoconsole
--os-type=linux --os-variant=rhel7
--location=/home/images/CentOS-7-x86_64-Minimal-1611.iso

查看vnc端口
[root@controller01 images]# virsh list
Id Name State


1 centos running

[root@controller01 images]# virsh vncdisplay centos
:0
0代表是5900,大于0的从5900之后递增。例如,显示:1,则代表5901

Client 端

windows安装vnc-veriewer
连接到创建的虚拟机

 
技术分享图片
image.png

如出现连上后闪退问题,解决方案如下图
http://blog.licess.com/vnc-viewer-shantui/

 
技术分享图片
image.png

连接成功后,选择语言,选择Continue

 
技术分享图片
image.png

选择网络和主机名配置,打开自动获取id地址,配置完成后选择Done

 
技术分享图片
image.png

选择installation source,设置镜像源,done

 
技术分享图片
image.png

磁盘分区,按实际需求分区,这里我选择默认。

点击安装。

设置密码,设置完后选择Done。

 
技术分享图片
image.png

安装完之后重启。

 
技术分享图片
image.png

如果没有启动成功,可以在server端 执行virsh reboot centos 命令。
再连接,安装acpi。acpid服务是用于可以让hypervisior可以重启或关闭虚拟机

yum install acpid
systemctl enable acpid

安装cloud-init。用于启动虚拟机时候nova-meatdata服务进行密钥注入到虚拟机。

yum install epel-release.noarch
yum install cloud-init

修改cloud-init启动模块加载resolv-conf。
/etc/cloud/cloud.cfg
cloud_init_modules属性下添加
- resolv-conf
安装 cloud-utils-growpart。该然间是支持虚拟机磁盘扩容。

yum install cloud-utils-growpart

如果上面步骤不能安装cloud-init,则可以在/etc/rc.d/rc.local文件中,在touch /var/lock/subsys/local这行前加入以下脚本

if [ ! -d /root/.ssh ]; then
mkdir -p /root/.ssh
chmod 700 /root/.ssh
fi
# Fetch public key using HTTP
ATTEMPTS=30
FAILED=0
while [ ! -f /root/.ssh/authorized_keys ]; do
curl -f http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /tmp/metadata-key 2>/dev/null
if [ \$? -eq 0 ]; then
cat /tmp/metadata-key >> /root/.ssh/authorized_keys
chmod 0600 /root/.ssh/authorized_keys
restorecon /root/.ssh/authorized_keys
rm -f /tmp/metadata-key
echo "Successfully retrieved public key from instance metadata"
echo "*****************"
echo "AUTHORIZED KEYS"
echo "*****************"
cat /root/.ssh/authorized_keys
echo "*****************"
fi
done 

关闭zeroconf route

echo "NOZEROCONF=yes" >> /etc/sysconfig/network

配置console,为了确保控制台的信息出现在 dashboard 的日志标签页中,以及 nova console-log 输出中。
修改/etc/default/grub的配置GRUB_CMDLINE_LINUX选项. 删除 rhgb quiet 添加 console=tty0 console=ttyS0,115200n8。
例子:

GRUB_CMDLINE_LINUX="crashkernel=auto console=tty0 console=ttyS0,115200n8 

更新grub配置

grub2-mkconfig -o /boot/grub2/grub.cfg 

关闭虚拟机

shutdown -h now

Server端

安装 libguestfs-tools

yum install libguestfs-tools

清理镜像MAC地址

virt-sysprep -d centos 

清除虚拟机

virsh undefine centos 

镜像制作完成,可以上传到openstack,镜像为 /home/images/centos.qcow2文件



作者:JohnLee1100
链接:https://www.jianshu.com/p/644172b4c723
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

OpenStack的centos镜像制作

原文:https://www.cnblogs.com/rui517hua20/p/13620134.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!