[另類加速] 虛擬化 RAID-0 磁碟陣列 [論壇 - Ubuntu 哈啦]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊

(1) 2 3 4 ... 11 »


[另類加速] 虛擬化 RAID-0 磁碟陣列
會員四級
註冊日期:
2008/11/20 21:32
所屬群組:
已註冊使用者
等級: 20
HP : 0 / 487
MP : 163 / 14211
EXP: 48
離線
[另類加速] 虛擬化 RAID-0 磁碟陣列

Q.
如果硬碟已經分割好(非 RAID),裡頭有資料,不想刪除,那麼要如何做 RAID 磁碟陣列呢?

比如:我的電腦有兩顆硬碟,我想拿它來做 RAID-0 加速,但是裡頭已經有資料,且原先分割並不是 RAID 的。

A.
正常方法當然是不行的
但是突發奇想:虛擬化吧!


廢話就不多說了,開始進入正題....

1.
下圖:在 VirtualBox 虛擬的 Ubuntu 中,新增兩顆「虛擬硬碟」,分別放在電腦的兩顆「實體硬碟」上。

以此範例來說:
6GB-A.vdi 放在第1顆「實體硬碟」
6GB-B.vdi 放在第2顆「實體硬碟」
組合成 RAID-0 後,會有 12GB 空間可用




2.
下圖:Ubuntu 要使用 SOFT RAID(軟體 RAID)需要一個套件叫做:mdadm

軟體中心裡面有,搜尋安裝即可




3.
下圖:確認虛擬磁碟的代號

此範例中,VirtualBox 新添加的兩顆「虛擬硬碟」,分別是 /dev/sdb 和 /dev/sdc




4.
下圖:
在終端機創建 /dev/md0
並格式化為 ext4

註:如果資料不重要,建議格式化 ext2 就好,因為 ext4 會多浪費 5%~10% 空間,還有 ext2 寫入速度比 ext4 快。

mdadm 指令的用法細節,請參考網路上的教學
為節省篇幅,這邊就不敖述了:
http://linux.vbird.org/linux_basic/0420quota.php#raid_setup
http://ericbbs.blogspot.com/2009/05/mdadm-raid.html




5.
下圖:
這是 /dev/md0 的細節

由 /dev/sdb 和 /dev/sdc 兩顆,組成 RAID-0,Chunk Size 為 4KB

Chunk Size 是指:每個 RAID 打散的區塊,為多少大小,其數值必須為 2的次方,比如 4、8、16、32、64、128、256...等等。

數值愈大,效能愈好
但是低於那個數值的檔案,也佔用那個數值
比如:如果 Chunk Size 是 256KB,那麼即使存入 1KB 大小的檔案,也佔用 256KB

所以這個數值請自行拿捏,看存放的檔案以什麼大小居多,一般來說 4~32 是比較適合的。




6.
下圖:掛載那個 /dev/md0 磁碟陣列
為了讓分享目錄可以簡易寫入,掛載後,權限可設 777




7.
下圖:用 samba 分享剛掛載的那個目錄,以便讓虛擬機外的實體電腦可以使用。

samba 分享的圖解教學,請看這個,細節這邊就不敖述了:
http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?post_id=223242#forumpost223242






8.
下圖:
其實我弄 RAID-0 是希望:玩遊戲,換關換地圖的時候,可以讀取快一點 XD

所以 samba 分享出來的 RAID 目錄,要給 windows 用
就把它掛載成為虛擬磁碟機




******************************************************************

重點來了,效能測試


下圖:虛擬化的 RAID-0 磁碟(兩顆組成),檔案系統:EXT4




下圖:虛擬化的 RAID-0 磁碟(兩顆組成),檔案系統:EXT2
(可以看出:EXT2 的寫入效能比較好,因為不用寫入日誌)




下圖:電腦真實硬碟,第一顆硬碟,WD 黑牌 640G




下圖:電腦真實硬碟,第2顆硬碟,WD 綠牌 1.5T (因為測一半當機,所以沒測完)




結論:

各位看到這邊可能覺得奇怪
怎麼「虛擬化的 RAID-0」"連續讀寫" 比「真實硬碟」還差勁?

是的,沒錯
的確在"連續讀寫" 的部份,比真實硬碟還差
但是 "4K 隨機讀寫" 的部份,就贏過真實硬碟了

理論上 RAID 沒可能輸的,但是這個架構,一開始就是:虛擬的

先經過 VirtualBox 虛擬一層,然後又經過 samba 虛擬網路一層
所以經過這兩層虛擬化之後,效能會大減,沒有真實的 RAID 那麼好

但是虛擬化的好處是很明顯的:當初硬碟有資料,且不是分割 RIAD 的,是不可能做 RAID 的,是虛擬化使 RAID 成為可能。

而這個經過虛擬化,效能大減,其實也許可以藉由增加「硬碟顆數」來改善

比如:用 4顆以上的硬碟,去做虛擬化 RAID。

因為我的環境限制(桌機電腦只有 2顆硬碟),沒辦法做這部份的測試
有興趣的網友,不妨試試看(4顆以上的),順便分享一下數據 ^^b


下圖:補充 RAMDISK 的數據



RAMDISK 仍然是速度之王,但是主機板 RAM 條插槽有限,且 RAM 也不便宜,還有 RAM 只要一關機斷電,資料就會消失。

RAMDISK 目前來說,只適合放小量的資料,比如一些常用軟體,太大量的像一個遊戲幾十GB,就放不下了。

所以還是得靠傳統硬碟,或 SSD 來做 RAID,才能加速。


**************************************************************


這篇是提供一個另類的加速想法,大家一起來玩 RAID 加速吧!XD

因為是虛擬化的,所以對資料絲毫無損,只需把剩餘空間拿一部分來當虛擬硬碟即可。

每個虛擬硬碟 VDI 檔,分別放在每個真實硬碟上,然後在虛擬機中將虛擬硬碟組成 soft RAID,再將那個 RAID 掛載分享出來,即可達到加速的效果。

感覺理論上,速度上限可能無法超越虛擬網卡 1Gbit,約 125MB/s(有待確認?),但是虛擬的 RIAD 在隨機讀寫方面,表現會比真實的硬碟還好,這一點是肯定的。

----------------------------------------------------

補充:

[另類加速+即時同步備份] 虛擬 RAID - Linux Direct 篇

如何:mysql 資料庫放在 /dev/shm 加速,並且「即時同步」在硬碟裡。

詳見:
http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?post_id=224644#forumpost224644

2012/4/15 13:09
應用擴展 工具箱
回覆: [另類加速] 虛擬化 RAID-0 磁碟陣列
管理員
註冊日期:
2006/10/31 19:52
來自 Baker Street 221B
所屬群組:
網站管理員
已註冊使用者
討論區管理群
等級: 30
HP : 0 / 733
MP : 405 / 25809
EXP: 34
離線
IO 虛擬化請去k一下什麼叫做VT-d...
你這個根本不叫做虛擬化...

2012/4/15 13:36
應用擴展 工具箱
回覆: [另類加速] 虛擬化 RAID-0 磁碟陣列
會員四級
註冊日期:
2008/11/20 21:32
所屬群組:
已註冊使用者
等級: 20
HP : 0 / 487
MP : 163 / 14211
EXP: 48
離線
爬囉

Intel Virtualization Technology for Directed I/O
簡寫為 Intel VT-d

硬體:需要 Intel 北橋晶片支援(具體型號沒深入研究)
軟體:需要 VmWare ESXi 以上等級的


另外, VMDirectPath 也不是一體適用在所有的硬體周邊上, 目前還有很多相容性的問題, 跟 Guest OS 也有很大的關係, 能完全正常工作的介面卡, 通常都是上萬/數十萬元的等級....

來源:http://ithelp.ithome.com.tw/question/10045975


爬到這邊,我就不想爬下去
意思就是:一般人、一般設備、一般 PC ,不可能實做
換言之,另一個世界的東西

而且中文資料找老半天,全是理論,半點實做也沒有....
估計可能又是要花上萬元去上原廠課程的吧...

恕小弟愚昧,爬文能力有限,若有認知錯誤,請指正....


我又不是幹什麼企業大事業,成本幾十上百萬的大事業
就只是想讓玩遊戲換關讀地圖可以快一點而已 XD

好吧,我是窮人,窮人有窮人的 "另類" 作法
但是我不會自卑,而且願意分享

0元免費就可以實做,簡易且有效,不傷原有硬碟資料半分毫 ^^b

2012/4/15 15:15
應用擴展 工具箱
回覆: [另類加速] 虛擬化 RAID-0 磁碟陣列
管理員
註冊日期:
2006/10/31 19:52
來自 Baker Street 221B
所屬群組:
網站管理員
已註冊使用者
討論區管理群
等級: 30
HP : 0 / 733
MP : 405 / 25809
EXP: 34
離線
實作?!
VMWare ESXi網路上會找不到實作?
配備一般人沒有?
你在開玩笑嗎?
光華隨便一家店賣的配備就可以架ESXi了...
花到20000塊的ESXi主機已經很貴了...
今年2012年,你引2010的舊資料?
而且ESXi一直都是免費版的....
你不懂的東西就不要再亂說了
還一般PC不可能實作?


上一篇說記憶體很貴也很奇怪
現在ddr3 4g一條便宜的不到600塊
16g總共也不用2400,究竟要多便宜才不貴?

2012/4/15 15:58
應用擴展 工具箱
回覆: [另類加速] 虛擬化 RAID-0 磁碟陣列
會員五級
註冊日期:
2008/10/7 21:19
所屬群組:
已註冊使用者
等級: 36
HP : 179 / 896
MP : 661 / 26462
EXP: 85
離線
資料補充,解說什麼是VT-d:
http://janping.blogspot.com/2011/06/intel-vt-dvm-passthrough.html

= = = = =

補充:
(←被時代淘汰的DDR2使用者)

2012/4/15 16:56
I′m UGP
應用擴展 工具箱
回覆: [另類加速] 虛擬化 RAID-0 磁碟陣列
會員四級
註冊日期:
2008/11/20 21:32
所屬群組:
已註冊使用者
等級: 20
HP : 0 / 487
MP : 163 / 14211
EXP: 48
離線
1.
不是所有人的電腦都是 Intel inside,像我的桌機CPU 和 晶片組,都是 AMD 的,就不是 Intel 的。

我不是說 AMD 比較好,它便宜,因為我窮人,所以我用它。

雖說 AMD 也有 AMD-V,類似 Intel 的 VT-x,但這也是比較新型的才有。

新組電腦 2萬就有,沒錯,但還在用舊電腦的人,也用好好的,為了一個虛擬化,為了一個 RAID,去組新電腦?
~好像錢直接拿去買新硬碟會更划算吧。

重點在於:RAID 加速,在於組 RAID 這件事,並不在虛擬化


2.
即便 Intel 的,我爬文查得資料說 i3 大部分型號不支援 VT-d。但我沒關注 Intel 的產品,所以也不知道真假就是了。大部分人組一萬初頭的Intel 電腦,幾乎都是用 i3 的,支不支援 VT 技術,可能都是個問題。


3.
DDR3-4G 是便宜,一條 600元左右
但是 8G單條的,目前要3千

大部分家用主機板都是 4條插槽,支援到 16GB
也有 6條的(4x6 =24),不過比較貴

現在有一些新晶片組,支援 32GB (8Gx4)

16GB 留 4GB 給作業系統用
加上給 temp、swap,還有主機板內顯(多螢幕支援)
剩下可能不到 11GB,有些遊戲仍然是裝不下

舉幾個例子:
使命召喚8-現代戰爭3 = 14.1 GB
傳送門2 = 11.5 GB
戰地3 = 11.4 GB
CS-Souce = 11 GB左右,持續擴大

RamDisk 如果要拿來裝遊戲,24~32GB 會比較適合
不是記憶體貴(8G單條很貴),就是主機板很貴(6插槽的)


還有要說明一點:遊戲不是只有一套

但 RamDisk 容量,僅能放一套遊戲,也就是說:每次要玩都得拷貝到 RamDisk,有更新的話還要回存硬碟(因為 RAM 斷電資料會消失),雖然封裝成 img 拷貝很快,但也是要時間。放 RAID 的話,就一直放著,不用拷貝。


4.
VT-D 技術的教學文章,看來看去都是講:怎麼把現實設備,在虛擬機中直接使用。

說明一點:我硬碟是有資料的,就是已經分割好(當初不是割 RAID 或動態磁碟)。

即便整顆現實硬碟,拿去當虛擬機,我還是看不出到底要怎樣:不傷原有資料,組成新 RAID?

如果掛新硬碟,何必虛擬化,直接 RAID 就好了啊....


*************************************************

虛擬化並不是本篇的重點,重點是 "RAID 加速"。

RAID 不是一定要虛擬化的,但是"某些情況下",只能虛擬化。



如上圖:硬碟已經分割好的(傳統分割,非動態磁碟,或者 RAID)

裡面資料已經快滿了,也沒多的分割區了

請問 VT-D 虛擬化,有辦法讓它生出(實做)出 RAID 嗎?

如果有的話,請賜教,謝謝


這個才是我想知道的實做,重點在於:受限情況下生出 RAID

VMware 是虛擬化,VirtualBox 難道就不是,VDI 不是虛擬硬碟,難道是鬼、幻覺?

但這些都不重要,虛擬化只是手段方法,黑貓白貓管它什麼貓,能抓老鼠,能達成目的就行。

愛說它不是虛擬化也沒關係,我們就當它不是吧,要改標題或內文都行,高興就好。不過我懶得改了,如果覺得這個"虛擬化"一詞,一定要改成"幻覺",請自便。

什麼技術名詞的,都只是浮雲,叫什麼都無所謂啦,實際效果最重要。

重點只是要生出 RAID,就算是幻覺,幻覺這麼好用,何嘗不行用。幻覺如果好用,照用不誤 XD


******************************************************

比較希望是學術性技術討論,而不是個人恩怨在那裡爭吵,而且我印象中好像沒什麼地方惹到大大

難道是上次說那個 M$ 派的,但是用 Ubuntu 的大家,確實是都很討厭 IE only 啊

如有冒犯,直說便是,不需要這樣。一碼事歸一碼事。

抱歉回文口氣比較差,情緒波動比較大,傷到網友眼睛先說聲抱歉,不過樓上的樓上那位,口氣看起來就是來吵的(還是我太敏感,誤解了?)

2012/4/15 20:28
應用擴展 工具箱
回覆: [另類加速] 虛擬化 RAID-0 磁碟陣列
會員二級
註冊日期:
2007/3/28 13:01
所屬群組:
已註冊使用者
等級: 7
HP : 0 / 157
MP : 23 / 5339
EXP: 28
離線
話說
8G DDR3-1333的,一條現在應該是1500上下......
我旁邊路過得,請繼續......

2012/4/16 0:25
應用擴展 工具箱
回覆: [另類加速] 虛擬化 RAID-0 磁碟陣列
會員五級
註冊日期:
2008/11/21 9:18
所屬群組:
已註冊使用者
等級: 23
HP : 0 / 571
MP : 229 / 16660
EXP: 84
離線
我對這個議題,百分百外行
不過,樓主圖文並茂地寫下這篇文章,
想必花了不少心力,付出是值得肯定的。

至於名詞定義問題,虛擬化不虛擬化,倒是不妨暫且擱置
就該文的『目的與方法』能否成達成一致,來做討論即可。


如果硬碟已經分割好(非 RAID),裡頭有資料,不想刪除,那麼要如何做 RAID 磁碟陣列呢?


這是樓主本文的目的,諸位先進可以就這篇文章提出來的方法,檢驗它是否能達成目的即可。

當然,如果另一位先進,可以提出達成同樣的『目的』之更好的『方法』,那就再好不過了,互相切磋,一起進步。

2012/4/16 12:10
應用擴展 工具箱
回覆: [另類加速] 虛擬化 RAID-0 磁碟陣列
版主
註冊日期:
2008/7/14 0:03
來自 螢幕的另一端
所屬群組:
網站管理員
已註冊使用者
討論區管理群
等級: 32
HP : 0 / 798
MP : 496 / 24116
EXP: 93
離線
滿招損 謙受益

越是擁有充足專業的知識,越能謙虛,那才越受人家的尊敬。

說白了,也不過是你有那樣的機緣,在那樣專業的公司服務,才能接觸到那樣專業領域的知識。沒必要用你所知道的那點專業領域的知識來教訓人。沒那樣的機緣,你還接觸不到這些知識。

一般的人,沒有那樣的機緣、在那樣專業的領域裡服務,自然接觸不到那樣專業的知識。他僅就自己所發現的一點點收獲,就很高興的上來跟大家分享他的發現,不論他的知識正確與否,但這樣的心態是很值得尊敬。

你樂於和大家分享你的專業知識,那是好事。但要用你因機緣得來的專業知識來教訓人的話。那就很沒有必要。那就好像是,因為你的機緣好(命好),所以你家很有錢,你就藉此財大氣粗的欺負那些沒有錢(沒有知識)的人,是一樣的道理。

同理,你確實專業知識(錢)比別人多很多,但是,值不值得尊敬,那又是另一回事了。

2012/4/16 12:46
應用擴展 工具箱
回覆: [另類加速] 虛擬化 RAID-0 磁碟陣列
會員一級
註冊日期:
2007/12/10 16:45
所屬群組:
已註冊使用者
等級: 2
HP : 0 / 25
MP : 3 / 798
EXP: 0
離線
首先,感謝大大辛苦的實作分享

不過小弟再這邊提出一個小小意見
雖然大大有成功做出Raid0,但把兩個虛擬檔放在同一個硬碟我想提昇有限
畢竟都是在同一個硬碟上跑,還是受限於硬體的讀寫限制
建議一個虛擬檔放一個硬碟會比較有用

2012/4/16 13:24
應用擴展 工具箱

(1) 2 3 4 ... 11 »

 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.