Contents [hide]

Centos6.5 img制作

基础环境安装

1
2
yum groupinstall Virtualization "Virtualization Client"
yum install libvirt

下载或从本地上传系统镜像

1
2
3
mkdir /openstack-image
cd /openstack-image
wget http://mirrors.163.com/centos/6/isos/x86_64/CentOS-6.5-x86_64-minimal.iso

启动服务

1
/etc/init.d/libvirtd restart

建立镜像文件

1
2
3
cd /openstack-image
qemu-img create -f qcow2 /openstack-image/openstack-centos6.5.qcow2 10G
chown -R qemu:qemu /openstack-image

通过virt-install创建虚拟机

1
2
3
4
5
virt-install  --name openstack-centos6.5 --ram 1024 \
--cdrom=/images/CentOS-6.5-x86_64-minimal.iso \
--disk /openstack-image/centos-6.5.qcow2,format=qcow2 \
--network network=default --graphics vnc,listen=0.0.0.0 \
--noautoconsole --os-type=linux --os-variant=rhel6

安装操作系统

  • 通过VNC软件来连入进行操作系统安装,ip就是服务器的ip,端口默认第一个为5900以此类推,也可以通过命令:virsh vncdisplay vmname查询端口,推荐使用vncviewer来打开。
  • 以这个方式安装操作系统和正常的安装几乎一样,但是有两点需要注意的:
    1. 分区,分区的时候只给”/” 根目录分一个区即可,其他都不要。
    2. 网络设置方面,确保你的网卡eth0是DHCP状态的,而且请务必勾上”auto connect”的对勾。
  • 系统安装完毕之后,我们刚才使用的vnc-install命令会自动退出。

系统设置

  • 启动虚拟机
1
2
virsh start vmname
virsh list   #查看虚拟机状态
  • 删除网卡配置中HWADDR这一行
  • 删除已生成的网络设备规则
1
rm -rf /etc/udev/rules.d/70-persistent-net.rules
  • 关闭防火墙和selinux
1
2
3
service iptables stop && chkconfig iptables off
service ip6tables stop && chkconfig ip6tables off
sed -i s/^SELINUX=.*/SELINUX=disabled/g /etc/selinux/config
  • 到此Centos6.5镜像已制作完成,可以将虚拟机关机并上传至OpenStack

Win2008 img制作

ISO文件准备

  • 准备一个Windows Server 2008的ISO文件,将现有的ISO文件上传到相应的文件夹。

Virtio总线驱动下载

  • 由于OpenStack只支持Virtio总线的磁盘,所以我们需要在安装之前下载virtio驱动:
1
wget http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/virtio-win-0.1-81.iso

创建虚拟磁盘文件

1
qemu-img create -f qcow2 /home/kvm/images/winserver2008.img 50G

创建虚拟机

  • 使用kvm或virt-install均可,本次安装使用的virt-install
1
2
3
4
5
6
7
virt-install --connect qemu:///system -n winserver2008 --vcpus=2 -r 2048 \
--disk path=/home/kvm/images/winserver2008.img,size=60,format=qcow2,bus=virtio,cache=none \
-c /home/iso/Win_08R2_OEM_CHS_CHT_EN_35in1.iso \
--vnc --vncport=5909 --vnclisten=0.0.0.0  \
--os-type windows --os-variant=win2k8 --accelerate \
--network=bridge:br0,model=virtio  \
--disk path=/home/iso/virtio-win-0.1-81.iso,device=cdrom,perms=ro

主要参数描述

  1. -n 虚拟机的名称
  2. -disk 虚拟磁盘存放的路径,即第一步qemu-img创建的虚拟磁盘。
  3. -c ISO的路径
  4. -vncport VNC连接端口,后面会用到,这里是5909,且必须是未使用的端口。
  5. -network 这个地方偶使用的是一个叫 br0 的网桥,所以你的系统必须保证有br0这个网桥

修正

按照前面创建的镜像可以创建虚拟机,但是创建的虚拟机使用df -h命令将看到实例硬盘永远是10G,没有变化,在openstack中的flavor没有disk体现。 接下来按照上面的步骤做微调。

1. 可以不用按照上面所说的一定是要单一磁盘,划分lvm,在安装过程中默认即可。
2. yum -y install git cloud-utils cloud-init parted
3. cd /tmp
4. git clone https://github.com/flegmatik/linux-rootfs-resize.git
5. cd linux-rootfs-resize
6. ./install
7. 修改配置文件/etc/cloud/cloud.cfg ,在cloud_init_modules 下面增加:- resolv-conf

参考文献

  1. Centos镜像制作
  2. Server2008镜像制作
  3. kvm基本命令
  4. kvm常用操作
  5. 制作openstack镜像,并且磁盘可扩展
 

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

  1. openStack镜像制作

    参考链接: https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/OpenStack/page/Creating ...

  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. sqlserver 中server 函数GETDATE(),DEFAULT用法

    alter table Persons add datenow date DEFAULT GETDATE() null, datetimenow datetime DEFAULT GETDATE()n ...

  2. mac开启服务命令

    开启mysql   mysql.server start 开启nginx         sudo  nginx 重启nginx   sudo  nginx   -s   reload 开启apach ...

  3. action script 3如何检测播放器域

    检测播放器域   用户在上面观看媒体内容的网页的 URL 和域并非始终随时可用.如果托管网站允许,您可使用 ExternalInterface 类获取确切 URL.尽管如此,允许第三方视频播放器的一些 ...

  4. A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null. Return a deep copy of the list.

    图解: 此题过程分为三个阶段,分别是 1.负责后面一个节点,并且将这个节点插入到原来链表中  2.复制后面一个节点的random指针. 3 拆分组合链表为两部分. 第一部分代码: while(curr ...

  5. Java Main Differences between Java and C++

    转载自:http://www.cnblogs.com/springfor/p/4036739.html C++ supports pointers whereas Java does not. But ...

  6. 2.TCP_IP互联线缆_TCP_UDP报文抓包详解

    TCP_IP互联线缆_TCP_UDP报文抓包详解 2.1网线标准 直通线 交叉线 异种设备互联使用直通线 同种设备互联使用交叉线 TCP和UDP 端口寻址 TCP数据格式 TCP三次握手 UDP数据格 ...

  7. mysql 模块使用

    import MySQLdb conn = MySQLdb.connect(host=',db='fengjian') cur = conn.cursor() sql = 'insert into a ...

  8. 成员变量NSString类型指针的属性为什么用copy(属性)

    创建一个分类Person设置属性@property(nonatomic,strong) NSString * name; 在- (void)viewDidLoad 中打印测试 name的属性是stro ...

  9. lua对模块接口扩展的一种方法

    module lua中模块的实现,对于使用者来说就是一个库,引用此库后,可以调用库中实现的任意函数. 使用库,可以将一类功能相关的接口做封装,并提供开放接口. 参考: http://blog.codi ...

  10. Git 使用的配置 常用命令

    老文一篇 搬过来 1. git的部分配置 # 全局提交用户名与邮箱 git config --global user.name "simon" git config --globa ...