首页 > CentOS > 自制openstack centos7.8镜像(可完整参考)
2022
05-31

自制openstack centos7.8镜像(可完整参考)

一、安装KVM环境:(宿主机)

[root@locahost~]#curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

[root@locahost~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

[root@locahost ~]# yum install -y kvm virt-* libvirt bridge-utils qemu-img qemu-kvm-tools

[root@locahost ~]# systemctl start libvirtd

[root@locahost ~]# systemctl enable libvirtd

[root@locahost ~]# echo “net.ipv4.ip_forward = 1” >>/etc/sysctl.conf

[root@locahost ~]# sysctl -p

 

二、定义文件变量:(宿主机)

[root@locahost ~]# mkdir /kvm

[root@locahost ~]# ksname=c7op.ks

[root@locahost ~]# kvname=centos7-8

[root@locahost ~]# ISO=CentOS-7-x86_64-Everything-2003

 

三、编写ks文件与移动镜像:(宿主机)

[root@locahost ~]# cd /kvm

[root@locahost ~]# vi c7op.ks #ks文件在最页面最下方

[root@locahost ~]# mv CentOS-7-x86_64-Everything-2003 /kvm

 

四、创建KVM虚拟机:(宿主机)

[root@locahost ~]# qemu-img create -f qcow2 /kvm/$kvname.qcow2 5G

[root@locahost ~]# virt-install –name $kvname –ram 2048 –vcpus 2 –os-type linux –os-variant rhel7 –arch=x86_64 –network network=default,model=virtio –disk path=/kvm/$kvname.qcow2,format=qcow2 \

–location /kvm/$ISO –console pty,target_type=serial –initrd-inject=/kvm/$ksname –extra-args=”console=ttyS0,115200n8 edd=off serial ks=file:/$ksname” –graphics none

 

五、重启虚拟机并连接:(宿主机)

# 安装完成后,按键Ctrl + ] 退出kvm虚拟机

# 密码在c7op.ks文件提前设置的

[root@locahost ~]# virsh destroy $kvname #强制关闭电源

[root@locahost ~]# cp /kvm/$kvname.qcow2{,.bak} #备份

[root@locahost ~]# ls -hl /kvm/$kvname*

[root@locahost ~]# virsh start $kvname #开启

[root@locahost ~]# virsh console $kvname #登录

 

六、时区配置:(虚拟机)

[root@CentOS7 ~]# rm -f /etc/localtime

[root@CentOS7 ~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

[root@CentOS7 ~]# ll /etc/localtime

 

七、使用阿里源:(虚拟机)

[root@CentOS7 ~]# [[ `uname -r` == *el6* ]] && { Ve=6; } || { Ve=7; }

[root@CentOS7 ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-$Ve.repo

[root@CentOS7 ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-$Ve.repo

[root@CentOS7 ~]# sed -i ‘/aliyuncs.com/d’ /etc/yum.repos.d/*.repo # 删除阿里内网地址#

[root@CentOS7 ~]# yum clean all

 

八、安装插件包:(虚拟机)

[root@CentOS7 ~]# yum install -y acpid cloud-init cloud-utils jq parted qemu-guest-agent

[root@CentOS7 ~]# [[ `uname -r` == *el6* ]] && { yum install -y dracut-modules-growroot; }

 

九、cloud-int开启root密码登录:(虚拟机)

[root@CentOS7 ~]# sed -i ‘s/disable_root: 1/disable_root: 0/g’ /etc/cloud/cloud.cfg

[root@CentOS7 ~]# sed -i ‘s/ssh_pwauth: 0/ssh_pwauth: 1/g’ /etc/cloud/cloud.cfg

[root@CentOS7 ~]# echo ‘NETWORKING=yes

NOZEROCONF=yes’>/etc/sysconfig/network

 

十、SSH配置:(虚拟机)

[root@CentOS7 ~]# sed -i ‘s/^PasswordAu.*$/PasswordAuthentication yes/’ /etc/ssh/sshd_config

[root@CentOS7 ~]# sed -i ‘s/^GSSAPIAuthentication yes/GSSAPIAuthentication no/’ /etc/ssh/sshd_config

[root@CentOS7 ~]# sed -i ‘s/^#UseDNS.*$/UseDNS no/’ /etc/ssh/sshd_config

[root@CentOS7 ~]# systemctl restart sshd

 

十 一、开机启动软件:(虚拟机)

[root@CentOS7 ~]# systemctl enable acpid cloud-init qemu-guest-agent

[root@CentOS7 ~]# sed -i ‘s/timeout=5/timeout=2/g’ /boot/grub2/grub.cfg

 

十二、清理垃圾数据:(虚拟机)

[root@CentOS7 ~]# yum clean all

[root@CentOS7 ~]# rm -rf /tmp/*

[root@CentOS7 ~]# rm -rf /root/*

[root@CentOS7 ~]# rm -f /var/log/wtmp /var/log/btmp

[root@CentOS7 ~]# >/var/log/cloud-init.log

 

十三、删除网卡信息:(虚拟机)

[root@CentOS7 ~]# sed -i ‘/HWADDR/d’ /etc/sysconfig/network-scripts/ifcfg-eth*

[root@CentOS7 ~]# sed -i ‘/UUID/d’ /etc/sysconfig/network-scripts/ifcfg-eth*

[root@CentOS7 ~]# >/etc/udev/rules.d/7*.rules

[root@CentOS7 ~]# history -c

[root@CentOS7 ~]# poweroff #关机

 

十四、清理任务后压缩文件:(宿主机)

[root@kvm ~]# virt-sysprep -d $kvname

[root@kvm ~]# virt-sparsify –compress /kvm/$kvname.qcow2 /kvm/$kvname-one.qcow2

 

十五、上传镜像到OpenStack:(控制节点)

[root@controller ~]# openstack image create “centos7.8” –file centos7-8-one.qcow2 –disk-format qcow2 –container-format bare –progress</kvm/centos7-8-one.qcow2

 

c7op.ks文件内容:

[root@kvm ~]# cat /kvm/c7op.ks

# centos 7 自动安装脚本

# openstack镜像制作,centos7自动安装ks脚本

# 使用实例

#by edison zhou

install

cdrom

text

keyboard us

lang en_US.UTF-8

authconfig –enableshadow –passalgo=sha512

rootpw 000000

skipx

timezone Asia/Shanghai –isUtc

firewall –enabled –port=22:tcp

selinux –disabled

firewall –disabled

#设置网络

bootloader –location=mbr –driveorder=sda,sdb #–append=”net.ifnames=0 biosdevname=0″

network –bootproto=dhcp –onboot=yes –nameserver=8.8.8.8

network –hostname=CentOS7

#分区

zerombr

clearpart –all –initlabel

#part /boot –asprimary –fstype=”ext4″ –size=300 –ondrive=sda

#part swap –fstype=”swap” –size=2048

part / –asprimary –fstype=xfs –grow –size=1

 

reboot

#安装的软件包

%packages

@base

@core

@fonts

net-tools

ntp

tree

wget

vim

openssh

%end

%post

%end

最后编辑:
作者:李国庆
这个作者貌似有点懒,什么都没有留下。
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

留下一个回复

你的email不会被公开。