Openstack镜像制作.docx_第1页
Openstack镜像制作.docx_第2页
Openstack镜像制作.docx_第3页
Openstack镜像制作.docx_第4页
Openstack镜像制作.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

制作Ubuntu 11.10 Server镜像制作镜像需要在桌面版本的系统中进行,本文采用的系统是Ubuntu 11.10 桌面版1. 下载Ubuntu镜像wget /ubuntu-releases/oneiric/ubuntu-11.10-server-amd64.iso2. 安装kvm-pxeapt-get install kvm-pxeNote:用于解决出现:failed to find romfile “pxe-rtf8138.bin” 错误3. 创建一个大小10G的“硬盘”(raw格式)kvm-img create -f raw ubuntu.img 10G4. 使用刚才下载的ubuntu“安装盘”和刚创建的“硬盘”引导启动系统,为了简单起见,本文使用kvm虚拟技术,避开xen繁琐的配置。-vnc参数代表撕开vnc访问,以便可以使用其他机器远程登陆到这个引导界面进行安装操作:kvm -m 512 -cdrom ubuntu-11.10-server-amd64.iso -drive file=ubuntu.img -boot d -nographic -vnc :0Note: 1. 本命令是前台进程,会占用一个终端,后续操作需要打开一个新的终端2. 启动kvm命令可以在server版本中运行,但是安装系统的操作需要桌面图形支持5. 用vncviewer登陆引导界面后按照屏幕的提示完成ubuntu的安装工作(安装过程和自己电脑一样,安装过程省略)。需要注意的是在分区阶段把10GB硬盘全部分成一个ext4 root分区,不要创建多个分区也不要创建swap分区vncviewer 87:5900Note:1. 87是kvm启动引导系统的机器IP2. 安装完成后退出,必要时kill掉kvm进程6. 重启虚拟机镜像kvm -m 512 -drive file=ubuntu.img,if=scsi,index=0,boot=on -boot c -net nic -net user -nographic -vnc :07. 安装相关模板服务制作vncviewer 87:5900apt-get updateapt-get upgradeapt-get install -y openssh-server cloud-init70-persistent-net.rules 会自动添加其他的网络接口,需要删除这个文件避免自动添加除了 eth0 以外的接口。删除后系统基本就准备好了,关闭虚拟机:rm -rf /etc/udev/rules.d/70-persistent-net.rulesshutdown -h now8. 调整Ubuntu镜像因为Openstack只接受ext4文件系统格式的镜像,所以需要把上面创建的raw镜像转换成ext4镜像。下面的步骤用来找出镜像文件里面的分区起点是从哪里开始的:losetup -f ubuntu.imglosetup a/dev/loop0: fb00:24117291 (/home/localadmin/ubuntu.img)fdisk -l /dev/loop0Disk /dev/loop0: 10.7 GB, 10737418240 bytes255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x000502e6 Device Boot Start End Blocks Id System/dev/loop0p1 * 2048 20969471 10483712 83 Linux上面最后一行显示分区是从扇区(sector)2048开始的,每个扇区是512个字节,所以是从 2048 x 512 = 1048576个字节开始的。记住这个1048576,下面会用到。卸载 loop 后重新从1048576字节开始挂载:losetup -d /dev/loop0losetup -f -o 1048576 ubuntu.imglosetup a/dev/loop0: fb00:24117291 (/home/localadmin/ubuntu.img), offset 1048576把这整个分区拷贝到一个新文件就是一个我们要的 ext4 文件系统镜像:dd if=/dev/loop0 of=ubuntutemplate.img20969472+0 records in20969472+0 records out10736369664 bytes (11 GB) copied, 107.455 s, 99.9 MB/s用完 loop 后记得卸载:losetup -d /dev/loop0挂载(mount)刚创建的 ext4 文件系统镜像,并修改分区加载表(/etc/fstab),注释或删除以前的,加上 UUID=uec-rootfs 一行:mount -o loop ubuntutemplate.img /mntvi /mnt/etc/fstab#UUID=1dc3a59e-faab-41ee-b232-3300163676bf / ext4 errors=remount-ro 0 1UUID=uec-rootfs / ext4 defaults 0 0把内核(vmlinuz)和内存盘(initrd)文件拷贝出来以便后面和虚拟机镜像一起发布到OpenStack 云里。使用完虚拟机镜像后记得卸载(unmount):cp /mnt/boot/initrd.img-3.0.0-12-server /home/localadmin/cp /mnt/boot/vmlinuz-3.0.0-12-server /home/localadmin/umount /mnt把刚才的虚拟机镜像 ubuntutemplate.img 的文件系统标志改成 uec-rootfs:tune2fs -L uec-rootfs ubuntutemplate.img9. 发布 Ubuntu 镜像发布镜像需要使用上述三个文件initrd.img-3.0.0-12-server、vmlinuz-3.0.0-12-server和ubuntutemplate.imgglance add -A openstack -H 33 name=ubuntu-ramdisk is_public=true container_format=ari disk_format=ari initrd.img-3.0.0-12-server返回一个ramdisk_id:如1glance add -A openstack -H 33 name=ubuntu-kernel is_public=true container_format=aki disk_format=aki vmlinuz-3.0.0-12-server返回一个kernel_id:如2glance add -A openstack -H 33 name=ubuntufinal is_public=true container_format=ami disk_format=ami kernel_id=2 ramdisk_id=1 /lib/udev/rules.d/75-persistent-net-generator.rules3.2 开启DHCP功能rhel6默认是不配置网卡的,所以我们必须手工启动本功能vi /etc/sysconfig/network-scripts/ifcfg-eth0默认的网络配置是DEVICE=eth0HWADDR=specifc mac addressNM_CONTROLLED=yesONBOOT=no修改为:DEVICE=eth0#请注释掉HWADDR,在KVM中不一定是这个MAC地址#HWADDR=specifc mac addressNM_CONTROLLED=noONBOOT=yesBOOTPROTO=dhcp4. 调整Red Hat Enterprise Linux镜像因为Openstack只接受ext4文件系统格式的镜像,所以需要把上面创建的raw镜像转换成ext4镜像。下面的步骤用来找出镜像文件里面的分区起点是从哪里开始的:losetup -f rhel6.imglosetup a/dev/loop0: fb00:24117291 (/home/localadmin/ rhel6.img)fdisk -l /dev/loop0Disk /dev/loop0: 10.7 GB, 10737418240 bytes255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x000502e6 Device Boot Start End Blocks Id System/dev/loop0p1 * 2048 20969471 10483712 83 Linux上面最后一行显示分区是从扇区(sector)2048开始的,每个扇区是512个字节,所以是从 2048 x 512 = 1048576个字节开始的。记住这个1048576,下面会用到。卸载 loop 后重新从1048576字节开始挂载:losetup -d /dev/loop0losetup -f -o 1048576 rhel6.imglosetup a/dev/loop0: fb00:24117291 (/home/localadmin/rhel6.img), offset 1048576把这整个分区拷贝到一个新文件就是一个我们要的 ext4 文件系统镜像:dd if=/dev/loop0 of= rhel6template.img20969472+0 records in20969472+0 records out10736369664 bytes (11 GB) copied, 107.455 s, 99.9 MB/s用完 loop 后记得卸载:losetup -d /dev/loop0挂载(mount)刚创建的 ext4 文件系统镜像,并修改分区加载表(/etc/fstab),注释或删除以前的,加上 UUID=uec-rootfs 一行:mount -o loop rhel6template.img /mntvi /mnt/etc/fstabUUID=uec-rootfs / ext4 defaults 0 0#UUID=1dc3a59e-faab-41ee-b232-3300163676bf / ext4 defaults 0 1tmpfs /dev/shm tmpfs defaults 0 0devpts /dev/pts devpts gid=5,mode=620 0 0sysfs /sys sysfs defaults 0 0proc /proc proc defaults 0 0把内核(vmlinuz)和内存盘(initramfs)文件拷贝出来以便后面和虚拟机镜像一起发布到OpenStack 云里。使用完虚拟机镜像后记得卸载(unmount):cp /mnt/boot/vmlinuz-2.6.32-71.el6.x86_64 /home/localadmin/cp /mnt/boot/initramfs-2.6.32-71.el6.x86_64.img /home/localadmin/umount /mnt把刚才的虚拟机镜像 rhel6template.img 的文件系统标志改成 uec-rootfs:tune2fs -L uec-rootfs rhel6template.img5. 发布Red Hat Enterprise Linux镜像发布镜像需要使用上述三个文件initramfs-2.6.32-71.el6.x86_64.img、vmlinuz-2.6.32-71.el6.x86_64和rhel6template.imgglance add -A openstack -H 33 name=rhel6-ramdisk is_public=true container_format=ari disk_format=ari initramfs-2.6.32-71.el6.x86_64.img返回一个ramdisk_id,如:5glance add -A openstack -H 33 name=rhel6-kernel is_public=true container_format=aki disk_format=aki vmlinuz-2.6.32-71.el6.x86_64返回一个kernel _id,如:6glance add -A openstack -H 33 name=rhel6final is_public=true container_format=ami disk_format=ami ramdisk_id=5 kernel_id=6 rhel6x86_64template.img制作Windows 2003 Server镜像1. Windows 2003 Server镜像下载自行下载或者制作启动ISO镜像文件并准备正版CD-KEY2. 创建一个大小10G的“硬盘”(raw格式)kvm-img create -f raw win2003.img 10G3. 下载virtio驱动wget /pub/alt/virtio-win/latest/images/bin/virtio-win-0.1-15.isowget /pub/alt/virtio-win/latest/images/bin/virtio-win-1.1.16.vfd4. 使用刚才下载的windows 2003 server“安装盘”和刚创建的“硬盘”引导启动系统,映射驱动vfd到软盘A, 开启bios启动选择菜单,启动时按住F12 ,进入光盘安装界面kvm -m 1024 -drive file=win2003.img,cache=writeback,if=virtio,boot=on -fda virtio-win-1.1.16.vfd -cdrom WIN_2003_SP2.iso -net nic -net user -boot order=d,menu=on -usbdevice tablet -nographic -vnc :0Note: 1. 请迅速打开一个vncviewer终端,否则会自动进入硬盘启动模式,如果不慎进入,请kill掉kvm进程,再重启kvm尝试迅速按F122. 安装后会自动重启,请开启远程桌面访问5. 重启虚拟机镜像,加载virtio驱动kvm -m 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论