Mhddfs:將多個小分區合併成一個大的虛擬存儲
Mhddfs——在Linux中合併多個分區
mhddfs是一個用於Linux的設備驅動,它可以將多個掛載點合併到一個虛擬磁碟中。它是一個基於FUSE的驅動,提供了一個用於大數據存儲的簡單解決方案。它可以將所有小文件系統合併,創建一個單一的大虛擬文件系統,該文件系統包含其成員文件系統的所有內容,包括文件和空閑空間。
你為什麼需要Mhddfs?
你的所有存儲設備會創建為一個單一的虛擬池,它可以在啟動時被掛載。這個小工具可以智能地照看並處理哪個存儲滿了,哪個存儲空著,以及將數據寫到哪個存儲中。當你成功創建虛擬驅動器後,你可以使用SAMBA來共享你的虛擬文件系統。你的客戶端將在任何時候都看到一個巨大的驅動器和大量的空閑空間。
Mhddfs特性
- 獲取文件系統屬性和系統信息。
- 設置文件系統屬性。
- 創建、讀取、移除和寫入目錄和文件。
- 在單一設備上支持文件鎖和硬鏈接。
mhddfs的優點 | mhddfs的缺點 |
---|---|
適合家庭用戶 | mhddfs驅動沒有內建在Linux內核中 |
運行簡單 | 運行時需要大量處理能力 |
沒有明顯的數據丟失 | 沒有冗餘解決方案 |
不需要分割文件 | 不支持移動硬鏈接 |
可以添加新文件到組成的虛擬文件系統 | |
可以管理文件保存的位置 | |
支持擴展文件屬性 |
Linux中安裝Mhddfs
在Debian及其類似的移植系統中,你可以使用下面的命令來安裝mhddfs包。
# apt-get update && apt-get install mhddfs
安裝Mhddfs到基於Debian的系統中
在RHEL/CentOS Linux系統中,你需要開啟epel倉庫,然後執行下面的命令來安裝mhddfs包。
# yum install mhddfs
在Fedora 22及以上系統中,你可以通過dnf包管理來獲得它,就像下面這樣。
# dnf install mhddfs
安裝Mhddfs到Fedora
如果萬一mhddfs包不能從epel倉庫獲取到,那麼你需要解決下面的依賴,然後像下面這樣來編譯源碼並安裝。
- FUSE頭文件
- GCC
- libc6頭文件
- uthash頭文件
- libattr1頭文件(可選)
接下來,只需從下面建議的地址下載最新的源碼包,然後編譯。
# wget http://mhddfs.uvw.ru/downloads/mhddfs_0.1.39.tar.gz
# tar -zxvf mhddfs*.tar.gz
# cd mhddfs-0.1.39/
# make
你應該可以在當前目錄中看到mhddfs的二進位文件,以root身份將它移動到/usr/bin/和/usr/local/bin/中。
# cp mhddfs /usr/bin/
# cp mhddfs /usr/local/bin/
一切搞定,mhddfs已經可以用了。
我怎麼使用Mhddfs?
1、 讓我們看看當前所有掛載到我們系統中的硬碟。
$ df -h
樣例輸出
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 511M 132K 511M 1% /boot/efi
/dev/sda2 451G 92G 336G 22% /
/dev/sdb1 1.9T 161G 1.7T 9% /media/avi/BD9B-5FCE
/dev/sdc1 555M 555M 0 100% /media/avi/Debian 8.1.0 M-A 1
注意這裡的『掛載點』名稱,我們後面會使用到它們。
2、 創建目錄『/mnt/virtual_hdd』,所有這些文件系統將會在這裡組織到一起。
# mkdir /mnt/virtual_hdd
3、 然後,掛載所有文件系統。你可以通過root或者FUSE組中的某個用戶來完成。
# mhddfs /boot/efi, /, /media/avi/BD9B-5FCE/, /media/avi/Debian 8.1.0 M-A 1/ /mnt/virtual_hdd -o allow_other
在Linux中掛載所有文件系統
注意:這裡我們使用了所有硬碟的掛載點名稱,很明顯,你的掛載點名稱會有所不同。也請注意「-o allow_other」選項可以讓這個虛擬文件系統讓其它所有人可見,而不僅僅是創建它的人。
4、 現在,運行「df -h」來看看所有文件系統。它應該包含了你剛才創建的那個。
$ df -h
驗證虛擬文件系統掛載
你可以像對已掛在的驅動器那樣給虛擬文件系統應用所有的選項。
5、 要在每次系統啟動創建這個虛擬文件系統,你應該以root身份添加下面的這行代碼(在你那裡會有點不同,取決於你的掛載點)到/etc/fstab文件的末尾。
mhddfs# /boot/efi, /, /media/avi/BD9B-5FCE/, /media/avi/Debian 8.1.0 M-A 1/ /mnt/virtual_hdd fuse defaults,allow_other 0 0
6、 如果在任何時候你想要添加/移除一個新的驅動器到/從虛擬硬碟,你可以掛載一個新的驅動器,拷貝/mnt/vritualhdd的內容,卸載卷,彈出你要移除的的驅動器並/或掛載你要包含的新驅動器。使用mhddfs命令掛載全部文件系統到Virtualhdd下,這樣就全部搞定了。
我怎麼卸載Virtual_hdd?
卸載virtual_hdd相當簡單,就像下面這樣
# umount /mnt/virtual_hdd
卸載虛擬文件系統
注意,是umount,而不是unmount,很多用戶都輸錯了。
到現在為止全部結束了。我正在寫另外一篇文章,你們一定喜歡讀的。到那時,請保持連線。請在下面的評論中給我們提供有用的反饋吧。請為我們點贊並分享,幫助我們擴散。
via: http://www.tecmint.com/combine-partitions-into-one-in-linux-using-mhddfs/
作者:Avishek Kumar 譯者:GOLinux 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive