LVM應用示例

       LVM全稱爲邏輯卷管理,是目前紅帽主推的一種磁盤管理機制,普通的磁盤分區管理方式在邏輯分區劃分好之後就無法再改變其大小,而LVM則可以解決這個問題,它主要通過將塊設備(磁盤分區)設置爲PV(物理卷),再將一個或多個PV組建成一個VG(邏輯卷組),再從VG中創建LV(邏輯卷),而VG中的PV數量可以增減,同樣LV的大小也可以根據需求來增減。

在centos6中的示例:

1、創建一個大小爲10G的邏輯卷並掛載使用。

(1)創建一個大小爲20G的磁盤分區,並將此磁盤分區類型ID設置爲8e(Linux LVM)。

[root@localhost ~]# fdisk /dev/sdb


WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

         switch off the mode (command 'c') and change display units to

         sectors (command 'u').


Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 1  

First cylinder (1-6527, default 1): 

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-6527, default 6527): +20G


Command (m for help): t

Selected partition 1

Hex code (type L to list codes): 8e

Changed system type of partition 1 to 8e (Linux LVM)


Command (m for help): w

The partition table has been altered!


Calling ioctl() to re-read partition table.

Syncing disks.

[root@localhost ~]# partx -a /dev/sdb

BLKPG: Device or resource busy

error adding partition 1

(2)將/dev/sdb1設置爲PV。

[root@localhost ~]# pvcreate /dev/sdb1

  Physical volume "/dev/sdb1" successfully created

(3)創建一個VG,並使/dev/sdb1成爲其成員。

[root@localhost ~]# vgcreate myvg /dev/sdb1

  Volume group "myvg" successfully created

*可使用-s 選項指定PE大小,創建後如果再要修改則只能重新創建VG;如果LVM版本號爲1,則默認4M的PE將導致LV最大隻能到256G,LVM2則沒有這個限制。

(4)在myvg中創建一個大小爲10G的LV。

[root@localhost ~]# lvcreate -L 10G -n lvtest myvg

  Logical volume "lvtest" created.

(5)格式化並掛載此LV。

[root@localhost ~]# mkfs.ext4 /dev/myvg/lvtest 

mke2fs 1.41.12 (17-May-2010)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

655360 inodes, 2621440 blocks

131072 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=2684354560

80 block groups

32768 blocks per group, 32768 fragments per group

8192 inodes per group

Superblock backups stored on blocks: 

        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632


Writing inode tables: done                            

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done


This filesystem will be automatically checked every 26 mounts or

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

[root@localhost ~]# mount /dev/myvg/lvtest /test

2、擴展LV的大小至30G。

(1)擴展VG的大小

[root@localhost ~]# vgextend myvg /dev/sdb2

  Volume group "myvg" successfully extended

(2)擴展LV的大小

[root@localhost ~]# lvextend -L +20 /dev/myvg/lvtest 

  Size of logical volume myvg/lvtest changed from 10.00 GiB (2560 extents) to 10.02 GiB (2565 extents).

  Logical volume lvtest successfully resized

(3)擴展此LV文件系統的大小

[root@localhost ~]# resize2fs /dev/myvg/lvtest

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/myvg/lvtest is mounted on /test; on-line resizing required

old desc_blocks = 1, new_desc_blocks = 1

Performing an on-line resize of /dev/myvg/lvtest to 2626560 (4k) blocks.

The filesystem on /dev/myvg/lvtest is now 2626560 blocks long.

3、縮減此LV的大小至5G

(1)卸載此LV

[root@localhost ~]# umount /dev/myvg/lvtest

(2)強制檢測此LV

[root@localhost ~]# fsck.ext4 -f /dev/myvg/lvtest

e2fsck 1.41.12 (17-May-2010)

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/myvg/lvtest: 11/663552 files (0.0% non-contiguous), 80177/2626560 blocks

(3)縮減此LV中文件系統大小至5G

[root@localhost ~]# resize2fs /dev/myvg/lvtest 5G

resize2fs 1.41.12 (17-May-2010)

Resizing the filesystem on /dev/myvg/lvtest to 1310720 (4k) blocks.

The filesystem on /dev/myvg/lvtest is now 1310720 blocks long.

(4)縮減此LV的大小至5G

[root@localhost ~]# lvreduce -L 5G /dev/myvg/lvtest 

  WARNING: Reducing active logical volume to 5.00 GiB

  THIS MAY DESTROY YOUR DATA (filesystem etc.)

Do you really want to reduce lvtest? [y/n]: y

  Size of logical volume myvg/lvtest changed from 10.02 GiB (2565 extents) to 5.00 GiB (1280 extents).

  Logical volume lvtest successfully resized

(5)重新掛載此LV

[root@localhost ~]# mount /dev/myvg/lvtest /test

(6)查看此LV的目前的大小

[root@localhost ~]# lvdisplay /dev/myvg/lvtest 

  --- Logical volume ---

  LV Path                /dev/myvg/lvtest

  LV Name                lvtest

  VG Name                myvg

  LV UUID                ovpqxD-lLjJ-lNAk-Ga5a-AV2y-gaVS-h8PpyQ

  LV Write Access        read/write

  LV Creation host, time localhost.localdomain, 2019-01-08 10:26:40 +0800

  LV Status              available

  # open                 1

  LV Size                5.00 GiB

  Current LE             1280

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     256

  Block device           253:3

*縮減LV後的空間大小不能小於文件系統已使用的空間大小

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章