?? ups-howto.txt
字號:
中文 UPS Howto Harvey J. Stein, [1]abel@netvision.net.il, Berger Financial Research, Ltd. v2.02, 31 March 1997 _________________________________________________________________ 本文能幫助您將 Linux 系統(tǒng)連接到不斷電系統(tǒng) (uninterruptable power supply, UPS)... 如果幸運的話 .... 版權(quán)聲明: Copyright (c) 1994, 1995, 1996, 1997 by Harvey J. Stein. You may use this document as you see fit, as long as it remains intact. In particular, this notice (along with the contributions below) must remain untouched. _________________________________________________________________ 1. 簡介 * 1.1 有貢獻的人們 * 1.2 請?zhí)貏e注意 * 1.3 其他的文件 2. 請注意已過時的資訊3. 聰明的與單調(diào)的 UPS4. 軟體5. 自己動手指南 * 5.1 您所需的工作 (總結(jié)) * 5.2 這應(yīng)該是做什麼工作的? * 5.3 如何設(shè)定好所有的工作 * 5.4 進一步的改善 6. 硬體的注意事項 * 6.1 如何制作訊號纜線 * 6.2 訊號纜線反向分析及修改 power.c _________________________________________________________________ 1. 簡介 本 HOWTO 文件包含了如何連接 UPS 到執(zhí)行 Linux 的電腦上。 其想法是以適當(dāng) 的方式將二者相連接,使得 Linux 可以在電源斷電以及 UPS 的電池耗光前安全 地關(guān)機。 其中還包括了一些可幫助您建立上述連線的軟體,以及詳述該連線的運作方式。 假如您能找到一個已設(shè)定好可以使用您的 UPS 的軟體, 則後者的說明對您來說 通常是不需要的。否則的話,您必須仔細地閱讀它。 在相當(dāng)?shù)某潭壬媳疚募驯绕鹞以谌昵八珜懙脑亩喑隽撕芏鄡?nèi)容。 所有的 基本資料都可以在 SysVinit 中的 powerd man page □找到。 盡管在三年前有 人可能無法在一般的 Linux 套件中找到這篇 man page , 但我不相信今後還會 再發(fā)生這樣的情況。 除此之外,當(dāng)我第一次撰寫這篇 Howto ,除了 powerd.c 以外并沒有其他的軟體 可以做為 Linux/UPS 之間的溝通與控制。 而今日我們則可以在 [2]Sunsite's UPS directory 下找到一大堆 UPS 控制軟體。 然而,受到 RedHat 即將重新印制 Dr. Linux 的激勵,我也開始重寫這篇 UPS Hotwo 。 為什麼呢? 嗯 .... * 我想,額外的一般性概觀將能有助於了解如何將 Linux 系統(tǒng)連上 UPS , 即 使它只是另一份內(nèi)容相同的文件。 * 這篇 HOWTO 算是各種特殊 UPS 資料的儲藏庫 --- 在這兒有許多尚未被整合 入一般軟體套件中的 UPS 資訊。 * 這篇 HOWTO 包含了一些在其他文件中找不到的額外詳細資料。 * 一些可以在 [3]Sunsite's UPS directory 找得到的 UPS 軟體似乎說明文件 都少得可憐。 您也許需要先閱□本文以了解如何使用他們。 * 現(xiàn)在這件事似乎已有了自己的生命了。當(dāng)一篇 HOWTO 文件因而誕生時事實就 更加明顯了。另一個比較不明顯的事實是當(dāng)它必須上床睡覺時。 (譯注: 這 一句笑話我看不懂啦! 唉! 翻得好爛 ....) 1.1 有貢獻的人們 我永遠都會感激那些曾經(jīng)給我?guī)椭⒔o我建議、以及給我特殊的 UPS 資料的人們 。 其中包括了: * Hennus Bergman ( [4]hennus@sky.owl.nl) * Charli ( [5]mefistos@impsat1.com.ar) * Ciro Cattuto ( [6]Ciro Cattuto) * Nick Christenson ( [7]npc@minotaur.jpl.nasa.gov) * Lam Dang ( [8]angit@netcom.com) * Markus Eiden ( [9]Markus@eiden.de) * Dan Fandrich ( [10]dan@fch.wimsey.bc.ca) * Ben Galliart ( [11]bgallia@orion.it.luc.edu) * Danny ter Haar ( [12]dth@cistron.nl) * Christian G. Holtje ( [13]docwhat@uiuc.edu) * Raymond A. Ingles ( [14]inglesra@frc.com) * Peter Kammer ( [15]pkammer@ics.uci.edu) * Marek Michalkiewicz ( [16]ind43@sun1000.ci.pwr.wroc.pl) * Jim Ockers ( [17]ockers@umr.edu) * Evgeny Stambulchik ( [18]fnevgeny@plasma-gate.weizmann.ac.il) * Clive A. Stubbings ( [19]cas@vjet.demon.co.uk) * Miquel van Smoorenburg ( [20]miquels@cistron.nl) * Slavik Terletsky ( [21]ts@polynet.lviv.ua) * Tom Webster ( [22]webster@kaiwan.com) 請注意下方的 email 地址是自電子信件中節(jié)錄下來的,它們也許會過期。 而上 方的 email 地址可能也會過期,但有些是比起下方還要新的。 除此之外,如果因我的疏忽而在上表中漏掉任何一位有貢獻者的話,我真的很抱 歉。 請您 email 給我,我會將您的名字加上去。 1.2 請?zhí)貏e注意 我真的無法保證這些東東對您會有效。連結(jié) UPS 到電腦上是一件相當(dāng)有技巧的工 作。 其中之一或二者都有可能會燒掉、爆炸、著火、或者是引發(fā)第三次世界大戰(zhàn) 。 除此之外,我只有對 Advice 1200 A UPS,以及 5kva Best Ferrups 有直接 的經(jīng)驗, 而且我也不需要自己做一條訊號線。所以,請注意! 盡可能地收集您的 UPS 的所有資訊。 請先考慮清楚,不要隨便相信任何您在本文中或其他地方所讀 到的內(nèi)容。 另一方面,我正盡可能地收集所有使我的 UPS 可以工作的方法, 其中有很多不 是來自制造商的資訊,所幸也沒有燒掉任何東西,所以這些都是可能的。 1.3 其他的文件 本文并沒有包含所有 UPS 的一般特性與能力。如您需要這類型的資訊,你可以看 看 [23]The UPS FAQ。 這篇文件同時也可以在 [24]ftp://rtfm.mit.edu/pub/usenet-by-hierarchy/comp/answers/UPS-faq 中 找到。它是由 Nick Christenson ( [25]npc@minotaur.jpl.nasa.gov) 所維護的 ,但看起來好像自從 1995 年以後就沒有再重寫了。如果您要 email 給他, 他 希望您可以在信件的 Subject 那一行放入 UPS 或 UPS FAQ 或其他相關(guān)的詞句。 有許許多多的 UPS 制造商在網(wǎng)路中萌芽。 其中有些確實在他們的網(wǎng)頁中提供了 有用的資訊。您可以在 [26]The UPS Directory 中找到這些 UPS 制造商的網(wǎng)頁 簡表。該網(wǎng)站也包含了 [27]UPS FAQ 這篇文件。 2. 請注意已過時的資訊 我剛剛發(fā)現(xiàn)底下有一些資料已經(jīng)過時了。其中來自 [28]the latest sysvinit package 的 init daemon 比起我所能描述的還要簡陋。 盡管看起來目前的版本 與該程式完成時的版本相容,但當(dāng)中仍然有一些對 UPS 相當(dāng)重要 的支援沒有文 件說明。 底下所簡述的控制機制只能讓 powerd 送給 init powerfail 或 powerok 這兩個 訊息之一而已。init 接到 powerfail 訊息時執(zhí)行一個命令,而當(dāng)它接到 powerok 時則執(zhí)行另一個命令。 這將導(dǎo)至 powerd 在處理低電力訊號及其他特殊 狀況時產(chǎn)生邏輯上的復(fù)雜性。 較新版本的 init (像是 2.58 版) 就比較精良了。 它可以在接到訊號時選擇 三 個 script 中之一來執(zhí)行。如此一來, init 可以在接到電源斷電訊號時執(zhí)行 powerfail script ,可以執(zhí)行一個 powerfailnow script 做立即的關(guān)機 ,以及 一個 powerok script 來停止任何正在進行的關(guān)機動作。這樣比起要我們自行處 理這些機制要簡單多了。 盡管這□大部分的討論仍假設(shè)使用舊的 init 通訊方式, 我已加入了兩個新的章 節(jié)來描述新的連線方法。這兩個章節(jié)是 <@ref>ciroTrust Energy Protector 400/650 及 <@ref>ciroTrust Energy Protector 400/650<@ref>apc700APC Smart-UPS 700。其中前者特別詳細。二者都包含了一個 powerd.c 檔, 它可以在收到低電 力訊號時送訊號給 init 以進行緊急關(guān)機, 就像是 /etc/inittab 檔中那幾行所 寫的一樣。其馀的, 我所能告訴您的就只有請您看看 init 的原始碼了。 就我所知的,在以下所列的 UPS 軟體套件中有許多也采用了新式的連線方式。 3. 聰明的與單調(diào)的 UPS UPS 大至分為兩類,我分別叫它們 ``聰明的 (Smart)''與 ``單調(diào)的 (Dumb)''。 二者之間的差異在於我們能自 UPS 獲得多少的訊息以及我們能夠?qū)?UPS 下達多 少命令。 單調(diào)的 UPS + 藉由序列阜 (serial port) 與電腦相連。 + 使用 modem 控制線與電腦相通訊。 + 可以在電力是否消失時給電腦送訊號。 + 也許可以在 UPS 的電力是否偏低時通知電腦。 + 電腦通??梢运陀嵦柦o UPS 讓它將自己關(guān)閉。 聰明的 UPS + 藉由序列阜 (serial port) 與電腦相連。 + 以一般的資料傳輸線經(jīng)序列阜與電腦溝通。 + 多半有一組命令語言可以讓電腦自 UPS 那得知各式各樣的資訊, 以設(shè) 定各種運作參數(shù)給 UPS,同時也操作 UPS (像是將它關(guān)掉) 通常聰明的 UPS 都可以在單調(diào)的模式下操作。這是很有用的,因為就我所知, 最常見的聰明 UPS (像是 APC) 制造商只愿意透露他們的 UPS 通訊協(xié)定給那些簽 署了絕不□露機密同意書的人們。 就我所知,只有 BEST 公司所制作的 UPS 可以很容易地在 Linux 下運作。 除此 之外, BEST 公司還有完整的文件說明了他們的 UPS 的聰明模式 (以及單調(diào)模 式)。 BEST 公司也提供了可以與他們的 UPS 溝通的程式的原始碼。 所有列在 [29]軟體 章節(jié)的軟體皆可在單調(diào)模式下與 UPS 溝通。這些都是您真正 需要的。有些軟體則宣稱說可以在聰明模式下操作 ARC UPS ,但我不知道他們是 如何獲準(zhǔn)而做到的。 一個完整的程式運作會跳出一個視窗,□頭包含了有趣的度 量表, 代表著各式各樣的 UPS 統(tǒng)計資料,像是負(fù)載程度、內(nèi)部溫度、斷電記錄 、輸入電壓、 及輸出電壓 ...... 等等。看起來似乎 smupsd-0.7-1.i386.rpm 程式 (見 [30]軟體一節(jié)) 可以做到這些。 對於其他的軟體我則不敢確定。 以下的內(nèi)容我將盡量□限於如何調(diào)整您的系統(tǒng)使其能與單調(diào)模式下的 UPS 一起工 作。 而對聰明模式的 UPS 而言,基本想法是一樣的,但需要什麼樣的 powerd 參與工作以及您需要什麼樣的訊號纜線是隨著 UPS 而有不同的。 4. 軟體 基本上,您所需的就是一個可以工作 powerd 程式檔,通常您可以在 /sbin/powerd 下找到它。它通常是屬於 SysVinit 系統(tǒng)的一部分。 就我所知, 所有近期版本的 Linux 系統(tǒng)都包含了一個較新版的 SysVinit 。 但在非常舊的 版本則不包含 powerd。 唯一的問題是您的訊號纜線可能不能與您的 powerd 設(shè)定相配合, 在這情況下您 必須重新做一條訊號纜線,或者是找來一份 powerd.c 檔并修改它使得它能配合 您的訊號纜線工作。或者是, 您可以使用以下所列的軟體,大部分的軟體允許您 做適當(dāng)?shù)脑O(shè)定以配合您的訊號纜線。 就像剛剛所提到的,除了使用 SysVinit 的 powerd 之外您也可以拿現(xiàn)有的任何 一種 UPS 軟體來用。目前有許多軟體可以幫助您建立電腦與 UPS 之間的連線。 在我第一次寫這篇 HOWTO 時都還沒有這些軟體, 而這也是為什麼我要寫這篇 HOWTO 。事實上,您也可以從中選一個軟體來用, 而完全忽略這篇 HOWTO 的內(nèi) 容。 在 1997 年 3 月 15 日左右, [31]Sunsite 的 UPS 目錄 下可以找到一大堆的 軟體可用。而在其他的網(wǎng)站似乎也有 UPS 控制軟體可以找到。 以下是我目前所 找到的 (除了其中兩個以外,其他都是在 sunsite 找到的): [32]Enhanced_APC_BackUPS.tar.gz 這是一個可以控制 APC 聰明模式的 UPS ??雌饋砘旧鲜且罁?jù) BUPS Howto (包含了這一篇) ,但也好像有一些低電力警告的支援。 [33]Enhanced_APC_UPSD-v1.4.tar.gz 在 .lsm 檔中提到它從前就是上一個所提到的軟體, 但事實上它正是將 上一個軟體的 .tar.gz 檔包裝在它的 tar.gz 檔之內(nèi)。那篇文件說明有 問題,看起來它似乎同時支援 APC UPS 的聰明與單調(diào)模式,但我不敢確 定。 [34]apcd-0.5.tar.gz 這是另一個可以控制 APC UPS 於聰明模式下運作的軟體。 看起來似乎可 以支援主/從模式 (也就是說,當(dāng)停電時可以由一臺機器送訊號給另一臺 機器叫它關(guān)機) 。 看起來似乎是使用了 UPS 的聰明模式,不像是經(jīng)由 modem 的訊號線來控制。 [35]smupsd directory 又是另一個控制 APC UPS 的軟體??雌饋砜梢栽诜浅B斆?(tm) 模式下 操作 UPS 。舉例來說,它包含了一個 Java 圖形介面的 UPS 監(jiān)控工具程 式。 該目錄下包含了已編譯好的 RPM 形式的軟體 ( [36]ftp://cms180.cmsnet.com/pub/smupsd/smupsd-0.7-1.i386.rpm) , 一個原始碼 RPM 格式檔 ( [37]ftp://cms180.cmsnet.com/pub/smupsd/smupsd-0.7-1.src.rpm) , 以及一個□我檔案 ( [38]ftp://cms180.cmsnet.com/pub/smupsd/smupsd-0.7-1.README) 。 [39]genpower-1.0.1.tgz 一個一般化的 UPS 控制軟體。它包含了很多種 UPS 的設(shè)定 --- 兩種 TrippLite 的設(shè)定,以及三種 APC 的設(shè)定。同時也包含了很好的說明文 件。物超所值。 [40]powerd-2.0.tar.gz 一個 SysVinit 的 powerd 程式的替代品。 與它的說明文件所提到的相 反,它似乎沒有整合到 SysVinit 2.62 版中。它的優(yōu)點在於它可以做為 在其他機器上執(zhí)行的 powerd 的伺服端 (假如您的機器有連上網(wǎng)路且只有 一個 UPS 的話) ,而且它可以用設(shè)定檔來進行設(shè)定 ---- 故其原始碼不 需修改及重新編譯。 [41]upsd-1.0.tgz 另一個 powerd 的替代品??雌饋硭坪跖c powerd-2.0.tar.gz 有許多相 似的特色。 [42]checkups.tar 這個軟體是用來控制 Best UPS 的。它是直接來自 Best 公司的網(wǎng)頁的。 它包含了多種 unix 的可執(zhí)行檔,但更重要的是,它還包含了原始碼, 故您可以在 Linux 下測試它,而且假如它無法工作,您也可以試著修改 它。 此原始碼同時包含了在單調(diào)模式下控制 UPS 的 "基本檢測" 指令, 以及一些更精巧的 "先進檢測" 指令 --- 當(dāng) UPS 回報說它只剩 X 分鐘 的電力時即發(fā)出關(guān)機的訊號,而不是等到 X 分鐘後電力都用光了才開始 關(guān)機。 此先進檢測程式也會在 UPS 發(fā)出像是周圍環(huán)境溫度過高、接近低 電力、 低交流電輸出、或者是使用者測試等警告時關(guān)閉機器。 [43]bestups-0.9.tar.gz 可能在您讀到這篇文章時,此在 sunsite 可以找得到的軟體已發(fā)展得很 好了。 它是一對可以相互通訊的模組,用以控制 Best Ferrups UPS。它 可以在聰明模式下 控制 UPS 。它可以與 powerd-2.0 合作操控 --- 這 一點在當(dāng)您有一個大型的 Best Ferrups UPS 支援連接在網(wǎng)路上機器的電 力時格外有用。 請注意我只是快速地瀏覽過這些軟體。我并沒有用它們,除了那個我們才開始使 用的 [44]bestups-0.9.tar.gz 以及 [45]powerd-2.0.tar.gz , 其中 ``才開 始'' 意思是說我們才在上個星期四開使做測試。 5. 自己動手指南 這□的討論是針對單調(diào)模式的 UPS 控制而寫就的。然而, 大部分的過程對單調(diào) 的 UPS 與聰明的 UPS 幾乎是一樣的。最大的不同在於 UPS 監(jiān)控程式 (基本上是 powerd) 如何與 UPS 溝通。 在開始之前,我建議以下的工作流程: * 略讀這篇文件。
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -