OpenStack 镜像制作
| Contents [hide] |
|---|
Centos6.5 img制作
基础环境安装
|
1
2
|
yum groupinstall Virtualization "Virtualization Client"yum install libvirt |
下载或从本地上传系统镜像
|
1
2
3
|
mkdir /openstack-imagecd /openstack-imagewget 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-imageqemu-img create -f qcow2 /openstack-image/openstack-centos6.5.qcow2 10Gchown -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来打开。
- 以这个方式安装操作系统和正常的安装几乎一样,但是有两点需要注意的:
- 分区,分区的时候只给”/” 根目录分一个区即可,其他都不要。
- 网络设置方面,确保你的网卡eth0是DHCP状态的,而且请务必勾上”auto connect”的对勾。
- 系统安装完毕之后,我们刚才使用的vnc-install命令会自动退出。
系统设置
- 启动虚拟机
|
1
2
|
virsh start vmnamevirsh list #查看虚拟机状态 |
- 删除网卡配置中HWADDR这一行
- 删除已生成的网络设备规则
|
1
|
rm -rf /etc/udev/rules.d/70-persistent-net.rules |
- 关闭防火墙和selinux
|
1
2
3
|
service iptables stop && chkconfig iptables offservice ip6tables stop && chkconfig ip6tables offsed -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 |
主要参数描述
- -n 虚拟机的名称
- -disk 虚拟磁盘存放的路径,即第一步qemu-img创建的虚拟磁盘。
- -c ISO的路径
- -vncport VNC连接端口,后面会用到,这里是5909,且必须是未使用的端口。
- -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
参考文献
OpenStack 镜像制作的更多相关文章
- openStack镜像制作
参考链接: https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/OpenStack/page/Creating ...
- OpenStack镜像制作-CentOS
云平台中镜像还是很重要的,提供各种定制化的镜像使得用户体验更好. 最开始玩OpenStack的时候用的是安装文档中提到的cirros,其密码cubswin:) 刚开始感觉很怪,现在已经可以随手打出.p ...
- openstack镜像制作思路、指导及问题总结
一.思路就4步:1.创建镜像文件2.用nova-compute自带的kvm,启动.iso文件,用vncviewer完成OS的安装过程3.OS安装完毕,停止虚拟机,kvm重启镜像,安装必要的软件4.后续 ...
- openStack 镜像制作,镜像裁剪一般步骤
镜像制作一般裁剪步骤 1, linux系统安装CentOs/RHEL Desktop桌面系统,分区划分但分区/挂载点.设置Selinux=disabled关闭iptables安装cloud-init[ ...
- OpenStack 镜像制作之cloud-init
Contents [hide] 1 背景 2 密钥登录 2.1 密钥登录的原理 2.1.1 openstack的私钥 2.1.2 密码注入 = 2.1.3 实际遇到的情况 2.1.4 解决办法 背景 ...
- 云计算---openstack镜像制作
一:本地部署KVM 1.安装KVM 1.1安装须知 查看CPU是否支持kvm完全虚拟机. [root@LINUX ~]# grep "flags" /proc/cpuinfofla ...
- 云计算---openstack镜像制作详解
一:本地部署KVM 1.安装KVM 1.1安装须知 查看CPU是否支持kvm完全虚拟机. [root@LINUX ~]# grep "flags" /proc/cpuinfofla ...
- OpenStack镜像制作笔记 --以windows8.1-amd64为例
by hyc 目录 1.下载win8_64位的iso文件 2.下载对应电脑的vnc 3.下载Xshell软件 4.连接成功后,在Xshell下安装软件包 5.下载FileZilla Client软件 ...
- openstack镜像制作centos7
1,找一台宿主机安装kvm并检查是否支持虚拟化,这里我用的是vmware来做宿主机 egrep '(vmx|svm)' /proc/cpuinfo 然后安装kvm: yum install epel- ...
随机推荐
- sqlserver 中server 函数GETDATE(),DEFAULT用法
alter table Persons add datenow date DEFAULT GETDATE() null, datetimenow datetime DEFAULT GETDATE()n ...
- mac开启服务命令
开启mysql mysql.server start 开启nginx sudo nginx 重启nginx sudo nginx -s reload 开启apach ...
- action script 3如何检测播放器域
检测播放器域 用户在上面观看媒体内容的网页的 URL 和域并非始终随时可用.如果托管网站允许,您可使用 ExternalInterface 类获取确切 URL.尽管如此,允许第三方视频播放器的一些 ...
- 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 ...
- Java Main Differences between Java and C++
转载自:http://www.cnblogs.com/springfor/p/4036739.html C++ supports pointers whereas Java does not. But ...
- 2.TCP_IP互联线缆_TCP_UDP报文抓包详解
TCP_IP互联线缆_TCP_UDP报文抓包详解 2.1网线标准 直通线 交叉线 异种设备互联使用直通线 同种设备互联使用交叉线 TCP和UDP 端口寻址 TCP数据格式 TCP三次握手 UDP数据格 ...
- mysql 模块使用
import MySQLdb conn = MySQLdb.connect(host=',db='fengjian') cur = conn.cursor() sql = 'insert into a ...
- 成员变量NSString类型指针的属性为什么用copy(属性)
创建一个分类Person设置属性@property(nonatomic,strong) NSString * name; 在- (void)viewDidLoad 中打印测试 name的属性是stro ...
- lua对模块接口扩展的一种方法
module lua中模块的实现,对于使用者来说就是一个库,引用此库后,可以调用库中实现的任意函数. 使用库,可以将一类功能相关的接口做封装,并提供开放接口. 参考: http://blog.codi ...
- Git 使用的配置 常用命令
老文一篇 搬过来 1. git的部分配置 # 全局提交用户名与邮箱 git config --global user.name "simon" git config --globa ...