OpenStack Centos6.5 image 制作

查找了很多资料,包括官方文档,几处资料结合起来终于制作好了Centos 6.5 的镜像。但是不能够进行硬盘伸缩,还待优化(但是个人觉得硬盘伸缩的作用不是很大,体验了阿里云、UnitedStack,都是固定了系统盘的大小(linux是20G、windows是40G的系统盘)) 

1、使用ubuntu12.04 server 64bits,首先安装kvm

  sudo apt-get install kvm qemu libvirt-bin virtinst virt-manager virt-viewer

2、创建kvm 虚拟机磁盘文件:

     qemu-img create -f qcow2 centos.img 20G    //20G 是该虚拟机的硬盘大小

3、挂载iso,安装centos系统

    kvm -hda centos.img -cdrom /tmp/CentOS-6.5-x86_64-bin-DVD1.iso -m 768 -boot d -vnc :0
  使用vnc工具连接,在vnc中完成安装centos的操作。推荐使用TightVNC viewer。安装完成后,关闭虚拟机

4、启动虚拟机,配置网络

   kvm centos.img -m 768 -smp 2 -net nic -net tap,ifname=tap1,script=/etc/qemu-ifup -vnc :0 -daemonize

  登录系统后,eth0网卡未启动,需要设置eth0 开机启动 文件/etc/sysconfig/network-scripts/ifcfg-eth0 设置ONBOOT=“yes”

  重启网络

5、更新操作:

        yum update

       yum upgrade

6、网络配置

 在网络接口配置里面注释或删除这行 #HWADDR= 一行,启用 DHCP:

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=”eth0”

#UUID=fe8e2c29-a8d2-4529-accd-a5b4dabb892c

#HWADDR=”00:11:22:12:34:56”

NM_CONTROLLED=”yes”

BOOTPROTO=dhcp

ONBOOT=”yes”

修改sshd配置

sed -i ‘s/PasswordAuthentication no/PasswordAuthentication yes/g’ /etc/ssh/sshd_config 

sed -i ‘s/#PasswordAuthentication yes /PasswordAuthentication yes /g’ /etc/ssh/sshd_config 

# vi /etc/ssh/sshd_config

PasswordAuthentication yes 

RSAAuthentication yes

PubkeyAuthentication yes

ChallengeResponseAuthentication no

      service sshd restart

需要关闭 SELINUX 

# vi /etc/selinux/config

SELINUX=disabled

SELINUXTYPE=targeted

 关闭防火墙服务

service iptables stop && chkconfig iptables off

service ip6tables stop && chkconfig ip6tables off

清空文件(不是删除):

/etc/udev/rules.d/70-persistent-net.rules

/lib/udev/rules.d/75-persistent-net-generator.rules

 7、安装cloud-init,cloud-utils, cloud-initramfs-growroot cloud-init

rpm -ivh http://ftp-stud.hs-esslingen.de/pub/epel/6/x86\_64/epel-release-6-8.noarch.rpm

yum install git parted cloud-utils  cloud-initramfs-growroot cloud-init

 编辑/etc/cloud/cloud.cfg 文件,开启root 账号登陆:

 disable_root: 1

 ssh_pwauth:   1

 8、修改grub,是系统启动日志能够通过OpenStack控制台输出

   Vi  /boot/grub/grub.conf

   增加 console=ttyS0

default=0

timeout=5

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

hiddenmenu

title CentOS (2.6.32-279.el6.x86_64)

        root (hd0,0)

        kernel /boot/vmlinuz-2.6.32-279.el6.x86_64 ro root=UUID=587a6161-e327-48b8-80a2-2fd5da0b3989 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet console=tty0 console=ttyS0,115200n8

        initrd /boot/initramfs-2.6.32-279.el6.x86_64.img

现在就可以将centos.img 注册到OpenStack使用了。制作出来有2G,有需要的可以留言给我。