運維工具---PXE+KICKSTART

系統安裝(物理機、虛擬機)-->程序安裝、配置、服務啓動-->批量操作-->程序發佈

程序發佈:不能降低用戶體驗、系統不能停機、不能導致系統故障或者系統完全不可用

灰度發佈模型:

通過調度器將線上的一批服務器(maintanance)標記爲down模式-->關閉相應服務-->部署新版本的應用程序至目標位置-->啓動相關應用-->調度主機上線

一、運維工具

1、系統安裝工具----pxe/cobbler;雲上的一般可以用鏡象工具

2、configuartion(配置工具)----puppet/saltstack

3、command and control(命令控制工具)----fabric/ansible

4、監控工具

二、PXE系統工具

1、pxe自啓動安裝過程

三、pxe+kickstart安裝需求

  • ks文件
  • DHCP服務器
  • TFTP服務器
  • HTTP服務器/VSFTP服務器
  • 網上啓動
  • YUM倉庫安裝源

1、操作步驟

[root@localhost ~]# mount /dev/sr0 /mnt/           #掛載安裝包
[root@localhost ~]# yum install -y httpd createrepo    #安裝httpd服務和createrepo工具
[root@localhost ~]# mkdir /var/www/html/CentOS-7-x86_64       #創建鏡象目錄
[root@localhost mnt]# cp -a /mnt/* /var/www/html/CentOS-7-x86_64/   #複製安裝源
[root@localhost ~]# yum install -y tftp-server dhcp xinetd   #安裝tftp服務、dhcp服務、xinetd服務
1、配置tftp
[root@localhost ~]# vi /etc/xinetd.d/tftp       #編輯tftp配置
disable                 = no                    #將此項設置爲no

2、配置dhcp
[root@localhost ~]# cd /usr/share/doc/dhcp-4.2.5/
[root@localhost dhcp-4.2.5]# cp dhcpd.conf.example /etc/dhcp/dhcpd.conf
[root@localhost mnt]# vi /etc/dhcp/dhcpd.conf    #編輯dhcp的配置
subnet 192.168.1.0 netmask 255.255.255.0 {
  range dynamic-bootp 192.168.1.100 192.168.1.160;
  option subnet-mask 255.255.255.0;
  next-server 192.168.1.200;
  filename "pxelinux.0";
}                    #配置如上

3、創建YUM源
[root@localhost ~]# createrepo -pdo /var/www/html/CentOS-7-x86_64/ /var/www/html/CentOS-7-x86_64/
[root@localhost ~]# createrepo -g `ls /var/www/html/CentOS-7-x86_64/repodata/*-comps.xml` /var/www/html/CentOS-7-x86_64/ 

4、放置kickstart文件
[root@localhost ~]# cp anaconda-ks.cfg /var/www/html/CentOS-7-x86_64/CentOS-7-x86_64.cfg     #複製Kickstart文件
#修改kickstart文件
install
url --url=http://192.168.1.200/CentOS-7-x86_64
text
lang en_US.UTF-8
zerombr

keyboard --vckeymap=us --xlayouts='us'

bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" --location=mbr --driveorder=sda

network  --bootproto=dhcp --device=ens33 --onboot=yes --ipv6=auto
network  --hostname=localhost.localdomain

timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
# Root password
rootpw --iscrypted $6$owQPyZivFxNiiZBP$D59x8aUycBnyxJYMyf9TdsWu9UDA5xu9msyTexIlyAJdMGbo6L/5dkN1TswpAaVMWJW6brZE08MbQuvQbbpbR.

clearpart --all --initlabel
# Disk partitioning information
part / --fstype="xfs" --ondisk=sda --size=17407
part /boot --fstype="xfs" --ondisk=sda --size=1024
part swap --fstype="swap" --ondisk=sda --size=2048

services --enabled="chronyd"
firstboot --disable
selinux --disabled
firewall --disabled
logging --level=info
reboot


%packages
@^minimal
@core
chrony
kexec-tools

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
[root@localhost CentOS-7-x86_64]# chmod 766 CentOS-7-x86_64.cfg   #更改權限

5、準備tftp文件
[root@localhost ~]# yum install -y syslinux
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost /]# cp /mnt/isolinux/* /var/lib/tftpboot/
[root@localhost /]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost /]# cd /var/lib/tftpboot/pxelinux.cfg/
[root@localhost pxelinux.cfg]# cp /mnt/isolinux/isolinux.cfg default
[root@localhost pxelinux.cfg]# vi default  #編輯文件
label ks
  menu label ^AUTO Install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.1.200/CentOS-7-x86_64/CentOS-7-x86_64.cfg    #添加如上內容

KICKSTRT基於UEFI GTP分區的KS文件

install
url --url=http://192.168.1.200/CentOS-7-x86_64
text
keyboard us
lang en_US.UTF-8
bootloader --location=mbr            
zerombr
clearpart --all --initlabel
part /boot/efi --fstype efi --size 200 --asprimary --ondisk sda
part /boot --fstype xfs --size 500 --ondisk sda
part swap --size 1024 --ondisk sda
part / --fstype xfs --size 8192 --ondisk sda
part /home --fstype xfs --size 1 --grow --ondisk sda
network  --bootproto=dhcp --device=enp0s3 --onboot=yes --noipv6 --hostname=CentOS7
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
rootpw --iscrypted $6$owQPyZivFxNiiZBP$D59x8aUycBnyxJYMyf9TdsWu9UDA5xu9msyTexIlyAJdMGbo6L/5dkN1TswpAaVMWJW6brZE08MbQuvQbbpbR.
logging --level=info

%pre
parted -s /dev/sda mklabel gpt
%end

%packages            
@^minimal
@core
chrony
kexec-tools
%end

reboot

UEFI GTP分區 ks 文件

2、啓動服務

  • systemctl start dhcpd
  • systemctl start tftp
  • systemctl start xinetd
  • systemctl start httpd

3、測試成功後(經測試可用),加入開機息啓動

  • systemctl enable dhcpd
  • systemctl enable tftp
  • systemctl enable xinetd
  • systemctl enable httpd
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章