天天看點

RHEL7 邏輯卷管理

-- rhel7上邏輯卷的管理

當使用者根據實際情況需要對分區增加、減少等調整時,經常會受磁盤“靈活性”的限制,很不友善。

邏輯卷管理器則是在磁盤分區與檔案系統之間添加的邏輯層,提供一個抽象的卷組,使得管理者可以忽略底層磁盤布局,

進而實作分區的靈活動态調整。(在rhel7以上系統已經預設啟動lvm機制)

實體卷(pv,physical volume): 整個硬碟裝置或使用fdisk指令建立的硬碟分區;

卷組(vg,volume group): 由一個或多個實體卷(pv)組成的整體;

邏輯卷(lv,logical volume): 從卷組(vg)中切割出的空間來用于建立檔案系統,大小由pe的個數決定;

基本單元(pe,physical extent):預設為4mb的基本塊。

=============================================================

功能/指令  實體卷管理    卷組管理     邏輯卷管理

  掃描      pvscan       vgscan        lvscan

  顯示      pvdisplay  vgdisplay     lvdisplay

  建立      pvcreate     vgcreate      lvcreate

  删除      pvremove     vgremove      lvremove

  擴充      ---          vgextend      lvextend

--------------------------------------------------------------------------------------------------------------

-- redhat7 配置 lvm (ahern)

添加磁盤,對磁盤進行分區,對要做lvm的分區,選擇類型為8e(即為linux lvm),儲存分區表;

fdisk /dev/sdb  --> m->n->p->w

1、建立一個實體卷組

# pvcreate /dev/sdb1

# pvscan (檢視實體卷組指令)

# pvremove /dev/sdb1 (删除實體卷組指令)

2、建立一個邏輯卷組

# vgcreate vgu01 /dev/sdb1 (預設pe為4m)

# vgcreate –s 8m vgu01  /dev/sdb1 (可在建立時指定pe大小為8m)

# vgdisplay vgu01 (檢視邏輯卷組指令)

# vgremove vgu01  (删除邏輯卷組指令)

# vgextend vgu01 /dev/sdb2 (增加實體卷)

# vgreduce vgu01 /dev/sdb2 (删除實體卷)

3、生成邏輯卷 lv

# lvcreate –l 10g –n lvu01 vgu01 (建立大小為 10g 的分區 lv01)

# lvcreate -l 1278 -n lvu01 vgu01    (ok 5g)

# lvcreate –l 200 –n /dev/vgu01/lvu01    (建立大小為200個pe大小的分區/dev/vg0/lv01(即200x4m))

# lvscan (檢視邏輯分區)

4、格式化分區(格式化後 mount 即可正常使用)

# mkfs.xfs /dev/vgu01/lvu01

# mkfs -t ext4 /dev/vgu01/lvu01

5、建立挂載點 (挂載和解除安裝)   

# mkdir /u01

# mount /dev/vgu01/lvu01 /u01 (挂載)

# vi /etc/fstab (永久挂載)

/dev/vgu01/lvu01        /u01 xfs     defaults        0 0

# df -ht (檢視)

6、擴充分區大小

# lvextend –l +5g –n /dev/vgu01/lvu01 (增加5g)

# lvextend -l +1278 -n /dev/vgu01/lvu01 (增加5g)

# xfs_growfs /dev/vgu01/lvu01    (調整xfs格式分區大小: 雖然xfs檔案系統隻支援增加,不支援減少。但并不是說在xfs系統檔案下不能減小,隻是減小後,需要重新格式化才能挂載上。這樣原來的資料就丢失了!)

# lvextend –l +50 –n /dev/vgu01/lvu01 (增加50個pe)

# resize2fs /dev/vgu01/lvu01 -l 300m (調整ext4格式分區大小)

# lvreduce –l 300m –n /dev/vgu01/lvu01  (減小分區到300m(需先停用分區))

-- oel 6.10

# lvresize -l +1048572 /dev/volgroup/lv_u01

# resize2fs /dev/volgroup/lv_u01

7、停用啟用分區

# lvchange –an /dev/vgu01/lvu01 (停用lv01分區)

# lvchange –ay /dev/vgu01/lvu01 (啟用lv01分區)

8、邏輯卷容量擴充和減少

邏輯卷的容量擴充

# umount /dev/vgu01/lvu01 (umount要擴容的邏輯卷)

# lvextend -l 1g /dev/vgu01/lvu01 (将 lvu01 擴充到1g)

# e2fsck -f /dev/vgu01/lvu01 (檢查磁盤完整性) 

# resize2fs /dev/vgu01/lvu01 (重置磁盤容量)

