Chinaunix首页 | 论坛 | 博客
  • 博客访问: 191898
  • 博文数量: 53
  • 博客积分: 2015
  • 博客等级: 上尉
  • 技术积分: 546
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-04 23:28
文章分类

全部博文(53)

文章存档

2012年(4)

2011年(8)

2010年(19)

2009年(22)

我的朋友

分类: LINUX

2009-12-24 22:47:47

先争取让整套系统工作起来,满足一下最基本要求,然后再一步步完善。
网络环境:192.168.0.0/255.255.255.0,服务器IP:192.168.0.1。
 
一、准备内核
    这个是最重要的了,因为如果传到瘦客户上的内核不具备无盘工作功能,那服务器配出花来也没用。在下起初就忽略了这个问题,以致最后自找了不少麻烦。这里要说的是,内核必备两个支持:NFS supportDHCP support,其它的诸如网卡类型,CPU类型等根据瘦客户端具体情况而定。
DHCP support
Networking --> Networking options --> TCP/IP networking --> IP:kernel level autoconfiguration | IP:DHCP support
NFS support
File systems --> Network File Systems --> NFS file system support | Root File system on NFS
因学业不精,所以只能暂时将所需选项全部以编译进内核的方式选择。最后把内核文件复制到tftp的工作目录下cp bzImage /tftpboot/vmlinuz
 
二、启动tftp服务
    一般来说tftp服务跟telnet一样,都是由xinet统一接管了,所以配置文件也在xinet.d目录下面。根据发行版不同,配置文件位置可能有所不同,在下这用CentOS说事了。配置文件/etc/xinet.d/tftp,改disable = no就OK。这儿得注意一下server_args=-s /tftpboot给出的是tftp的工作目录,而-s选项则是使该目录在工作时具备chroot效果以提高安全性,这一点涉及到dhcp配置项中关于指定启动文件位置的选项,在下也曾在这里栽了跟头的,特此提醒。最后重启xinet服务。
 
三、配置dhcp服务器
    dhcpd.conf这个地方要强调的也是两点:next-serverfilename。其中next-server是指明tftp服务器的地址,我们这里用的是同一个,所以IP跟主机相同:next-server 192.168.0.1;。filename则指出启动文件,因为是跟tftp配合,所以路径名是以tftp为根路径的相对地址,还记得tftp配置最后强调那点吗,这里如果写绝对路径那么瘦客户在启动后会有找不到文件的错误发生地。我们这tftp的工作目录是/tftpboot,而pxelinux.0保存在该目录下,因此filename项写成:filename "pxelinux.0";。如果是按如下路径保存/tftpboot/pxelinux/pxelinux0,则filename写成filename "pxelinux/pxelinux.0";。
 
四、创建网络文件系统(NFS)
    现在得为各个瘦客户提供一个共享系统啦。这里使用/client作为共享目录,并在里面创建一个Linux系统,我这里为了方便暂时将整套已安装好的系统挂载到/client目录下的,也可以将宿主系统统统拷贝到/client里面。最后别忘了修改/client/etc/fstab文件里面根文件系统的位置:192.168.0.1:/client  /  nfs  defaults,intr  0 1。有关客户端系统的创建将会在以后慢慢道来。现在配置NFS的/etc/exports:
/client 192.168.0.0/255.255.255.0(rw,no_root_squash),这里提醒一点,我们需要取消对root帐户的限制,否则客户端如果正常使用root登陆的话要出权限问题的。
 
五、安装pxelinux
这里我们利用pxelinux实现网络启动客户端,它派生于syslinux,更多详情参见wiki: ,下载地址:。解压缩后,进入syslinux目录找到我们要的pxelinux.0并拷贝之,
cp core/pxelinux.0 /tftpboot/。接着创建pxelinux配置目录,mkdir /tftpboot/pxelinux.cfg,然后在该目录写入配置文件。这地方,pxelinux查找配置文件的文件名顺序是先安mac地址(即以mac地址为文件名),然后十六进制的ip地址……,最后default。这种方式可以使人们方便为各各客户端配置不同的启动文件,我们暂时不需要,所以直接编辑default文件即可。
cat > /tftpboot/pxelinux.cfg/default << "EOF"
default linux
label linux
kernel vmlinuz
append ip=dhcp root=/dev/nfsroot nfsroot=/192.168.0.1:/client rw
<< "EOF"
 
现在一个临时的,毛坯式无盘工作环境就搭建好了。此时账号管理,防火墙设置,瘦客户系统的创建及启动脚本配置都还有待研究与改进。文中如有任何错误,请指出,在下好及时改正以免误人误己。

阅读(871) | 评论(0) | 转发(0) |
0

上一篇:No init found 问题解决

下一篇:No.7信令系统

给主人留下些什么吧!~~