一、安装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
- 本文固定链接: https://www.gayj.cn/?p=784
- 转载请注明: https://www.gayj.cn/