Chinaunix首页 | 论坛 | 博客
  • 博客访问: 127385
  • 博文数量: 20
  • 博客积分: 536
  • 博客等级: 中士
  • 技术积分: 295
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-14 11:04
文章分类
文章存档

2013年(4)

2012年(16)

我的朋友

分类: LINUX

2013-12-06 11:08:21

 

 

1.创建镜像

qemu-img create -f raw vm.img 5G

2.安装配置虚机

先找到一个debian的安装iso

yum -y install virt-install virt-viewer

virt-install --name debian6  --ram 2048 --cdrom debian-6.0.8-amd64-netinst.iso --disk vm.img --vnc --vnclisten=0.0.0.0

在win下使用vnc viewer链接到虚机并手动安装

需要修改一下vnc的配置

options→advanced→expert : 修改 colorLevel 为 full

之后手动安装虚机,注意在分区阶段把5G全部分成一个ext4 / 分区,不要创建多个分区也不要创建swap分区。因为openstack只接受ext4文件格式的镜像,所以把分区格式化成ext4。

利用VNC进入虚拟机,配置eth0网卡,设置为dhcp获取ip。清空/etc/udev/rules.d/70-persistent-net.rules内容,因为它会自动添加其他的网络接口,需要删除这个文件避免自动添加除eth0以外的接口。设置内网DNS。

3.准备镜像

挂载img

losetup -f vm.img

losetup –a

/dev/loop0: [0801]:33685508 (/srv/loopback-device/device1)
/dev/loop1: [0801]:7602235 (/tmp/vm.img)

 

用fdisk找到偏移量和block size

fdisk -c -u -l /dev/loop1

Disk /dev/loop1: 5368 MB, 5368709120 bytes
149 heads, 8 sectors/track, 8796 cylinders, total 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00083258

      Device Boot      Start         End      Blocks   Id  System
/dev/loop1              2048    10483711     5240832   83  Linux

上面最后一行显示分区是从扇区(sector)2048开始,每个扇区是512个字节,所以是从2048*512=1048576个字节开始。

losetup -d /dev/loop1

losetup -f -o 1048576 vm.img

losetup –a

/dev/loop0: [0801]:33685508 (/srv/loopback-device/device1)
/dev/loop1: [0801]:7602235 (/tmp/vm.img), offset 1048576

拷贝出最终镜像,卸载旧镜像:

dd if=/dev/loop1 of=debian6.img

losetup -d /dev/loop1

4. 镜像修改

mount -o loop debian6.img /mnt/

修改 /mnt/etc/fstab,LABEL=/ 改成LABEL=uec-rootfs。例如

#UUID=1eea2fbe-a02e-4eed-8351-885dd84ab041 /               ext4    errors=remount-ro 0       1
UUID=uec-rootfs                                                             /               ext4    defaults    0       0

从/mnt/boot/里面拷贝 initrd和vmlinuz文件到当前目录

cp /mnt/boot/initrd.img-2.6.32-5-amd64  .
cp /mnt/boot/vmlinuz-2.6.32-5-amd64 .

将新镜像修改一下标签

tune2fs -L uec-rootfs debian6.img

 

5. 上传镜像

glance add name="debian6 initrd" disk_format=qcow2 container_format=ovf is_public=true < initrd.img-2.6.32-5-amd64

Added new image with ID: 389b0a7d-442d-415d-87cd-7b79c9d64a4f

glance add name="debian6 vmlinuz" disk_format=qcow2 container_format=ovf is_public=true < vmlinuz-2.6.32-5-amd64

Added new image with ID: b2a1dd73-c5b9-4b69-8dfb-25048197ad14

glance add name="debian6 OS" disk_format=qcow2 container_format=ovf is_public=ture ramdisk_id="389b0a7d-442d-415d-87cd-7b79c9d64a4f" kernel_id="b2a1dd73-c5b9-4b69-8dfb-25048197ad14" < debian6.img
Added new image with ID: 17e36140-8f8d-45f9-9c54-8e40ac3d5417

 

 

参考链接

http://my.oschina.net/davehe/blog/92250

http://zhumeng8337797.blog.163.com/blog/static/10076891420134635832525/

阅读(1752) | 评论(0) | 转发(0) |
0

上一篇:Centos 基于rdo多节点安装openstack

下一篇:没有了

给主人留下些什么吧!~~