1. 程式人生 > >如何利用PXE+kickstart實現批量安裝系統

如何利用PXE+kickstart實現批量安裝系統

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倉庫,命令如下

vim /etc/yum.repos.d/rhel7.repo

進入一個空白的文本,按i進入編輯模式,輸入如下

[rhel7] 倉庫的標識

name=rhel7

baseurl=file:///mnt 光盤掛載的目錄

enable=1 1為開機自啟動

gpgcheck=0 0為不檢查包

Esc wq 保存退出

4. 安裝dhcpd

服務所需要的dhcp

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 domain-name-servers 8.8.8.8; #分配DNS

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實現批量安裝系統