天天看點

Linux磁盤管理LVM和RAID使用介紹

作者:JasonTang

摘要:一般情況下,Linux的磁盤管理有很多工具,劃分磁盤的類型可以是普通的實體磁盤,也可以是邏輯磁盤,還可以使用RAID工具對磁盤進行容錯管理。

本文主要介紹Linux系統磁盤管理工具LVM和RAID的使用方法,詳細内容參考下文。

一、登陸Linux系統

1、登陸Linux

Linux磁盤管理LVM和RAID使用介紹

2、檢視磁盤情況

Linux磁盤管理LVM和RAID使用介紹

二、邏輯卷管理器(LVM)

LVM:LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱,是Linux環境下對卷進行操作的抽象層。LVM是建立在硬碟和分區之上的一個邏輯層,為檔案系統屏蔽下層磁盤分區布局,進而提高磁盤分區管理的靈活性。LVM允許在多個實體裝置間重新組織檔案系統,包括重新設定檔案系統的大小。

通過LVM,可以實作存儲空間的抽象化并在上面建立虛拟分區,可以更簡便地擴大和縮小分區,可以增删分區時無需擔心某個硬碟上沒有足夠的連續空間,避免為正在使用的磁盤重新分區的麻煩、為調整分區而不得不移動其他分區的不便,它相比傳統的分區系統可以更靈活地管理磁盤。

1、LVM結構圖

Linux磁盤管理LVM和RAID使用介紹

2、LVM術語

(1)、實體卷

實體卷是LVM的基本存儲邏輯塊,實體卷可以是整個硬碟、硬碟上的分區或從邏輯上一磁盤分區具有同樣功能的裝置(如:RIAD)。實體卷(physical volume, PV)在LVM系統中處理最底層。

(2)、卷組

卷組(Volume Group,VG)建立在實體卷之上,它由一個或多個實體卷組成;卷組建立之後,可以動态添加實體卷到卷組中,在卷組上可以建立一個或多個邏輯卷;一個LVM系統中可以隻有一個卷組,也可以包含多個卷組。LVM的卷組類似于非LVM系統中的實體硬碟。

(3)、邏輯卷

邏輯卷(Logical Volume,LV)建立在卷組之上,邏輯卷相當于分區,隻不過給分區時通過卷組劃分,劃分為邏輯卷後就相當于劃分了分區,僅需要對LV進行格式化檔案系統即可。

(4)、LVM與檔案系統之間的關系

說明:/boot 分區不能位于卷組中,因為引導裝載程式無法從邏輯卷中讀取;如果想把 / 分區放在邏輯卷上,必須建立一個與卷組分離的 /boot 分區。

Linux磁盤管理LVM和RAID使用介紹

注意:安裝Linux系統的時候,如果選擇LVM磁盤管理,需要将啟動檔案放到單獨的/boot目錄中,這個/boot目錄最好是單獨建立的/dev/sda1磁盤。

(5)、PV&VG&LV的裝置名

名稱 含義 裝置名
PV 實體卷,對應磁盤或者分區 /dev/sda*
VG 卷組,對應一組磁盤或者分區 /dev/<VGname>
LV 邏輯卷,對應着LVM分區 /dev/<VGname>/<LVname>

(6)、LVM 常用指令集

任務 PV VG LV
建立 pvcreate vgcreate lvcreate
删除 pvremove vgremove lvremove
顯示資訊 pvs vgs lvs
掃描清單 pvscan vgscan lvscan
顯示屬性 pvdisplay vgdisplay lvdisplay
更改屬性 pvchange vgchange lvchange
擴充 vgextend lvextend / lvresize
縮減 vgreduce lvreduce / lvresize

(7)、LVM建立過程

第一步:執行指令# pvcreate /dev/sda2建立實體卷/dev/sda2

執行指令# pvcreate /dev/sda3建立實體卷/dev/sda3

第二步:檢視建立好的實體卷

執行指令# pvs檢視建立好的實體卷

Linux磁盤管理LVM和RAID使用介紹

或者執行指令# pvdisplay

Linux磁盤管理LVM和RAID使用介紹

第三步:将新建立的實體卷添加到卷組中

執行指令# vgcreate -s 8m centos /dev/{sda2,sda3}

第四步:檢視建立好的卷組

執行指令# vgs

Linux磁盤管理LVM和RAID使用介紹

或者執行指令# vgdisplay

Linux磁盤管理LVM和RAID使用介紹

第五步:在卷組中建立邏輯卷

執行指令# lvcreate -L 140G -n home centos

第六步:檢視建立好的邏輯卷

執行指令# lvs

Linux磁盤管理LVM和RAID使用介紹

或者執行指令# lvdisplay

Linux磁盤管理LVM和RAID使用介紹

第七步:對邏輯卷進行擴充 lvextend / lvresize

執行指令# lvextend -L 100G /dev/centos/home可以對邏輯卷/home擴容100G。

第八步:對邏輯卷進行格式化 mkfs、

執行指令# mkfs -t ext4 /dev/centos/home對邏輯卷/home進行ext4格式化。

第九步:對邏輯卷進行挂載 mount

執行指令# mkdir /lvm建立挂載點

執行指令# mount /dev/centos/home /lvm将邏輯卷挂載到挂載點

三、磁盤陣列(RAID)

RAID:RAID(Redundant Arrays of Inexpensive Disks)容錯式廉價磁盤陣列。RAID技術可以通過軟體或硬體實作,将多個磁盤整合成為一個較大的磁盤裝置,該裝置不僅有存儲功能,還具有資料保護的功能。RAID具有多個不同的等級,每個等級的對整合後的磁盤實作不同的功能。比較常用等級有RAID1和RAID5。

1、磁盤陣列的優點

(1)、整合現有的磁盤空間

(2)、提高磁盤的IO效率

(3)、提供容錯性

2、磁盤陣列的類型

(1)、硬體磁盤陣列:使用磁盤陣列卡,使用dmraid工具管理;

(2)、軟體磁盤陣列:使用Linux系統仿真磁盤功能,使用mdadm工具管理。

備注:在Linux中常用的是使用mdadm工具管理來實作軟體RAID。

3、建立軟體RAID

第一步:确認Linux是否安裝mdadm工具包

執行指令# rpm -qa mdadm

Linux磁盤管理LVM和RAID使用介紹

第二步:對磁盤進行分區并設定分區類型為RAID

執行執行# fdisk /dev/sda

Linux磁盤管理LVM和RAID使用介紹
Linux磁盤管理LVM和RAID使用介紹

備注:fdisk 指令隻适合小于2T的硬碟,如大于2T則需要使用parted。

第三步:使用mdadm建立RAID

執行指令# mdadm --create /dev/md0 --auto yes --level 1 n2 /dev/sda{sda2,sda3}

第四步:檢視建立好的RAID

執行指令# mdadm -D /dev/md0

第五步:格式化RAID分區

執行指令# mkfs -t ext4 /dev/md0

第六步:挂載RAID分區

執行指令# mkdir /raid建立挂載點

執行指令# mount /dev/md0 /raid将RAID分區挂載到挂載點

繼續閱讀