Gentoo架设OpenMosix集群
论坛总有人希望有用巨型机的机会
有条件的看下文
呵呵,只要有100台普通的菜羊
就能构建一个千亿次机器拉
http://man.ddvip.com/linux/gentoo/openmosix/index.html
原文更新:2003年11月20日
内容简介:这个HOWTO会帮助你使用 gentoo 创建 openMosix 集群
1. 介绍
关于本 HOWTO
这个 HOWTO 会帮助你建立一个 openMosix 集群。它基于 Gentoo Linux d发布。我有意使文档尽可能的友好,迎合 Linux 新手的需要。当一个有经验的用户可以轻松的把 openMosix,无盘节点和网络方面的 HOWTO 扎在一起的时候,我还在这个 HOWTO 上有各种我希望能够缓解的困难。
注释: 如果你计划使用无盘节点来建立你的 openMosix 集群,你要阅读下面内核部分,来学习如何编译 openMosix 支持的内核,然后阅读我们的 无盘 HOWTO,再回来这里,继续进行实际的内核安装。
关于 openMosix
openMosix 是一个Linux内核补丁,允许多个主机充当单系统镜像(SSI)。这使得多个主机看起来像是一个多处理器的大主机。写作本文档的时候,我正在用最新的 openMosix 内核补丁,版本 2.4.20,openMosix 用户工具版本 0.2.4-r4。在 http://openmosix.sourceforge.net 有非常广泛的关于 openMosix 的信息。当我尝试集群不同版本修补过的内核源码时曾有过困难,并且发现补丁并不向后兼容。当执行a.out或ELF格式二进制,或者重量级进程 fork时, OpenMosix 明确的迁移重量级进程。它不能迁移多线程的进程,或是使用共享内存的重量级进程。
要得到更多关于openMosix的信息访问他们的 主页.
关于集群
我们的集群由共享运算资源的独立计算机(节点)组成,以增进全部节点的运算能力。并不需要所有节点的构架相同,不过那将会使组建集群的任务更加容易。
开始之前
你应当已经在你的主节点上安装了 Gentoo,并且上面有足够的空间存放要host从节点的文件系统。 另外,你应当有 openMosix 内核源码,已经由 Gentoo 方便的补丁过的。
要得到源码,简单的使用 emerge,键入:
代码 1.1: 获得补丁过的内核源码
# emerge openmosix-sources
2. 配置内核
关于内核
内核是处在你的硬件和你在机器上加载的所有其他软件之间的软件,本质上说内核是操作系统的基本。当你的计算机启动,BIOS 执行在硬盘引导空间找到的指令。这些指令一般就是加载你内核的引导程序。当你的内核被加载后,所有的进程都将由内核处理(管理)。
要得到更多内核与内核配置的信息,可以查看这个很有帮助的 HOWTO, http://www.tldp.org/HOWTO/Kernel-HOWTO.html.
配置内核
内核可以如你所想的大和定制,但是有一些内核选项不能选。
重要: 像下边这样,把 /usr/src/linux 链接到 openmosix-sources 目录是极其重要的。
代码 2.1: 链接 /usr/src/linux 到 openmosix
# cd /usr/src
# rm linux
# ln -s linux-2.4.22-openmosix linux
然后进入你的内核配置过程:
代码 2.2: 编辑内核配置
# cd /usr/src/linux
# make menuconfig
你会见到一个灰头土脸的 GUI,提供一个比手工修改 /usr/src/linux/.config 文件更安全的选择。如果你的内核已经工作良好,你可能要退出 GUI,保存当前的配置文件。键入:
代码 2.3: 备份主节点内核配置
# cp .config .config_working
在 GUI 中,最顶上的菜单项应当是 openMosix ---。如果不是的话,你需要 emerge 带有 openMosix 补丁的内核源码。 (code listing 1.1)。进入下面的子菜单,确保下列项目选为内建而不是模块。
代码 2.4: Menuconfig options
openMosix --->
[*] openMosix process migration support
[ ] Support clusters with a complex network topology
[*] Stricter security on openMosix ports
(1) Level of process-identity disclosure (0-3)
[*] openMosix File-System
[ ] Poll/Select exceptions on pipes
[ ] Disable OOM Killer
[ ] Load Limit
Code maturity level options--->
[*] Prompt for development and/or incomplete code/drivers
Networking options --->
<*> Packet socket
[ ] Packet socket: mmapped IO
< > Netlink device emulation
[ ] Network packet filtering (replaces ipchains)
[ ] Socket Filtering
<*> Unix domain sockets
[*] TCP/IP networking
[*] IP: multicasting
File systems --->
[*] /proc file system support
[*] /dev file system support (EXPERIMENTAL)
[*] Automatically mount at boot
注释: 这些内核配置只是应当附加在你的系统特定配置上,而不是完全取代那些选项。
当你重新配置主节点内核之后,重新编译:
代码 2.5: 重编译内核和模块
# make dep
# make clean bzImage modules modules_install(确保 /boot 在复制前已经加载)
# cp arch/i386/boot/bzImage /boot/bzImage-openmosix
要为你的新内核增加项目到你的 lilo.conf 或者 grub.conf (取决于你使用哪种启动引导器)并使新内核成为缺省。现在新的 bzImage 已经复制到你的 /boot 目录,你需要做的就是重新启动。
缺少选项
如果你的内核配置缺少某些选项,确定你选中了下面的:
* Code maturity level options ---
o Prompt for development and/or incomplete code/drivers
3. openMosix 节点的配置
安装 openMosix 用户工具
为了使集群能够迁移进程,需要安装一些用户方程序。另外,需要启动 openMosix 服务来使一个节点加入集群,并且应用 openMosix 所有能力。要得到这些程序和文件,使用 emerge:
代码 3.1: 安装 openMosix 用户方实用工具
# emerge openmosix-user
配置 openMosix 节点
编辑或创建 /etc/openmosix.map 已经不需要了。新版本的用户方实用程序有自动搜索守护进程,可以自动的探测你网络中的所有节点。
在所有节点上创建 /mfs 目录并且如果你要使用 openMosix 文件系统的话加载它(强烈建议),允许你访问你的所有节点。
代码 3.2: mkdir /mfs
# mkdir /mfs
代码 3.3: /etc/fstab 中的示例项
none /mfs mfs noauto,dfsa=1 0 0
注释: 不需要所有的节点都运行来使 openMosix 功能正常。
启动 openMosix
启动 openMosix 真的很简单。下面的命令会启动你内核中 openMosix 的功能,并启动自动搜索守护进程,保持跟踪所有可用节点。
代码 3.4: 启动 openMosix
# /etc/init.d/openmosix start
4. openMosix 用户方实用工具
命令行实用工具
openMosix-user 在你的系统上安装了几个有用的工具。介绍几个:
* mosmon - openMosix 监视器。允许你查看你所有节点的状态,包括cpu使用,安装内存,使用内存等。
* mtop - top 增强版,显示在节点上实际运行的进程。
* mps - ps 增强版。还显示节点号。
* mosctl whois - 这像 mosmon 一样非常有用,其它工具只能告诉你节点号。 通过 mosctl whois nodenumber 你能发现节点的 ip 或主机名。
openmosix 压力测试可以测试如果你集群中的所有都运转的话,在负载下它会怎样表现。这个软件包叫做 openmosixtest:
代码 4.1: Emerge openmosixtest
# emerge openmosixtest
ebuild 会告诉你如何运行测试。
图形化实用工具
要得到你的集群的图形化概观,查看被迁移的进程,你可以使用 openmosixview.
代码 4.2: Emerge openmosixview
# emerge openmosixview
要运行这个奇妙的应用只需键入 openmosixview:
代码 4.3: 开始 openmosixview
# openmosixview
5. 资源
openMosix
* http://openmosix.sf.net
openMosix add-ons (ebuilds 可用)
* openMosixview
* openMosix stress test
* general openMosix daemon
本文档内容按照Creative Commons - Attribution / Share Alike协议发布。 高射炮打蚊子,复杂了点。如果能解决平台间的函数调度,注意不是进程调度,那这台高射炮就真的NB了。近来做格点计算颇有心得,不过难度不小,改了几个版本才出一个原型。 是基于不同机器间的线程自由分配的
就是说一个程序的多个线程可不同机器运行 还是达不到要求。;P 那,你就考虑小型机去
页:
[1]