【原创】使用kvm制作eucalyptus云计算环境镜像
使用kvm制作eucalyptus云计算环境镜像
1、下载镜像样本
从官网上下载可用的镜像样本,官网上提供了不同发行版本的Linux操作系统的镜像。如:ubuntu(32,64),debian(32,64),CentOS(32,64),Fedora(32,64)等。
官网下载地址:
http://open.eucalyptus.com/wiki/EucalyptusUserImageCreatorGuide_v2.0
下载对应镜像后,在linux环境下可以通过md5sum指令计算MD5值与官网提供的MD5值进行比较。
2、扩充镜像样本
官网提供的镜像大小均在1G左右,对于开发人员这个空间是不够的。所以在制作镜像之前,首先要扩充镜像空间。
可以参考官网日志:
http://open.eucalyptus.com/participate/wiki/changing-size-images
值得注意的是:在操作时,最好使用root用户,镜像解压在/root目录下。我开始在/home下操作,出现了莫名奇妙的错误,原因未知。
在操作过程中,如果loop0,loop1在使用,则可以寻找没在被使用的loop,比如loop5.
3、kvm环境下运行new.img(new.img是刚扩充好的镜像)
敲入如下指令启动镜像:
/usr/libexec/qemu-kvm -m 256 -hda /root/new.img -kernel /root/euca-ubuntu-9.04-i386/kvm-kernel/vmlinuz-2.6.28-11-server -initrd /root/euca-ubuntu-9.04-i386/kvm-kernel/initrd.img-2.6.28-11-server -boot c -net nic,vlan=0,model=e1000,macaddr=00:16:e3:de:ad:02 -append "root=/dev/sda ro " -k en-us -net tap
说明:“/root/new.img”为需要启动的镜像,路径需要做一定替换。
/root/euca-ubuntu-9.04-i386/kvm-kernel/vmlinuz-2.6.28-11-server 下载镜像样本中配套的头文件
/root/euca-ubuntu-9.04-i386/kvm-kernel/initrd.img-2.6.28-11-server 下载镜像样本中配套的头文件
4、配置root密码
正常启动后,显示登陆界面。初次登陆,没有root账户密码,需要我们手动配一个密码。关闭系统。
(1)将new.img挂载在new目录下,前提是new.img所在的当前目录有个new的空目录。
mount -o loop new.img new
(2)进入new系统,更改密码
chroot new
passwd
连续敲入两遍密码即可。
(3)退出new系统
exit
(4)卸载设备:
umount new
5、配置网络ip
如果现在启动的话,一般情况下,会发现没有ip,这时我们需要给其配置一个静态的ip。
保证系统没有在运行。操作方法和上面一样,通过挂在来修改文件。
mount -o loop new.img new
编辑etc/network/interfaces配置static IP:
cd new
vim etc/network/interfaces 格式如下:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.101
netmask 255.255.255.0
gateway 192.168.0.2
:wq保存退出。
卸载设备:
umount new
6、kvm重新运行new.img
参见:3、kvm环境下运行new.img(new.img是刚扩充好的镜像)
7、往镜像中安装需要的软件
制作自己的镜像内容,操作完全与一般linux系统相同。
装完之后,使用halt -p来关闭系统。
8、镜像后续处理
抓好一切需要的东西后,需要将镜像打包成适合云上跑的镜像。做如下处理:
(1)更改网络配置为dhcp方式
mount -o loop new.img new
编辑etc/network/interfaces配置static IP:
cd new
vim etc/network/interfaces 格式如下:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp (2)删除一个网络配置文件,避免网卡冲突
重新返回new目录下,执行
rm -rf etc/udev/rules.d/70-persistent-net.rules
(3)卸载设备:
退出new目录,cd ..
umount new
9、镜像制作完毕
可以试试在云上跑一跑了。