搭建PXE自动安装centos
前段時間想學習PXE安裝機器,搜了一下發現很零散,自己磕磕絆絆學習,最終成功,總結了一下搭建PXE的搭建過程。
使用虛擬機安裝centos7將內存調整為2G,設置1G會出錯
1、部署DHCP服務
安裝DHCP
注意DHCP服務器分配的地址段要與服務器網卡IP為同一地址段
編輯DHCP服務vi /etc/dhcp/dhcpd.conf
allow booting;
allow bootp;
ddns-update-style interim;
ignore client-updates;
subnet 192.168.44.0 netmask 255.255.255.0{
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.44.2;
range dynamic-bootp 192.168.44.150 192.168.44.200; //DHCP地址范圍
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.44.2; //指定tftp服務器地址
filename “pxelinux.0”;
}
重啟服務:systemctl restart dhcpd
2、部署TFTP服務
安裝TFTP服務器和xined服務
vi /etc/xinetd.d/tftp
//將disabled的值改為no
重啟服務:systemctl restart xinetd
重啟服務:systemctl restart tftp
3、部署SYSLinux服務
將相關引導文件復制到tftp目錄以供客戶端下載(將系統提前掛載至/media/cdrom)
cd /var/lib/tftpboot //TFTP的servier目錄
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot //安裝完syslinux后出現的文件
將系統鏡像中的文件拷貝到tftp目錄中
cp /media/cdrom/images/pxeboot/vmlinux /var/lib/tftpboot
cp /media/cdrom/images/pxeboot/initrd.img /var/lib/tftpboot
cp /media/cdrom/isolinux/vesamenu.c32 /var/lib/tftpboot
將引導模板復制到tftp目錄
cd /var/lib/tftpboot
mkdir pxelinux.cfg
cp /media/cdrom/isolinux.cfg pxelinux/default //j將isolinux.cfg復制過來并重命名為default
編輯引導文件模板
vim pxelinux.cfg/default
第一行修改為default linux,并注釋default vesamenu.c32
第64行修改為 :append initrd=initrd.img inst.stage2=http://192.168.44.2/cdrom ks=http://192.168.44.2/ks.cfg //注釋原行
如果不使用自動部署 inst.stage2應該改為inst.repo
4、部署http服務
將root目錄下的anaconda-ks.cfg文件復制到/var/www/html/目錄下并重命名ks.cfg
將第5行原cdrom刪除改為url --url=http://192.168.44.2/cdrom
network --onboot yes --device eth0 --bootprotp dhcp // 給服務器自動分配IP,如果固定IP地址同時安裝會出現沖突,到了安裝階段會給網卡分配IP獲取安裝源,所以使用dhcp分配IP
將這一行注釋network --bootproto=static --device=ens34 --gateway=192.168.182.1 --ip=192.168.182.111 --netmask=255.255.255.0 --ipv6=auto --activate
注意,這里將光盤鏡像掛載到/var/www/html/cdrom目錄下,打開瀏覽器訪問http://192.168.44.2/cdrom應出現如下界面
5、使用kickstart創建ks.cfg文件
創建ks.cfg文件方法
1、安裝完一臺服務器拷貝/root/anaconda.cfg文件,修改url如上述步驟所示;
方法2:手動創建ks.cfg文件;
方法3、使用kickstart圖形界面創建
下面介紹使用圖形界面創建ks.cfg文件過程
安裝kickstart,yum install system-config-kickstart
配置本地yum源
vim /etc/yum.repo/新建名.repo
添加配置:
————————————————————————————————
[development] //一定為這個名稱,不然kickstar無法選擇安裝包
name=red hat 777 //yum源名稱
baseurl=file:///mnt/cdrom //鏡像掛載位置
gpgcheck=0 //開啟校驗
enable=1 //啟用這個yum源
————————————————————————————————
更新yum源:
yum clean all
yum makecache
輸入system-config-kickstart可以打開圖形界面定制ks.cfg
—————————————————————————————————
ks.cfg具體名稱含義
關鍵字 含義
install 告知安裝程序,這是一次全新安裝,而不是升級upgrade。
url --url=" " 通過FTP或HTTP從遠程服務器上的安裝樹中安裝。
url --url=“http://10.0.0.7/CentOS-6.7/”
url --url ftp://:@/
nfs 從指定的NFS服務器安裝。
nfs --server=nfsserver.example.com --dir=/tmp/install-tree
text 使用文本模式安裝。
lang 設置在安裝過程中使用的語言以及系統的缺省語言。lang en_US.UTF-8
keyboard 設置系統鍵盤類型。keyboard us
zerombr 清除mbr引導信息。
bootloader 系統引導相關配置。
bootloader --location=mbr --driveorder=sda --append=“crashkernel=auto rhgb quiet”
–location=,指定引導記錄被寫入的位置.有效的值如下:mbr(缺省),partition(在包含內核的分區的第一個扇區安裝引導裝載程序)或none(不安裝引導裝載程序)。
–driveorder,指定在BIOS引導順序中居首的驅動器。
–append=,指定內核參數.要指定多個參數,使用空格分隔它們。
network 為通過網絡的kickstart安裝以及所安裝的系統配置聯網信息。
network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 --hostname=CentOS6
–bootproto=[dhcp/bootp/static]中的一種,缺省值是dhcp。bootp和dhcp被認為是相同的。
static方法要求在kickstart文件里輸入所有的網絡信息。
network --bootproto=static --ip=10.0.0.100 --netmask=255.255.255.0 --gateway=10.0.0.2 --nameserver=10.0.0.2
請注意所有配置信息都必須在一行上指定,不能使用反斜線來換行。
–ip=,要安裝的機器的IP地址.
–gateway=,IP地址格式的默認網關.
–netmask=,安裝的系統的子網掩碼.
–hostname=,安裝的系統的主機名.
–onboot=,是否在引導時啟用該設備.
–noipv6=,禁用此設備的IPv6.
–nameserver=,配置dns解析.
timezone 設置系統時區。timezone --utc Asia/Shanghai
authconfig 系統認證信息。authconfig --enableshadow --passalgo=sha512
設置密碼加密方式為sha512 啟用shadow文件。
rootpw root密碼
clearpart 清空分區。clearpart --all --initlabel
–all 從系統中清除所有分區,–initlable 初始化磁盤標簽
part 磁盤分區。
part /boot --fstype=ext4 --asprimary --size=200
part swap --size=1024
part / --fstype=ext4 --grow --asprimary --size=200
–fstype=,為分區設置文件系統類型.有效的類型為ext2,ext3,swap和vfat。
–asprimary,強迫把分區分配為主分區,否則提示分區失敗。
–size=,以MB為單位的分區最小值.在此處指定一個整數值,如500.不要在數字后面加MB。
–grow,告訴分區使用所有可用空間(若有),或使用設置的最大值。
firstboot 負責協助配置redhat一些重要的信息。
firstboot --disable
selinux 關閉selinux。selinux --disabled
firewall 關閉防火墻。firewall --disabled
logging 設置日志級別。logging --level=info
reboot 設定安裝完成后重啟,此選項必須存在,不然kickstart顯示一條消息,并等待用戶按任意鍵后才重新引導,也可以選擇halt關機
%packages #包組段 的開始 @ 表示是表明這是包組
@base
@compat-libraries
@debugging
@development
tree #這幾個都是鏡像里邊有的
nmap
sysstat
lrzsz
dos2unix
telnet
post 是腳本段的開始
用的較多 之前的命令都執行完了之后,在執行一些想要執行的命令,裝完系統后需要安裝什么,或者是需要執行什么命令,都可以在這里添加上執行 。是在客戶端執行
%post
腳本放置位置
%end
————————————————
總結
以上是生活随笔為你收集整理的搭建PXE自动安装centos的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .htaccess文件
- 下一篇: 网络安全乱流,超级保护才是根本