zoukankan      html  css  js  c++  java
  • 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来打开。
    • 以这个方式安装操作系统和正常的安装几乎一样,但是有两点需要注意的:
      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镜像,并且磁盘可扩展
     
  • 相关阅读:
    C++11 Lambda表达式
    C++ 容器操作
    C/C++ 动态存储分配 malloc calloc realloc函数的用法与区别
    使用visual C++测试
    设计模式有感
    smartProgram学习笔记
    C++析构函数
    C++指针和引用
    Python机器学习笔记:常用评估模型指标的用法
    Python机器学习笔记:不得不了解的机器学习面试知识点(1)
  • 原文地址:https://www.cnblogs.com/CLTANG/p/4332604.html
Copyright © 2011-2022 走看看