|
From Kerrighed一、Kerrighed Cluster系统介绍 该项目起始于1998年十月,目前最新稳定版本为2.4.0。 二、Kerrighed Cluster部署要求
三、Kerrighed Cluster安装流程
四、Kerrighed Cluster头节点安装步骤 mkdir /NFSROOT 下面就要生成一个小的根文件系统,我们使用rsync程序将现有的操作系统目录结构同步到虚拟根目录下。虚拟根目录也要精简。 rsync -a -e ssh localhost:/{bin,boot,dev,etc,home,lib,mnt,sys,tmp,usr,var} /NFSROOT
然后在虚拟根目录下建立proc目录并将其挂载。 mkdir /NFSROOT/proc mount -o bind /proc /NFSROOT/proc 完成该步骤后就可以进入虚拟根目录。 chroot /NFSROOT 设置root用户密码。 passwd 修改虚拟根目录下面的fstab文件,在该文件末尾添加以下内容。 none /proc proc defaults 0 0 none /sys sysfs defaults 0 0 none /var/run tmpfs defaults 0 0 192.168.140.135:/NFSROOT / nfs rw,hard,nolock 0 0 192.168.140.135:/NFSROOT/var /var nfs rw,hard,nolock 0 0 192.168.140.135:/NFSROOT/tmp /tmp nfs rw,hard,nolock 0 0 192.168.140.135:/NFSROOT/root /root nfs rw,hard,nolock 0 0 192.168.140.135:/NFSROOT/sys /sys nfs rw,hard,nolock 0 0 192.168.140.135:/NFSROOT/etc /etc nfs rw,hard,nolock 0 0 添加完成后,需要将原文件中的以下内容使用#注释掉。 LABEL=/boot /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 下面开始编译Kerrighed软件包。将 linux-2.6.20.tar.bz2和kerrighed-2.4.0.tar.gz拷贝到/usr/src目录下,解压缩这两个压缩包。 cd /usr/src tar zxf kerrighed-2.4.0.tar.gz tar jxf linux-2.6.20.tar.bz2 设置源代码。 cd kerrighed-2.4.0 ./configure --disable-service 由于基于RHEL的Linux发行版缺少LSB中的一些脚本,因此不能以服务的方式将Kerrighed启动,需要加上--disable-service选项,只能手工启动。 设置完成后进入kernel目录下,开始设置内核,将网卡驱动选择编译到内核中。 make menuconfig 内核源代码设置完成后,回到上一级子目录,开始对内核进行编译和安装。 make && make install 编译完成后,从虚拟根文件系统中退出。下面开始设置PXE启动。将已编译完成的内核文件与PXE启动文件拷贝到/tftpboot目录下。 cd /tftpboot cp /boot/vmlinuz-2.6.20-krg cp /usr/lib/syslinux/pxelinux.0 mkdir pxelinux.cfg 进入到pxelinux.cfg目录下并生成一个启动设置文件,命名为default。在文件当中添加以下内容。 default nfsroot
label nfsroot
kernel /vmlinuz-2.6.20-krg
append console=tty1 root=/dev/nfs nfsroot=192.168.140.135:/NFSROOT ro ip=dhcp pci=nommconf
若没有/dev/nfs设备文件,需要建立一个块设备文件。 mknod /dev/nfs b 0 255 下面开始设置DHCP服务器。修改/etc/dhcpd.conf文件,在文件中添加以下内容。 ddns-update-style ad-hoc; allow bootp; allow booting; default-lease-time 600; max-lease-time 7200; option subnet-mask 255.255.255.0; subnet 192.168.140.0 netmask 255.255.255.0 {
option broadcast-address 192.168.140.255;
}
group {
filename "pxelinux.0";
option root-path "192.168.140.135:/NFSROOT";
host node1 { fixed-address 192.168.140.141;
hardware ethernet 00:0C:29:12:CB:4C; }
host node2 { fixed-address 192.168.140.142;
hardware ethernet 00:0C:29:A2:05:42; }
next-server 192.168.140.135; } 若还有更多的计算节点,只需根据MAC地址和所要分配的IP地址添加到group组即可。 下面开始设置NFS服务器。在/etc/exports文件中添加以下内容。 /NFSROOT 192.168.140.0/255.255.255.0(ro,sync,no_root_squash) /NFSROOT/tmp 192.168.140.0/255.255.255.0(rw,sync,no_root_squash) /NFSROOT/sys 192.168.140.0/255.255.255.0(rw,sync,no_root_squash) /NFSROOT/var 192.168.140.0/255.255.255.0(rw,sync,no_root_squash) /NFSROOT/root 192.168.140.0/255.255.255.0(rw,sync,no_root_squash) /NFSROOT/etc 192.168.140.0/255.255.255.0(rw,sync,no_root_squash) 最后,启动头节点的相关服务。 service nfs restart service dhcpd restart service xinetd restart 五、Kerrighed Cluster计算节点设置步骤 modprobe kerrighed 然后在任意一台节点上启动集群和负载器调度器。 krgadm cluster start krg_legacy_scheduler 启动负载器时,可能会由于没有挂载configfs而报错。需要在/etc/fstab文件末尾添加以下内容并在根目录下建立config目录。 configfs /config configfs defaults 0 0 若启动一切正常,那么就应该能够在任意一台节点上看到所有计算节点的处理器和内存,类似于一台独立的SMP计算机。 六、Kerrighed Cluster使用方法 krgcapset -d +CAN_MIGRATE 执行完上面的命令后,就可以启动多进程程序,可以用top观察处理器和内存的使用情况。 七、Kerrighed Cluster使用实例 modprobe kerrighed 然后在Node1(或Node2)上启动集群和负载器调度器。 krgadm cluster start krg_legacy_scheduler 通知Kerrighed允许移植进程。 krgcapset -d +CAN_MIGRATE 开始运行HPL。 mpirun -np 2 xhpl ![]() ![]()
八、错误处理
mount -t nfs -n -o remount 192.168.140.135:/NFSROOT / |