細細.魚 发表于 2017-12-4 22:31:36

openstack镜像制作centos7

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



egrep '(vmx|svm)' /proc/cpuinfo
  然后安装kvm:



yum install epel-release net-tools vim unzip zip wgetqemu-kvm libvirt virt-install bridge-utils
  验证是否安装成功:



# lsmod | grep kvm
kvm_intel             1701813
kvm                   5546091 kvm_intel
irqbypass            135033 kvm
  启动kvm



# systemctl start libvirtd
  加入开机自启动



# 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-initjq
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:
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节点上传镜像


参考博文:https://docs.openstack.org/image-guide/centos-image.html

参考博文:http://www.cnblogs.com/CLTANG/p/4332612.html
页: [1]
查看完整版本: openstack镜像制作centos7