如何利用PXE+kickstart實現批量安裝系統
PXE網絡快速自動安裝系統,以下實驗環境均在RedHat 7.2
配置PXE網絡裝機服務器,為了避免防火墻與selinux的幹擾,改為信任以及寬松模式
1. 將防火墻狀態設置為trusted
2.SELinux當前修改為permissive
3.SELinux永久狀態修改為permissive
步驟一:構建DHCP服務,使客戶端自動獲取ip,
1. 服務器添加虛擬磁盤
2. 把光盤掛在在/mnt目錄下
mount /dev/cdrom /mnt/
3. 由於該服務器上沒有對應的yum倉庫,不能安裝dhcp所需軟件包,所以要配置yum倉庫, 增加一個名為rhel7.repo倉庫,命令如下
進入一個空白的文本,按i進入編輯模式,輸入如下
[rhel7] 倉庫的標識
name=rhel7
baseurl=file:///mnt 光盤掛載的目錄
enable=1 1為開機自啟動
gpgcheck=0 0為不檢查包
按Esc :wq 保存退出
4. 安裝dhcpd
Yum install –y dhcp
5.
配置文件 /etc/dhcp/dhcpd.conf
[root@svr7 /]# vim /etc/dhcp/dhcpd.conf
:r /usr/share/doc/dhcp*/dhcpd.conf.example #讀入其他文件(末行模式輸入)只留以下內容)
subnet 192.168.4.0 netmask 255.255.255.0 { #分配的網段
range 192.168.4.100 192.168.4.200; #分配的IP地址範圍
option routers 192.168.4.254; #分配網關
default-lease-time 600; #IP地址默認租用時間
max-lease-time 7200; #IP地址租用最大時間
next-server 192.168.4.7; #指定下一個服務器IP地址,
filename "pxelinux.0"; 若dhc不是同一臺服務器提供,
} 則填的是提供tftp所在服務器ip
#指定網卡引導文件,文件名稱
6.起服務 ,開機自啟動dhcpd
[root@svr7 /]# systemctl restart dhcpd
[root@svr7 /]# systemctl enable dhcpd
註:pxelinux.0(網卡引導文件):安裝說明書,二進制文件
二、搭建TFTP服務
TFTP:簡單的文件傳輸協議 端口:69
服務端程序:tftp-server 服務名:tftp
默認共享路徑: /var/lib/tftpboot
1.安裝tftp-server
yum install -y tftp-server
2.啟動tftp服務,並設置為開機自起
# systemctl restart tftp
# systemctl enable tftp
3. 部署pxelinux.0文件
# yum provides */pxelinux.0 #查詢倉庫中哪一個包產生該文件
# yum -y install syslinux #安裝提供上續文件的syslinux包
# rpm -ql syslinux #查詢軟件包,安裝清單
# rpm -ql syslinux | grep pxelinux.0 #查看該文件所在的路徑
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #復制文件到tftp的默認路徑
# ls /var/lib/tftpboot/
4.部署default默認的菜單文件
# mkdir /var/lib/tftpboot/pxelinux.cfg
# mount /dev/cdrom /mnt/
# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #將配 置文件復制到tftp默認路徑pxelinux.cfg/下並改名為default
# ls -l /var/lib/tftpboot/pxelinux.cfg/default
# chmod 644 /var/lib/tftpboot/pxelinux.cfg/default #賦予讀寫權限
# ls -l /var/lib/tftpboot/pxelinux.cfg/default
5.部署 圖形的模塊 vesamenu.c32
# ls /mnt/isolinux/
# cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/
# ls /var/lib/tftpboot/
6.修改菜單文件/var/lib/tftpboot/pxelinux.cfg/default
# vim /var/lib/tftpboot/pxelinux.cfg/default
......
11 menu title Redhat7.2 #給菜單文件改名或者默認
61 label linux
62 menu label Install RHEL7
menu default #選擇默認的第一啟動
63 kernel vmlinuz #內核啟動文件
64 append initrd=initrd.img #驅動程序
往下的可以刪除
7.部署啟動內核與驅動程序
#cp /mnt/isolinux/initrd.img /mnt/isolinux/vmlinuz
# ls /var/lib/tftpboot/
initrd.img pxelinux.cfg vmlinuz pxelinux.0 vesamenu.c32
三、FTP服務,傳輸RPM包
1..安裝vsftpd軟件
yum install -y vsftpd
2.搭建vsftpd服務,共享光盤所有內容
[root@svr7 /]# mkdir /var/ftp/rhel7
[root@svr7 /]# mount /dev/cdrom /var/ftp/rhel7
3.設置vsftpd服務啟動,設置為開機自起動
#systemctl restart vsftpd
#systemctl enable vsftpd
4.共享光盤所有內容
# ls /var/ftp/rhel7
# firefox ftp://192.168.4.7/rhel7 #本地通過ftp訪問光盤目錄
四、無人值守安裝,生成應答文件
1.圖形生成應答文件程序:system-config-kickstart
#yum install -y system-config-kickstart #安裝生成應答文件程序
2.運行圖形程序:system-config-kickstart 由於RedHat7的系統bug,在軟件包這裏讀取不成功,這時候需要把/etc/yum.repo.d/rhel7 的倉庫標識改為 [development]
(1)倉庫標識改為[development]
(2)配置語言、時區、根密碼,選擇安裝後重新引導系統
(3)選擇安裝方式、以及安裝方法(本次是通過ftp安裝)
(4.)選擇引導裝載程序選項
(5)初始化以及按自己的需求添加分區
(6)添加網絡設備
(7)把防火墻以及selinux禁止
(8)選擇修改完選項。點左上角文件,把該配置文件保存在本地/root 文件名默認為ks.cfg
3.查看服務器本地root下生成的ks.cfg文件
[root@svr7 /]# ls /root/ks.cfg
4.搭建vsftpd服務,共享應答文件
[root@svr7 /]# cp /root/ks.cfg /var/ftp/
[root@svr7 /]# ls /var/ftp/
五、通過菜單指定ks.cfg應答文件
[root@svr7 /]# vim /var/lib/tftpboot/pxelinux.cfg/default
label linux
menu label Install RHEL7
kernel vmlinuz
append initrd=initrd.img ks=ftp://192.168.4.7/ks.cfg
label local
menu label Boot from local drive
menu default
localboot 0xffff
六、把需要安裝的服務器接線,開機啟動就可以自動安裝系統
本文出自 “從零開始” 博客,請務必保留此出處http://liangqing.blog.51cto.com/13410623/1983676
如何利用PXE+kickstart實現批量安裝系統