参考链接:

  1. https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/OpenStack/page/Creating+qcow2+CentOS+Image+for+OpenStack
  2. http://docs.openstack.org/image-guide/content/centos-image.html
  3. http://www.it165.net/os/html/201309/6121.html
  4. https://answers.launchpad.net/nova/+question/226471
  5. http://ssms.cs2c.com.cn/otrs/pc.pl?Action=PublicFAQZoom;ItemID=10224;ZoomBackLink=QWN0aW9uPVB1YmxpY0ZBUUV4cGxvcmVyO0NhdGVnb3J5SUQ9MTQ7U29ydEJ5PVRpdGxlO09yZGVy%0APVVwO1N0YXJ0SGl0PTI2MDE%3D%0A;

使用ISO镜像制作适用于OpenStack的云镜像

资源:
- ISO镜像文件,此处选择RedHat Enterprise Linux 5.5 x86_64 ISO镜像文件;
- 支持qemu-kvm的Linux实体机;

注意:
经验证,RHEL5.5不支持在线对根目录扩容,需要对根目录进行在线扩容的请谨慎选择。
(如果有解决方法,欢迎留言。)

Linux实体机:

# qemu-img create -f qcow2 rhel-5.5-x86_64.qcow2 10G
# kvm -m 2048 -cdrom rhel-server-5.5-x86_64-dvd.iso -drive file=rhel-5.5-x86_64.qcow2,if=virtio,index=0 -boot d -net nic -net user
# kvm -m 2048 -drive file=rhel-5.5-x86_64.qcow2,if=virtio,index=0 -boot d -net nic -net user
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

此处,操作系统的安装与实体机安装一样,安装完成后会有一个1G左右的rhel-5.5-x86_64.qcow2文件。使用Virtual Machine Manager虚拟机管理工具从QCOW2文件启动虚拟机。

虚拟机:

# yum update -y
# chkconfig sshd on
# vim /etc/ssh/sshd_config
--- #PermitEmptyPasswords no
+++ PasswordAuthentication yes
--- #PermitRootLogin yes
+++ PermitRootLogin yes
# yum install acpid
# chkconfig acpid on
# yum install cloud-init
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

/etc/cloud/cloud-init.conf可能需要进行适当修改。

  • 为保证实例能够访问neutron metadata服务,需要禁用zeroconf
# echo "NOZEROCONF=yes" >> /etc/sysconfig/network
  • 1
  • 1
  • 开启磁盘热插拔,支持在线挂载云硬盘
#echo -e "#! /bin/sh\n\n/sbin/modinfo -F filename acpiphp > /dev/null 2>&1\n\nif [ $? -eq 0 ]; then\n     /sbin/modprobe acpiphp\nfi" >> /etc/sysconfig/modules/acpiphp.modules
  • 1
  • 1
  • 开启nova console log支持
# vim /boot/grub/menu.lst

+++ serial --unit=0 --speed=115200
+++ terminal --timeout=10 console serial
--- kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/VolGroup00/LogVol00
+++ kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/VolGroup00/LogVol00 console=tty0 console=ttyS0,115200n8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 制作完成,关闭虚拟机
#/sbin/shutdown -h now
  • 1
  • 1

Linux实体机:

  • 清理虚拟机登陆及日志信息等
# virt-sysprep -d rhel5.5
  • 1
  • 1
  • 压缩镜像文件
# qemu-img convert -c -O qcow2 /root/rhel-5.5-x86_64.qcow2 /root/rhel-5.5-x86_64-compressed.qcow2
  • 1
  • 1
  • 上传镜像
# glance image-create --name "RedHat Enterprise Linux 5.5 x86_64" --disk-format qcow2 --container-format bare --is-public True --file  /root/rhel-5.5-x86_64-compressed.qcow2 --progress
  • 1
  • 1

Q&A

a. Cannot see the attached volume in the instance:

For RHEL 5.x, acpiphp is not loaded.

# modprobe acpiphp
# reboot
  • 1
  • 2
  • 1
  • 2

***Bootable kernel module hotplugin and acpiphp should be added.

