歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux中創建LVM邏輯卷

Linux中創建LVM邏輯卷

日期:2017/2/27 16:04:49   编辑:Linux教程

一、LVM(邏輯卷)介紹

LVM的全名是邏輯卷管理員(Logic Volume Manager),它以卷為單位,不像傳統磁盤以分區為單位,以便可以彈性地調整磁盤空間。他可以在線調整卷的大小,也可以可讀可寫的模式建立快照。

物理卷(Physical Volume,PV):物理卷是構成LVM的最主要的軟件包,在Linux系統中,物理卷就是磁盤的分區,要不過要作為LVM物理卷,其分區系統識別碼必須標識為LVM

卷組(Volume Group,VG):可以使用一個或多個物理卷組成一個卷組

邏輯卷(Logic Volume,LV):你可以把邏輯卷當成分區一樣使用,邏輯卷的空間是由卷組提供的。

下表是LVM的管理工具:

物理卷 卷組 邏輯卷 掃描 Pvscan Vgscan Lvscan 查看 Pvdisplay Vgdisplay Lvdisplay 新建 Pvcreate Vgcreate Lvcreate 卸載 Pvremove Vgremove Vgremove 放大 無 Vgextend Lvextend 縮小 無 Vgreduce Lvreduce

二、建立LVM

1、建立物理卷

新建分區:
#parted –s /dev/sdb mklabel msdos
#parted –s /dev/sdb mkpartfs primary ext2 0 1024
#parted –s /dev/sdb mkpartfs primary ext2 1024 2048
#parted –s /dev/sdb mkpartfs primary ext2 2048 3072
#parted –s /dev/sdb mkpartfs primary ext2 3072 4096

設置系統標識為LVM:
#parted –s /dev/sdb set 1 lvm
#parted –s /dev/sdb set 2 lvm
#parted –s /dev/sdb set 3 lvm
#parted –s /dev/sdb set 4 lvm
#fdisk –l /dev/sdb | grep –i lvm

Partprobe同步磁盤狀態

建立物理卷:
#pvcreate /dev/sdb{1,2,3,4}

查看一下我創建的物理卷:
#pvdisplay

用pvs查看一下:

可以看到我/dev/sdb的四個分區都已經成為物理卷

2、建立卷組

VGNAME是卷組的名稱,第一個VGNAME都是唯一的,最好不要與/dev/下的其他設備名沖突。以下是我用/dev/sdb1,/dev/sdb2這兩個物理卷建立一個叫mainVG的卷組
#vgcreate mainVG /dev/sdb1 /dev/sdb2

查看一下我的卷組信息
#vgdisplay mainVG
#vgs

3、建立邏輯卷

邏輯卷的設備文件被存儲在/dev/VGNAME/LVNAME,以下是我建立一個1G大小的邏輯卷空間
#ls /dev/mainVG
#lvcreate –L 1G –n 1stLV /dev/mainVG

查看邏輯卷是不為激活狀態
#lvs

如果未激活用下面命令激活
#lvchange –ay /dev/mainVG/1stLV

建立出來的邏輯卷,你就可以當做一個分區,在邏輯卷上建立文件系統,掛載這個文件系統

#mkfs.ext3 –F /dev/mainVG/1stLV

三、調整LVM

1、調整卷組

創建分區/dev/sdb3後創建物理卷
#pvcreate /dev/sdb3
#vgdisplay mainVG | grep “VG Size”
#pvdisplay /dev/sdb3 | grep “PV Size”

以上可以看到,現在我的mainVG大小是1.9G,而且我的一個分區/dev/sdb3大小是900多M

#vgextend mainVG /dev/sdb3
#vgdisplay mainVG | grep “VG Size”

現在我的mainVG大小就變成了2.85G了,增加大小正好是/dev/sdb3

然後我再把/dev/sdb3從mainVG中卸載,mainVG又回到原先的1.9G了

#vgreduce mainVG /dev/sdb3
#vgdisplay mainVG | grep Size

2、在線調整邏輯卷

放大:先放大LV再放大文件系統

先擴展LV加1G
#lvextend –L +1G /dev/mainVG/1stLV

再看看我的邏輯卷大小
#lvdisplay /dev/mainVG/1stLV | grep ‘LV Size’

下一步e2fsck檢測LV分區
#e2fsck –f /dev/mainVG/1stLV

下面在線拉伸LV分區
#resize2fs /dev/mainVG/1stLV

然後df查看LV分區已經在線拉伸了1G

四、LVM高級應用

1、產生卷快照

你可以把卷中的數據凍結起來,就像是為數據排了一張照片,可以永久保存建立時的狀態

#mount /dev/mainVG/1stLV /mnt/lvm
#lvcreate –L 200M –s –n backup1 /dev/mainVG/1stLV

2、讀取卷快照

#mount /dev/mainVG/backup1 /mnt/backup
可以看到這是我邏輯卷快照的內容,現在我用20M的數據覆蓋原本邏輯的passwd

#dd if=/dev/zero of=/mnt/lvm/passwd bs=1M count=20
而且又新建了一個group文件,可快照中的數據並沒有改變

3、卸載邏輯卷快照

#umount /dev/mainVG/backup1
卸載快照之前必須先卸載掛載

#lvremove /dev/mainVG/backup1
可以看到,現在已使用空間降了200M

4、移動物理卷

加入一個新的物理卷,這裡可以看到/dev/sdb2已經使用了500多M了

#vgextend mainVG /dev/sdb3
通過pvmove將/dev/sdb2的數據遷移到/dev/sdb3上

#pvmove /dev/sdb2 /dev/sdb3
#pvscan

可以看到/dev/sdb2上的資料都移動到/dev/sdb3上了

5、卸載物理卷

#vgreduce mainVG /dev/sdb2
#pvremove /dev/sdb2
現在/dev/sdb2自由

五、遷移至其他系統

進行遷移卷組的第一個步驟就是導出卷組

1、導出卷組

用vgchange將卷組修改為非有效的配置
#vgchange –a n mainVG

然後用vgexport導出卷組
#vgexport mainVG

2、導入卷組

用vgimport命令導入卷組,然後修改為有效配置
#vgimport mainVG
#vgchange –a y mainVG
http://www.linuxeye.com/Linux/793.html
Copyright © Linux教程網 All Rights Reserved