linux就該這么學(xué)-005

RAID(獨立冗余磁盤陣列)

通過把多個硬盤設(shè)備組合成一個容量更大、安全性更好的磁盤陣列,并把數(shù)據(jù)切割成多個區(qū)段后分別存放在各個不同的物理硬盤設(shè)備上,然后利用分散讀寫技術(shù)來提升磁盤陣列整體的性能,同時把多個重要數(shù)據(jù)的副本同步到不同的物理硬盤設(shè)備上

RAID 0

能夠有效的提升硬盤數(shù)據(jù)的吞吐速度,但是不具備數(shù)據(jù)備份和錯誤修復(fù)能力,數(shù)據(jù)會被分開寫入到不同的硬盤設(shè)備中

RAID 1

在寫入數(shù)據(jù)時,將數(shù)據(jù)同時寫入到多塊硬盤設(shè)備上,當(dāng)其中一塊硬盤出錯時,會自動替換

RAID 5

把硬盤設(shè)備的數(shù)據(jù)奇偶校驗信息保存到其他硬盤設(shè)備中,這樣任何一個設(shè)備損壞后不至于出現(xiàn)致命缺陷

RAID 10

RAID 0和RAID 1的組合體,繼承了RAID 0的高讀寫速度和RAID 1的數(shù)據(jù)安全性,在不考慮成本的情況下RAID 10的性能都超過了RAID 5

mdadm

管理Linux 系統(tǒng)中的軟件RAID硬盤陣列

參數(shù) 作用
-a 檢測設(shè)備名稱
-n 指定設(shè)備數(shù)量
-l 指定RAID界別
-C 創(chuàng)建
-v 顯示過程
-f 模擬設(shè)備損壞
-r 移除設(shè)備
-Q 查看摘要信息
-D 查看詳細(xì)信息
-S 停止RAID磁盤陣列
-x 備份盤數(shù)量

使用4塊硬盤來部署RAID 10,并掛載硬盤,最后將掛載信息寫入到配置文件中

# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
# mkfs.ext4 /dev/md0
# mkdir /RAID
# mount /dev/md0 /RAID
# df -h
etc...
/dev/md0  40G  49M 38G 1% /RAID
# echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab

損壞硬盤陣列及修復(fù)

這里模擬一下RAID 磁盤陣列損壞后的處理方法

使用madadm命令將壞掉的硬盤移除,然后查看RAID磁盤陣列的狀態(tài),這時可以發(fā)現(xiàn)狀態(tài)已經(jīng)改變,再模擬一個新的硬盤,重啟系統(tǒng),接著把新的硬盤添加到RAID磁盤陣列中

# mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
# mdadm -D /dev/md0
etc...
0 8 16 - faulty    /dev/sdb
# umount /RAID
# mdadm /dev/md0 -a /dev/sdb
# mdadm -D /dev/md0
etc...
Number Major Minor RaidDevice State
4 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
3 8 64 3 active sync /dev/sde
# mount -a

磁盤陣列+備份盤

RAID 10 最多允許50%的硬盤設(shè)備發(fā)生故障,但是存在一些極端情況,這時我們需要用到備份盤

這里的例子是RAID 5,一共使用4塊硬盤,其中一個是用來備份,用 -x 來表示數(shù)量,當(dāng)硬盤出現(xiàn)問題時,備份盤會自動頂替出問題的硬盤,并回復(fù)數(shù)據(jù)

# mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde
etc...
# mdadm -D /dev/md0
etc...
Number Major Minor RaidDevice State
0      8     16    0          active sync /dev/sdb
1      8     32    1          active sync /dev/sdc
4      8     48    2          active sync /dev/sdd
3      8     64    -          spare       /dev/sde
# mkfs.ext4 /dev/md0
etc...
# echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab
# mkdir /RAID
# mount -a

LVM(邏輯卷管理器)

在硬盤分區(qū)或者部署為RAID磁盤陣列后,用戶想要調(diào)整硬盤分區(qū)的大小時,需要用到LVM技術(shù),該技術(shù)可以允許用戶對硬盤資源進(jìn)行動態(tài)調(diào)整

部署邏輯卷

功能/命令 物理卷管理 卷組管理 邏輯卷管理
掃描 pvscan vgscan lvscan
建立 pvcreate vgcreate lvcreate
顯示 pvdisplay vgdisplay lvdisplay
刪除 pvremove vgremove lvremove
擴展 vgextend lvextend
縮小 vgreduce lvreduce

部署:

  • 讓添加的設(shè)備支持LVM技術(shù)
  • 將兩塊硬盤設(shè)備加入到storage卷組中
  • 切割出一個150MB的邏輯卷設(shè)備
  • 把生成好的邏輯卷格式化,掛載使用
  • 寫入配置文件
# pvcreate /dev/sdb /dev/sdc
etc...
# vgcreate storage /dev/sdb /dev/sdc
etc...
# vgdisplay
etc...
Alloc PE / Size 0 / 0 Free PE / Size 10238 / 39.99 GiB
etc...
# lvcreate -n vo -l 37 storage
etc...
# lvdisplay
etc...
LV Size 148.00MiB
etc...
# mkfs.ext4 /dev/storage/vo
etc...
# mkdir /lvm
# mount /dev/storage/vo /lvm
# df -h
etc...
/dev/mapper/storage-vo 145M 7.6M 138M 6% /lvm
# echo "/dev/storage/vo /lvm ext4 defaults 0 0" >> /etc/fstab

擴容邏輯卷

擴容:

  • 把邏輯卷vo擴展至290MB
  • 檢查硬盤完整性,并重置硬盤容量
  • 重新掛載硬盤設(shè)備并查看掛載狀態(tài)
# umount /lvm
# lvextend -L 290M /dev/storage/vo
etc...
# e2fsck -f /dev/storage/vo
etc...
# resize2fs /dev/storage/vo
# mount -a
# df -h
etc...
/dev/mapper/storage-vo 279M 2.1M 259M 1% /lvm

縮小邏輯卷

縮小:

  • 檢查文件系統(tǒng)的完整性
  • 把邏輯卷的容量減小到120MB
  • 重新掛載文件系統(tǒng)并查看系統(tǒng)狀態(tài)
# umount /lvm
# e2fsck -f /dev/storage/vo
etc...
# resize2fs /dev/storage/vo 120M
etc...
# lvreduce -L 120M /dev/storage/vo
etc...
# mount -a
# df -h
etc...
/dev/mapper/storage-vo 113M 1.6M 103M 2% /lvm

邏輯卷快照

快照:

  • 使用-s參數(shù)生成一個快照卷,使用-L參數(shù)指定切割的大小
  • 在邏輯卷所掛載的目錄中創(chuàng)建一個100MB的垃圾文件,然后再看快照卷的狀態(tài)可以發(fā)現(xiàn)存儲空間占用的量上升了
  • 校驗SNAP快照卷的效果,需要對邏輯卷進(jìn)行快照還原操作
  • 快照卷會被自動刪除掉
# vgdisplay
etc...
Alloc PE / Size 30 / 120.00 MiB Free PE / Size 10208 / 39.88 GiB
etc..
# lvcreate -L 120M -s -n SNAP /dev/storage/vo
etc...
# lvdisplay
etc...
# dd if=/dev/zero of=/lvm/files count=1 bs=100M
etc..
# lvdisplay
etc...
Allocated to snapshot 83.71%
etc...
# umount /lvm
# lvconvert --merge /dev/storage/SNAP
etc...
# mount -a
# ls /lvm/

原文學(xué)習(xí)來自作者:LL大L
鏈接:http://www.itdecent.cn/p/95f6ef3ce3e9

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容