Linux无盘工作站架设实例

Linux无盘工作站架设实例

客户端是支持PXE方式启动的刀片,用Linux作为服务器,服务器配置如下:

1)安装DHCP服务器dhcpd

2)配置/etc/dhcpd.conf文件,下面是我机器上的文件

max-lease-time-1;

default-lease-time-1;#注:IP地址永不过期

optionsubnet-mask255.0.0.0;

optionrouters10.0.0.1;

optiondomain-name-servers10.10.10.10;

#optionnetbios-name-servers10.10.10.10;

optionbroadcast-address10.255.255.255;

#optiondhcp-class-identifier"PXEClient";

#optionvendor-encapsulated-options01:04:00:00:00:00:ff;

#optionoption-135"start";

subnet10.0.0.0netmask255.0.0.0{

range10.10.12.13110.10.12.150;

hostblade01{

hardwareethernet00:e0:43:00:02:00;

fixed-address10.10.12.131;

filename"/tftpboot/pxelinux.0";#注:启动映象文件

}

hostblade02{

hardwareethernet00:e0:43:00:02:02;

fixed-address10.10.12.132;

filename"/tftpboot/pxelinux.0";

}

hostblade03{

hardwareethernet00:e0:43:00:02:04;

fixed-address10.10.12.133;

filename"/tftpboot/pxelinux.0";

}

hostblade04{

hardwareethernet00:e0:43:00:02:06;

fixed-address10.10.12.134;

filename"/tftpboot/pxelinux.0";

}

hostblade05{

hardwareethernet00:e0:43:00:02:08;

fixed-address10.10.12.135;

filename"/tftpboot/pxelinux.0";

}

}

说明:dhcp客户得到IP地址后用TFTP协议从服务器上下载启动映象文件。我用syslinux

工具包里边的pxelinux来作为远程启动的loder.

3)配置tftpserver

使用pxelinux作引导工具需要支持TSIZE参数的tftpserver。

通过xinetd来使用tftp服务,我的/etc/xinetd.conf文件如下

......

servicetftp

{

socket_type=dgram

protocol=udp

wait=yes

user=root

server=/usr/sbin/in.tftpd

}

4)配置PXELINUX

先安装syslinux软件包。

将pxelinux.0拷贝到/tftpboot/目录下,然后建立/tftpboot/syslinux.cfg/目录。该目录下存放配置文件。

pxelinux使用ip地址的十六进制表示来作为该ip地址的配置文件的文件名。如blade01的

ip地址为10.10.12.131,配置文件名为0A0A0C83,内容为:

defaultlinux

labellinux

kernelvmlinuz

appendip=dhcproot=/dev/nfsrootnfsroot=10.10.11.120:/remote/blade01vga=normal

5)配置nfs

为每个刀片建立一个根目录,在该刀片的pxelinux配置文件里指定了从这个nfseXPort的目录启动。

该根目录里应把标准的目录都建好,另外需要重新mount的usr,home,public等目录也要export。

我的/etc/exports文件:

#/etc/exports:theAccesscontrollistforfilesystemswhichmaybeexported

#toNFSclients.Seeexports(5).

/remote/blade01blade01(rw,async,no_root_squash)

/remote/blade02blade02(rw,async,no_root_squash)

/remote/blade03blade03(rw,async,no_root_squash)

/remote/blade04blade04(rw,async,no_root_squash)

/remote/blade05blade05(rw,async,no_root_squash)

/remote/root*(rw,async,no_root_squash)

/remote/home*(rw,async,no_root_squash)

/usr*(ro,async,no_root_squash)

/sbin*(ro,async,no_root_squash)

/bin*(ro,async,no_root_squash)

/lib*(ro,async,no_root_squash)

/home*(ro,async,no_root_squash)

6)为每个刀片修改它的/etc/fstab文件,以blade01为例,它的nfsroot是/remote/blade01

/remote/blade01/etc/fstab文件如下:

#/etc/fstab:staticfilesysteminformation.

#

#

10.10.11.120:/remote/blade01/nfsdefaults,intr01

10.10.11.120:/remote/root/rootnfsdefaults,intr01

10.10.11.120:/remote/home/homenfsdefaults,intr01

10.10.11.120:/bin/binnfsdefaults,intr01

10.10.11.120:/usr/usrnfsdefaults,intr01

10.10.11.120:/sbin/sbinnfsdefaults,intr01

10.10.11.120:/lib/libnfsdefaults,intr01

none/procprocdefaults,intr01

同时还要为每个刀片修改它的网络配置文件,配置ip地址,启动两块网卡等等。。

7)编译内核

刀片用的内核,应该支持KernelLevelAutoConfiguration的DHCP协议,支持NFS,支持NFSROOT,

假设编译好的内核为vmlinuz,将它拷贝到/tftpboot/目录下。