日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

CentOS 6.5自动化运维之基于DHCP和TFTP服务的PXE自动化安装centos操作系统详解

發(fā)布時(shí)間:2025/3/17 windows 68 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CentOS 6.5自动化运维之基于DHCP和TFTP服务的PXE自动化安装centos操作系统详解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前言
? ?如果要給很多臺(tái)客戶端主機(jī)安裝操作系統(tǒng),要是每一臺(tái)都拿張安裝光盤一臺(tái)一臺(tái)主機(jī)的去裝系統(tǒng)那就太浪費(fèi)時(shí)間和精力了。在生產(chǎn)環(huán)境中也不實(shí)際,要實(shí)現(xiàn)為多臺(tái)主機(jī)自動(dòng)安裝操作系統(tǒng),那我們?cè)趺磳?shí)現(xiàn)自動(dòng)化安裝呢,這就要來(lái)講講PXE了,PXE就是為這種給多臺(tái)主機(jī)自動(dòng)化安裝操作系統(tǒng)而生的,那接下來(lái)我們就來(lái)基于DHCP完成自動(dòng)化為多臺(tái)主機(jī)安裝操作系統(tǒng)。


正文
? ?要實(shí)現(xiàn)自動(dòng)安裝之前先確保幾個(gè)包已經(jīng)安裝好了:
? ?1、DHCP:動(dòng)態(tài)主機(jī)配置協(xié)議、他是使用UDP協(xié)議工作的
? ?2、tfpt-server:這個(gè)是服務(wù)器端提供需要的安裝的包
? ?3、xinetd:這個(gè)是喚醒tftp這個(gè)服務(wù)的服務(wù)
? ?4、syslinux:這個(gè)程序包是提供pxelinux.0
? ?5、準(zhǔn)備安裝樹(shù)、就是要安裝的各種rpm包、centos6.5安裝光盤


基本原理及工作流程:
? ?首先,在客戶端主機(jī)的網(wǎng)卡要支持網(wǎng)絡(luò)引導(dǎo),當(dāng)開(kāi)機(jī)時(shí)網(wǎng)卡就會(huì)激活當(dāng)中的程序,自行通過(guò)網(wǎng)絡(luò)向DHCP請(qǐng)求IP地址,并配置在自己的網(wǎng)卡上。
? ?其次,DHCP服務(wù)器回應(yīng)給我們的主機(jī),分配了IP地址,掩碼,網(wǎng)管等網(wǎng)絡(luò)相關(guān)參數(shù),再讓DHCP服務(wù)器告訴我們的客戶端主機(jī)tftp服務(wù)器在什么位置。
? ?接著,客戶端主機(jī)就去請(qǐng)求tftp服務(wù)器,當(dāng)然,這里的DHCP服務(wù)器和tftp服務(wù)器可以是同一臺(tái),也可以不是同一臺(tái),看情況而定。
? ?而后,tftp服務(wù)器就會(huì)給客戶端主機(jī)提供一個(gè)pxe的文件、這個(gè)文件就是pxelinux.0,他相當(dāng)于我們的bootloader、而這個(gè)文件是由syslinux這個(gè)程序包提供的。
? ?再則,客戶端主機(jī)利用tftp服務(wù)器提供的pxelinux.0這個(gè)文件,再次嘗試到tftp服務(wù)器上獲取內(nèi)核,因?yàn)橐獑?dòng)安裝就要啟用引導(dǎo)內(nèi)核。
? ?之后,當(dāng)引導(dǎo)內(nèi)核啟動(dòng)后,客戶端主機(jī)通過(guò)改名后的default(由pxelinux.0改名而來(lái))文件成功的引導(dǎo)Linux安裝內(nèi)核后,通過(guò)httpd服務(wù)獲取該文件中指定的自動(dòng)應(yīng)答文件ks.cfg所在位置,根據(jù)該位置請(qǐng)求下載該文件。
? ?最后,將ks.cfg文件下載回來(lái)后,通過(guò)該文件找到ks.cfg文件的配置請(qǐng)求下載安裝過(guò)程所需要的軟件包,這樣就可以實(shí)現(xiàn)生動(dòng)化安裝了。




自動(dòng)化安裝過(guò)程實(shí)現(xiàn):


1、將光盤做成yum源:

# cd /etc/yum.repos.d/
# vim media.repo

[base1] name=media baseurl=file:///mnt enabled=1 gpgcheck=0 cost=100
# yum clean all

2、安裝并配置DHCP和httpd服務(wù)

? ?# yum -y install dhcp httpd


? ?安裝好dhcp之后、就去配置dhcp服務(wù)里的一些參數(shù)了、能讓dhcp服務(wù)告訴客戶端主機(jī)tftp服務(wù)器在什么位置,用net-server IP設(shè)定、還要設(shè)定文件名為pxelinux.0、這些設(shè)定可以放在全局、也可以放在某個(gè)子網(wǎng)中,復(fù)制/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample文件替換原配置文件/etc/dhcp/dhcpd.conf、然后編輯/etc/dhcp/dhcpd.conf
? ?# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
? ?# vim /etc/dhcp/dhcpd.conf


將subnet 10.152.187.0 netmask 255.255.255.0 {
}
段以后不是以#開(kāi)頭的內(nèi)容注釋掉
:,.$s/^[^#]/#&/g?

:set nohlsearch ?#去掉編輯器顏色


subnet 192.168.8.0 netmask 255.255.255.0 { # 定義網(wǎng)段、掩碼range 192.168.8.210 192.168.8.215; # 地址池option routers 192.168.8.254; # 網(wǎng)關(guān)next-server 192.168.8.42; # tftp服務(wù)器filename "pxelinux.0"; }



配置完成后,啟動(dòng)DHCP服務(wù),并將它設(shè)為開(kāi)機(jī)自啟動(dòng)、也重啟一下dhcp服務(wù)
# service dhcpd restart
# chkconfig dhcpd on
# chkconfig --list dhcpd
dhcpd ? ? ? ? ?0:off1:off2:on3:on4:on5:on6:off


3、安裝tftp服務(wù)

由于tftp服務(wù)由xinetd服務(wù)管理并由xinetd來(lái)喚醒的、所以也要安裝xinetd服務(wù)、tftp-server是服務(wù)器端要安裝的、tftp是客戶端要安裝的。

? ?# yum -y install tftp-server
? ?# yum -y install xinetd
看一下安裝完后生成的文件、有幾個(gè)我們需要關(guān)注一下的:


然后啟動(dòng)這兩個(gè)服務(wù):
? ?# chkconfig tftp on
? ?# service xinetd restart


在這里我們應(yīng)該掛載我們的安裝光盤、我這里的安裝光盤已經(jīng)掛載好了:


# mount /dev/cdrom /mnt

4、準(zhǔn)備自動(dòng)安裝系統(tǒng)需要的啟動(dòng)內(nèi)核及其他文件

現(xiàn)在我們從剛掛載的光盤中開(kāi)始復(fù)制內(nèi)核文件以及init等一些文件到/tftp/lib/tftpboot目錄下:

# cp /mnt/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/ # cp /mnt/isolinux/boot.msg /var/lib/tftpboot/ # cp /mnt/isolinux/splash.jpg /var/lib/tftpboot/ # cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/
還要復(fù)制一個(gè)叫pxelinux.0這個(gè)文件、這個(gè)文件是由syslinux提供的、要安裝這個(gè)程序包才會(huì)有這個(gè)文件,那我們就裝吧!
# yum -y install syslinux


安裝好了之后就復(fù)制這個(gè)文件吧:
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/


在這里pxelinux.0取代了isolinux、他工作時(shí)要依賴的配置文件叫isolinux.cfg,雖然pxelinux.0取代了isolinux、但是依然需要一個(gè)配置文件、這樣我們就復(fù)制isolinux.cfg到/var/lib/tftpboot/pxelinux.cfg/目錄下、這里pxelinux.cfg目錄要我們事先創(chuàng)建好、同時(shí)復(fù)制過(guò)來(lái)的配置文件要改名為default:

# cd /var/lib/tftpboot/ # mkdir pxelinux.cfg # cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

5、配置自動(dòng)化安裝kickstart文件

此時(shí)還需要系統(tǒng)能夠自動(dòng)化安裝,我們還沒(méi)有ks自動(dòng)應(yīng)答文件,也沒(méi)有安裝樹(shù)、在安裝時(shí)必須提供所依賴的各種rpm包,我們知道HTTP可以向外提供安裝樹(shù)、那就用到我們的httpd了、我這里已經(jīng)安裝好了httpd服務(wù)了,httpd的服務(wù)路徑在/var/www/html下、這時(shí)我們可以綁定我們之前掛載好的光盤到這個(gè)目錄,這樣就有安裝樹(shù)了,當(dāng)然在html下創(chuàng)建個(gè)目錄會(huì)好點(diǎn),這里我們創(chuàng)建成centos6.5:
? ?# mkdir /var/www/html/centos6.5
? ?# mount --bind /mnt/ /var/www/html/centos6.5/


啟動(dòng)httpd服務(wù),并檢查80端口是否正常啟用:
# service httpd start
# ss -tnl


這樣子文件共享服務(wù)就設(shè)定OK了,可以用:http://本機(jī)服務(wù)器IP地址/centos6.5
這樣就可以訪問(wèn)得到了,安裝樹(shù)安裝完成


接下來(lái)我們需要使用system-config-kickstart來(lái)定制我們的kickstart.cfg文件,建議也使用/root/anaconda-ks.cfg作為模板來(lái)進(jìn)行


# cp anaconda-ks.cfg ks.cfg


安裝kickstart工具
# yum install -y system-config-kickstart
啟動(dòng)配置工具進(jìn)行配置
# system-config-kickstart &
驗(yàn)證文件是否OK
# ksvalidator ks.cfg

提供ks.cfg文件供參考(這個(gè)安裝模板是基本服務(wù)軟件包安裝)
# cat ks.cfg

# Kickstart file automatically generated by anaconda.#version=DEVEL install url --url=http://192.168.8.42/centos6.5 lang en_US.UTF-8 keyboard us network --onboot yes --device eth0 --bootproto dhcp --noipv6 rootpw --iscrypted $6$Zo9OJ.qLqnykyR3A$oMfNInpeoBafrlems1hl/yb4Qast3q4AXTloF7ZdqbszFmYlG9cLYgobocFBsc11wGGy/nleM8liSRU.kqvsy0 reboot firewall --disabled authconfig --enableshadow --passalgo=sha512 selinux --disabled timezone --utc Asia/Shanghai bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" # The following is the partition information you requested # Note that any partitions you deleted are not expressed # here so unless you clear all partitions first, this is # not guaranteed to work clearpart --all zerombr textpart /boot --fstype=ext4 --size=300 part pv.008002 --grow --size=61440volgroup vg_node4 --pesize=8192 pv.008002 logvol /data --fstype=ext4 --name=data --vgname=vg_node4 --size=20000 logvol / --fstype=ext4 --name=root --vgname=vg_node4 --size=20000 logvol swap --name=swap --vgname=vg_node4 --size=4000 logvol /usr/local --fstype=ext4 --name=usr --vgname=vg_node4 --size=10000 logvol /web --fstype=ext4 --name=web --vgname=vg_node4 --size=20000repo --name="CentOS" --baseurl=http://192.168.8.42/centos6.5 --cost=100%packages @base @console-internet @core @debugging @directory-client @hardware-monitoring @java-platform @large-systems @network-file-system-client @performance @perl-runtime @server-platform @server-policy @workstation-policy pax oddjob sgpio device-mapper-persistent-data samba-winbind certmonger pam_krb5 krb5-workstation perl-DBD-SQLite %end

而后我們就開(kāi)始復(fù)制Kickstart文件了,這個(gè)文件在/root/目錄下,叫anaconda-ks.cfg、我們把他復(fù)制到/var/www/html/下,改名為ks.cfg
# cp /root/ks.cfg /var/www/html/ks.cfg


由于這個(gè)文件只有管理員可以訪問(wèn)、復(fù)制過(guò)來(lái)之后要給個(gè)可讀的權(quán)限他:
# chmod +r /var/www/html/ks.cfg


再編輯一個(gè)這個(gè)ks.cfg里面的配置跟我們?cè)O(shè)定好的一致、要不然找不到文件路徑:
# vim /var/www/html/ks.cfg


怎么讓啟動(dòng)時(shí)加載kickstart.cfg文件呢,那就要在/var/lib/tftpboot/pxelinux.cfg/default文件的label為linux下的append后面補(bǔ)上 ks=http://192.168.8.42/ks.cfg


? ?編輯/var/lib/tftpboot/pxelinux.cfg/default
? ?# vim /var/lib/tftpboot/pxelinux.cfg/default


? ?改好后:wq!強(qiáng)行寫入、退出即可


到這里我們已經(jīng)配置好了我們的自動(dòng)化安裝環(huán)境接下來(lái)創(chuàng)建一個(gè)虛擬機(jī)來(lái)測(cè)試一下,看一下我們的自動(dòng)化安裝界面是否可以啟動(dòng)




步驟總結(jié):



? ?1、配置DHCP服務(wù)器
? ? ? ? # yum -y install dhcp
? ? ? ? # vim /etc/dhcp/dhcpd.conf
? ? ? ? 自定義subnet、同時(shí)配置tftp服務(wù)的信息:
? ? ? ? subnet {
? ? ? ? ? ? ...
? ? ? ? ? ? next-server TFTP-SERVER-IP;
? ? ? ? ? ? filename "pxelinux.0";
? ? ? ? }


? ? ? ? # service dhcpd restart


? ? 2、配置tftp-server
? ? ? ? # yum -y install xinetd tftp-server tftp
? ? ? ? # chkconfig xinetd on
? ? ? ? # chkconfig tftp on
? ? ? ? # service xinetd start
? ? ? ? # ss -unl | grep ":69"


? ? 3、準(zhǔn)備安裝樹(shù)、也就是我們的安裝包
? ? ? ? # mkdir /var/www/html/centos6.5
? ? ? ? # mount --bind /media/cdrom /var/www/html/centos6.5
? ? ? ? # service httpd start


? ? 4、復(fù)制文件到tftpboot下的文件
? ? ? ? # yum -y install syslinux
? ? ? ? # cp /mnt/images/pxeboot/{vmlinuz,initrd.img} ?/var/lib/tftpboot/
? ? ? ? # cp /mnt/isolinux/{boot.msg,vesamenu.c32,splash.jpg} ?/var/lib/tftpboot/
? ? ? ? # cp /usr/share/syslinux/pxelinux.0 ?/var/lib/tftpboot/
? ? ? ? # mkdir /var/lib/tftpboot/pxelinux.cfg
? ? ? ? # cp /mnt/isolinux/isolinux.cfg ?/var/lib/tftpboot/pxelinux.cfg/default


? ? 5、提供kickstart文件
? ? ? ?直接從/root/anaconda-ks.cfg復(fù)制到/var/www/html目錄下,注意:url及repo后的路徑要修改為可用安裝樹(shù)的路徑; ? ? ? ??


? ? 6、配置引導(dǎo)程序能自動(dòng)加載此kickstart文件
? ? ? ? 編輯/var/lib/tftpboot/pxelinux.cfg/default
? ? ? ? 在label為linux項(xiàng)的append一行后附加:
? ? ? ? ? ? ks=http://HTTP_SERVER_IP/ks.cfg


? ? 最后,祝你測(cè)試成功!

轉(zhuǎn)載于:https://www.cnblogs.com/reblue520/p/6239801.html

總結(jié)

以上是生活随笔為你收集整理的CentOS 6.5自动化运维之基于DHCP和TFTP服务的PXE自动化安装centos操作系统详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。