Wednesday, January 30, 2013

Drobo跟Linux... 不搭啊

Drobo這個產品很有趣,尤其是那個BeyondRAID的功能。
簡單說,反正你就是把硬碟都插上去,Drobo會自動找最大顆的做備援。
也不強制一定要都用一樣容量的硬碟。

還有一個特點是... Drobo支援thin provisioning。
也就是說,假使你現在的硬碟容量只有6GB,你還是可以叫Drobo設定8TB的空間
它也會對電腦講說自己是8TB,你就慢慢裝資料,等快用完的時候再補硬碟就好。

機器有監測容量的功能,表示說Drobo會把手伸進去Filesystem,不過這樣也帶來相容問題。
簡單說... 你不能在Drobo上使用不支援的檔案系統,不然有各種奇奇怪怪的問題會出現。
(這和一般的block device不同,通常是不會挑FS的...)
在Windows跟MacOS都還好,反正也沒有幾種Filesystem,但是Linux上的問題就大了...

(請注意: Drobo在官網上並沒有聲明自己支援Linux!)

目前這裡使用的是Drobo S,稍微早期的機種,支援5顆4TB硬碟 (我是裝了5顆3TB),USB 3.0,兩組Firewire 800 (可以串接),eSATA。
電腦是HP的z620工作站,作業系統是CentOS 6.3。

經過一陣折騰之後,得到下面的結論:
1. Drobo的工具程式,Drobo Dashboard,沒有Linux版。所以設定工作要在Windows或是Mac做好。
2. Drobo在Linux只能使用ext3 不能用ext4或是xfs等的檔案系統。
3. ext3的volume最大只能8TB,所以如果你的Drobo超過8TB,就要割成兩個。
你可以在Dashboard設定16TB,OS也抓得到,但是Drobo會以8TB做計算上限,導致就算你硬碟空間足夠,一裝到8TB,Drobo會認定空間已滿要求補硬碟。
4. 就算割成兩個,這台主機的onboard SATA轉eSATA,只能抓到第一個volume。如果接到LSI SAS2008 chip的SAS port... 一個都抓不到orz
5. USB可以抓到兩個volume,但是CentOS 6.3 2.6.32的核心無法抓到全部容量。第一個會抓到8TB,但是第二個會只有2.4TB。這可以用ELREPO repository的kernel-ml核心 (3.7.x) 解決, 但是kernel-lt (3.0.x)都還不夠新。
6. Firewire 800... 因為電腦沒有Firewire 800 port,所以沒試。
(2013/2/1)今天在另一台機器上做了測試,用2.6.32 kernel只能抓到一個volume,但是更新到3.4.
27之後就可以抓到兩個。
7. 效能... 呃... 這台大約60MB/s。這不是比單硬碟還慢嗎 (翻桌)

因為CentOS / RH有很多東西是backport進去kernel的, 所以版本資訊不一定能套用在其他distro上面。目前試過OpenSUSE 12.1 3.1.x的核心,USB容量可以全部抓到。

總之,Drobo不是不好,它搭配Windows或Mac其實是個蠻完整的方案,軟硬體都OK,但是搭配Linux... 說真的不適合XD

我這邊有兩台一樣的Drobo S,這樣做之後變成4個volume,不好用。所以想了一些辦法,不過越搞越難搞... 讓我們繼續看下去(盛竹如調)

No comments: