邏輯卷管理lvm的實例詳解

邏輯卷管理LVM

一 創(chuàng)建邏輯卷

1準備分區(qū)或硬盤

這里使用/dev/sdb、/dev/sdc兩塊硬盤和/dev/sda9、/dev/sda10兩個分區(qū),大小都為1G,磁盤有限,我也不想這么摳的。

添加分區(qū)/dev/sda9、/dev/sda10

[root@centos7?~]#?fdisk?/dev/sda    Welcome?to?fdisk?(util-linux?2.23.2).  Changes?will?remain?in?memory?only,?until?you?decide?to?write?them.  Be?careful?before?using?the?write?command.    Command?(m?for?help):?n  All?primary?partitions?are?in?use  Adding?logical?partition?9  First?sector?(31885312-41943039,?default?31885312):  Using?default?value?31885312  Last?sector,?+sectors?or?+size{K,M,G}?(31885312-41943039,?default?41943039):?+1G  Partition?9?of?type?Linux?and?of?size?1?GiB?is?set

注意,要修改分區(qū)類型為Linux LVM

Command?(m?for?help):?t  Partition?number?(1-9,?default?9):?8e  Partition?number?(1-9,?default?9):?9  Hex?code?(type?L?to?list?all?codes):?8e  Changed?type?of?partition?'Linux'?to?'Linux?LVM'  Command?(m?for?help):

同樣的方法創(chuàng)建/dev/sda10。

[root@centos7?~]#?lsblk    NAME?MAJ:MIN?RM?SIZE?RO?TYPE?MOUNTPOINT  sda?8:0?0?20G?0?disk  ├─sda9?8:9?0?1G?0?part  └─sda10?8:10?0?1G?0?part  sdb?8:16?0?1G?0?disk  sdc?8:32?0?1G?0?disk

2 創(chuàng)建PV(物理卷)

命令格式為:pvcreate DEVICE,可以一次創(chuàng)建一個設備,也可以一次創(chuàng)建多個設備。

查看物理卷命令:pvdisplay(查看詳細信息)、pvs(查看簡易信息)

[root@centos7?~]#?pvcreate?/dev/sda9    Physical?volume?"/dev/sda9"?successfully?created.  [root@centos7?~]#?pvcreate?/dev/sda10?/dev/sdb?/dev/sdc  Physical?volume?"/dev/sda10"?successfully?created.  Physical?volume?"/dev/sdb"?successfully?created.  Physical?volume?"/dev/sdc"?successfully?created.

查看物理卷,看到已經成功創(chuàng)建。

[root@centos7?~]#?pvs  PV?VG?Fmt?Attr?PSize?PFree  /dev/sda10?lvm2?---?1.00g?1.00g  /dev/sda9?lvm2?---?1.00g?1.00g  /dev/sdb?lvm2?---?1.00g?1.00g  /dev/sdc?lvm2?---?1.00g?1.00g

3 創(chuàng)建卷組(VG)

命令格式為:vgcreate -s PE VGNAME(vg名) DEVICE(設備名)

-s :指定物理擴展塊大小 既就是PE的大小

查看命令:vgs、vgdisplay

[root@centos7?~]#?vgcreate?-s?16M?vg0?/dev/sda9?/dev/sda10?/dev/sdb?/dev/sdc  Volume?group?"vg0"?successfully?created

查看一下

[root@centos7?~]#?vgs    VG?#PV?#LV?#SN?Attr?VSize?VFree  vg0?4?0?0?wz--n-?3.94g?3.94g

再來看下詳細信息

[root@centos7?~]#?vgdisplay    ---?Volume?group?---  VG?Name?vg0  System?ID  Format?lvm2  Metadata?Areas?4  Metadata?Sequence?No?1  VG?Access?read/write  VG?Status?resizable  MAX?LV?0  Cur?LV?0  Open?LV?0  Max?PV?0  Cur?PV?4  Act?PV?4  VG?Size?3.94?GiB  PE?Size?16.00?MiB  Total?PE?252  Alloc?PE?/?Size?0?/?0  Free?PE?/?Size?252?/?3.94?GiB  VG?UUID?qmoIMg-5wQR-GKCS-dpq9-HLrt-zVIi-JBC9ZX

一切都復合預期,大小約為4G,正好是兩個分區(qū)和兩個硬盤之和。

4創(chuàng)建邏輯卷(LV)

命令格式為:lvcreate -n LVNAME(指定LV名) -L SIZE(指定LV的大小) vg0(要使用的VG)

-l 指定PE 大小

查看命令(類似PV、VG):lvs、lvdisplay

[root@centos7?~]#?lvcreate?-n?lv0?-L?3G?vg0    Logical?volume?"lv0"?created.

創(chuàng)建成功,查看一下

[root@centos7?~]#?lvs    LV?VG?Attr?LSize?Pool?Origin?Data%?Meta%?Move?Log?Cpy%Sync?Convert  lv0?vg0?-wi-a-----?3.00g

再看下詳細信息

[root@centos7?~]#?lvdisplay    ---?Logical?volume?---  LV?Path?/dev/vg0/lv0  LV?Name?lv0  VG?Name?vg0  LV?UUID?622i7m-uy6s-3nZI-8xSb-sxrR-cZzz-C9pwkd  LV?Write?Access?read/write  LV?Creation?host,?time?centos7.3.loacl,?2017-04-25?16:25:13?+0800  LV?Status?available  #?open?0  LV?Size?3.00?GiB  Current?LE?192  Segments?4  Allocation?inherit  Read?ahead?sectors?auto  -?currently?set?to?8192  Block?device?253:0

可以確定已經成功創(chuàng)建。

現(xiàn)在就可以把/dev/vg0/lv0當做一塊硬盤使用了。

現(xiàn)在看一下磁盤信息,已經發(fā)生了變化。

[root@centos7?~]#?lsblk    NAME?MAJ:MIN?RM?SIZE?RO?TYPE?MOUNTPOINT  fd0?2:0?1?4K?0?disk  sda?8:0?0?20G?0?disk  ├─sda9?8:9?0?1G?0?part  │?└─vg0-lv0?253:0?0?3G?0?lvm  └─sda10?8:10?0?1G?0?part  └─vg0-lv0?253:0?0?3G?0?lvm  sdb?8:16?0?1G?0?disk  └─vg0-lv0?253:0?0?3G?0?lvm  sdc?8:32?0?1G?0?disk  └─vg0-lv0?253:0?0?3G?0?lvm

可以看到,所加入的分區(qū)和硬盤已經屬于vg0-lv0了。

5 創(chuàng)建文件系統(tǒng),格式化

mkfs.ext4?/dev/vg0/lv0    [root@centos7?~]#?mkfs.ext4?/dev/vg0/lv0

6 掛載使用

[root@centos7?~]#?mkdir?/mnt/lv0    [root@centos7?~]#?mount?/dev/vg0/lv0?/mnt/lv0

?

二 擴展LV

?

擴展命令格式:

lvextend?-L?100G?/dev/vg0/lv0    lvextend?-l?+100G?/dev/vg0/lv0    lvextend?-l?+100%FREE?/dev/vg0/lv0

注意 –L 為擴展到多少 ,-l 為擴展(增加)多少,+100%FREE為擴展剩余vg的100%,可根據(jù)個人情況進行選擇。

由于vg0還預留將近1G 空間,現(xiàn)在擴展一下lv0

1 先來查看原有LV

[root@centos7?~]#?vgs    VG?#PV?#LV?#SN?Attr?VSize?VFree  vg0?4?1?0?wz--n-?3.94g?960.00m

2 擴展LV

[root@centos7?~]#?lvextend?-r?-l?+100%FREE?/dev/vg0/lv0

-r為resizefs 一步搞定多方便

或者麻煩一點,一步一步來

[root@centos7?~]#?lvextend?-l?+100%FREE?/dev/vg0/lv0    Size?of?logical?volume?vg0/lv0?changed?from?3.00?GiB?(192?extents)?to?3.94?GiB?(252?extents).  Logical?volume?vg0/lv0?successfully?resized.

3 下來重定義文件系統(tǒng)大小

ext系列文件系統(tǒng)重定義:resize2fs /dev/vg0/lv0

xfs系列文件系統(tǒng)重定義:xfs_growfs /dev/vg0/lv0

