pxe安装linux dhcp失败,51CTO博客-专业IT技术博客创作平台-技术成就梦想
原理有必要說明一下 ? ? ? ? ? (百度偷來的)
原理和概念:
1.1 什么是PXE
嚴(yán)格來說,PXE 并不是一種安裝方式,而是一種引導(dǎo)的方式。進(jìn)行 PXE 安裝的必要條件是要安裝的計(jì)算機(jī)中包含一個(gè) PXE 支持的網(wǎng)卡(NIC),即網(wǎng)卡中必須要有 PXE Client。PXE (Pre-boot Execution Environment)協(xié)議使計(jì)算機(jī)可以通過網(wǎng)絡(luò)啟動(dòng)。協(xié)議分為 client 和 server 端,PXE client 在網(wǎng)卡的 ROM 中,當(dāng)計(jì)算機(jī)引導(dǎo)時(shí),BIOS 把 PXE client 調(diào)入內(nèi)存執(zhí)行,由 PXE client 將放置在遠(yuǎn)端的文件通過網(wǎng)絡(luò)下載到本地運(yùn)行。運(yùn)行 PXE 協(xié)議需要設(shè)置 DHCP 服務(wù)器和 TFTP 服務(wù)器。DHCP 服務(wù)器用來給 PXE client(將要安裝系統(tǒng)的主機(jī))分配一個(gè) IP 地址,由于是給 PXE client 分配 IP 地址,所以在配置 DHCP 服務(wù)器時(shí)需要增加相應(yīng)的 PXE 設(shè)置。此外,在 PXE client 的 ROM 中,已經(jīng)存在了 TFTP Client。PXE Client 通過 TFTP 協(xié)議到 TFTP Server 上下載所需的文件。
1.2 什么是KickStart
KickStart是一種無(wú)人職守安裝方式。KickStart的工作原理是通過記錄典型的安裝過程中所需人工干預(yù)填寫的各種參數(shù),并生成一個(gè)名為ks.cfg的文件;在其后的安裝過程中(不只局限于生成KickStart安裝文件的機(jī)器)當(dāng)出現(xiàn)要求填寫參數(shù)的情況時(shí),安裝程序會(huì)首先去查找KickStart生成的文件,當(dāng)找到合適的參數(shù)時(shí),就采用找到的參數(shù),當(dāng)沒有找到合適的參數(shù)時(shí),才需要安裝者手工干預(yù)。這樣,如果KickStart文件涵蓋了安裝過程中出現(xiàn)的所有需要填寫的參數(shù)時(shí),安裝者完全可以只告訴安裝程序從何處取ks.cfg文件,然后去忙自己的事情。等安裝完畢,安裝程序會(huì)根據(jù)ks.cfg中設(shè)置的重啟選項(xiàng)來重啟系統(tǒng),并結(jié)束安裝。
1.3 PXE + KickStart安裝的條件
執(zhí)行 PXE + KickStart安裝需要的設(shè)備為:
? DHCP 服務(wù)器;
? TFTP 服務(wù)器;
? KickStart所生成的ks.cfg配置文件
? 一臺(tái)存放系統(tǒng)安裝文件的服務(wù)器,如 NFS、HTTP 或 FTP 服務(wù)器。
? 帶有一個(gè) PXE 支持網(wǎng)卡的將安裝的主機(jī);
工作過程圖?
安裝步驟
環(huán)境:
OS:CentOS 5.5 x86_64
ip adress:192.168.20.20
兩臺(tái)VM:一臺(tái)做Server,一臺(tái)來裝系統(tǒng)
(如果你的系統(tǒng)是CentOS 5.5 32位或者其它版本的Linux,請(qǐng)自行適合的修改)
1.mount CentOS DVD
mount /dev/cdrom /mnt[掛載光驅(qū)]
2.install tftp-server
yum -y install tftp-server.x86_64
vim /etc/xinetd.d/tftp
service?tftp
{
socket_type?????????????=?dgram
protocol????????????????=?udp
wait????????????????????=?yes
user????????????????????=?root
server??????????????????=?/usr/sbin/in.tftpd
server_args?????????????=?-s?/tftpboot
disable?????????????????=?no#[將'yes'改為'no']
per_source??????????????=?11
cps?????????????????????=?100?2
flags???????????????????=?IPv4
}
service xinetd start? ? ? ? ? ?[啟動(dòng)tftp服務(wù)]
3.configuration PXE
mkdir /tftpboot ? ?[如果沒有這個(gè)文件夾就創(chuàng)建]
cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
cp /mnt/p_w_picpaths/pxeboot/initrd.img /tftpboot/
cp /mnt/p_w_picpaths/pxeboot/vmlinuz /tftpboot/
cp /mnt/isolinux/*.msg /tftpboot/ ? ?[復(fù)制linux開機(jī)引導(dǎo)文件]
mkdir/tftpboot/pxelinux.cfg
cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
4.install DHCP
yum -y install dhcp.x86_64
cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
vim /etc/dhcpd.conf
ignore?client-updates;
next-server?192.168.20.20;#[添加,next-server?是tftp?server]
filename?"/pxelinux.0";#[添加]
subnet?192.168.20.0?netmask?255.255.255.0?{#[網(wǎng)段申明]
#?---?default?gateway
option?routers??????????????????192.168.20.254;?????#[網(wǎng)關(guān)]
option?subnet-mask??????????????255.255.255.0;??????#[子網(wǎng)俺碼]
option?nis-domain???????????????"domain.org";
option?domain-name??????????????"domain.org";
option?domain-name-servers??????8.8.8.8;?????????????#[DNS]
option?time-offset??????????????-18000;?#?Eastern?Standard?Time
#???????option?ntp-servers??????????????192.168.1.1;
#???????option?netbios-name-servers?????192.168.1.1;
#?---?Selects?point-to-point?node?(default?is?hybrid).?Don't?change?this?unless
#?--?you?understand?Netbios?very?well
#???????option?netbios-node-type?2;
range?dynamic-bootp?192.168.20.20?192.168.20.254;#[ip?pools]
default-lease-time?21600;
max-lease-time?43200;
#?we?want?the?nameserver?to?appear?at?a?fixed?address
#???????host?ns?{
#???????????????next-server?marvin.redhat.com;
#???????????????hardware?ethernet?12:34:56:78:AB:CD;
#???????????????fixed-address?207.175.42.254;
#???????}#[由于本次實(shí)驗(yàn)中DHCP?Server只用于安裝無(wú)人值守安裝,這些都用不著,注釋最后幾行。實(shí)際環(huán)境中,視情況而定]
}
service dhcpd start
5.install NFS
yum -y install nfs-* ? ? ?[CentOS默認(rèn)是安裝的]
mkdir /tftpboot/ks ? ? ? ?[先在tftpboot目錄下創(chuàng)建ks文件,一會(huì)存放ks.cfg時(shí)用]
vim /etc/exports
/mnt????*(ro)? #[添加這兩個(gè)共享文件夾,'*'任何人可以訪問,'(ro)'即read only]
/tftpboot/ks/????*(ro)
service portmap start? ? ?[首先啟動(dòng)這個(gè)服務(wù),這是nfs的依賴服務(wù)]
service nfs start
6.install KickStart
yum -y install system-config-kickstart.noarch? ? [install kickstart]
yum -y groupinstall "X Window System" ? ? [如果GNOME環(huán)境,請(qǐng)執(zhí)行本行及下行命令。如果你不希望安裝GNOME環(huán)境,KickStart也可以不安裝,直接復(fù)制我這的ks.cfg代碼合適的修改便可。當(dāng)然其它版本的linux的ks.cfg代碼不一樣]
yum -y groupinstall "GNOME Desktop Environment"
startx[進(jìn)入desktop,kickstart必須在desktop環(huán)境下配置]
system-config-kickstart? ? [start kickstart]
定制KickStart ? ? ? ? ? ? ?[下圖只是例子,實(shí)際根據(jù)各自需求而定]
因?yàn)镃entOS安裝盤掛載在/mnt,所以這里的目錄是/mnt
記得最少安裝一個(gè)包,不然在安裝系統(tǒng)的時(shí)候,會(huì)彈出一個(gè)對(duì)話框,讓你手動(dòng)選擇需要安裝的包
下面是利用KickStart生成的ks.cfg,也可以直接在這里適當(dāng)修改參數(shù)
lang?en_US
#?Installation?logging?level
logging?--level=info
#?Use?NFS?installation?media
nfs?--server=192.168.20.20?--dir=/mnt
#?Network?information
network?--bootproto=dhcp?--device=eth0?--onboot=on
#?Reboot?after?installation
reboot
#Root?password
rootpw?--iscrypted?$1$SjnCI7rG$4JhDvTrZ4Xo4fdpjOriBU/
#?SELinux?configuration
selinux?--enforcing
#?Do?not?configure?the?X?Window?System
skipx
#?System?timezone
timezone??Asia/Shanghai
#?Install?OS?instead?of?upgrade
install
#?Disk?partitioning?information
part?swap?--bytes-per-inode=4096?--fstype="swap"--size=2048
part?/boot?--bytes-per-inode=4096?--fstype="ext3"--size=100
part?/?--bytes-per-inode=4096?--fstype="ext3"--size=10240
part?/data?--bytes-per-inode=4096?--fstype="ext3"--grow?--size=1
%packages
@editors
cp /root/ks.cfg /tftpboot/ks/
chmod 777 /tftpboot/pxelinux.cfg/default
vim /tftpboot/pxelinux.cfg/default
default?ks#[修改為'ks']
prompt?1
timeout?3
display?boot.msg
F1?boot.msg
F2?options.msg
F3?general.msg
F4?param.msg
F5?rescue.msg
label?linux
kernel?vmlinuz
append?initrd=initrd.img
label?text
kernel?vmlinuz
append?initrd=initrd.img?text
label?ks
kernel?vmlinuz
append?ks=nfs:192.168.20.20:/tftpboot/ks/ks.cfg?initrd=initrd.img#[這里是ks的路徑]
label?local
localboot?1
label?memtest86
kernel?memtest
append?-
7.closed Firewall and SElinux
setup
8.驗(yàn)證奇跡的時(shí)刻來啦
開啟需要安裝的電腦,倒杯COFFEE,看它自動(dòng)安裝嘍。。。。
默認(rèn)情況下不需要任何設(shè)置,如果電腦自動(dòng)不能找到PXE啟動(dòng)或叫Network boot from XX開機(jī)啟動(dòng)模式,就手動(dòng)選擇吧。
一般臨時(shí)選擇是按Esc或F12或F11再或者其它,因電腦品牌而異。。
如果在boot里將設(shè)置PXE設(shè)置成第一啟動(dòng)選項(xiàng),記得安裝完系統(tǒng)后,改回硬盤啟動(dòng),否則電腦會(huì)一直裝系統(tǒng),,,
9.總結(jié)
VM安裝需注意幾點(diǎn):
關(guān)閉網(wǎng)卡自帶的DHCP;
網(wǎng)卡模式用橋接;
最后貼幾張PC安裝時(shí)的圖吧
總結(jié)
以上是生活随笔為你收集整理的pxe安装linux dhcp失败,51CTO博客-专业IT技术博客创作平台-技术成就梦想的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux c语言乘法口诀,shell
- 下一篇: c语言uint赋值给int,如何在C#中