Ubuntu18.04軟RAID 0 1 5 10創建(附gparted/live使用)

若是圖片沒法查看, 請訪問此處linux

目錄

  • 前言
  • 磁盤準備
  • 建立RAID 0陣列
  • 格式化RAID
  • 保存RAID
  • 刪除RAID
  • 建立RAID 1陣列
  • 建立RAID 5陣列
  • 磁盤測速
  • gparted live修改根目錄大小
  • 建立RAID 10陣列
  • 最後

前言

關於RAID能夠參看維基百科, 或者我推薦這篇博文, 簡單來講, RAID把多個硬盤組合成爲一個邏輯硬盤, 所以, 操做系統只會把它看成一個硬盤. RAID常被用在服務器計算機上, 而且常使用徹底相同的硬盤做爲組合. 因爲硬盤價格的不斷降低與RAID功能更加有效地與主板集成, 它也成爲普通用戶的一個選擇, 特別是須要大容量存儲空間的工做, 如: 視頻與音頻製做.git

RAID等級 最少硬碟 最大容錯 可用容量 讀取效能 寫入效能 安全性 目的 應用產業
單一硬碟 (參考) 0 1 1 1
JBOD 1 0 n 1 1 無(同RAID 0) 增長容量 我的(暫時)儲存備份
0 2 0 n n n 一個硬碟異常, 所有硬碟都會異常 追求最大容量、速度 影片剪接快取用途
1 2 n-1 1 n 1 高, 一個正常便可 追求最大安全性 我的、企業備份
5 3 1 n-1 n-1 n-1 追求最大容量、最小預算 我的、企業備份
6 4 2 n-2 n-2 n-2 安全性較RAID 5高 同RAID 5, 但較安全 我的、企業備份
10 4 n 綜合RAID 0/1優勢, 理論速度較快 大型資料庫、伺服器
50 6 提高資料安全
60 8 提高資料安全
  1. n表明硬盤總數
  2. JBOD(Just a Bunch Of Disks)指將數個物理硬盤, 在操做系統中合併成一個邏輯硬盤, 以直接增長容量
  3. 依不一樣RAID廠商實現算法對於性能表現會有不一樣, 性能公式僅供參考 4.RAID十、50、60 依實現 Parity 不一樣公式也不一樣

可是很遺憾, 個人筆記本是沒有那麼多硬盤的, 爲了完成演示, 我只能經過將單個磁盤進行分區來模擬.github


磁盤準備

注意數據備份!!!. 注意數據備份!!!. 注意數據備份!!!.算法

首先用指令看下目前磁盤狀況:vim

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
複製代碼

能夠看到, 我這裏是一個空的465G的固態, 而後被我劃出3個5G的分區, 並且未進行文件系統的格式化. 可是你目前手上的磁盤基本不多是這樣的. 因此要先進行處理: 首先推薦安裝GParted:安全

sudo apt-get install gparted
複製代碼

而後打開GParted, 這裏就能夠將分區刪除, 而後看到是一整塊固態, 而後用fdisk從新分區:bash

這裏展現一下分區的操做, 最後分紅3個5G的磁盤:服務器

在使用w保存以前, 都是能夠用q進行撤銷重來的:併發


建立RAID 0陣列

RAID 0: striping條帶模式 特色: 在讀寫的時候能夠實現併發, 因此相對其讀寫性能最好, 每一個磁盤都保存了完整數據的一部分, 讀取也採用並行方式, 磁盤數量越多, 讀取和寫入速度越快. 由於沒有冗餘, 一個硬盤壞掉所有數據丟失. 至少兩塊硬盤才能組成Raid0陣列.
容量: 全部硬盤之和. 磁盤利用率爲100%.工具

圖片來自互聯網

/dev/md0是磁盤名, --level=0指的是RAID 0, --raid-devices=3表明3個磁盤數, /dev/sda{1, 2, 3}是磁盤名:

sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=3 /dev/sda{1,2,3}
複製代碼

用指令看下構建狀況, 只要沒有進度條, 就是構建完成:

cat /proc/mdstat
複製代碼


格式化RAID

這個格式化是通用操做, 包括以後的RAID 1, RAID 5等等. 而後就是文件系統格式化, 創建文件夾, 掛載三連了:

