= 2009-11-17 = * 100 年計畫概算計畫書彙整 == DRBL-BOINC , DRBL-Ganglia , nagios3 , collectd == * 架設 DRBL-BOINC 實驗平台 * 參考歷史紀錄: [wiki:BOINC/DRBL-Live DRBL-Live-BOINC], [wiki:BOINC/Server Build BONIC Server] * 常用 boinc_cmd 指令 {{{ boinc_cmd --get_state boinc_cmd --set_run_mode always boinc_cmd --set_network_mode always }}} * 架設 DRBL-Ganglia 實驗平台 * [備註] 由於 /etc/gmond.conf 預設的 mcast_if 是 eth1,而我們的機器是 eth0 接在一起,所以需要手動修改 * [備註] 清掉 Ganglia 歷史資料的方法 {{{ $ sudo rm -rf /var/lib/ganglia/rrds/* $ sudo /etc/init.d/gmetad restart }}} * [備註] 由於我們的機器是四核心的,DRBL 佈署時請選擇跟 server 一樣的核心版本,否則使用 486 版本,就無法找到四顆 CPU {{{ Linux boinc 2.6.26-2-686 #1 SMP Wed Nov 4 20:45:37 UTC 2009 i686 GNU/Linux --- Linux pc001 2.6.26-2-486 #1 Wed Nov 4 20:19:07 UTC 2009 i686 GNU/Linux }}} * 安裝 nagios3 + collectd 來進行本機狀態監控 * 關於監控軟體 * [http://ganglia.sourceforge.net/gmetric/ Ganglia 的 gmetric 有量測硬碟 I/O 和 NFS 流量的擴充模組] * [https://subtrac.sara.nl/oss/jobmonarch/ Job Monarch] 是 Ganglia 用來監控並紀錄 PBS/Torque 的模組,可以研究看看 * 兩支監控 NFS I/O 狀態的 gmetric 模組 - [http://ganglia.sourceforge.net/gmetric/view.php?id=26 Bash 版(較舊)],[http://ganglia.sourceforge.net/gmetric/view.php?id=28 Perl 版(較新)] * 有一隻[http://ganglia.sourceforge.net/gmetric/view.php?id=39 監控 Disk I/O 狀態的模組],提到需要 pminfo,查了一下在 [http://packages.debian.org/pcp Performance Co-Pilot (PCP)] 這個效能監控的套件裡有。 * [http://ben.hartshorne.net/ganglia/ 這個網站]有用 iostat 做 Disk I/O 的 gmetric 模組 * collectd 看起來支援頗多監控,缺點是只能產生檔案,若要產生圖形得靠別的工具,例如: [http://auxesis.github.com/visage/ Visage]。 * [http://collectd.org/wiki/index.php/First_steps collectd 的入門文件] * [http://munin.projects.linpro.no/ Munin] 也是蠻常見的監控軟體 * [http://www.monitorix.org/ Monitorix] - 號稱是輕量級的監控軟體,所以還可以用在嵌入式裝置... * [http://openssi-webview.sourceforge.net/ openSSI webView] - openSSI 應該也是類似 DRBL 的 SSI 叢集佈署工具,這個 webView 的風格有點近似 Nagios, 不過挺清爽的,可以作為 DRBL/Clonezilla 的 web 介面參考 == Web Service == * 在看 [http://auxesis.github.com/visage/ Visage] 專案時,看到 [http://raphaeljs.com/ Raphaël] 跟 [http://g.raphaeljs.com/ gRaphaël] 這兩個 javascript library 可以用來做 SVG 的繪圖。 == DRBL-Agent == * [源起] 當 DRBL Client 的 NFS 連線異常,造成因無基本檔案系統存在而無法 ssh 登入。然而此時 DRBL Client 仍舊可以正常回應 ping 封包,代表處理 socket 的程序仍存活在記憶體中,是否有一個機制可以緊急進行關機(shutdown)或重開機(reboot),彷彿人在電腦前按下電源按鈕呢??先前一直在找 init 與 shutdown 指令原始碼裡有何蛛絲馬跡可以透過中斷的方式強迫關機,可惜很難追蹤。 * [搜尋關鍵字] force shutdown kernel linux * [搜尋結果] [http://smshaker.wordpress.com/2009/03/02/linux-force-rebootshutdown/ Linux force reboot/shutdown] * 後來發現 jserv 2008年八月就[http://blog.linux.org.tw/~jserv/archives/002060.html 提過]這個作法了 :( * [http://wadefs.blogspot.com/2008/08/documentation-sysrqtxt.html 當硬碟壞到不能關機怎麼辦?] * [http://linuxgazette.net/issue81/vikas.html SysRq: The Process-nuke] * [備忘] 強迫重新開機 - 使用以下指令或按下 ALT + !SysRq + b {{{ echo 1 > /proc/sys/kernel/sysrq echo b > /proc/sysrq-trigger }}} * [備忘] 強迫直接關機 - 使用以下指令或按下 ALT + !SysRq + o {{{ echo 1 > /proc/sys/kernel/sysrq echo o > /proc/sysrq-trigger }}} * 知識背景追蹤 * 關於 /proc/sysrq-trigger * [http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/en-US/Reference_Guide/s2-proc-sysrq-trigger.html Redhat 手冊的說明 - /proc/sysrq-trigger] * 其實除了 CTRL+ALT+DEL 外,Linux 還可以透過 [http://en.wikipedia.org/wiki/SysRq System Request (Sys Rq) 按鍵] 來做一些特殊除錯工作。這個 Sys Rq 鍵,通常跟 Print Screen 鍵做在一起。 * 要啟用這個功能,首先必須確認核心的 CONFIG_MAGIC_SYSRQ 參數是否有 enable。 * [http://en.wikipedia.org/wiki/Magic_SysRq_key 維基百科除了說明 SYSRQ 可以做哪些事情]外,還介紹了[http://julien.danjou.info/sysrqd/ sysrqd]這個軟體,讓管理者可以遠端執行 SYSRQ 的指令。PS.[http://packages.debian.org/sysrqd sysrqd 也有 debian 套件]!! * 關於 /proc/sys/kernel/sysrq * [http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/en-US/Reference_Guide/s3-proc-sys-kernel.html Redhat 手冊的說明 - /proc/sys/kernel/ 底下的檔案意涵] * [http://lxr.linux.no/#linux+v2.6.31/Documentation/sysrq.txt Linux 核心關於 SysRq 的說明] == Cloud Computing == * [https://www.sun.com/offers/docs/open_cloud.pdf Sun白皮書「開放原始碼與雲端運算-超大規模、隨選可用的 IT 創新」](英文版)