Linux无盘工作站架设实例

 更新时间:2006年10月24日 00:00:00   作者:  

摘要 
架设Linux无盘工作站实例,服务器和客户端都使用Linux。主要涉及:DHCP TFTP SYSLINUX NFS(2003-03-12 08:52:24) 

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


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


1) 安装DHCP服务器dhcpd 


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


max-lease-time -1; 
default-lease-time -1; #注:IP地址永不过期 
option subnet-mask 255.0.0.0; 
option routers 10.0.0.1; 
option domain-name-servers 10.10.10.10; 
# option netbios-name-servers 10.10.10.10; 
option broadcast-address 10.255.255.255; 
# option dhcp-class-identifier "PXEClient"; 
# option vendor-encapsulated-options 01:04:00:00:00:00:ff; 
# option option-135 "start"; 

subnet 10.0.0.0 netmask 255.0.0.0 { 
range 10.10.12.131 10.10.12.150; 

host blade01 { 
hardware ethernet 00:e0:43:00:02:00; 
fixed-address 10.10.12.131; 
filename "/tftpboot/pxelinux.0"; #注:启动映象文件 


host blade02 { 
hardware ethernet 00:e0:43:00:02:02; 
fixed-address 10.10.12.132; 
filename "/tftpboot/pxelinux.0"; 


host blade03 { 
hardware ethernet 00:e0:43:00:02:04; 
fixed-address 10.10.12.133; 
filename "/tftpboot/pxelinux.0"; 


host blade04 { 
hardware ethernet 00:e0:43:00:02:06; 
fixed-address 10.10.12.134; 
filename "/tftpboot/pxelinux.0"; 


host blade05 { 
hardware ethernet 00:e0:43:00:02:08; 
fixed-address 10.10.12.135; 
filename "/tftpboot/pxelinux.0"; 




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

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

3) 配置tftp server 

使用pxelinux作引导工具需要支持TSIZE参数的tftp server。可从http://www.kernel.org/pub/software/network/tftp/下载。 

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


...... 
service tftp 

socket_type = dgram 
protocol = udp 
wait = yes 
user = root 
server = /usr/sbin/in.tftpd 



4) 配置PXELINUX 

先安装syslinux软件包。可从http://www.kernel.org/pub/linux/utils/boot/syslinux/下载。 

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

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

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


default linux 

label linux 
kernel vmlinuz 
append ip=dhcp root=/dev/nfsroot nfsroot=10.10.11.120:/remote/blade01 vga=normal 


5) 配置nfs 

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

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

我的 /etc/exports文件: 


# /etc/exports: the access control list for filesystems which may be exported 
# to NFS clients. See exports(5). 

/remote/blade01 blade01(rw,async,no_root_squash) 
/remote/blade02 blade02(rw,async,no_root_squash) 
/remote/blade03 blade03(rw,async,no_root_squash) 
/remote/blade04 blade04(rw,async,no_root_squash) 
/remote/blade05 blade05(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为例,它的nfs root是/remote/blade01 
/remote/blade01/etc/fstab文件如下: 
# /etc/fstab: static file system information. 


10.10.11.120:/remote/blade01 / nfs defaults,intr 0 1 
10.10.11.120:/remote/root /root nfs defaults,intr 0 1 
10.10.11.120:/remote/home /home nfs defaults,intr 0 1 
10.10.11.120:/bin /bin nfs defaults,intr 0 1 
10.10.11.120:/usr /usr nfs defaults,intr 0 1 
10.10.11.120:/sbin /sbin nfs defaults,intr 0 1 
10.10.11.120:/lib /lib nfs defaults,intr 0 1 
none /proc proc defaults,intr 0 1 


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

7) 编译内核 

刀片用的内核,应该支持Kernel Level Auto Configuration的DHCP协议,支持NFS,支持NFS ROOT, 

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

参考文档: 

http://syslinux.zytor.com/pxe.php 
http://syslinux.zytor.com/faq.php 
http://www.cn-cio.org/xx/show.php?article_id=1680 
http://www-900.ibm.com/developerWorks/cn/linux/l-tip-prompt/l-pex/index.shtml 

相关文章

  • Linux中文件的五个查找命令总结

    Linux中文件的五个查找命令总结

    使用电脑的时候,经常需要查找文件,在Linux中,有很多方法可以做到这一点。这篇文章总结了五条命令,你可以看看自己知道几条。大多数程序员,可能经常使用其中的2到3条,对这5条命令都很熟悉的人应该是不多的。
    2016-10-10
  • Linux的常用网络命令(一)

    Linux的常用网络命令(一)

    Linux的常用网络命令
    2006-10-10
  • 基于Ubuntu16.04下安装VS Code(分享)

    基于Ubuntu16.04下安装VS Code(分享)

    下面小编就为就带来一篇基于Ubuntu16.04下安装VS Code(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Linux环境下使用XFS文件系统

    Linux环境下使用XFS文件系统

    Linux环境下使用XFS文件系统...
    2006-10-10
  • Linux内核中红黑树算法的实现详解

    Linux内核中红黑树算法的实现详解

    红黑树是平衡二叉树的一种,它有很好的性质,树中的结点都是有序的,而且因为它本身就是平衡的,所以查找也不会出现非常恶劣的情况,基于二叉树的操作的时间复杂度是O(log(N))。那么本文将详细的介绍Linux内核中红黑树算法的实现,有需要的可以参考借鉴。
    2016-08-08
  • Linux系统MBR和GPT分区的区别介绍

    Linux系统MBR和GPT分区的区别介绍

    这篇文章主要介绍了Linux系统MBR和GPT分区的区别介绍,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-04-04
  • Linux下批量修改文件编码

    Linux下批量修改文件编码

    Linux下批量修改文件编码...
    2007-01-01
  • 入门典籍之Linux用户安全

    入门典籍之Linux用户安全

    入门典籍之Linux用户安全...
    2006-10-10
  • 开始进入Linux的知识问答

    开始进入Linux的知识问答

    开始进入Linux的知识问答...
    2006-10-10
  • shell编程基础 单引号和双引号的区别

    shell编程基础 单引号和双引号的区别

    单引号和双引号都能关闭shell对特殊字符的处理。不同的是,双引号没有单引号严格,单引号关闭所有有特殊作用的字符,而双引号只要求shell忽略大多数,具体的说,就是①美元符号②反引号③反斜杠,这3种特殊字符不被忽略。 不忽略美元符号意味着shell在双引号内部也进行变量名替换。
    2008-04-04

最新评论