第三步:配置DHCP服务
你还需要在NFS服务器上配置DHCP服务来允许使用/var/lib/tftpboot/pxelinux.0启动。假设你在使用10.10.101.0作为子网,你的配置可能看起来像下面这样子。
$ sudo vi/etc/dhcp3/dhcpd.confallow booting;
allow bootp;
subnet10.10.101.0netmask255.255.255.0{
range10.10.101.210.10.101.254;
option broadcast-address10.10.101.255;
option routers10.10.101.1;
filename"/pxelinux.0";
}
然后重启DHCP服务。
$ sudo service isc-dhcp-server restart
第四步:配置NFS服务器
创建一个保存客户机根文件系统目录的文件夹。
$ sudo mkdir/nfsroot
接着,设置NFS服务器导出客户机根文件系统。向/etc/exports添加以下行来实现。
/nfsroot*(rw,no_root_squash,async,insecure,no_subtree_check)
运行下列命令来重新载入修改过的/etc/exports。
$ sudo exportfs-rv
默认情况下,Ubuntu在initrd镜像中不提供网络启动支持。因此你需要创建一个新的initrd.img文件。首先添加下列行到/etc/initramfs-tools/initramfs.conf中。
BOOT=nfs
MODULES=netboot
然后运行下列命令来创建一个新的initrd.img。
$ sudo mkinitramfs-o/var/lib/tftpboot/initrd.img
将新的内核镜像文件复制到/var/lib/tftpboot中。
$ sudo cp/boot/vmlinuz-`uname -r`/var/lib/tfftpboot/vmlinuz
是时候将整个根文件系统拷贝到/nfsroot中了。
假设您使用的是一个全新的Ubuntu服务器安装,你只需将文件系统拷贝到NFS的根之中。
$ sudo cp-ax//nfsroot
然后通过文本编辑器打开/nfsroot/etc/fstab 并添加以下行。
/dev/nfs/nfs defaults11
文件夹/var/lib/tftpboot应拥有全局读写权限。否则客户机无法从网络启动。
$ sudo chmod-R777/var/lib/tfftpboot
最后,为了避免任何服务器设置出现错误,我推荐对运行DHCP服务的网卡使用静态IP。举个例子,如果网卡名为eth0,你的/etc/network/interfaces中的配置应该看起来像这样:
iface eth0 inetstatic
address10.10.101.1
netmask255.255.255.0
broadcast10.10.101.255
network10.10.101.0
第五步:启动无盘客户机
在您完成了服务器上的配置之后,从网络启动你的客户机。要从网络启动一般你只需修改BIOS设置中的启动优先顺序即可。
如果客户机启动成功,您的无盘环境就配置好了。无需做任何修改就可以任意添加一台或多台客户端电脑。