# mount /dev/vgu01/lvu01 /u01    (重新 mount)

邏輯卷的容量減少

# lvreduce -l 500m /dev/vgu01/lvu01 (将 lvu01 減少到500m)

9、快照功能

lvm的邏輯卷具有快照功能可以将邏輯卷的資料儲存為備份、以及快速的資料恢複。

# lvcreate -l 150m -s n snap /dev/vgu01/lvu01    (建立一個150m,名稱為snap的快照)

# lvcreate –l 40m –n /dev/vgu01/lvu01_snap –s /dev/vgu01/lvu01 (建立快照(設定大小為總理的20%))

# lvremove /dev/vgu01/lvu01_snap (删除快照)

10、資料遷移

# pvmove –i 3 /dev/sdb1 /dev/sdb2  (将sdb1資料遷到sdb2上,3秒重新整理一次)

11、檢視 lvm 的指令

pvs,vgs,lvs,pvdisplay,vgdisplay,lvdisplay

12、邏輯卷失效後激活邏輯卷

當找路勁下不到邏輯卷,檢視邏輯卷的時候裝置變成了inactive狀态的問題解決步驟如下:

檢視pv -> 檢視vg -> 檢視lvm -> lvminactive問題解決

-- one.檢視pv

指令:pvdisplay

可以看到pv 名稱、大小、總大小、剩餘空間大小、vg 名稱

-- two.檢視vg

指令:vgdisplay

可以看到vg名稱、格式、大小、總大小、剩餘大小

-- three.檢視lvm

指令:lvdisplay、lvscan

所有lv名稱,狀态、大小,這裡可以看到有個lvm狀态是not available。

同時也可以從lvscan指令掃描lvm看到,lvm狀态是inactive。

-- four.解決

激活vg 指令 vgchange 激活後挂載即可

[root@rac01 ~]# vgchange -ay vg名(vgu01)

4 logical volume(s) in volume group "vg名(vgu01)" now active

使用 lvscan 檢視狀态

-- 附lvm操作的相關指令

-- 實體卷指令

pvcreate    建立lvm實體卷

pvdisplay   顯示已建立的實體卷資訊

pvchange    設定pv的性能,允許或拒絕從這個磁盤上配置設定置另外的pe。

pvmove    在一個卷組中從源到目的移動已經配置設定的pe

pvremove 删除一個實體卷(也就是從實體卷中删除一個lvm标簽)

-- 卷組指令

vgcreate    建立卷組

vgdisplay    顯示卷組的資訊

vgchange    激活或者撤消卷組,允許卷組使用或不使用quorum來挂載

vgchange -a y 激活所有卷組 (開機執行,redhat可在/etc/rc.d/rc.sysinit系統啟動初始化腳本裡可以找到)

vgchange -a n 關閉所有卷組(提示:必須在umount所有的檔案系統後,才能成功執行

vgextend    通過添加磁盤擴充卷組

vgreduce    删除實體卷縮減卷組,vgscan 掃描所有磁盤尋找卷組

vgsync      同步鏡像

remove      删除卷組

vgexport    從系統中删除一個卷組,但不修改在基于實體卷的資訊

vgimport    通過掃描使用vgexport指令輸出的實體卷在系統中增加一個

vgcfgbackup 儲存卷組的配置資訊,記住一個卷組有一個或多個實體卷組成

vgcfgrestore 恢複卷的配置資訊

vgscan 讀取系統中建立的所有卷組

-- 邏輯卷指令

lvcreate    生成邏輯卷

lvdisplay 顯示邏輯卷的資訊

lvchange    改變邏輯卷的特性,包括可用性、排程政策、權限、塊重定位、配置設定政策、鏡像緩存的可用性lvextend 增加邏輯卷的空間

extendfs 擴充檔案系統的大小

lvreduce 減少邏輯卷的空間

lvremove 删除邏輯卷

lvsplit    分割镱像的邏輯卷

lvmerge    合并lvsplit過的邏輯卷

lvsync    同步邏輯卷

lvmmigrate 在一個分區中為邏輯卷遷移準備一個root檔案

lvlnboot    用來建立root,primary swap ,or dump邏輯卷

lvlnboot    删除lvlnboot建立的邏輯卷

-- 其他指令

fdisk -l 檢視系統中都認到了那些實體硬碟

mkfs 基于邏輯卷建立一個相應類型的檔案系統

mkdir -p $mount_piont 建立一個挂載目錄,建立好的檔案系統位于:/dev/$create_vg_name/$lv_name

mount /dev/$create_vg_name/$lv_name $mount_piont 挂載檔案系統

繼續閱讀