運維自動化之系統安裝
阿新 • • 發佈:2017-09-26
依賴網絡和不依賴網絡的自動化安裝系統
做一個完整版的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” 博客,謝絕轉載!
運維自動化之系統安裝