1. 程式人生 > >運維自動化之系統安裝

運維自動化之系統安裝

依賴網絡和不依賴網絡的自動化安裝系統


做一個完整版的iso,不依賴於網絡技術分享


1 準備相關文件,yum源



mkdir /app/fulliso
cp -r /misc/cd  /app/fulliso

這裏要註意,因為沒有隱藏文件拷過來所以在考將/misc/cd裏的隱藏文件拷過來ls -a後就可以看到隱藏文件

cp .treeinfo .discinfo /app/fulliso/
rm -rf /app/fulliso/repodata/*

在repodate裏面有一個沒有壓縮的那個文件拷貝過來

cp /misc/cd/repodata/*777d-c6-x86_64-comps.xml /app/fulliso/repodata/
cd /app/fulliso

*777d-c6-x86_64-comps.xml)這一長串是放包組信息的,要依賴這個包租創建yum源數據。

然後創建yum源

createrepo -g repodata/*777d-c6-x86_64-comps.xml   ./

-g指定包組的文件名,根據它來創建yum源

find /app/fulliso  -name TRANS.TBL -exec rm {} \

;待會這個文件會自動生成所以先刪除

2 準備ks文件



cp /root/anaconda-ks.cfg /app/fulliso然後改名為ks.cfg
vim  /app/fulliso/ks6.cfg

下述就是修改該應答文件的內容,其他默認就好了

selinux --disabled
zerombr
 clearpart --all
 text
 reboot
 part /boot --fstype=ext4 --size=1000
  part / --fstype=ext4 --size=50000
 part /app --fstype=ext4 --size=40000
 part swap --size=2048
 %post
 rm -rf /etc/yum.repos.d/*
 cat > /etc/yum.repos.d/base.repo <<eof
 [base]
 name=base
 baseurl=file:///misc/cd
 gpgcheck=0
eof
 %end

3 定制啟動菜單



vim  /app/fulliso/isolinux/isolinux.cfg
default vesamenu.c32
label desktop自動化安裝
  menu label Install an ^desktop system
  kernel vmlinuz
  append initrd=initrd.img ks=cdrom:/ks6.cfg
label mini最小化安裝
  menu label Install an m^ini system
  kernel vmlinuz
  append initrd=initrd.img ks=cdrom:/ks6-mini.cfg
label manual手動安裝
  menu label ^Manual install an  system
  kernel vmlinuz
  append initrd=initrd.img 
label local本地安裝
  menu label Boot from ^local drive
  menu default
  localboot 0xffff

4 制作ISO文件



mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 autoinstall" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/centos6.iso /app/fulliso/

制作完之後就可以將iso文件導出,用一個新的centos系統就可以嘗試安裝了!


PXE自動化安裝CentOS 7技術分享


1 安裝前準備:關閉防火墻和SELINUX,DHCP服務器靜態IP

2 安裝相關軟件包



yum install httpd tftp-server dhcp syslinux

3 配置DHCP服務



vim /etc/dhcp/dhcpd.conf
subnet 192.168.96.0 netmask 255.255.255.0 {
        range 192.168.96.50 192.168.96.100;
        next-server 192.168.96.7;
        filename "pxelinux.0";
}
systemctl enable dhcpd
systemctl start dhcpd


4 配置文件共享服務和yum源



在httpd服務中準備yum源

systemctl enable httpd
systemctl start httpd
cd /var/www/html
mkdir /var/www/html/centos/7
mkdir /var/www/html/mkdir 專門放置應答文件
mount /dev/sr0 /var/www/html/centos/7

5 準備kickstart文件



cp /root/anaconda-ks.cfg   /var/www/html/ksdir/ks7-1.cfg
chmod +r /var/www/html/ksdir/ks7-1.cfg
vim /var/www/html/ksdir/ks7-1.cfg 
selinux --disabled
zerombr
 clearpart --all
 text
 Reboot
autofs
systemctl enable autofs 
 part /boot --fstype=ext4 --size=1000
part / --fstype=ext4 --size=50000
 part /app --fstype=ext4 --size=40000
 part swap --size=2048
%post
 rm -rf /etc/yum.repos.d/*
 cat > /etc/yum.repos.d/base.repo <<eof
 [base]
 name=base
 baseurl=file:///misc/cd
 gpgcheck=0
eof
%end


6 配置tftp服務



systemctl enable tftp.socket
systemctl start tftp.socket

7準備PXE相關文件



mkdir/var/lib/tftpboot/pxelinux.cfg/
yum install syslinux -y
cp/usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/
cp/misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/
cp/misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

8制作啟動菜單文件



vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 600
menu title CentOS Linux 7 PXE Install
label desktop
  menu label Auto Install CentOS Linux 7  ^Desktop
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.25.107/ksdir/ks7-1.cfg
label mini
  menu label Auto Install CentOS Linux 7  M^ini
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.25.107/ksdir/ks7-2.cfg
label manual
  menu label ^Manual Install CentOS Linux 7 
  kernel vmlinuz
  append initrd=initrd.img inst.repo=http://192.168.25.107/centos/7
label local
  menu default
  menu label Boot from ^local drive
  localboot 0xffff
menu end

完成上述配置後,就可以利用網絡來自動安裝了,其中涉及到了三個服務,httpd,tftp,dhcp服務。
在本文中只介紹了兩種自動化安裝方法,當然還有很多方法,可以根據自己的興趣去研究




本文出自 “13147090” 博客,謝絕轉載!

運維自動化之系統安裝