zoukankan      html  css  js  c++  java
  • OpenStack手动制作CentOS 7 KVM镜像

    在前面讲解KVM的时候,我们已经学习了如何制作KVM镜像,那么制作OpenStack使用的镜像和KVM是有一些区别的。

    1.    下载CentOS 7官方ISO安装镜像
    这里使用国内阿里云的镜像源进行下载:http://mirrors.aliyun.com/centos
    http://mirrors.aliyun.com/cent ... 1.iso

    2.    创建虚拟机磁盘镜像

    [root@linux-node1 src]# qemu-img create -f qcow2 /tmp/CentOS-7-x86_64.qcow2 10G
    Formatting '/tmp/CentOS-7-x86_64.qcow2', fmt=qcow2 size=10737418240 encryption=off cluster_size=65536 lazy_refcounts=off


    3.    开始手动安装虚拟机

    [root@linux-node1 ~]# virt-install --virt-type kvm --name CentOS-7-x86_64 
    --ram 2048 --disk /tmp/CentOS-7-x86_64.qcow2,format=qcow2 
    --network network=default 
    --graphics vnc,listen=0.0.0.0 --noautoconsole 
    --os-type=linux --os-variant=rhel7 
    --cdrom=/usr/local/src/CentOS-7-x86_64-DVD-1511.iso

    如果需要使用已经存在的桥接网卡,可以使用--network bridge=brq-name来使用。

    4.    安装过程省略,注意在进行磁盘分区的时候可以使用默认的LVM,也可以自定义分区结构。针对虚拟机的建议是只分配一个根分区/,不创建其它分配和swap分区。安装成功后,点击reboot,注意并不会重启,需要我们手动启动:

    [root@backup ~]# yum list | grep virt
    [root@backup ~]# virsh list --all
     Id    Name                           State
    ----------------------------------------------------
     -     CentOS-7-x86_64                shut off
    
    [root@backup ~]# virsh start CentOS-7-x86_64
    Domain CentOS-7-x86_64 started
      virsh start CentOS-7-x86_64

    启动完毕后,我们再连接到虚拟机上。
    5.    安装 ACPI 服务
        启动后,你可能需要手动配置你的虚拟机的网络。为了让虚拟化层能重启和关闭虚拟机,必须在虚拟机内安装并运行 acpid 服务。
    在 CentOS虚拟机内运行以下命令安装 ACPI 服务并配置为系统启动时自动启动。

    # yum install acpid
    # systemctl enable acpid

    6.    配置获取metadata
        虚拟机在启动的时候需要和元数据服务交互以便完成几个任务,例如,虚拟机必须获取ssh公钥以及运行用户数据脚本。确保虚拟机能完成这些任务,使用以下几个方法之一:
    ?    安装从 Ubuntu cloud-init 移植过来的cloud-init RPM包,这也是推荐的方法。
    ?    修改 /etc/rc.local 文件从元数据服务获取信息。
        使用 cloud-init 获取公钥
    cloud-init 包自动从元数据服务获取公钥并保存到账户,你可以在 CentOS虚拟机添加 EPEL 安装源来安装 cloud-init 包。

    # rpm -ivh http://mirrors.aliyun.com/epel ... h.rpm


    # yum install cloud-init
    7.    清除MAC地址相关信息:
    操作系统会在/etc/sysconfig/network-scripts/ifcfg-eth0 和
    /etc/udev/rules.d/70-persistent-net.rules 这类文件记录下网卡MAC地址,但是,虚拟机的网卡MAC地址在每次虚拟机创建的时候都会不同,因此这些信息必须从配置文件删除掉。

    8.    其它标准化操作:
    可以把所有虚拟机都需要进行的设置在镜像这一级全部设置完毕。例如:比如关闭SElinux、firewalld、postfix。以及设置内网DNS,安装相关的Agent等。
    9.    收尾工作
    最后,你可以关闭虚拟机了,如果以后不在需要该虚拟机也可以直接删除。建议是保留,方便后期进行虚拟机镜像的定制。
    10.    上传镜像到Glance

    # glance image-create --name "CentOS-7-x86_64" --disk-format qcow2 --container-format bare --file /tmp/CentOS-7-x86_64.qcow2 --visibility public --progress
  • 相关阅读:
    java中eclipse控制台接受输入的方法
    java中Timer类的详细介绍(详解)
    java中Timer类的详细介绍(详解)
    java中Timer类的详细介绍(详解)
    java中Timer类的详细介绍(详解)
    java中ReentrantLock类的详细介绍(详解)
    java中ReentrantLock类的详细介绍(详解)
    java中ReentrantLock类的详细介绍(详解)
    java中ReentrantLock类的详细介绍(详解)
    Spring中WebApplicationInitializer的理解
  • 原文地址:https://www.cnblogs.com/nulige/p/9092119.html
Copyright © 2011-2022 走看看