美文网首页
OpenStack的centos镜像制作

OpenStack的centos镜像制作

作者: JohnLee1100 | 来源:发表于2017-08-20 15:37 被阅读0次

    server端

    安装qemu, kvm

    yum install qemu,qemu-kvm
    

    安装libvirt

    yum install libvirt 
    systemctl enable libvirtd.service
    systemctl start libvirtd.service
    

    安装virt-install

    yum install virt-install
    

    下载centos的mirror镜像
    wget http://mirror.pregi.net/centos/7.3.1611/isos/x86_64/CentOS-7-x86_64-Minimal-1611.iso
    创建qcow2镜像

    qemu-img create -f qcow2 /home/images/centos.qcow2 10G
    

    启动虚拟机

    virt-install --virt-type kvm --name centos --ram 1024
    --disk /home/images/centos.qcow2,format=qcow2
    --network network=default
    --graphics vnc,listen=0.0.0.0 --noautoconsole
    --os-type=linux --os-variant=rhel7
    --location=/home/images/CentOS-7-x86_64-Minimal-1611.iso

    查看vnc端口
    [root@controller01 images]# virsh list
    Id Name State


    1 centos running

    [root@controller01 images]# virsh vncdisplay centos
    :0
    0代表是5900,大于0的从5900之后递增。例如,显示:1,则代表5901

    Client 端

    windows安装vnc-veriewer
    连接到创建的虚拟机

    image.png

    如出现连上后闪退问题,解决方案如下图
    http://blog.licess.com/vnc-viewer-shantui/

    image.png

    连接成功后,选择语言,选择Continue

    image.png

    选择网络和主机名配置,打开自动获取id地址,配置完成后选择Done

    image.png

    选择installation source,设置镜像源,done

    image.png

    磁盘分区,按实际需求分区,这里我选择默认。

    点击安装。

    设置密码,设置完后选择Done。

    image.png

    安装完之后重启。

    image.png

    如果没有启动成功,可以在server端 执行virsh reboot centos 命令。
    再连接,安装acpi。acpid服务是用于可以让hypervisior可以重启或关闭虚拟机

    yum install acpid
    systemctl enable acpid
    

    安装cloud-init。用于启动虚拟机时候nova-meatdata服务进行密钥注入到虚拟机。

    yum install epel-release.noarch
    yum install cloud-init
    

    修改cloud-init启动模块加载resolv-conf。
    /etc/cloud/cloud.cfg
    cloud_init_modules属性下添加
    - resolv-conf
    安装 cloud-utils-growpart。该然间是支持虚拟机磁盘扩容。

    yum install cloud-utils-growpart
    

    如果上面步骤不能安装cloud-init,则可以在/etc/rc.d/rc.local文件中,在touch /var/lock/subsys/local这行前加入以下脚本

    if [ ! -d /root/.ssh ]; then
    mkdir -p /root/.ssh
    chmod 700 /root/.ssh
    fi
    # Fetch public key using HTTP
    ATTEMPTS=30
    FAILED=0
    while [ ! -f /root/.ssh/authorized_keys ]; do
    curl -f http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key \
    > /tmp/metadata-key 2>/dev/null
    if [ \$? -eq 0 ]; then
    cat /tmp/metadata-key >> /root/.ssh/authorized_keys
    chmod 0600 /root/.ssh/authorized_keys
    restorecon /root/.ssh/authorized_keys
    rm -f /tmp/metadata-key
    echo "Successfully retrieved public key from instance metadata"
    echo "*****************"
    echo "AUTHORIZED KEYS"
    echo "*****************"
    cat /root/.ssh/authorized_keys
    echo "*****************"
    fi
    done 
    

    关闭zeroconf route

    echo "NOZEROCONF=yes" >> /etc/sysconfig/network
    

    配置console,为了确保控制台的信息出现在 dashboard 的日志标签页中,以及 nova console-log 输出中。
    修改/etc/default/grub的配置GRUB_CMDLINE_LINUX选项. 删除 rhgb quiet 添加 console=tty0 console=ttyS0,115200n8。
    例子:

    GRUB_CMDLINE_LINUX="crashkernel=auto console=tty0 console=ttyS0,115200n8 
    

    更新grub配置

    grub2-mkconfig -o /boot/grub2/grub.cfg 
    

    关闭虚拟机

    shutdown -h now
    

    Server端

    安装 libguestfs-tools

    yum install libguestfs-tools
    

    清理镜像MAC地址

    virt-sysprep -d centos 
    

    清除虚拟机

    virsh undefine centos 
    

    镜像制作完成,可以上传到openstack,镜像为 /home/images/centos.qcow2文件。

    相关文章

      网友评论

          本文标题:OpenStack的centos镜像制作

          本文链接:https://www.haomeiwen.com/subject/wqpfdxtx.html