PXE 安装 linux  

公司准备每天装很多linux,一台台搞要死人的。

本来在自己的笔记本Windows下面做了一个源,但是不稳定老是死机。

还是换成linux。查了文档,走了些弯路。写下来。

pxe安装需要几个部分:

DHCP: 获得ip,获得 next-server ,启动文件名

TFTP:从这里下载到启动文件。

HTTP: 看了些文档都是NFS,但机器正好有http而且也蛮方便就用了这个。反正一样。

在上面这些服务中 DHCP 的配置最为重要,新机器通过它得到所有的重要信息。

这个地方走的弯路也最多,接下来写一下配置文件。

allow booting;

allow bootp;

# deny Ddns

ddns-update-style none;

# ignore Ddns updates

ignore client-updates;

# Default 1H

default-lease-time 3600;

# Max 6D

max-lease-time 518400;

# Default route

option routers 192.168.15.1;

# Default netmask

option subnet-mask     255.255.255.0;

subnet 192.168.15.0 netmask 255.255.255.0 {

    range 192.168.15.100 192.168.15.200;

    next-server 192.168.15.10;

    filename “pxelinux.0”;

}

allow booting;

allow bootp;

这2个是启动引导的,其实没他也能用。有啥不同呢,找到了一篇微软的文档还不赖。

看下来都是一些微调的东西,如比DHCP响应快些,比获得ip也更快些,租约响应短些等。

ddns-update-style none;

这个东西我还是有些不清楚,从字面上看是和动态dns注册有关系。

原来设成 none 不行,后来换成 interim 好了。

后来 interim 又不行了,又改成 none 就ok了。

除了 none 还有 off,如果有还有问题可以试试。

pxe在安装过程中需要从DHCP获取几次ip。

开机的时候一次,linux引导到安装介质前会有一次。 通常在第二次获取ip时会有问题。

会获取不到,把过期时间变短,也偶尔会发生得不到ip的状况。

结果把 none 改成 interim 就有所改善,说是DNS互动更新模式。

不知道和拿ip有什么关系。

下面省略一些

ignore client-updates;       禁止客户端自动更新

next-server 192.168.15.10;   告诉客户机,TFTP Server 在那里

filename “pxelinux.0”;       启动的文件是啥

到这里就差不多了,重启dhcp就好了。

接下来是 TFTP

装完是在 xinetd 下面托管。下面是配置文件

service tftp

{

    socket_type        = dgram

    protocol        = udp

    wait            = yes

    user            = root

    server            = /usr/sbin/in.tftpd

    server_args        = -s /home/pplive/openservice/service/linux_install/

    disable            = no

    per_source        = 3

    cps            = 10 2

    flags            = IPv4

}

就一点 吧disable 改成 no 默认是yes,也就是不开的。

在server_args 的目录下放上

pxelinux.0(pxe启动文档)

vmlinuz   (内核)

initrd.img(引导文件)

boot.msg   (启动后提示文件)

pxelinux.cfg (目录,pxe启动引导用)

pxelinux.cfg/default (linux 引导配置文件)

下面就来讲讲这个 default 文件:

机器在获取ip后从 tftp的 pxelinux.cfg目录下轮询查询查文件。

一般先以本机的mic地址为名字的文件,不过我直接写一个default文件。

里面是指定相关ks文件位置和启动img和内核文件位置。

default vod

prompt 4

timeout 60

display boot.msg

label linux

  kernel vmlinuz

  append initrd=initrd.img

label cdn

  kernel vmlinuz

  append ks=http://192.168.15.10/ks/cdn.ks initrd=initrd.img ksdevice=eth0

label web

  kernel vmlinuz

  append ks=http://192.168.15.10/ks/web.ks initrd=initrd.img ksdevice=eth0

label vod

  kernel vmlinuz

  append ks=http://192.168.15.10/ks/vod.ks initrd=initrd.img ksdevice=eth0

label text

  kernel vmlinuz

  append initrd=initrd.img text

label ks

  kernel vmlinuz

  append ks initrd=initrd.img

label local

  localboot 1

label memtest86

  kernel memtest

  append –

刚才写的那些文件都在里面有相应的位置,有几个重要的参数。

default  可以指定默认的安装label,超时后执行

label    指定一组安装参数,可以自行选择

prompt   什么都不打直接回车,执行哪个。从1开始计数。

timeout  timeout后就自动执行default的lable。

         这里的60不是60秒,是6秒。如果要1秒,写10就可以。

display  引导成功后会加载这个提示文件,可以写一些提示信息。

append   指定ks地址,启动引导文件。最后一个是走了n多弯路才搞到的一个参数。

         现在服务器都是双网卡,多网卡。在安装中系统就需要知道从那个网卡口获取dhcp。

         否则就会在相应的时候跳个恶心的框让你选。

下面是具体ks文件,说几个重要标签。

install  后面没有参数,说明要做安装

url –url http://192.168.15.10/rhel5.4_x64  安装的地址 还有cdrom等其他的

key      这个还是有些用的,谁用谁知道。偷偷留一个 key 2515dd4e215225dd

下面是些零碎的:

firewall   –disabled

authconfig –enableshadow –enablemd5

selinux    –disabled

reboot     –eject

%post    这个东西很有用,在这个标签下面可以写一些安装完成后执行的脚本。

         可以帮我们初始化很多系统服务,及其方便。

         最后可以加一个 reboot 装完自动重启。


发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

