LVM邏輯卷的建立、擴展、縮減和概括


邏輯卷管理器LVM node


LVM的優點:一、彈性存儲 二、可使用快照   app

LVM: 將幾個物理分區經過軟件組合在一塊兒,看起來像是獨立的大硬盤,而要用這塊大硬盤,就要將它分紅可使用的分區,而後格式化,掛載等ide

PV物理卷:將物理磁盤或物理分區初始化成LVM能用的物理卷,分區中的類型是8e:Linux LVM測試

VG邏輯卷組:將一個或者多個PV組合成一個大的磁盤,將其稱之爲組
ui

LV邏輯卷:從VG中分割出來的分區,稱爲LV,LV被用來格式化後,進行掛載,設備代爲:  /dev/vgname/lvnamespa

wKiom1VTAFqzHD8rAAGZUMYZl1A945.jpg

相關命令整理操作系統



建立  刪除  查看 詳細查看  移動  擴展   減小
 PV pvcreate pvremove pvs pvdisplay pvmove

 VG vgcreate vgremove vgs vgdisplay vgmove vgextend vgreduce
 LV lvcreate lvremove lvs lvdisplay lvmove lvextend lvreduce








注:舉例:若是一個PV下有兩個物理分區sda6和sda7,現分區空間過大一個sda6已經夠用想把sda7拆下,3d

   

如下爲建立一個LV的具體操做orm


首先建立分區,sda6 sda7 這裏分區的文件系統選擇 8e  Linux LVM
blog

  [root@bird 桌面]# pvcreate /dev/sda6 /dev/sda7

WARNING: swap signature detected on /dev/sda6. Wipe it? [y/n]: y

  Wiping swap signature on /dev/sda6.

  Physical volume "/dev/sda6" successfully created

  Physical volume "/dev/sda7" successfully created

[root@bird 桌面]# pvs   顯示建立的pv

  PV         VG   Fmt  Attr PSize PFree

  /dev/sda6       lvm2 ---  2.00g 2.00g

  /dev/sda7       lvm2 ---  1.01g 1.01g

[root@bird 桌面]# pvdisplay  顯示詳細的pv信息

  "/dev/sda6" is a new physical volume of "2.00 GiB"

  --- NEW Physical volume ---

  PV Name               /dev/sda6

  VG Name               

  PV Size               2.00 GiB

  Allocatable           NO

  PE Size               0   

  Total PE              0

  Free PE               0

  Allocated PE          0

  PV UUID               itkIEM-poEM-FK3M-Ycoj-Fco1-S11Q-MXnlby

   

  "/dev/sda7" is a new physical volume of "1.01 GiB"

  --- NEW Physical volume ---

  PV Name               /dev/sda7

  VG Name               

  PV Size               1.01 GiB

  Allocatable           NO

  PE Size               0   

  Total PE              0

  Free PE               0

  Allocated PE          0

  PV UUID               s9TdIp-v3hg-zYn3-BSJW-XDH2-wKXK-gXWJbW

[root@bird 桌面]# vgcreate zydata /dev/sda6 /dev/sda7   建立VG 

  Volume group "zydata" successfully created

[root@bird 桌面]# vgs  查看VG

  VG     #PV #LV #SN Attr   VSize VFree

  zydata   2   0   0 wz--n- 3.01g 3.01g

[root@bird 桌面]# vgdisplay  詳細顯示vg的信息

  --- Volume group ---

  VG Name               zydata

  System ID             

  Format                lvm2

  Metadata Areas        2

  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                2

  Act PV                2

  VG Size               3.01 GiB

  PE Size               4.00 MiB

  Total PE              770

  Alloc PE / Size       0 / 0   

  Free  PE / Size       770 / 3.01 GiB

  VG UUID               iEZS4P-4jLo-dS4V-WwSJ-1lLo-73yd-i88tlv

   

[root@bird 桌面]# vgremove zydata     直接移除vg zydata

  Volume group "zydata" successfully removed

[root@bird 桌面]# vgs

[root@bird 桌面]# vgcreate -s 8M zydata /dev/sda6  建立PE大小爲8M的 默認爲4M 這裏僅指定了sda6

  Volume group "zydata" successfully created

