zoukankan      html  css  js  c++  java
  • openstack镜像制作centos7

    1,找一台宿主机安装kvm并检查是否支持虚拟化,这里我用的是vmware来做宿主机

    egrep '(vmx|svm)' /proc/cpuinfo

    然后安装kvm:

    yum install epel-release net-tools vim unzip zip wget  qemu-kvm libvirt virt-install bridge-utils

    验证是否安装成功:

    [root@osa ~]# lsmod | grep kvm
    kvm_intel             170181  3 
    kvm                   554609  1 kvm_intel
    irqbypass              13503  3 kvm

    启动kvm

    [root@osa ~]# systemctl start libvirtd

    加入开机自启动

    [root@osa ~]# systemctl enable libvirtd

    2 删除默认网桥并新建网桥

    virsh net-destroy default
    virsh net-undefine default

    备份默认网卡配置文件

    cp ifcfg-ens160 ifcfg-ens160.bak

    新建br0:

    vim /etc/sysconfig/network-scripts/ifcfg-br0
    
    BOOTPROTO=static
    DEVICE=br0
    TYPE=Bridge
    NM_CONTROLLED=no
    IPADDR=172.100.60.80
    NETMASK=255.255.255.0
    GATEWAY=172.100.60.1
    DNS1=172.100.60.31

    修改原有的网卡配置文件ens160:

    vim /etc/sysconfig/network-scripts/ifcfg-ens160

    BOOTPROTO=none
    DEVICE=ens160
    NM_CONTROLLED=no
    ONBOOT=yes
    BRIDGE=br0

    然后重启网卡:

    service network restart

    3 开始创建kvm虚拟机:

    首先创建img文件:

    qemu-img create -f qcow2 centos-7.1.qcow2 20g

    然后创建虚拟机:

    virt-install --name centos-7.1.2 --ram 1024 --vcpu 1 --cdrom=/data/iso/CentOS-7-x86_64-DVD1511.iso --disk path=/data/images/centos-7.1.1.qcow2,bus=vi
    rtio --os-variant=rhel6 --bridge=br0  --vnclisten=0.0.0.0 --vncport=5902 --vnc

    然后使用vnc连接

    然后更新系统安装一些自己需要的软件

    4,安装choud-init jq acpid

    yum -y install acpid cloud-init  jq
    
    chkconfig acpid on
    
    chkconfig cloud-init on
    
    echo "NOZEROCONF=yes" >> /etc/sysconfig/network

    5,修改内核参数,并更新内核

    编辑/etc/default/grub配置GRUB_CMDLINE_LINUX选项删除rhgb quiet 然后增加 console=tty0console=ttyS0,115200n8 

    GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap console=tty0 console=ttyS0,115200n8"
    grub2-mkconfig -o /boot/grub2/grub.cfg

    6,编辑配置cloud.cfg文件

    红色部分为修改部分

    users:
     - default
    
    disable_root: 0
    ssh_pwauth:   1
    
    locale_configfile: /etc/sysconfig/i18n
    mount_default_fields: [~, ~, 'auto', 'defaults,nofail', '0', '2']
    resize_rootfs_tmp: /dev
    ssh_deletekeys:   0
    ssh_genkeytypes:  ~
    syslog_fix_perms: ~
    
    cloud_init_modules:
     - migrator
     - bootcmd
     - write-files
     - growpart
     - resizefs
     - set_hostname
     - update_hostname
     - update_etc_hosts
     - rsyslog
     - users-groups
     - ssh
    
    cloud_config_modules:
     - mounts
     - locale
     - set-passwords
     - yum-add-repo
     - package-update-upgrade-install
     - timezone
     - puppet
     - chef
     - salt-minion
     - mcollective
     - disable-ec2-metadata
     - runcmd
    
    cloud_final_modules:
     - rightscale_userdata
     - scripts-per-once
     - scripts-per-boot
     - scripts-per-instance
     - scripts-user
     - ssh-authkey-fingerprints
     - keys-to-console
     - phone-home
     - final-message
    
    system_info:
      default_user:
        name: root
        lock_passwd: true
        gecos: Cloud User
        groups: [wheel, adm, systemd-journal]
        sudo: ["ALL=(ALL) NOPASSWD:ALL"]
        shell: /bin/bash
      distro: rhel
      paths:
        cloud_dir: /var/lib/cloud
        templates_dir: /etc/cloud/templates
      ssh_svcname: sshd
    
    # vim:syntax=yaml

    7 关机

    poweroff

    8,执行清理任务在宿主机上

    virt-sysprep -d CentOS7

    9,拷贝镜像到glance节点上传镜像

  • 相关阅读:
    Python 实践
    Keras实践
    NLP S实践
    Spark java 实践
    Seaborn数据探索可视化
    Linux实践
    Redis
    ML算法选型
    Elasticsearch issue
    牛客练习赛37
  • 原文地址:https://www.cnblogs.com/cloud-80808174-sea/p/7541690.html
Copyright © 2011-2022 走看看