OpenStack 镜像制作
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来打开。
- 以这个方式安装操作系统和正常的安装几乎一样,但是有两点需要注意的:
- 分区,分区的时候只给”/” 根目录分一个区即可,其他都不要。
- 网络设置方面,确保你的网卡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 |
主要参数描述
- -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