Linux文件系統管理之lvm和raid(下)

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進行了一定得優化,它不再指定校驗碼有固定的存儲盤,而是和數據塊一起加入整個磁盤存儲體系的循環。

 

raidlinux中的實現:
命令:
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邏輯卷管理器
LVMlogic volume manger的縮寫,這種體系的存儲結構是將物理磁盤轉換成物理卷pvphysical volume),將pv的容量彙總成卷組vgvolume group)後,再將卷組vg進行拆分,形成多個自定義大小且容量可實時調成的邏輯卷(logic volume)。在將物理磁盤做成物理卷後將形成lvm的最小單位pephysical extend),pe的大小可以爲4M8M16M
類似於磁盤系統的中塊block的概念。

 

pv相關的命令:pvcreat創建、pvmove存儲內容移動、pvremove刪除、pvscan掃描、pvdisplay顯示信息
vg相關的指令:vgcreat創建、vgremove刪除、vgscan掃描、vgdisplay顯示信息、vgreduce容量縮小、vgextend容量擴大
lv相關的指令:;lvcreat創建、lvmove存儲內容移動、lvremove刪除、lvscan掃描、lvdisplay查看、lvreduce縮小物理容量、lvextend擴大物理容量、resize2fs調整邏輯容量

 

創建pvpvcreate  物理磁盤分區1  物理磁盤分區2 物理磁盤分區3..
查看pvpvdisplay  #顯示當前所有的pv
移除pv:先pvmove將當前pv上的內容同步在別的pv,然後再pvremove將磁盤卸除。

 

創建vgvgcreate 選項 vg名稱  pv1  pv2  pv3 …
增大vg的容量:vgextend  vg  pv
vgextend  /dev/vg0 /dev/sdb5
縮小vg的容量:vgreduce vg pv
Pvreduce  /dev/vg0 /dev/sdb5

 

創建lvlvcreate –L 2G –n lv0 vg0  #vg0中創建一個2glv0
-n lv名稱
-L  創建lv的大小
查看lvlvdisplay  #顯示當前所有的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的快照
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章