查找了很多资料,包括官方文档,几处资料结合起来终于制作好了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,有需要的可以留言给我。