[root@bird 桌面]# vgdisplay 

  --- Volume group ---

  VG Name               zydata

  System ID             

  Format                lvm2

  Metadata Areas        1

  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                1

  Act PV                1

  VG Size               2.00 GiB

  PE Size               8.00 MiB

  Total PE              256

  Alloc PE / Size       0 / 0   

  Free  PE / Size       256 / 2.00 GiB

  VG UUID               mqn1Hj-pGoD-WyZS-8kgq-unEd-R3dj-7pFLa1

   擴展邏輯卷:

[root@bird 桌面]# vgextend zydata /dev/sda7  擴展一個sda7進去

  Volume group "zydata" successfully extended

[root@bird 桌面]# vgs

  VG     #PV #LV #SN Attr   VSize VFree

  zydata   2   0   0 wz--n- 3.01g 3.01g

[root@bird 桌面]# vgdisplay 

  --- Volume group ---

  VG Name               zydata

  System ID             

  Format                lvm2

  Metadata Areas        2

  Metadata Sequence No  2

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                0

  Open LV               0

  Max PV                0

  Cur PV                2

  Act PV                2

  VG Size               3.01 GiB  加sda7以後大小變爲3G  (sda6爲2G 7爲1G

  PE Size               8.00 MiB  以前定義過,則自動將新擴展進來的sda7的PE設置爲8M.

  Total PE              385

  Alloc PE / Size       0 / 0   

  Free  PE / Size       385 / 3.01 GiB

  VG UUID               mqn1Hj-pGoD-WyZS-8kgq-unEd-R3dj-7pFLa1

# pvmove /dev/sda7  先用pvmove將sda7中的數據複製出來,便可以將7中數據移到其餘的分區中去),  

[root@bird 桌面]# vgreduce zydata /dev/sda7   用vgreduce從zydata中將sda7除去

  Removed "/dev/sda7" from volume group "zydata"

[root@bird 桌面]# vgs

  VG     #PV #LV #SN Attr   VSize VFree

  zydata   1   0   0 wz--n- 2.00g 2.00g

[root@bird 桌面]# pvs

  PV         VG     Fmt  Attr PSize PFree

  /dev/sda6  zydata lvm2 a--  2.00g 2.00g

  /dev/sda7         lvm2 ---  1.01g 1.01g  sda7不屬於任何VG 

[root@bird 桌面]# pvremove /dev/sda7  最後用pvremove 移除

 Labels on physical volume "/dev/sda7" successfully wiped

[root@bird 桌面]# pvs

  PV         VG     Fmt  Attr PSize PFree

  /dev/sda6  zydata lvm2 a--  2.00g 2.00g

必須先將sda7數據move出來再用vgreduce除去sda7,最後才能pvremove來移除sda7,vgremove是用來移除vg的,vgreduce和vgextend是用來減小和增長分區的如

vgextend zydata /dev/sda7

vgreduce zydata /dev/sda7

[root@bird 桌面]# lvcreate -n testlv -L 1G zydata  建立大小爲1G的lv

  Logical volume "testlv" created. 

[root@bird 桌面]# lvs

  LV     VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  testlv zydata -wi-a----- 1.00g                                                    

[root@bird 桌面]# lvdisplay 

  --- Logical volume ---

  LV Path                /dev/zydata/testlv   路徑

  LV Name                testlv

  VG Name                zydata

  LV UUID                MMkFjJ-qlMN-ebQ1-eoBm-nxfz-nPtF-By8WU3

  LV Write Access        read/write

  LV Creation host, time bird, 2017-04-19 15:03:47 +0800

  LV Status              available

  # open                 0

  LV Size                1.00 GiB

  Current LE             128

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     256

  Block device           253:0


[root@bird 桌面]# mke2fs -j /dev/zydata/testlv   格式化lv

mke2fs 1.41.12 (17-May-2010)

文件系統標籤=

操做系統:Linux

塊大小=4096 (log=2)

分塊大小=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

65536 inodes, 262144 blocks

13107 blocks (5.00%) reserved for the super user

第一個數據塊=0

Maximum filesystem blocks=268435456

8 block groups

32768 blocks per group, 32768 fragments per group

8192 inodes per group

Superblock backups stored on blocks: 

32768, 98304, 163840, 229376


正在寫入inode表: 完成                            

Creating journal (8192 blocks): 完成

Writing superblocks and filesystem accounting information: 完成


This filesystem will be automatically checked every 28 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

[root@bird 桌面]# mkdir /mnt/test3  

[root@bird 桌面]# mount /dev/zydata/testlv  /mnt/test3/  掛載lv

[root@bird 桌面]# ls /mnt/test3/

lost+found   掛載成功

[root@bird 桌面]# cp /etc/fstab /mnt/test3/   測試

[root@bird 桌面]# cd /mnt/test3/

[root@bird test3]# cat fstab 


#

# /etc/fstab

# Created by anaconda on Mon Feb 13 23:50:17 2017

#

# Accessible filesystems, by reference, are maintained under '/dev/disk'

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

UUID=43fa2114-8933-43bc-b4dc-d1d4811e7a64 /                       ext4    defaults        1 1

UUID=1ee52a34-d3a4-47f8-9863-f90aeeede43e /boot                   ext4    defaults        1 2

UUID=ea629952-0afa-45e9-bbb5-eb1dafa4cbc9 /home                   ext4    defaults        1 2

UUID=2aca97a2-9b18-41cb-9838-7a05b6fbf560 /usr                    ext4    defaults        1 2

UUID=7c374472-feea-47c6-a711-41a1d90b1bae swap                    swap    defaults        0 0

tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

/dev/sda7               /mnt                    ext3    defaults        0 0

[root@bird ~]# lvextend -L +100M  /dev/zydata/testlv  擴展lv,增長100M

  Rounding size to boundary between physical extents: 104.00 MiB

  Size of logical volume zydata/testlv changed from 1.00 GiB (128 extents) to 1.10 GiB (141 extents).

  Logical volume testlv successfully resized

[root@bird ~]# lvs

  LV     VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  testlv zydata -wi-ao---- 1.10g       

[root@bird ~]# resize2fs -p /dev/zydata/testlv   這是邏輯邊界的擴展必須進行,不然df -h查看的話lv的擴展沒有變化

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/zydata/testlv is mounted on /mnt/test3; on-line resizing required

old desc_blocks = 1, new_desc_blocks = 1

Performing an on-line resize of /dev/zydata/testlv to 288768 (4k) blocks.

The filesystem on /dev/zydata/testlv is now 288768 blocks long.

[root@bird ~]# df -lh

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda2             7.6G  411M  6.8G   6% /

tmpfs                 504M  228K  503M   1% /dev/shm

/dev/sda1             1.9G   35M  1.8G   2% /boot

/dev/sda3             4.7G  336M  4.2G   8% /home

/dev/sda5             3.8G  3.2G  438M  89% /usr

/dev/sr0              3.6G  3.6G     0 100% /media/CentOS_6.7_Final

/dev/mapper/zydata-testlv

                       1.1G   34M 1021M   4% /mnt/test3  這裏增長的100M就顯示了

 注意:擴展的話先lvextend 物理邊界在resize2fs邏輯邊界,能夠在線擴展:

                 一、lvextend -L +100M  /dev/zydata/testlv

                 二、/resize2fs -p /dev/zydata/testlv 

                    

       縮減的話:一、不能在線縮減

                 二、必須先卸載,df -h肯定已用的空間大於你要縮小的空間

                 三、e2fsck -f /dev/zydata/testlv  強行檢查lv

                 四、resize2fs /dev/zydata/testlv —100M

                 五、lvreduce -L -100M /dev/zydata/testlv 

(用法 resize2fs /dev/zydata/testlv —100M(不帶加減號表明縮減至多少G)邏輯邊界後,在用lvextend來縮減物理邊界lvreduce -L -100M /dev/zydata/testlv 

  順便補充一個快照卷的過程,

  lvcreate -L 50M -s -p r  -n  kauizhao /dev/zydata/testlv

              大小 -s指定建立快照 -p r指定只讀 -n指定快照名 後面是lv的路徑

 至此一個完整的LVM的建立,擴展,縮減,以及要注意的地方都已經完成!OVER``````````

相關文章
相關標籤/搜索