邏輯卷管理器LVM

2021-09-01 00:23:56 字數 4479 閱讀 8418

想象乙個情況,我們在當初規劃主機的時候將/home分配了50g空間,等到使用者眾多之後導致這個filesystem不夠大,此時我們該怎麼做呢?通常做法是這樣的:再加一顆新硬碟,然後重新分割、格式化,將/home的資料完整的複製過來,然後將原本的partition解除安裝重新掛載新的partition。整個過程較為繁瑣。若是第二次分割給的容量太多,導致很多磁碟容量被浪費了,又想將這個partition縮小時,該如何操作?將上述的流程再做一遍?有沒有更簡單的方法呢?有的!那就是lvm。

lvm(logical volume manager, 邏輯卷管理器),我們使用的是版本2,lvm的型別編號為8e。lvm的重點在於可以彈性的調整filesystem的容量,而並非在於資料的儲存效率及安全方面,提高檔案的讀寫效率和資料的可靠性是raid所考慮的問題。lvm可以整合多個實體partition在一起,讓這些partitions看起來就像是乙個磁碟一樣。而且還可以在未來新增或移除其他的實體partition到這個lvm管理的磁碟當中。如此一來,整個磁碟空間的使用實在是相當的具有彈性。

/dev/vg_name/lv_name,如:/dev/vol0/root。

接下來我們就通過示例來看看如何去實現lvm邏輯卷的管理。

(1)建立pv

與pv相關的一些管理命令有:pvcreate,pvdisplay,pvs,pvscan,pvremove,pvmove。

pvcreate:pvcreate /dev/device:將實體partition建立成為pv。

pvscan:搜尋目前系統裡面任何具有pv的磁碟。

pvs:簡要pv資訊顯示;

pvdisplay:顯示pv的詳細資訊;

pvremove:將pv屬性移除,讓該partition不具有pv屬性。

先準備塊裝置,調整其id為8e;

然後建立pv:pvcreate [-f] /dev/sda