[root@centos7?~]#?resize2fs?/dev/vg0/lv0    resize2fs?1.42.9?(28-Dec-2013)  Filesystem?at?/dev/vg0/lv0?is?mounted?on?/mnt/lv0;?on-line?resizing?required  old_desc_blocks?=?1,?new_desc_blocks?=?1  The?filesystem?on?/dev/vg0/lv0?is?now?1032192?blocks?long.

4 檢查文件系統(tǒng)完成性(也可不做)

[root@centos7?~]#?fsck.ext4?/dev/vg0/lv0    e2fsck?1.42.9?(28-Dec-2013)  /dev/vg0/lv0:?clean,?20/262144?files,?35918/1032192?blocks

5 確認邏輯卷大小

[root@centos7?~]#?df?-h?/dev/vg0/lv0    Filesystem?Size?Used?Avail?Use%?Mounted?on  /dev/mapper/vg0-lv0?3.9G?12M?3.6G?1%?/mnt/lv0

很明顯已經擴展成功。

6 掛載使用

[root@centos7?~]#?mount?-o?remount?/dev/vg0/lv0

?

三 縮減LV

?

1 備份數(shù)據(jù)

雖然一般不會丟失數(shù)據(jù),但是為了保險起見。還是先備份為好。

看下/mnt/lv0目錄下現(xiàn)有的數(shù)據(jù)

[root@centos7?~]#?ls?/mnt/lv0/    lost+found?myfile2?myfile4?myfile6?myfile8    myfile1?myfile3?myfile5?myfile7?myfile9    [root@centos7?~]#?mkdir?/backup    [root@centos7?~]#?cp?-a?/mnt/lv0/*?/backup/

2 卸載/dev/vg0/lv0

[root@centos7?~]#?umount?/mnt/lv0/

3 檢查文件系統(tǒng)

e2fsck -f /dev/vg0/lv0 在重新定義文件系統(tǒng)大小之前必須檢查磁盤完成性

[root@centos7?~]#?e2fsck?-f?/dev/vg0/lv0    e2fsck?1.42.9?(28-Dec-2013)  Pass?1:?Checking?inodes,?blocks,?and?sizes  Pass?2:?Checking?directory?structure  Pass?3:?Checking?directory?connectivity  Pass?4:?Checking?reference?counts  Pass?5:?Checking?group?summary?information  /dev/vg0/lv0:?20/262144?files?(0.0%?non-contiguous),?35918/1032192?blocks

4下來重定義文件系統(tǒng)大小

resize2fs /dev/vg0/lv0 2G #2G位縮減后的LV 大小。

[root@centos7?~]#?resize2fs?/dev/vg0/lv0?2G  resize2fs?1.42.9?(28-Dec-2013)  Resizing?the?filesystem?on?/dev/vg0/lv0?to?524288?(4k)?blocks.  The?filesystem?on?/dev/vg0/lv0?is?now?524288?blocks?long.

5 縮減LV

lvreduce -L 2G /dev/vg0/lv0 #縮減到2G

[root@centos7?~]#?lvreduce?-L?2G?/dev/vg0/lv0    WARNING:?Reducing?active?logical?volume?to?2.00?GiB.  THIS?MAY?DESTROY?YOUR?DATA?(filesystem?etc.)  Do?you?really?want?to?reduce?vg0/lv0??[y/n]:?y  Size?of?logical?volume?vg0/lv0?changed?from?3.94?GiB?(252?extents)?to?2.00?GiB?(128?extents).  Logical?volume?vg0/lv0?successfully?resized.

6 掛載使用

mount?/dev/vg0/lv0?/mnt/lv0    [root@centos7?~]#?mount?/dev/vg0/lv0?/mnt/lv0/

查看磁盤掛載情況

[root@centos7?~]#?df?-h?/dev/vg0/lv0    Filesystem?Size?Used?Avail?Use%?Mounted?on    /dev/mapper/vg0-lv0?2.0G?9.0M?1.8G?1%?/mnt/lv0

7 確認數(shù)據(jù)是否丟失

現(xiàn)在再來開心目錄/mnt/lv0 的內容

[root@centos7?~]#?ls?/mnt/lv0/    lost+found?myfile2?myfile4?myfile6?myfile8  myfile1?myfile3?myfile5?myfile7?myfile9

?

很完美,數(shù)據(jù)并沒有丟失!

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享