分类: 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