檢視pv資訊:pvdisplay [/dev/sda

(2)建立vg

與vg相關的一些管理命令有:

vgcreate:主要建立vg的命令,引數比較多。

vgscan:搜尋系統上面是否有vg存在。

vgdisplay:顯示目前系統上面的vg狀態。

vgextend:在vg內新增額外的pv。

vgreduce:在vg內移除pv。

vgchange:配置vg是否啟動(active)。

vgremove:刪除乙個vg。

vgs:簡要vg資訊顯示;

vgdisplay:顯示vg的詳細資訊;

vgcreate [-s #[kkmmggttppee]] [-t|--test] [-v|--verbose] volumegroupname physicaldevicepath [physicaldevicepath...]

vgextend volumegroupname physicaldevicepath [physicaldevicepath...]

vgreduce volumegroupname physicaldevicepath [physicaldevicepath...](需要先做pvmove)

vgremove:刪除捲組

vgcreate myvg /dev/sda3

vgextend myvg /dev/sda5 將/dev/sda5加入myvg中;

pvmove /dev/sda5 移動/dev/sda5

vgreduce myvg /dev/sda5

(3)建立lv

與lv相關的一些管理命令有:

lvcreate:建立lv。

lvscan:查詢系統上面的lv。

lvs:簡要lv資訊顯示。

lvdisplay:顯示lv的詳細資訊。

lvextend:在lv裡面新增容量。

lvreduce:在lv裡面減少容量。

lvremove:刪除乙個lv。

lvresize:對lv進行容量大小的調整。

lvcreate -l #[bbsskkmmggttppee] [-n|--name logicalvolume] vg_name

例如:lvcreate -l 10g -n magedulv mageduvg

lvremove /dev/vg_name/lv_name:刪除邏輯卷

(4)擴充套件邏輯卷

用fdisk配置新的具有8e system id的partition。

利用pvcreate建立pv。

利用vgextend將pv加入我們的mageduvg。

利用lvresize將新加入的pv內的pe加入magedulv中。

通過resize2fs將檔案系統的容量增加。

# lvextend -l [+]#[mmggtt] /dev/vg_name/lv_name: 修改物理邊界(分割槽的物理空間);

# resize2fs /dev/vg_name/lv_name:修改邏輯邊界(檔案系統大小),不指定大小代表使用該分割槽物理空間上所有可用大小;

(5)縮減邏輯卷

# umount /dev/vg_name/lv_name:解除安裝已經掛載的lv;

# e2fsck -f /dev/vg_name/lv_name:檔案系統強制檢測和修復;

# resize2fs /dev/vg_name/lv_name #[mmggtt]:縮減邏輯邊界(檔案系統大小);

# lvreduce -l [-]#[mmggtt] /dev/vg_name/lv_name:縮減邏輯卷大小(物理邊界、分割槽的物理空間);

# mount /dev/vg_name/lv_name /mnt/lvm:重新掛載縮減後的lv。

(6)lv的掛載

要想真正的使用lvm就必須對lv進行格式化掛載。

mkfs -t ext3 /dev/mageduvg/magedulvmkdir /mnt/lvmmount /dev/mageduvg/magedulv /mnt/lvm(1)lvm快照概述

快照就是將當前的系統資料記錄下來,在未來若有資料變動,則會將變更前的資料放在快照區進行儲存,那麼快照區將有兩部分組成:變更之前的資料和未變更的資料。lvm的系統快照只備份有變更的資料,檔案系統內沒有變動的資料依舊儲存在原本的區塊內,因此通過lvm快照備份下來的資料所占用的容量非常小。由於快照區與原本的lv共享很多pe塊,因此快照卷與原卷必須在同乙個卷組中。

(2)lvm快照操作

建立快照:lvcreate -l #[mmggtt] -p r -s -n snapshot_lv_name original_lv_name

snapshot_lv_name:快照卷名字,original_lv_name:原卷名字。

示例如下:

建立快照:lvcreate -s -l 512m -n mylv-snap -p r /dev/myvg/mylv

顯示資訊:lvdisplay

建立快照目錄:mkdir /mnt/snapshot

掛載快照卷:mount /dev/myvg/mylv-snap /mnt/snapshot

umount /mnt:解除安裝快照卷

lvremove /dev/myvg/mylv-snap:刪除快照卷

umount /backup:解除安裝原卷

lvremove /dev/myvg/mylv:刪除原卷

vgremove myvg:刪除原卷組

pvremove /dev/sda3:刪除物理卷

(3)利用快照恢復資料

注意:所要恢復的資料不能超過快照區的總大小,因為如果變動的資料大小超過了快照區的空間,那麼快照區不能容納所有變動的資料,這時快照功能將失效。

示例:先在原來的lv中寫入一些資料,然後通過lvm的快照功能來恢復到之前的操作。

cp -r /etc /mnt/lvm/建立乙個資料恢復的臨時目錄:mkdir -pv /tmp/backupcd /mnt/snapshottar -zcf /tmp/backup/lvm.tar.gz *將快照卷mageduss解除安裝並移除,因為裡面的內容已經備份出來了

5.1umount /mnt/snapshot

5.2lvremove /dev/mageduvg/mageduss解壓備份出來的檔案,和/mnt/lvm目錄中的資料做對比,檢視是否已經恢復到相關操作之前了。

邏輯卷管理器 LVM

在lvm中,主要有三個概念 到這裡我們可以看出,原本是直接在硬碟上建立分割槽,然後在分割槽上建立檔案系統。使用了lvm後,在其中插入乙個邏輯層,相當於是在一塊邏輯硬碟上建立邏輯分割槽,然後在邏輯分割槽上建立檔案系統。下面是乙個lvm使用的例子 linux下邏輯卷管理器 lvm 的乙個例子 在圖中有兩...

Linux邏輯卷管理器 LVM

通過使用linux的邏輯卷管理器 logical volume manager,lvm 使用者可以在系統執行時動態調整檔案系統的大小,把資料從一塊硬碟重定位到另一塊硬碟,也可以提高i o操作的效能,以及提供冗餘保護,它的快照功能允許使用者對邏輯卷進行實時的備份。對一般使用者來講,使用最多的是動態調整...

LVM邏輯卷管理器 建立

1 磁碟分割槽 使用fdisk fdisk l可以檢視所有的分割槽 3 使用分割槽建立pv pvcreate dev hda 後面接物理分割槽 建立的pv名字為物理分割槽名字 4 建立及增加vg 建立vg vgcreate s 10m g t vgname pvname 例 vgcreate s 1...