openStack镜像制作的更多相关文章

  1. OpenStack 镜像制作

    Contents [hide] 1 Centos6.5 img制作 1.1 基础环境安装 1.2 下载或从本地上传系统镜像 1.3 启动服务 1.4 建立镜像文件 1.5 通过virt-install ...

  2. OpenStack镜像制作-CentOS

    云平台中镜像还是很重要的,提供各种定制化的镜像使得用户体验更好. 最开始玩OpenStack的时候用的是安装文档中提到的cirros,其密码cubswin:) 刚开始感觉很怪,现在已经可以随手打出.p ...

  3. openstack镜像制作思路、指导及问题总结

    一.思路就4步:1.创建镜像文件2.用nova-compute自带的kvm,启动.iso文件,用vncviewer完成OS的安装过程3.OS安装完毕,停止虚拟机,kvm重启镜像,安装必要的软件4.后续 ...

  4. openStack 镜像制作,镜像裁剪一般步骤

    镜像制作一般裁剪步骤 1, linux系统安装CentOs/RHEL Desktop桌面系统,分区划分但分区/挂载点.设置Selinux=disabled关闭iptables安装cloud-init[ ...

  5. OpenStack 镜像制作之cloud-init

    Contents [hide] 1 背景 2 密钥登录 2.1 密钥登录的原理 2.1.1 openstack的私钥 2.1.2 密码注入 = 2.1.3 实际遇到的情况 2.1.4 解决办法 背景 ...

  6. 云计算---openstack镜像制作

    一:本地部署KVM 1.安装KVM 1.1安装须知 查看CPU是否支持kvm完全虚拟机. [root@LINUX ~]# grep "flags" /proc/cpuinfofla ...

  7. 云计算---openstack镜像制作详解

    一:本地部署KVM 1.安装KVM 1.1安装须知 查看CPU是否支持kvm完全虚拟机. [root@LINUX ~]# grep "flags" /proc/cpuinfofla ...

  8. OpenStack镜像制作笔记 --以windows8.1-amd64为例

    by hyc 目录 1.下载win8_64位的iso文件 2.下载对应电脑的vnc 3.下载Xshell软件 4.连接成功后,在Xshell下安装软件包 5.下载FileZilla Client软件 ...

  9. openstack镜像制作centos7

    1,找一台宿主机安装kvm并检查是否支持虚拟化,这里我用的是vmware来做宿主机 egrep '(vmx|svm)' /proc/cpuinfo 然后安装kvm: yum install epel- ...

随机推荐

  1. 《Java中的不可变类》

    //不可变类举例: /* 下面程序试图定义一个不可变类Person类,但=因为Person类包含一个引用类型的成员变量, 且这个引用类是可变类,所以导致Person类也变成了可变类. */ class ...

  2. PHP中的null合并运算符

    project: blog target: null-coalesce-operator-in-php.md date: 2015-12-30 status: publish tags: - Null ...

  3. 【转载】【Windows批处理IV】批量进行文件重命名

    1.过滤文件名中所有数字.汉字.特殊字符(含空格) @echo off for %%a in (*.*) do ( if "%%~nxa" neq "%~nx0" ...

  4. 记录以下boost::shared_ptr的一个使用细节

    shared_ptr<T>::operator->返回的是T*类型指针,非const T*指针.因此通过const shared_ptr<T>&类型的ptr可以直 ...

  5. 设置Android studio黑色主题

    设置: 如上图,点击[Theme]下拉选项,选中[Darcula]主题,点击[Apply]应用修改,弹出重启Android Studio生效修改.如图:

  6. mm/mmap.c

    /* *    linux/mm/mmap.c * * Written by obz. */#include <linux/stat.h>#include <linux/sched. ...

  7. iOS的URL处理

    前两天处理iOSapp过程中(我是用swift语言写的,资料较少),被一个“字符串”搞了一晚上的时间到第二天才处理好,在此记下,望见过此文的学生有一天遇到该情况能三分钟搞定不浪费时间: 先看如下代码 ...

  8. Android——数据库相关(课堂整理)

    layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...

  9. mybatis中的mapxml的语法

    <select id="a" resultMap="map"> select * from `table` where (po_type='1') ...

  10. Fragment +ViewPager

    public class MainActivity extends FragmentActivity { private ViewPager vp; @Override    protected vo ...