设为首页 收藏本站
查看: 1468|回复: 0

[经验分享] openstack镜像之centos

[复制链接]

尚未签到

发表于 2018-4-23 11:51:23 | 显示全部楼层 |阅读模式


环境声明:
os centos6
openstack mitaka
本文修改主机密码的方式为 metadata 注入方式,在云主机内部再配合一个修改密码的脚本,达到重置云主机密码的作用
原文链接:http://readshlinux.blog.51cto.com/9322509/1900532


参考文档:
https://docs.openstack.org/image-guide/centos-image.html  
http://www.cnblogs.com/CLTANG/p/4332612.html




  本文就不说安装虚拟机那一部分啦,不会的亲,请自行百度,google
  

  镜像制作开始
  1.修改主机的网卡配置文件,将网卡改为开机启动
vim /etc/sysconfig/network-scripts/ifcfg-eth0  DEVICE=eth0

  TYPE=Ethernet
  ONBOOT=yes
  NM_CONTROLLED=yes
  BOOTPROTO=dhcp
/etc/init.d/network restart  

  

  2.禁用zeroconf路由,实例访问元数据,必须要禁用默认的zeroconf路由
echo "NOZEROCONF=yes" >> /etc/sysconfig/network  

  

  3.安装acpid,cloud-init包
  acpid服务作用:重新引导或关闭实例

yum -y install epel-release && yum makecache && yum -y install acpid cloud-init
chkconfig acpid on
chkconfig cloud-init on
chkconfig cloud-init-local on  

  

  4.配置控制台日志显示(nova console-log)
  

  添加本文红色字体内容即可
vim /boot/grub/menu.lst  default=0

  timeout=5
  serial --unit=0 --speed=115200
  terminal --timeout=10 console serial
  splashimage=(hd0,0)/grub/splash.xpm.gz
  hiddenmenu
  title CentOS (2.6.32-431.el6.x86_64)
  root (hd0,0)
  kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb console=tty0 console=ttyS0,115200n8 quiet
  initrd /initramfs-2.6.32-431.el6.x86_64.img
  


  5.配置cloud-init
vim /etc/cloud/cloud.cfg  
  users:

  - default
  disable_root: 0
  ssh_pwauth:   1
  ... ...
  

  system_info:
  default_user:
   name: root
  lock_passwd: true
  ... ...

  

  
6.修改、重置密码脚本(同一个)
#!/bin/bash
#
curl="curl http://169.254.169.254/openstack/latest/meta_data.json"
changepw=`$curl | sed 's/{"random_seed.*{"admin_pass": "//' | sed 's/}, "project_id.*//' | awk -F'"' '{print $5}'`
mima=`$curl | sed 's/{"random_seed.*{"admin_pass": "//' | sed 's/}, "project_id.*//' | awk -F'"' '{print $1}'`
if [ $changepw == True ]
then
echo root:$mima | chpasswd
fi  

  7.开机启动服务脚本

  vim /etc/init.d/reset-root-pw
  

  
#!/bin/bash
#
# reset-root-pw         Start up reset-root-pw the  server daemon
#
# chkconfig: 5000 55 25
# description: reset-root-pw is yindun-cloud daemon
#
RESET_PW_root=/sbin/reset-root-pw
$RESET_PW_root &> /dev/null  

  8.为上面两个脚本添加相应的权限,并加入到开机自启
chmod +x /etc/init.d/reset-root-pw
chmod +x /sbin/reset-root-pw
chkconfig reset-root-pw --add
chkconfig reset-root-pw on
chkconfig reset-root-pw --list  

  


  做到现在的话镜像就快要完成啦,还需要其他功能的,自行百度添加吧
  不需要的话直接关机就ok
  

  9.镜像配置好后,将其压缩就可以上传到openstack镜像列表中啦

  下面是我做镜像收尾时用到的命令
  

  
  显示kvm中所有虚拟机
  virsh list --all
  

  执行清理任务,如,之前的历史命令,mac地址,ip地址等

  virt-sysprep -d CentOS6
  

  在kvm中删除虚拟机,仅仅删除xml文件,不会删除镜像文件

  virsh undefine CentOS6
  

  将镜像压缩

  qemu-img convert -c -O qcow2    压缩之前的路径+名字 压缩之后的路径+名字
  


  

  

  

  

  

  

  

  

  

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-450888-1-1.html 上篇帖子: centos7.3下ScyllaDB1.6安装 下篇帖子: rhel替换centos源
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表