Linux的磁盤管理
RAID
獨立冗餘磁盤陣列
raid
(
redundant arrays of independent
)它是一種將多塊磁盤組成一個存儲總體,並經過磁盤之間的聯結實現數據的冗餘備份、存儲設備的容量擴充和數據存儲速度的提高。
raid
分爲
「
軟
raid」
和
「
硬
raid」
兩種:
軟
raid
:也就是經過軟件實現的
raid
。
硬
raid
:是經過適配器將多個硬盤組合在一塊兒。
常見的幾種
raid
級別:
level0
:條帶式
stripe
將要存放的一段數據等分紅若干塊,分辨按次序輪流存儲在若干個硬盤中。
level0
能夠明顯提升存取效率,可是其中一塊硬盤發生故障就會使整個系統崩潰。
level1
:鏡像式
mirror
同時向多個硬盤寫入相同的數據,提供徹底的冗餘備份,可是對寫入速度沒有一點提高,對讀取速度與
level0
相同。
level 1+0
同時將條帶式的高讀寫和鏡像式的數據冗餘之優勢集於一身,它的結構是先有硬盤組成若干個
level1
的單元,每一個單元都具備
mirror
備份數據的功能,在由這樣的單元經過
level0
的方式組成一個總體,讀寫速度時具備
level0
的高併發性。
level4
此種體系結構在存儲數據的同時又系統自己提供校驗機制。假設該種體系有塊磁盤組成,數據輪流存放在系統的
n-1
個磁盤中,每一個存儲週期都向指定第
n
塊磁盤寫入校驗碼,假若系統中有磁盤故障,可由其它盤上的數據與校驗碼一塊兒進行數據修復。但此種體系校驗碼存儲盤的性能會成爲整個系統的瓶頸,並且高頻率的寫入會大大提升校驗碼存儲盤的故障率。
level5
基於
level4
但對
level4
進行了必定得優化,它再也不指定校驗碼有固定的存儲盤,而是和數據塊一塊兒加入整個磁盤存儲體系的循環。
軟
raid
在
linux
中的實現:
命令:
mdadm
模式
raid
設備
選項
磁盤設備
模式:
-A
裝配模式
-C
建立模式
-F
監控模式
-M
管理模式
-D
查看模式
選項
-a
--add
添加設備
-f
--fail
虛擬設備故障
-r
--remove
移除設備
-n
指定
raid
數組磁盤個數
-x
指定
raid
數組冗餘設備個數
-l
指定
raid level
-a {yes|no}
是否自動建立設備文件
-c
指定
chunk
的大小默認爲
64k
[root@server28 ~]# mdadm -C /dev/md0 -a yes -l 1 -n 2 /dev/sda1 /dev/sda2
#
將
2
塊硬盤建立
radi md0
等級
level 1
從
raid
中增長
/
卸去磁盤
[root@server28 ~]# mdadm -a /dev/md0 /dev/sda7
向
raid
中添加一塊自動成爲備用。
[root@server28 ~]# mdadm -D /dev/md0
使用
-D
查看
/dev/md0:
Version : 0.90
Creation Time : Tue Aug 2 05:11:36 2011
Raid Level : raid1
Array Size : 987840 (964.85 MiB 1011.55 MB)
Used Dev Size : 987840 (964.85 MiB 1011.55 MB)
Raid Devices : 2
Total Devices : 3
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Tue Aug 2 05:11:50 2011
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
UUID : 032c7ad4:3dc68a67:613b10af:7922e25a
Events : 0.2
Number Major Minor
RaidDevice
State
0 8 5 0 active sync /dev/sda5
1 8 6 1 active sync /dev/sda6
2 8 7 - spare
/dev/sda7
要拆除硬盤時必須將硬盤設置成
fail
或者中止整個
raid
[root@server28 ~]# mdadm -f /dev/md0 /dev/sda5
mdadm: set /dev/sda5 faulty in /dev/md0
再進行拆除
remove
[root@server28 ~]# mdadm -r /dev/md0 /dev/sda5
mdadm: hot removed /dev/sda5
[root@server28 ~]# mdadm -S /dev/md0
中止整個
md0
設備
裝配模式:
目的是將卸載的
raid
,在其它計算機或本機重新掛載。
首先,在本機備份
raid
信息
本機
raid
信息在
/etc/mdadm.conf
中存儲
[root@server28 ~]# mdadm -D -scan > /etc/mdadm.conf #
此文件會在復位向後自動產生
中止設備
[root@server28 ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
中止後能夠對組成
raid
的磁盤進行拆卸、刪除的操做。
LVM
邏輯卷管理器
LVM
是
logic volume manger
的縮寫,這種體系的存儲結構是將物理磁盤轉換成物理卷
pv
(
physical volume
),將
pv
的容量彙總成卷組
vg
(
volume group
)後,再將卷組
vg
進行拆分,造成多個自定義大小且容量可實時調成的邏輯卷(
logic volume
)。在將物理磁盤作成物理卷後將造成
lvm
的最小單位
pe
(
physical extend
),
pe
的大小能夠爲
4M
、
8M
和
16M
,
相似於磁盤系統的中塊
block
的概念。
pv
相關的命令:
pvcreat
建立、
pvmove
存儲內容移動、
pvremove
刪除、
pvscan
掃描、
pvdisplay
顯示信息
vg
相關的指令:
vgcreat
建立、
vgremove
刪除、
vgscan
掃描、
vgdisplay
顯示信息、
vgreduce
容量縮小、
vgextend
容量擴大
lv
相關的指令:;
lvcreat
建立、
lvmove
存儲內容移動、
lvremove
刪除、
lvscan
掃描、
lvdisplay
查看、
lvreduce
縮小物理容量、
lvextend
擴大物理容量、
resize2fs
調整邏輯容量
建立
pv
:
pvcreate
物理磁盤分區
1
物理磁盤分區
2
物理磁盤分區
3..
查看
pv
:
pvdisplay #
顯示當前全部的
pv
移除
pv
:先
pvmove
將當前
pv
上的內容同步在別的
pv
,而後再
pvremove
將磁盤卸除。
建立
vg
:
vgcreate
選項
vg
名稱
pv1 pv2 pv3 …
增大
vg
的容量:
vgextend vg
名
pv
名
vgextend /dev/vg0 /dev/sdb5
縮小
vg
的容量:
vgreduce vg
名
pv
名
Pvreduce /dev/vg0 /dev/sdb5
建立
lv
:
lvcreate –L 2G –n lv0 vg0 #
從
vg0
中建立一個
2g
的
lv0
-n lv
名稱
-L
建立
lv
的大小
查看
lv
:
lvdisplay #
顯示當前全部的
lv
完成
lv
的建立,格式化文件系統。
邏輯卷的擴展、縮減和
snapshot
:
Lv
的擴展:
先擴大
lv
的物理大小:
lvextend –L 2g /dev/vg0/lv1
在調整
lv
的邏輯大小:
resize2fs
選項
設備
大小
resize2fs /dev/vg0/lv1 #
不跟數值就調整到分區大小
lv
的縮減:
先縮小邏輯大小:
resize2fs /dev/vg0/lv0 512m #
將
lv0
邏輯大小縮小到
512m
再縮小物理
lv
的大小:
lvreduce –L 512m /dev/vg0/lv0 #
將
lv0
物理大小縮小到
512m
快照
snapshot
的建立:
lvcreate –s –L 512M –n snapshot0 –p r /dev/vg0/lv0
#
再
vg0
上建立一個
lv0
的快照卷,
-s
說明新加捲是快照
–p r
說明權限是隻讀
/dev/vg0/lv0
說明是
lv0
的快照