利用PXE Server大量部署Linux

1 前言

笔者在去年写了「如何大量部署Linux」文章时后,还有很多内容想写,不过实在没时间动笔。时至今日,趁着短暂假日,好不容易动笔撰写「如何大量部署Linux」续篇。建议读者阅读此篇文章前。
前篇「如何大量部署Linux」文章的部署方法适合一般环境或是学校教室,为什麽这样说呢?现实中,企业在大量部署Linux时,要求会比较严谨,例如某台机器安装完毕后应该就是所特定的主机名称,就是所特定的IP,安装时也不该开机时还出现PXE选单,然后再选择所需安装的作业系统,应该要完全自动化,机器开机后无需再输入任何参数,就会自动完成安装。

--------------------------------------------

本片全文PDF下载在安科网FTP里下载

Ubuntu 主题图标集 Faenza 0.8打包下载在安科网FTP里

FTP地址:ftp://www.6688.cc/

用户名:www.linuxidc.net

密码:www.6688.cc

--------------------------------------------

2 原理说明

PXE跟kickstart的原理上一篇文章有大致的介绍,在此就不再最赘述;不过这篇要深入探讨PXE的部份。上一篇文章的图6(图1),不知道笔者有没有注意到PXE开机时的一些讯息。
ip=192.168.0.251…
Trying to load: pxelinux.cfg/01-00-0c-29-96-44-db
Trying to load: pxelinux.cfg/C0A800FB

利用PXE Server大量部署Linux

图 1:PXE Menu画面

其实PXE开机时,会先找PXE Server上pxelinux.cfg/目录下有没有跟网卡MAC一样的设定档: Trying to load: pxelinux.cfg/01-00-0c-29-96-44-db
00-0c-29-96-44-db就是PXE开机那张网卡的IP,如果找不到这个设定档,如果找不到的话,就接着有没有跟这张网卡上IP一样的设定档: Trying to load: pxelinux.cfg/C0A800FB
读者到这里一定会???,这张网卡从DHCP Server上要的IP不是192.168.0.251,跟「C0A800FB」有什麽关係? 呵呵,这时候就得请「16进位」出马了,其实192.168.0.251就是「C0A800FB
C0是16进位的表示法,16进位制中的C就是十进位的12。
16进位就是数到16才进位,所以个位数如下:
1, 2, 3, 5, 6, 7, 8, 9, A(代表10), B(代表11), C(代表12), D(代表13), E(代表14), F(代表15)。
「C0换成10进位就是C*16+0=12*16+0=192」
「A8换成10进位就是A*16+0=10*16+8=168」
「00换成10进位就是0*16+0=10*0+0=0」
「FB换成10进位就是F*16+B=15*16+11=251」 这样瞭解了吗?原来「C0A800FB」就是1921680251
如果找不到「C0A800FB」就接着找「C0A800F」「C0A800」…最后才採用「default」的内容。此篇文章的安装流程便是利用此原理,整个流程如下:

相关推荐