sudo mkfs.ext4 -F /dev/md0
sudo mkdir -p /mnt/md0
sudo mount /dev/md0 /mnt/md0
複製代碼

df -h -x devtmpfs -x tmpfs查看下是否可用:


保存RAID

這個保存是通用操做, 包括以後的RAID 1, RAID 5等等. 這樣重啓以後也會自動掛載. 注意名稱上的對應, 由於你的命名可能與我不一樣:

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
sudo update-initramfs -u
echo '/dev/md0 /mnt/md0 ext4 defaults, nofail, discard 0 0' | sudo tee -a /etc/fstab
複製代碼


刪除RAID

卸載, 中止RAID.

sudo umount /dev/md0
sudo mdadm --stop /dev/md0
複製代碼

查看下當前磁盤情況:

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
複製代碼

刪除RAID並重置:

sudo mdadm --zero-superblock /dev/sda{1,2,3}
複製代碼

打開/etc/fstab, 刪除以前輸入的配置.

sudo vim /etc/fstab
複製代碼

刪除RAID定義:

sudo vim /etc/mdadm/mdadm.conf
複製代碼

最後, 更新initramfs:

sudo update-initramfs -u
複製代碼

簡單來講, 就是將以前的操做反向操做一波, 若是沒有刪乾淨, 會致使啓動時出問題, 進入修復模式, 在修復模式中也能夠再刪除.


建立RAID 1陣列

圖片來自互聯網

查看下當前磁盤情況:

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
複製代碼

其實和建立RAID 0就差一個level:

sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=3 /dev/sda{1,2,3}
複製代碼

我就不重複操做了, 直接跳到RAID 5吧.


建立RAID 5陣列

要求: 至少3個存儲設備

  • 主要好處: 具備更多可用容量的冗餘.
  • 須要注意的事項: 在分配奇偶校驗信息時, 一個磁盤的容量將用於奇偶校驗. 在處於降級狀態時, RAID 5可能會遭受很是差的性能.

圖片來自互聯網

sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda{1,2,3}
複製代碼

RAID 5構建是比較慢的, 這裏能夠查看狀態, 發現有進度條. 固然了, 我故意把大小設置成5G, 設置成200G, 這篇文章就無法寫了.

cat /proc/mdstat
複製代碼

等待完成.

而後請回頭查看格式化RAID, 和保存RAID, 不重複寫了.

磁盤測速

這裏推薦hdparm指令.

hdparm -Tt /dev/md0
複製代碼

這樣就能夠測速了. 固然了, 我這樣測速沒什麼意義, 由於我是分區而後製成RAID的, 不是經過多個硬盤. 固然了, 也能夠看出sda是SATA3固態, sdb是M.2固態或者其餘, whatever, 反正和mac的PCIE固態比起來都是弟弟.


gparted live修改根目錄大小

最後是RAID 10, 這是RAID 0和RAID 1的組合, 表現搶眼. 可是至少須要四塊磁盤. 而一塊硬盤只能分紅3個主分區和一個擴展區, 也就是說, 沒法靠當前磁盤分配進行演示.

思路就是從根目錄所在固態借5G主分區出來. 可是根目錄是不能再Linux啓動的時候修改的, 這裏就須要gparted live工具. 其實思路很簡單, 就和裝系統同樣. 這裏下載鏡像, 用軟件Universal USB Installer進行刻錄, 以下圖. 而後BIOS進入U盤一路默認, 選擇gparted工具, resize大小便可:


建立RAID 10陣列

建立RAID 10思路也是同樣同樣的.

圖片來自互聯網

sudo mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sda{1,2,3} /dev/sdb3
複製代碼

等待完成

再查看下磁盤狀態.


最後

花費最大精力的就是修改根目錄大小, 查閱了不少資料, 也失敗了不少次. 總之, 各位若是要下載軟件之類, 儘可能去官網下載, 避免沒必要要的麻煩. gparted/live真的是個神器, 不但在Linux好用, 其餘OS, 好比macOS也是同樣. 順帶解釋一下, 爲何刻錄的時候用的是Windows, 由於官網推薦的Tuxboot我安裝以後打不開, 因此只能放棄. 喜歡記得點贊, 有意見或者建議評論區見哦~

相關文章
相關標籤/搜索