云平台中镜像还是很重要的,提供各种定制化的镜像使得用户体验更好。

最开始玩OpenStack的时候用的是安装文档中提到的cirros,其密码cubswin:) 刚开始感觉很怪,现在已经可以随手打出。ps:打的还很熟练:-)

然后慢慢开始想尝试各种镜像,于是乎在网上搜了很多。如下:

关于CentOS镜像制作需要注意以下几点:

(1)修改网络信息 /etc/sysconfig/network-scripts/ifcfg-eth0 (删掉mac信息),如下:

TYPE=Ethernet
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
NM_CONTROLLED=no

(2)删除已生成的网络设备规则,否则制作的镜像不能上网

# rm -rf /etc/udev/rules.d/-persistent-net.rules 

(3)增加一行到/etc/sysconfig/network

NOZERCONF=yes

(4)安装cloud-init(可选),cloud-init可以在开机时进行密钥注入以及修改hostname等,关于cloud-init,陈沙克的一篇博文有介绍:http://www.chenshake.com/about-openstack-centos-mirror/

# yum install -y cloud-utils cloud-init parted
修改配置文件/etc/cloud/cloud.cfg ,在cloud_init_modules 下面增加:
- resolv-conf

(5)设置系统能自动获取openstack指定的hostname和ssh-key(可选)
编辑/etc/rc.local文件,该文件在开机后会执行,加入以下代码:

 if [ ! -d /root/.ssh ]; then
mkdir -p /root/.ssh
chmod /root/.ssh
fi
# Fetch public key using HTTP
ATTEMPTS=
FAILED= 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 ]; then
cat /tmp/metadata-key >> /root/.ssh/authorized_keys
chmod /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 “*****************” curl -f http://169.254.169.254/latest/meta-data/hostname > /tmp/metadata-hostname 2>/dev/null
if [ $? -eq ]; then
TEMP_HOST=`cat /tmp/metadata-hostname`
sed -i “s/^HOSTNAME=.*$/HOSTNAME=$TEMP_HOST/g” /etc/sysconfig/network
/bin/hostname $TEMP_HOST
echo “Successfully retrieved hostname from instance metadata”
echo “*****************”
echo “HOSTNAME CONFIG”
echo “*****************”
cat /etc/sysconfig/network
echo “*****************” else
echo “Failed to retrieve hostname from instance metadata. This is a soft error so we’ll continue”
fi
rm -f /tmp/metadata-hostname
else
FAILED=$(($FAILED + ))
if [ $FAILED -ge $ATTEMPTS ]; then
echo “Failed to retrieve public key from instance metadata after $FAILED attempts, quitting”
break
fi
echo “Could not retrieve public key from instance metadata (attempt #$FAILED/$ATTEMPTS), retrying in seconds…”
sleep
fi
done

或者

 # set a random pass on first boot
if [ -f /root/firstrun ]; then
dd if=/dev/urandom count=|md5sum|passwd --stdin root
passwd -l root
rm /root/firstrun
fi if [ ! -d /root/.ssh ]; then
mkdir -m -p /root/.ssh
restorecon /root/.ssh
fi
# Get the root ssh key setup
# Get the root ssh key setup
ReTry=
while [ ! -f /root/.ssh/authorized_keys ] && [ $ReTry -lt ]; do
sleep
curl -f http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /root/.ssh/pubkey
if [ -eq ]; then
mv /root/.ssh/pubkey /root/.ssh/authorized_keys
fi
ReTry=$[Retry+]
done
chmod /root/.ssh/authorized_keys && restorecon /root/.ssh/authorized_keys

主要目的就是获取hostname和公钥

(6)其他

route命令查看一下路由表

查看/etc/ssh/sshd_conf中PermitRootLogin是不是为yes

OpenStack镜像制作-CentOS的更多相关文章

  1. openStack镜像制作

    参考链接: https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/OpenStack/page/Creating ...

  2. OpenStack 镜像制作

    Contents [hide] 1 Centos6.5 img制作 1.1 基础环境安装 1.2 下载或从本地上传系统镜像 1.3 启动服务 1.4 建立镜像文件 1.5 通过virt-install ...

  3. openstack镜像制作思路、指导及问题总结

    一.思路就4步:1.创建镜像文件2.用nova-compute自带的kvm,启动.iso文件,用vncviewer完成OS的安装过程3.OS安装完毕,停止虚拟机,kvm重启镜像,安装必要的软件4.后续 ...

  4. openStack 镜像制作,镜像裁剪一般步骤

    镜像制作一般裁剪步骤 1, linux系统安装CentOs/RHEL Desktop桌面系统,分区划分但分区/挂载点.设置Selinux=disabled关闭iptables安装cloud-init[ ...

  5. OpenStack手动制作CentOS 7 KVM镜像

    在前面讲解KVM的时候,我们已经学习了如何制作KVM镜像,那么制作OpenStack使用的镜像和KVM是有一些区别的. 1.    下载CentOS 7官方ISO安装镜像这里使用国内阿里云的镜像源进行 ...

  6. 云计算---openstack镜像制作

    一:本地部署KVM 1.安装KVM 1.1安装须知 查看CPU是否支持kvm完全虚拟机. [root@LINUX ~]# grep "flags" /proc/cpuinfofla ...

  7. 云计算---openstack镜像制作详解

    一:本地部署KVM 1.安装KVM 1.1安装须知 查看CPU是否支持kvm完全虚拟机. [root@LINUX ~]# grep "flags" /proc/cpuinfofla ...

  8. OpenStack 镜像制作之cloud-init

    Contents [hide] 1 背景 2 密钥登录 2.1 密钥登录的原理 2.1.1 openstack的私钥 2.1.2 密码注入 = 2.1.3 实际遇到的情况 2.1.4 解决办法 背景 ...

  9. openstack镜像制作centos7

    1,找一台宿主机安装kvm并检查是否支持虚拟化,这里我用的是vmware来做宿主机 egrep '(vmx|svm)' /proc/cpuinfo 然后安装kvm: yum install epel- ...

随机推荐

  1. BZOJ1174: [Balkan2007]Toponyms

    1174: [Balkan2007]Toponyms Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 117  Solved: 16[Submit][S ...

  2. 【转】Android理解:显式和隐式Intent---- try catch

    原文网址:http://blog.csdn.net/xiao__gui/article/details/11392987 Intent是Android初学者比较难理解的一个东西.我这里以通俗易懂的语言 ...

  3. REST服务中的日志可视化(关键技术实现)

    引言 在系统构建完成之后,我们通常会使用REST API对外提供服务,在REST API的处理过程中经常会出现一些异想不到的问题(用户权限不足.参数不全.数据库访问异常等),导致请求失败,很多时候用户 ...

  4. Emacs学习阶段小结-Emacs常用快捷键总结

    首先推荐一下Emacs自带的Emacs Tutorial,跟着这个做一边,两三个小时,基本的使用就能掌握了.之后的神教程就有很多了,比如<Sams.Teach.Yourself.Emacs.in ...

  5. openStack Use Orchestration module(heat) create and manage cloud resources

  6. Flask+Mysql搭建网站之网页设计

    不得不说,本人极度讨厌网页设计,感觉太麻烦了.不过整好啦还蛮有成就感的. 关于网页设计,现在流行的是扁平化设计. http://www.bootcss.com/ http://www.bootcss. ...

  7. Linux2.6内核--VFS层中和进程相关的数据结构

          系统中的每一个进程都有自己的一组打开的文件,像根文件系统,当前工作目录,安装点等.有三个数据结构将 VFS 层和系统的进程紧密的联系在一起,它们分别是: file_struct,fs_st ...

  8. 状压dp-poj-1170-Shopping Offers

    题目链接: http://poj.org/problem?id=1170 题目意思: 购物车里有b种(0=<b<=5)物品,每种物品告诉物品代号c(1=<c<=999),数量为 ...

  9. oracle11g 导入空表的办法

    ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间 这样会出现导入导出数据库的时候报错,提示空表没有被还原,缺少表的情况 解决方法: 设置deferred_segment ...

  10. VC —— 笔记汇总

    导读 本文仅用于记录在个人在使用VC++过程中的遇到一些的问题和相关概念. 目录 开发环境 实践记录 MFC相关 windows编程相关 1.开发环境 1.Visual C++ 官方网站 主要内容:V ...