分类: LINUX
2006-05-09 20:28:18
FAI全称Fully Automatic Installation, 是一种基于Debian GNU/Linux平台的全自动安装集群结点机
的软件包,它为构建集群提供了方便快捷的安装方式,可以在几十分钟内实现全部节点机的自动安装。
这次对实验室的集群节点机安装Debian GNU/Linux就是采用FAI安装方式,相当便捷,现将过程整理如
下,不足之处请各位指正:
1. 主结点master上安装Debian sarge,采用光盘启动网络安装的方式。装完基本系统和Gnome以后
,编辑双网卡设置vi /etc/network/interfaces,eth0和eht1分别为对内和对外网卡,固定ip
地址。对内这里取192.168.1.250,为集群主结点。
auto eth1
iface eth1 inet static
address 210.45.**.**
netmask 255.255.255.0
broadcast 210.45.72.255
gateway 210.45.72.254
auto eth0
iface eth0 inet static
address 192.168.1.250
netmask 255.255.255.0
broadcast 192.168.1.255
同时也要编辑/etc/hosts,将主机名与ip一一对应。
2. 制作FAI所需的镜像,安装相关软件包:
apt-get install fai fai-kernels debmirror mknbi dhcp3-server bootp tftpd-hp
rsh-server rsync syslinux wget nfs-kernel-server debootstrap
mkdir /home/debmirror 在这里我把镜像目录设在home下面。
然后安装www服务器:
apt-get install apache
cd /var/www/
ln –s /home/debmirror
3. 编辑/usr/share/doc/fai/examples/utils/目录下的mkdebmirror,在debmirror后面添
加-v以观察制作镜像的进度:
debmirror -v --getcontents $destdir/debian $defopt
如果下面还有debmirror $destdir/debian-non-US $defopt -r /debian-non-US -s non-US
/main,non-US/contrib,non-US/non-free,将其注释删除,现在的科大镜像里sarge已不存在
non-US部分。
这个mkdebmirror文件建议从FAI主页上直接下载最新的sarge版本。
dist=sarge,sarge-proposed-updates
destdir=/home/debmirror
选择最近的apt源(当然是科大了)
update_from debian.ustc.edu.cn
剩下的update_from和create mirror for debian-security都可以注释不要了。
运行/usr/share/doc/fai/examples/utils/mkdebmirror 开始从apt源下载制作镜像,过程
视网络条件而定,在科大内40分钟左右吧。
4. 配置/etc/fai目录下的三个配置文件:dpch3.conf,fai.conf,sources.list。可以将/usr/
share/ doc/fai/examples/etc目录下的dpch3.conf拷贝至/etc/fai目录下,手动绑定固定
ip和对应的网卡MAC地址:
host dsp01 {
hardware ethernet 00:30:48:70:CA:14;
fixed-address 192.168.1.1;
}
host dsp02
……
在fai.conf里,可以根据机器情况修改:
Installserver = 主结点名
SERVERINTERFACE = eth0
LOGUSER = fai
LOGSERVER = 主结点名
MNTPOINT=/mnt2
这里的sources.list是节点机的apt源,对应主结点上的镜像文件,我这里采用http方式,
也可以采用nfs, ftp等等:
deb sarge main contrib non-free
deb sarge-proposed-updates main contrib non-free
5. dhcp配置文件前面已编辑过,启动dhcp服务器:
/etc/init.d/dhcp3-server restart
配置启动nfs和tftp服务器。编辑/etc/exports文件
/usr/local/share/fai *(async,ro)
/usr/local/fai/nfsroot *(async,ro,no_root_squash)
/home/debmirror *(async,ro)
/usr/lib/fai/nfsroot *(async,ro,no_root_squash)
/home *(async,rw,no_root_squash)
/usr/local *(async,rw,no_root_squash)
/opt *(async,rw,no_root_squash)
重启nfs服务:
/etc/init.d/nfs-common restart
/etc/init.d/nfs-kernel-server restart
编辑/etc/inetd.conf文件,将tftp那行改为
tftp dgram udp wait root /usr/sbin/in.tftpd in.tftpd -s /boot/fai
重启tftp服务:
/etc/init.d/inetd restart
6. 拷贝预设定文件,其实就是为节点机作的配置,这里图方便没研究具体细节,直接拷贝
examples:
cp -a /usr/share/doc/fai/examples/simple/* /usr/local/share/fai/
cp /usr/share/doc/fai/examples/utils/* /usr/local/bin
然后就可以启动FAI了:
fai-setup
7. 生成结点机所需的引导信息:
fai-chboot -IFv node01
然后将node01节点机的启动方式设为网络启动,bios里如果有pxe支持选项就将其enable,
重启进入bios就能发现boot选项里多了一项,一般就是网络启动选项。重启就进入自动安
装阶段,几分钟结束。
当然也可以这样
fai-chboot -IFv node01 node02 node03 node04 ……
动作够快,半个小时左右安装几十台节点机。至此通过FAI快速安装集群节点机就已完成。
生成的系统是一个基本系统,当然还可以apt-get install通过主机上的镜像安装所需的软件,
如果觉得麻烦可以看看预设定的脚本,争取一步搞定。接下来完成NFS节点端配置,NIS,RSH,
MPICH+编译器,即完成集群的整体框架。
by 郭孝城 2005.10.30