openstack制作镜像 包括遇到的问题

 

 

官方文档:

一.   Creating custom images

Creating a Linux Image – Ubuntu

1.kvm-img create -f raw server.img 5G

wget http://releases.ubuntu.com/natty/ubuntu-11.04-server-amd64.iso   (准备好镜像当然可以采用事先下载好的 iso镜像 )

2.sudo kvm -m 256 -cdrom ubuntu-12.04.1-server-amd64.iso -drive file=server.img,if=scsi,index=0 -boot d -net nic -net user -nographic -vnc :0

     具体参数可以 :$man kvm 

                                  -m  虚拟器运用内存

                                 -cdrom 是指光驱安装  这个 可以事先将镜像挂载 

                                                                        sudo mkdir /mnt/cdrom (若系统没有cdrom,可以新建一个)

                                                                         sudo mount -o loop /home/lost/ubuntu-12.04.1-server-amd64.iso  /mnt/cdrom

                                 -driver   指定安装的驱动,我的理解是将这个虚拟器安装到什么地方 server.img  是刚才上面单独分出来的一个存储空间

                                -boot   d  是指虚拟器启动的方式  有好几个参数 d 是光驱启动,c是硬盘启动

                                -net nic -net user   感觉有与没有 没区别 ,具体可以看man 的介绍

                               -nographic  就是安装过程不显示 图形 ,说白了 不用这个 是不能直接看安装过程 那不是扯淡 么  呵呵所以我是直接 去掉这个

                               -vnc  知道vnc 访问

 

   During the installation of Ubuntu, create a single ext4 partition mounted on ‘/’. Do not  create a swap partition.

      这个很重要,一定要手动分区,也就是分一个主分区就ok  全部给 /

    在安装的过程中,其它的跟安装系统没什么区别,最后安装好后,记得 对系统进行更新 文档上是这么说 不过我觉得无所谓

   重要的地方:

         sudo apt-get update
        sudo apt-get upgrade
       sudo apt-get install openssh-server cloud-init   这个应该是必须的

     然后是:

       sudo rm -rf /etc/udev/rules.d/70-persistent-net.rules

3.Extracting the EXT4 partition

     sudo losetup -f server.img
    sudo losetup -a

    You should see an output like this:
 /dev/loop0: [0801]:16908388 ($filepath)
OpenStack Compute  Administration Manual  Sep 17, 2012 trunk  113
Observe the name of the loop device ( /dev/loop0 in our setup) when $filepath is the path to the mounted .raw file.

 

..............................

  具体可以去参考 官方文档

 

下面谈谈我遇到的问题:

 

 我安装过程的命令是:

     sudo   kvm -m 1024 -cdrom ubuntu-12.04.1-server-amd64.iso -drive file=server.img -boot d

上传镜像到系统异常:这个是镜像大小为5G 的时候
root@lost:/home/lost/downloads/images# cloud-publish-image -t image --kernel-file vmlinuz-3.2.0-29-generic --ramdisk-file initrd.img-3.2.0-29-generic amd64 serverfinal.img bucket1

failed to check for existing manifest
failed to register vmlinuz-3.2.0-29-generic

 

在网上搜索有人说这个镜像5G太大了 从里面扣系统的时候会出错,然后我就再次弄了一个2G的img

结果依旧:

镜像大小定义为2G 依旧出这个错误
lost@lost:~/downloads/images$  cloud-publish-image -t image --kernel-file vmlinuz-3.2.0-29-generic --ramdisk-file initrd.img-3.2.0-29-generic amd64 serverfinal.img bucket1
failed to check for existing manifest
failed to register vmlinuz-3.2.0-29-generic

 

 

 

直接这样上传raw格式的img
glance image-create name="A new ubuntu image" is_public=true container_format=ovf disk_format=raw < /home/lost/downloads/images/server.img
镜像是能上传成功,不过是nova 添加不了实例
nova boot --flavor 1 --image 375a9d13-1368-4c66-8438-030a91e6f911 --key_name key1 new_ubuntu_512  
结果 出现 status :Error

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

GitHub 加速计划 / li / linux-dash
6
1
下载
A beautiful web dashboard for Linux
最近提交(Master分支:3 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