FreeNas 測試 (III)

今天利用前幾天設定好的 FreeNAS 機制, 再來作一些容錯性的測試, 目的是模擬 FreeNas 主機如果故障, 是否可以利用現有的環境再另一台主機立即回覆, 所以作了以下的嘗試

原始主機: Gigabyte 8S661FXMP-RZ (SIS晶片組)
目的主機: ASUS P5P800-VM (Intel晶片組)
網路卡都是使用 On-board 的網卡, 硬碟作軟體的 RAID 1

嘗試一:
把開機的 USB 及一個硬碟拔到另外一台主機上開機, 機器可以正常開機, Web介面正常, CIFS 設定也有抓到同時顯示有另外一顆沒有抓到. 以上看起來系統識可以正常運作, 但是由 WIndows 去讀取發現分享的資料夾打不開.

嘗試二:
再把 USB 拔回到原來的主機, 但是只接一顆硬碟開機(與嘗試一不同顆), 還是發現有以上的現象, 這點跟我先前的想法有點不同, 之後要來測試一下整個硬碟故障還原的測試.

嘗試三:
把原始主機上的 USB 及兩個 HDD 都拿到目的主機上安裝, 再 BIOS 設定好 HDD 開機順序 (由 USB 開機), 系統也是一次就開啟, 分享服務也是立即可用..

結論:
FreeNAS 的移植性很強, 以後遇到主機故障只要把 Storage 移植過去, 系統就可以直接 ON 起來服務, 以後要升級也是很容易, 但是 RAID 1 失去一顆會讓服務停止, 這樣有點 “掉漆” 的感覺.

FreeNas 測試 (I)

今天找了一台Celeron 2.8G 的主機來測試 FreeNas 這套軟體, 該軟體可以說是窮人的 NAS, 只要備好主機及硬碟後就可以把電腦變成 NAS 來使用, 最棒的是軟體的部份完全免費.

因為他本身有支援 CIFS 協定 (可以作AD 網域分享), 也有支援 RSync 遠端的檔案同步, 所以未來想要拿來作檔案備份的解決方案, 所以先開始來摸摸這套免費的產品.

首先到 FreeNas 網站上抓取最新的 Stable 版本, Nightly 的測試版只拿來測試就好, 千萬不要用在正式的環境下, 安裝起來倒是蠻容易的, 只是花了一點時間來嘗試把所有的開機資料放在 USB 隨身碟.

原來一開始把所有的東西一口氣接上去, 會發現怎麼都沒有辦法把資料安裝在 USB 內, 後來發覺他一開機會自動去找USB / Floppy Disk 把參數資料寫在裡面, 所以 USB 在使用中是不可以被整個蓋過去, 在這邊花了相當的時間 Try & Error, 最後出絕招, 把 HDD 拿掉, USB也拿掉, 直接用 CD-ROM 開機, 等到進入到選單畫面才把 USB 插上去.

接下來選擇 9) Install to a hard drive/memory drive/USB Pen, etc. -> 1) Install on HD, CF or USB key: Create 1 UFS partition, 來源選擇 CD-ROM 當做 Source, USB 當做 Destination (選項是 da0), 系統會提示你可用 USB 開機, 記得在 BIOS 要有支援 USB-HDD 開機的功能,設定好就可以由 USB 開機了.

重新開機後設定網路卡 IP, 選擇 2) Set LAN IP address, 完成後就可以尤其他電腦的網頁上面看到畫面開始的歡迎畫面. 整個的設定請參考官網上面的說明文件 (http://www.freenas.org/index.php?option=com_versions&Itemid=51).
Quick Test FreeNas

在設定 RAID 的時候花了一點時間, 原因是找來的 40G IED HDD 是有問題的, 設定成 RAID 0 時, 在 Mount 的階段會一直出現錯誤, 網路上找解法是前一次設定 RAID 的資料沒有被清除, 可以利用 dd 的指令來做清除, 後來想了一下用一般的開機 CD 進入到 DOS 重新劃分 DOS 磁區, 結果卡在檢查磁區內容, 判斷是硬碟故障, 所以換了一顆硬碟之後 (20G) 製作起來一切順利.

其建立 RAID 的流程
1. 先把 HD 註冊進來, 可以先不指定格式
2. 格式化硬碟, 格式選擇成 software-raid, 重複前兩個動作直到所有的硬碟都完成格式化
3. 選擇 SoftwareRaid 建立 RAID (支援 JBOD, 0, 1, 5 等幾種)
4. 把上述用的 HDD 重新再加入到這個RAID Group 進來, 產生一個RAID的邏輯硬碟
5. 把邏輯硬碟拿來格式化
6. 設定掛載點(Mount Point), 這樣系統就可以認識這個硬碟了

如果要在 Windows 環境下使用就必須要開啟 CIFS 服務, 在旁邊的 共享 把分享打開, 用網路芳鄰的方式就可以看到開放出來的分享接下來的小測試都是在這種環境下進行.
Quick Test FreeNas

尋找免費的文管系統

由於業務部門有些技術文件具有機密性, 只允許人員在公司內部查閱, 禁止再複製及列印, 所以需要找一些免費的解決方式來嘗試解決這個需求.

首先必須要找一套有權限控管的文管系統, 是網頁式的介面可以直接供多人使用, 同時也可以直接讀取公司的 AD 帳號, 對管理者可以減少帳號的管理, 對使用者可以利用單一帳號跨系統使用.

首先直接找 DRM (Digital Rights Management) 數位版權管理的系統, 這一類的產品都需要有認證的 Server, 目前有許多廠商是有提供成熟的產品, 但是都需要購買版權使用, 越多人使用價格越高, Open Source 找不到類似的免費軟體.

所以目標再轉回到一般的文管系統上, 繼續在網路上搜尋了一陣子, 發覺 Knowledgetree Document Management System (http://www.knowledgetree.com/) 還蠻適合我們要的環境, 但文件還無法做到禁止另存與列印.

安裝 KnowledgeTree 是蠻簡單的, 下載 For Windows免費的版本 (Community Edition), 依照其安裝步驟, 利用內建的 Admin 帳號登陸, 設定好 AD 驗證的 IP / ID / Password, 透過與 AD Server 把特定的使用者加入到這個系統上, 建立一個新的文件存放路徑及使用者的群組 (設定同群組有相同的權限), 系統就大致可以開始服務了.

首先到 http://yourtestmachine/login.php 進入系統, 該主機是架設再 VM Server 上面的 XP 主機, 主要是測試使用所以效能會有點慢.

Search Free DRM

該路徑下有四個檔案, 分別使用不同的方式來做保護.
Search Free DRM

Search Free DRM

檔案一: VB Script 測試
利用 Word 內的巨集指令, 把列印及存檔功能封鎖掉.

缺點:
1. 每次有檔案都必須手動加工去把指令複製上去
2. 只有 Office 類型檔案可以使用這個方式

檔案二: Windows Sysprep
利用列印功能, 把 Word 檔案轉置成 Flash, 除了安裝特殊軟體, 只能打開網頁瀏覽器觀看, 列印效果很差.

缺點:
1. 觀看上不方便
2. 無法關閉其列印功能

檔案三: 遠端電腦轉換
也是利用列印功能轉置成 PDF 檔案, 轉置後可設定開啟密碼, 禁止另存等功能.

缺點:
1. 點選另存後還是可以存檔, 免費轉置軟體相容性還是有問題.
2. 免費製作PDF的鎖定, 遇到新版的 Reader 安全性設定完全被忽略, 必須採購原版軟體.

自動發送 email 報表 Part (II)

接下來在設定幾個不同的欄位讓他有不同的面貌

到此為止經過不同的排列組合, 應該可以組合合適的呈現方式出來, 除此之外 Query Reporter可以修正欄位資料的顯示格式, 另外還有個特別的功能, 可以分組來顯示資料, 也可以分組來做小記及加總.
Test NetApp Picture

在這個範例把 Owner 做成一個小分組, 畫面呈現上會把 Owner 這個欄位拉出 Table 之外, 並同時把 Pct_Free, Pct_used 兩個欄位呈現成小數下兩位.
Test NetApp Picture

還可以在 Sum 這個欄位選擇 sum per break & report 讓他在分組最下面, 及報表結束時自動加總.
Test NetApp Picture

最後就可以把這個設定好的表格存檔起來方便未來定期發送的母檔 (Test.rep), Query Reporter 同時也支援 Command Line 指令模式來啟動, 透過以下的指令可以自動把結果輸出成 test.html, 立即結束掉 Query Reporter 程式.

queryreporter.exe userid=username/password@Ora_Conn exec=test.rep html=test.html quit

接下來要找個 Command line 的發信程式來發送產生出來的 test.html, 在網路上找的 blat (http://www.blat.net/194/) 這個小程式, 下載回來後解開放置在同一個路徑下.

先執行 Blat -install “server addr” “sender’s addr” 設定郵件伺服器位置及寄送的帳號.

執行下列指令可以把 test.html 當做附件寄出, 但是由於寄出時 Html 會自動 encode 成 UTF-8 的格式, 在報表上面如果有中文字(big5)的話, 就會變成亂碼, 所以只能用附件的方式寄送, 而 Body.txt 是一段存成 UTF-8 格式的文字說明.

blat body.txt -to user01@test.com,user02@test.com -subject “TEST” -attach test.html

由於產生 test.html 需要一點時間, 前幾次測試時常常在 test.html 還沒有產生出來時就直接啟動 blat 來發送 Mail , 所以在批次檔必須要想個方式讓 blat 等一等, 當然用 Google 一下之後, 發現這個網址 http://malektips.com/dos0017.html 可以利用 Ping 的指令來達到 Wait 的功能.

ping 127.0.0.1 -n 30 -w 1000 其中 30 是 Delay 的秒數, 這樣組合起來就可以變成一個完整的批次檔.

自動發送 email 報表 Part (I)

目的: 自動於指定時間內寄發重要報表給長官們參考.

由於 Excel 及系統做出來的報表格式都很固定, 在偶然的機會找到這個產品 QueryReporter, 它可以把 SQL 查詢的指令轉製成多種格式 (包括 HTML, CSV 等), 加上排程的功能就可以達到自動寄發固定式報告的方式, 更重要的是他是免費的軟體.

首先到上述網站下載 QueryReporter (http://www.allroundautomations.nl/queryreporter.exe), 安裝在機器上, 當然該主機也必須先設定好 Oracle Client 端的安裝與設定, 該軟體指針對 Oracle DB 可以直接存取, 其他的 Database 應該是無法連結的.

第一次使用時必須要手動填寫 Username / Password, Database 它會主動去讀取 Oracle Client 的設定, 第二次進入時只要點選 [….], 就會帶出已經成功連線的資料.
Test NetApp Picture

接下來我們利用個簡單的 SQL 指令來試跑一下這個程式. Select owner, table_name, tablespace_name, status, pct_free, pct_used from all_tables where owner = ‘SYS’, 輸入到 SQL的空白區域內, 按 ‘齒輪’的圖示, 就可以看到以下的畫面
Test NetApp Picture

HTML 的好處就是其展示的畫面比較好看, 可以自由的改變大小及顏色, 我們就來稍微的調整一下, 點選上方的 Layout Tab, 進入到修改的模式, 我習慣把 Auto update 打開, 這樣修改完成後就可以馬上看得到結果, 不過先按下旋轉的箭頭符號把欄位先帶入到畫面出來.
Test NetApp Picture

首先 Report Title 可以在報表增加一行表頭出來, 在 Description 設定成 System Table, (註: Description 欄位其實就是 Field Name 的註解, Query Reporter 在處理Select 指令有顯示中文的欄位名稱很容易當機, 所以建議欄位要轉成中文就在這個欄位來處理).

而 Style 就是顯示該欄位的屬性, 如果會一點 HTML 的語法就可以知道這些參數就是控制呈現出來的結果. 以下的設定改變了一這些屬性就可以把 System Table 整個橫至在報表的上方.
Test NetApp Picture

接著可以設定 Tabular Table (設定表格格線), Form Tables (設定整個 Table 屬性), Default Field(設定欄位的預設值), 來改變整個報表的面貌
Test NetApp Picture