linux運維、架構之路-Kickstart無人值守
阿新 • • 發佈:2017-11-06
text not pat eve ftp服務 boa 修改 vmlinuz clear
一、PXE介紹
PXE全名Pre-boot Execution Environment,預啟動執行環境;通過網絡接口啟動計算機,不依賴本地存儲設備或本地已安裝的操作系統;Client/Server的工作模式
二、PXE+Kickstart無人值守過程
三、PXE+Kickstart實現自動化安裝系統
1、環境
[root@m01 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@m01 ~]# uname -r 2.6.32-696.el6.x86_64 [root@m01 ~]# /etc/init.d/iptables status iptables: Firewallis not running. [root@m01 ~]# getenforce Disabled [root@m01 ~]# hostname -I 10.0.0.61 172.16.1.61
2、配置DHCP服務
yum install dhcp -y #安裝DHCP服務 cat >>/etc/dhcp/dhcpd.conf<<EOF subnet 172.16.1.0 netmask 255.255.255.0 { range 172.16.1.120 172.16.1.200; #可分配的地址池 option subnet-mask 255.255.255.0; #子網掩碼 default-lease-time 21600; #默認IP租用期限 max-lease-time 43200; #默認最大的IP租用期限 next-server 172.16.1.61; #指明tftp服務器的IP地址 filename "/pxelinux.0"; #告知客戶端從TFTP根目錄下載pxelinux.0文件 } EOF [root@m01 ~]# /etc/init.d/dhcpd start Starting dhcpd: [ OK ] [root@m01~]# lsof -i:67 #檢查dhcp服務是否啟動 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME dhcpd 27302 dhcpd 7u IPv4 132009 0t0 UDP *:bootps
3、配置tftp服務
[root@m01 ~]# yum -y install tftp-server [root@m01 ~]# sed -i ‘14s#yes#no#‘ /etc/xinetd.d/tftp [root@m01 ~]# /etc/init.d/xinetd start Starting xinetd: [ OK ] [root@m01 ~]# lsof -i:69 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME xinetd 27339 root 5u IPv4 132413 0t0 UDP *:tftp
4、配置HTTP服務
[root@m01 ~]# yum -y install httpd sed -i "277i ServerName 127.0.0.1:80" /etc/httpd/conf/httpd.conf #去掉提示信息 [root@m01 ~]# /etc/init.d/httpd start Starting httpd: [ OK ] [root@m01 ~]# mkdir -p /var/www/html/CentOS6.9 #創建鏡像目錄 [root@m01 ~]# mount /dev/cdrom /var/www/html/CentOS6.9 #掛載光盤到鏡像目錄 mount: block device /dev/sr0 is write-protected, mounting read-only [root@m01 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 6.9G 1.8G 4.8G 27% / tmpfs 242M 0 242M 0% /dev/shm /dev/sda1 190M 34M 146M 19% /boot /dev/sr0 3.7G 3.7G 0 100% /var/www/html/CentOS6.9
5、配置PXE啟動需要的文件
yum -y install syslinux #為了使用pxelinux.0而安裝的包 cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #復制pxe啟動文件 cp -a /var/www/html/CentOS6.9/isolinux/* /var/lib/tftpboot/ #從鏡像中復制相關文件 mkdir -p /var/lib/tftpboot/pxelinux.cfg cp /var/www/html/CentOS6.9/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default [root@m01 tftpboot]# ll /var/lib/tftpboot/ total 45356 -r--r--r-- 1 root root 2048 Mar 29 2017 boot.cat -r--r--r-- 1 root root 84 Mar 29 2017 boot.msg -r--r--r-- 1 root root 321 Mar 29 2017 grub.conf -r--r--r-- 1 root root 41587792 Mar 29 2017 initrd.img -r--r--r-- 1 root root 24576 Mar 29 2017 isolinux.bin -r--r--r-- 1 root root 923 Mar 29 2017 isolinux.cfg #修改此文件可以定制安裝系統界面 -r--r--r-- 1 root root 183012 Mar 29 2017 memtest -rw-r--r-- 1 root root 26759 Oct 11 05:56 pxelinux.0 drwxr-xr-x 2 root root 4096 Oct 11 05:56 pxelinux.cfg -r--r--r-- 1 root root 151230 Mar 29 2017 splash.jpg -r--r--r-- 1 root root 2215 Mar 29 2017 TRANS.TBL -r--r--r-- 1 root root 163728 Mar 29 2017 vesamenu.c32 -r-xr-xr-x 1 root root 4274992 Mar 29 2017 vmlinuz
此時打開瀏覽器輸入
6、配置ks.cfg文件
[root@m01 ks_config]# mkdir /var/www/html/ks_config/ -p
[root@m01 ks_config]# grub-crypt #設置加密密碼
Password:
Retype password:
$6$3SU6kWgqSBiRVqre$w8L3Tll51SaEWzxyOBDb8AxIT468hMj0hwmQXqAx1ozQKn3rXHRB7hvp6BewtFRlqljqCmTVvaGje5DQVNNXZ.
[root@m01 ks_config]# vi /var/www/html/ks_config/CentOS-6.9-ks.cfg # Kickstart Configurator for CentOS 6.9 by yan xinjiang install url --url="http://172.16.1.61/CentOS6.9/" text lang en_US.UTF-8 keyboard us zerombr bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" network --bootproto=dhcp --device=eth1 --onboot=yes --noipv6 --hostname=CentOS6 timezone --utc Asia/Shanghai authconfig --enableshadow --passalgo=sha512 rootpw --iscrypted $6$X20eRtuZhkHznTb4$dK0BJByOSAWSDD8jccLVFz0CscijS9ldMWwpoCw/ZEjYw2BTQYG WlgKsn945fFTjRC658UXjuocwJbAjVI5D6/ clearpart --all --initlabel [root@m01 ks_config]# cat /var/www/html/ks_config/CentOS-6.9-ks.cfg # Kickstart Configurator for CentOS 6.7 by yao zhang install url --url="http://172.16.1.61/CentOS6.9/" text lang en_US.UTF-8 keyboard us zerombr bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" network --bootproto=dhcp --device=eth1 --onboot=yes --noipv6 --hostname=CentOS6 timezone --utc Asia/Shanghai authconfig --enableshadow --passalgo=sha512 rootpw --iscrypted $6$X20eRtuZhkHznTb4$dK0BJByOSAWSDD8jccLVFz0CscijS9ldMWwpoCw/ZEjYw2BTQYGWlgKsn945fFTjRC658UXjuocwJbAjVI5D6/ clearpart --all --initlabel part /boot --fstype=ext4 --asprimary --size=200 part swap --size=1024 part / --fstype=ext4 --grow --asprimary --size=200 firstboot --disable selinux --disabled firewall --disabled logging --level=info reboot %packages #選擇安裝系統需要的一些庫和安裝包 @base @compat-libraries @debugging @development tree nmap sysstat lrzsz dos2unix telnet %post #可以安裝執行的腳本,可以把自己的優化放在其中 wget -O /tmp/optimization.sh http://172.16.1.61/ks_config/optimization.sh &>/dev/null /bin/sh /tmp/optimization.sh %end
7、配置default文件
[root@m01 ks_config]# cat /var/lib/tftpboot/pxelinux.cfg/default default ks prompt 0 label ks kernel vmlinuz append initrd=initrd.img ks=http://172.16.1.61/ks_config/CentOS-6.9-ks.cfg ksdevice=eth1
8、完成無人值守自動安裝系統
打開系統電源,喝個小茶,上個廁所回來系統就OK了
linux運維、架構之路-Kickstart無人值守