美文网首页
Openstack镜像制作之CentOS7篇

Openstack镜像制作之CentOS7篇

作者: 神冰凰 | 来源:发表于2018-01-02 16:03 被阅读0次

    1.    准备好一台装有centos7桌面版系统的物理机,进入后

    yum update

    (安装过程交互的三种方式:这里我们使用桌面系统上的界面操作,更方便简单,推荐;纯敲命令,使用vnc登陆安装的方式较为麻烦,不推荐;纯敲命令,不使用界面交互的方式理论上可行,较麻烦,不推荐)

    2.    安装libvirt各项组件

    yum install kvm libvirt libvirt-pythonvirt-install virt-manager virt-viewer libguestfs-tools qemu bridge-utils qemu-kvm virt-top

    其中kvm和qemu相关的软件系统自带,这里是以防万一;virt-manager安装后会在系统工具中看到虚拟机管理程序,可以界面操作;virt-install是启动虚拟机命令;其他相关组件具体作用不做交代,请自行查询。

    3.    创建qcow2磁盘:

    qemu-img create -f qcow2 centos7.qcow2 20G

    4.    启动虚拟机:(用虚拟机管理程序创建qcow2磁盘、导入iso文件安装更简单,不必考虑下列各项参数具体含义)

    virt-install --name centos --ram 1024--disk /tmp/centos.qcow2,format=qcow2 --network network=default --graphicsvnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel7  --location=/data/isos/CentOS-7-x86_64-NetInstall-1511.iso

    disk:指定虚拟磁盘路径

    network:网络连接方式,默认使用NAT;使用bridge方式参数:--network bridge:br0,使用网桥方式需要先在物理机上创建网桥br0

    graphices: 界面交互方式;这里创建了一个vnc连接,使用vnc方式;我们实际使用的是virt-manager界面;如果想纯敲命令不进行界面交互,参数为--graphics

    none,并添加--extra-args="console=tty0 console=ttyS0,115200",再使用virsh console centos7登陆

    location:指定iso文件路径

    (我们制作完镜像后,使用时会修改硬件资源的参数,所以启动虚拟机时可以指定任意参数,如这里ram是1024M,vcpu没有指定,网络使用NAT,修改为其他参数也可以)

    5.    对镜像进行配置修改:

    a.     允许ssh root登陆:

    b.    安装acpid

    为了hypervisor能够管理虚拟机生命周期(shutdown、reboot等),虚拟机需要安装acpid服务:

    yum install -y acpid

    systemctl enable acpid

    c.     记录虚拟机的启动日志供nova console-log使用

    编辑/etc/default/grub文件

    修改GRUB_CMDLINE_LINUX 行,删除 rhgb quiet

    添加the console=tty0 console=ttyS0,115200n8

    运行grub2-mkconfig -o /boot/grub2/grub.cfg保存修改

    d.    yum update

    e.     安装qemu-guest-agent:用于从面板在线更新密码/密钥

    yum install -y qemu-guest-agent

    配置qemu-ga,修改/etc/sysconfig/qemu-ga


    TRANSPORT_METHOD="virtio-serial"

    DEVPATH="/dev/virtio-ports/org.qemu.guest_agent.0"

    LOGFILE="/var/log/qemu-ga/qemu-ga.log"              

    PIDFILE="/var/run/qemu-ga.pid"

    BLACKLIST_RPC=""

    FSFREEZE_HOOK_ENABLE=0


    f.     禁用zeroconf route:

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

    g.    安装cloud-init:实现密码注入功能

    yum install epel-release.noarch

    yum install cloud-init

    h.    安装growpart:在创建虚拟机时能够自动识别根分区大小并自动调整

    yum install -y epel-release

    yum install -ycloud-utils-growpart

    rpm -qa kernel |sed 's/^kernel-//'  | xargs -I {} dracut -f/boot/initramfs-{}.img {}

    i.      关机

    shuedown now

    j.      删除硬件信息:

    virt-sysprep -d centos7

    k.     删除虚拟机配置文件:

    virsh undefine centos7

    (至此镜像制作完成)

    6.    使用镜像:

         1)在openstack平台上,导入镜像文件验证密码注入、磁盘根分区大小修改等功能是否正常;

    glance image-create --progress --container-format bare --disk-format raw --fileimg.raw --name img --property hw_qemu_guest_agent=yes --propertyos_admin_user=root --property os_type="linux"

    相关文章

      网友评论

          本文标题:Openstack镜像制作之CentOS7篇

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