PXE 安装 linux  

公司准备每天装很多linux,一台台搞要死人的。

本来在自己的笔记本Windows下面做了一个源,但是不稳定老是死机。

还是换成linux。查了文档,走了些弯路。写下来。

pxe安装需要几个部分:

DHCP: 获得ip,获得 next-server ,启动文件名

TFTP:从这里下载到启动文件。

HTTP: 看了些文档都是NFS,但机器正好有http而且也蛮方便就用了这个。反正一样。

在上面这些服务中 DHCP 的配置最为重要,新机器通过它得到所有的重要信息。

这个地方走的弯路也最多,接下来写一下配置文件。

allow booting;

allow bootp;

# deny Ddns

ddns-update-style none;

# ignore Ddns updates

ignore client-updates;

# Default 1H

default-lease-time 3600;

# Max 6D

max-lease-time 518400;

# Default route

option routers 192.168.15.1;

# Default netmask

option subnet-mask     255.255.255.0;

subnet 192.168.15.0 netmask 255.255.255.0 {

    range 192.168.15.100 192.168.15.200;

    next-server 192.168.15.10;

    filename “pxelinux.0”;

}

allow booting;

allow bootp;

这2个是启动引导的,其实没他也能用。有啥不同呢,找到了一篇微软的文档还不赖。

看下来都是一些微调的东西,如比DHCP响应快些,比获得ip也更快些,租约响应短些等。

ddns-update-style none;

这个东西我还是有些不清楚,从字面上看是和动态dns注册有关系。

原来设成 none 不行,后来换成 interim 好了。

后来 interim 又不行了,又改成 none 就ok了。

除了 none 还有 off,如果有还有问题可以试试。

pxe在安装过程中需要从DHCP获取几次ip。

开机的时候一次,linux引导到安装介质前会有一次。 通常在第二次获取ip时会有问题。

会获取不到,把过期时间变短,也偶尔会发生得不到ip的状况。

结果把 none 改成 interim 就有所改善,说是DNS互动更新模式。

不知道和拿ip有什么关系。

下面省略一些

ignore client-updates;       禁止客户端自动更新

next-server 192.168.15.10;   告诉客户机,TFTP Server 在那里

filename “pxelinux.0”;       启动的文件是啥

到这里就差不多了,重启dhcp就好了。

接下来是 TFTP

装完是在 xinetd 下面托管。下面是配置文件

service tftp

{

    socket_type        = dgram

    protocol        = udp

    wait            = yes

    user            = root

    server            = /usr/sbin/in.tftpd

    server_args        = -s /home/pplive/openservice/service/linux_install/

    disable            = no

    per_source        = 3

    cps            = 10 2

    flags            = IPv4

}

就一点 吧disable 改成 no 默认是yes,也就是不开的。

在server_args 的目录下放上

pxelinux.0(pxe启动文档)

vmlinuz   (内核)

initrd.img(引导文件)

boot.msg   (启动后提示文件)

pxelinux.cfg (目录,pxe启动引导用)

pxelinux.cfg/default (linux 引导配置文件)

下面就来讲讲这个 default 文件:

机器在获取ip后从 tftp的 pxelinux.cfg目录下轮询查询查文件。

一般先以本机的mic地址为名字的文件,不过我直接写一个default文件。

里面是指定相关ks文件位置和启动img和内核文件位置。

default vod

prompt 4

timeout 60

display boot.msg

label linux

  kernel vmlinuz

  append initrd=initrd.img

label cdn

  kernel vmlinuz

  append ks=http://192.168.15.10/ks/cdn.ks initrd=initrd.img ksdevice=eth0

label web

  kernel vmlinuz

  append ks=http://192.168.15.10/ks/web.ks initrd=initrd.img ksdevice=eth0

label vod

  kernel vmlinuz

  append ks=http://192.168.15.10/ks/vod.ks initrd=initrd.img ksdevice=eth0

label text

  kernel vmlinuz

  append initrd=initrd.img text

label ks

  kernel vmlinuz

  append ks initrd=initrd.img

label local

  localboot 1

label memtest86

  kernel memtest

  append –

刚才写的那些文件都在里面有相应的位置,有几个重要的参数。

default  可以指定默认的安装label,超时后执行

label    指定一组安装参数,可以自行选择

prompt   什么都不打直接回车,执行哪个。从1开始计数。

timeout  timeout后就自动执行default的lable。

         这里的60不是60秒,是6秒。如果要1秒,写10就可以。

display  引导成功后会加载这个提示文件,可以写一些提示信息。

append   指定ks地址,启动引导文件。最后一个是走了n多弯路才搞到的一个参数。

         现在服务器都是双网卡,多网卡。在安装中系统就需要知道从那个网卡口获取dhcp。

         否则就会在相应的时候跳个恶心的框让你选。

下面是具体ks文件,说几个重要标签。

install  后面没有参数,说明要做安装

url –url http://192.168.15.10/rhel5.4_x64  安装的地址 还有cdrom等其他的

key      这个还是有些用的,谁用谁知道。偷偷留一个 key 2515dd4e215225dd

下面是些零碎的:

firewall   –disabled

authconfig –enableshadow –enablemd5

selinux    –disabled

reboot     –eject

%post    这个东西很有用,在这个标签下面可以写一些安装完成后执行的脚本。

         可以帮我们初始化很多系统服务,及其方便。

         最后可以加一个 reboot 装完自动重启。


发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注