2009年6月9日 星期二

FreeNAS 學習誌

計劃利用家裏的舊電腦架一台檔案伺服器,並且用RAID1(mirror)來加強資料安全性
所以先用模擬環境來作個練習

測試環境 Virtual Box 2.2.4 + FreeNAS LiveCD版 0.69.1.4554
準備3個Virtual Box HD
1. boot.vdi 500MB 開機系統碟
2. hda.vdi 1GB 儲存碟1
3. hdb.vdi 1GB 儲存碟2

安裝FreeNAS
1.光碟開機,選9安裝到500mb硬碟,好了之後選7重開機,移除光碟
2.從500mb硬碟開機成功,選2設定IP,要不要DHCP選No,輸入192.168.56.101, 子網路24, 其它都空白

3.使用網址進入管理介面 http://192.168.56.101/ 帳號admin 密碼freenas
7.選 System > General > 將 Language 改成 Chinese(Traditional) 然後 save
8.磁碟 > 管理 > + > 磁碟選ad1,已格式化之檔案系統選軟體RAID > 增加
9.磁碟 > 管理 > + > 磁碟選ad3,已格式化之檔案系統選軟體RAID > 增加
10.套用,會看到二個HD都ONLINE
11.磁碟 > 軟體RAID > RAID1 > + > 輸入名稱例如 mirror1, 按著Ctrl將提供者的ad1和ad3都反白, 建立並初始 RAID打勾 > 增加
12.套用,會看到mirror1 COMPLETE
13.磁碟 > 格式化 > 選mirror1 > 檔案系統選UFS > 格式化磁磁
14.磁碟 > 掛載點 > + > 磁碟選mirror1 > Mount point name 輸入 freenas > 增加
15.套用,會看到OK
16.服務 > CIFS/SMB/網芳 > 設定 > 啟動打勾 > 儲存並重新啟動
17.服務 > CIFS/SMB/網芳 > 共享 > + > 名稱temp 註解temp 路徑/mnt/freenas/ > 增加 > 套用
18.試試用 \\192.168.56.101 進入存取檔案

備份設定值
1.系統 > 備份/還原 > 下載設定值 > 會得到一個 config-freenas.local-20090609130702.xml 請存放其它地方

異狀模擬(一):500mb系統碟掛掉,不能開機了
1.換掉500mb硬碟,接一個新的600mb硬碟,光碟機放入FreeNAS LiveCD
2.按9重新安裝FreeNAS到新硬碟,一樣是灌好重開機,移除光碟
3.從600mb硬碟開機成功,選2設定IP,要不要DHCP選No,輸入192.168.56.101, 子網路24, 其它都空白
4.使用網址進入管理介面 http://192.168.56.101/ 帳號admin 密碼freenas
5.System > Backup/Restore > 瀏覽選定備份的系統設定檔 config-freenas.local-20090609130702.xml > 按下Restore configuration
6.系統會自動重開機,等開好了,重新進入管理介面,就可以看到全部都恢復正常了

異狀模擬(二):1GB儲存碟掛掉一個
1.抽掉其中一個硬碟再開機, 進入管理介面
2.狀態 > 磁碟 ,會看到其中一個HD遺失, mirror1呈現DEGRADED狀態
3.磁碟 > 軟體RAID > RAID1 > 工具 > 選mirror1 > 磁碟選ad3 (也就是掛掉的那一個) > 命令列選 forget > 傳送指令
4.磁碟 > 管理 > 把掛掉的那個硬碟移除 > 套用
5.關機,換一個新的1.2GB硬碟,開機後,進入管理介面
6.磁碟 > 管理 > + > 磁碟選ad3,已格式化之檔案系統選軟體RAID > 增加 > 套用
7.磁碟 > 軟體RAID > RAID1 > 工具 > Volume名稱選mirror1, 磁碟選ad3, 命令列選insert > 傳送指令
8.切到資訊那一頁,可以看到它正在進行重建,等它完成就OK了
PS.雖然是換了1.2GB的,但能用的只有1GB,以小的為準

再模擬第一個1GB儲存碟掛掉
\\192.168.56.101 進入時突然問密碼,也許可以用來判斷有掛碟了
處理方法同上,搞定再進入就不會問密碼了

2009年2月12日 星期四

DropDownList別用相同的Value

若有二個以上選項具有相同的Value時,會判斷只到第一筆相同Value的Index就停下來了

例如下列的 a1@gmail.com 都是value:

張三 a1@gmail.com
李四 a1@gmail.com
王五 a1@gmail.com

 

如果使用者選了李四或王五,結果取得DropDownList.SelectIndex會出現在張三

有人用重作元件的方法解決了這個問題,不過我個人認為最簡單的方法,還是在Value動手腳,讓他們每一筆都不同

比如加個空格再接著名字或編號,到時再用Split函數取得需要的欄位就好了

 

張三 a1@gmail.com 張三
李四 a1@gmail.com 李四
王五 a1@gmail.com 王五

2009年2月10日 星期二

千萬別用中文電腦名稱設計ASP.NET

錯誤: 郵件標頭中找到無效的字元

在ASP.NET設計傳送mail的程式, 使用 System.Net.Mail 類別

明明在Server上可以執行,很正常,都有收到mail,但在PC端測試時就是失敗,改什麼程式碼都沒用

向Google大神請教了一下,發現有人提到電腦名稱中文的問題

接著將我的電腦原先是 資訊處25 的中文名稱改成了 botto

果然!!!!! 同一支程式什麼也沒改,可以正常寄信了.哇咧 T_T

所以記住! 寫程式千萬不要用中文, 連電腦名稱也不要, 我看最好連OS也換掉好了

2009年2月9日 星期一

別用中文資料夾名稱設計ASP.NET

錯誤訊息 Sys.WebForms.PageRequest ManagerParserErrorException

12031 之類的錯誤編號

在PC上開發時一直找不出錯誤為何發生

將資料夾由中文改成英文後,就不再發生了

所以記住,不管寫什麼程式,不要用中文資料夾名稱