年初的時候,在找尋一台NAS機器做為我資料備份的機器,使用google大神找FreeNAS相關資料時,看到了國外一篇Artigo A2000的開箱文,即對此機器有相當的興趣,當時遍尋國內購物拍賣網站都找不到此機器,當知道威盛有體驗計畫時,還掙扎一下,要不要參與,因為手上一些工作在趕工,且文筆不好怕交不出文章....後來還是按耐不住對此機器的好奇,還是報名參加了...接到通知後,拿到了 Artigo A2000.....此機的開箱文網上已有不少,就不再作開箱介紹.....
先跟我預計所要取代目前的FreeNAS主機合影比較一下..



Artigo A200我要達成的功能主要有兩個,
1.做為異地備份主機,使用rsync + ssh 機制進行備份
2,做為SubVersion版本控制主機
要作備份主機,一般的NAS或使用FreeNAS所架設之機器都可達成,因都未有提供SubVersion功能,所以興起使用Linux打造符合自己需求的主機.此篇文章為先達成rsync + ssh備份主機功能所撰寫,因未曾架設過,因此以工作紀錄方式,讓有類似需求的網友參考,
【測試環境】
1.Linux 主機,後面文章以SERVER表示
2.Windows個人電腦,後面文章以PC表示
3.Artigo A2000,後面文章以ARTIGO表示
4.區域網路,網段為 192.168.2.x,透過SERVER連接Internet
5.Linux 版本 CentOS 5.3,亦為目前我 SERVER的使用環境
【軟體列表】
1.pietty (http://www.csie.ntu.edu.tw/~piaip/pietty/)
2.cwRsync (http://www.itefix.no/i2/node/10650 , 下載位置 http://www.itefix.no/i2/download )
3.WinSCP (http://winscp.net/eng/docs/lang:cht)
4.Shutdown Scheduler (http://www.dnsoft.be/dn_software/dn_freeware/dn_info_freeware/pc_shutdown/index.htm)
5. WOLGUI (http://www.depicus.com/wake-on-lan/wake-on-lan-gui.aspx)
【Artigo A2000系統安裝】
Linux主機的架設,網路上之相關文章很多,請自行參考,我於過程中大都以預設直進行安裝,此部份我僅列出安裝過程部分畫面
1.IP設定,我區網之網段為 192.168.2.x,我將ARTIGO之IP Address 設為 192.168.2.201

2.設定 Gateway,DNS

3.所有之package都不選,爾後有需要時再進行安裝

4.安裝完成後,首次開機...出現設定畫面.

5.先進行"Firewall configuration" ,進入後將"SELinux"選擇Disabled

6.完成後,系統啟動,顯示如下之登入畫面....恭喜安裝成功了...

7.使用root身分登入,密碼即為於安裝時所設定之密碼.進入後測試網路.區網/internet都成功

8.安裝完成!!
註:眼尖的網友應會看到,我主機名稱設錯了....我打成了aetigo.....懶得做修正了...
【rsync + ssh 備份設定】
1.於PC使用pietty連往ARTIGO

2.登入後使用root身分登入,登入後設定一個備份用之帳號.我設為artigo,並建立資料備份的目錄.依序執行下列指令
useradd artigo
passwd artigo
mkdir /backup
chown artigo /backup

完成後 exit 離開
3.再開啟新的pietty連往ARTIGO並使用artigo身分登入,並進入backup目錄,設定供SERVER與PC使用之備份目錄
cd /backup
mkdir Server
mkdir PC

4.同樣使用pietty連往SERVER,建立測試資料
mkdir /test
cd /test
echo "This is a test." > test-file

5.SERVER端執行rsync備份至 ARTIGO的 /backup/Server目錄,測試是否可正常運行
rsync -avrR --delete /test artigo@192.168.2.201:/backup/Server

6.在ARTIGO檢視,看看是否有資料進來...

7.測試PC端的備份.PC端我使用 cwRsync (http://sourceforge.net/project/downloading.php?group_id=69227&filename=cwRsync_3.0.1_Installer.zip&a=97536972 ),安裝cwRsync後,附製cwrsync.cmd到我的工作目錄,並更名為 rsync_artigo.bat,打開rsync_artigo.bat ,加入我的備份指令 rsync --chmod u+rwx -avrR --delete /cygdrive/R/test/ artigo@192.168.2.201:/backup/PC ,表PC的資料備份至 ARTIGO 內之 /backup/PC 目錄下,並建立測試資料目錄(R:\test)與資料(test.txt,測試.txt),執行 rsync_backup.bat 做首次測試.


8.在 ARTIGO檢視PC資料是否有進來..

疑...."測試.txt"變成了 "????.txt”.......
請使用root身分登入,進入後 修改 /etc/sysconfig/i18n 將其內容修改為如下
vi /etc/sysconfig/i18n
LANG="zh_TW.Big5
SUPPORTED="zh_TW.Big5:zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
pietty之字元編碼設為Taiwan Big5後,即可正確顯示中文

到此Linux rsync+ssh 備份主機功能完成!!有人會說這樣有些跛腳,每次備份都要輸密碼,太麻煩了.....沒關係,接下來介紹使用SSH key免密碼方式
【免密碼 SSH key 設定】
1.ARTIGO設定
使用artigo身分登入artigo,建立 .ssh目錄與authorized_keys檔案
mkdir ~/.ssh
chmod 711 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys

2.於SERVER端使用 root 身分建立 SSH Key,並上傳至 ARTIGO
ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub artigo@192.168.2.201:~/.ssh

3.於ARTIGO使用artigo身分將剛剛所收到之id_rsa.pub加入autherized_keys
cat id_rsa.pub >> authorized_keys

4.於SERVER端測試是否可以正常運行
rsync -e ssh -avrR --delete /test artigo@192.168.2.201:/backup/Server

5.PC端建立SSH Key,使用於 cwRsync\bin目錄下之ssh-keygen.exe產生SSH key,並使用WinSCP將產生於C:\Users\....\.ssh目錄下之 id_rsa.pub上傳至ARTIGO之/home/artigo/.ssh目錄.並將其加入至 authorized_keys(cat id_rsa.pub >> authorized_keys)


6.修改 rsync_artigo.bat內之rsync語法
rsync -e "ssh -i C:\Users\YuHeng\.ssh\id_rsa" --chmod u+rwx -avrR --delete /cygdrive/R/test/ artigo@192.168.2.201:/backup/PC

【定時備份設定】
我希望我的SERVER與PC能於每天半夜3:00自動備份至ARTIGO.並於4:00關機這樣我就不需人工操作進行備份了
1.ARTIGO設定時開機
ARTIGO開機時進入BIOS,將 RTC Alarm Resume開啟,並設定為每日 2:45開機

2.設定ARTIGO網路定時校時,此部分需於ARTIGO上操作同時設定於4:00關機,請使用root身分登入
a.參考 http://linux.vbird.org/linux_server/0220upgrade.php 修改 CentOS-base.repo
vi /etc/yum.repos.d/CentOS-Base.repo
b.安裝ntp並進行網路校時
yum install ntp
ntpdate clock.stdtime.gov.tw
hwclock -w
c.設定3:30校時與4:00關機
vi /etc/crontab
30 3 * * * /usr/sbin/ntpdate clock.stdtime.gov.tw && /sbin/hwclock -w
0 4 * * * root /sbin/poweroff
3.SERVER設定於3:00進行備份
a. 編寫一個備份的shell script
cd /test
vi backup.sh
#!/bin/bash
rsync -e ssh -avrR --delete /test artigo@192.168.2.201:/backup/Server
chmod 755 backup.sh
b.設定 3:00執行 backup.sh進行備份
vi /etc/crontab
0 3 * * * root /test/backup.sh > /dev/null 2>&1
4.PC端設定時開機備份...
a.同樣設定BIOS之RTC alarm resume之開機時間
b.使用Windows之工作排程,設定定時執行 backup_artigo.bat

c.使用 Shutdown Scedule設定定時關機

【延伸加強】
因我的目的是要做為異地備份.因此需將強其安全性,依些延伸設定請參考下列說明,我就不做詳述
1.SSH之安全設定請參考 http://linux.vbird.org/linux_server/0310telnetssh.php#ssh
2.防火牆設定: http://linux.vbird.org/linux_server/0250simple_firewall.php
3.芝麻開門—設定當符合暗號時才開啟port供使用者使用—knockd
安裝之所需之rpm : yum install rpm-build libpcap-devel gcc
並請參考 http://linux.vbird.org/linux_security/knockd.php 進行安裝
安裝後之測試...

4.ARTIGO透過Wake-on Lan開機,適用於非所訂之時間內要進行備份
安裝時使用 yum install ethtool
http://www.copy-left.net/index.php?itemid=78
於PC使用wolgui喚醒ARTIGO

【參考資料】
1.Linux 相關: 鳥哥的 Linux 私房菜 (http://linux.vbird.org )
2.vi 操作 : http://linux.vbird.org/linux_basic/0310vi.php
3.SSH 免密碼登入: http://josephjiang.com/article/understand-ssh-key/
4.cwRsync SSH Key設定 : http://www.rsync.net/resources/howto/windows_rsync.html
【後面的碎碎念】
Artigo A2000拿到手後,也有安裝Windows 7 Beta測試了一下...
安裝完成後,效能分數

使用線上更新顯示卡的driver....畫面正常,但測試分數時出現錯誤訊息...windows 7 尚未上市,應該是支援還不足...

這段時間使用下來,對Artigo A2000相當的滿意,個人覺得一些優缺點
優點部分:
1.噪音很低,要靠得很近,才會聽到風扇聲.
2.支援雙硬碟...可以拿來做soft raid
3.體積小,不佔空間
4.耗電低
5.針對欲使用FreeNAS/Embedded System的使用者,可以使用CF做安裝
缺點部分
1.單網卡...這是對我個人言,因我的環境如有雙網卡使用是較佳...
2.價格不夠親民....看到網拍上的價格,相對會拿來與其他mini-itx solution做比較
===== 分隔線 =====
加寫了一邊架設SAMBA(網路磁碟),WordPress(部落格),PIWIGO(網路相簿)架設
"威盛 ARTiGO A2000" -- 打造我的備份主機(二) -- 加值篇