LVM配置实战案例

一.物理磁盘格式化为PV物理卷

1.检查新磁盘

[root@localhost ~]# fdisk -l

磁盘 /dev/sda:53.7 GB, 53687091200 字节,104857600 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x0009f1d1

   设备 Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048     1026047      512000   83  Linux

/dev/sda2         1026048     5253119     2113536   82  Linux swap / Solaris

/dev/sda3         5253120   104857599    49802240   83  Linux

磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sdc:5368 MB, 5368709120 字节,10485760 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sdd:5368 MB, 5368709120 字节,10485760 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sde:5368 MB, 5368709120 字节,10485760 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

2.创建PV物理卷

[root@localhost ~]# pvcreate /dev/sdb /dev/sdc

  Physical volume "/dev/sdb" successfully created

  Physical volume "/dev/sdc" successfully created

3.查看PV信息

[root@localhost ~]# pvdisplay

  "/dev/sdc" is a new physical volume of "5.00 GiB"

  --- NEW Physical volume ---

  PV Name               /dev/sdc

  VG Name             

  PV Size               5.00 GiB

  Allocatable           NO

  PE Size               0 

  Total PE              0

  Free PE               0

  Allocated PE          0

  PV UUID               qOKGCz-heok-VtG9-hC2J-gvX2-wkdf-kx4FAu

  "/dev/sdb" is a new physical volume of "5.00 GiB"

  --- NEW Physical volume ---

  PV Name               /dev/sdb

  VG Name             

  PV Size               5.00 GiB

  Allocatable           NO

  PE Size               0 

  Total PE              0

  Free PE               0

  Allocated PE          0

  PV UUID               Vttquh-1Zwq-DPaI-ep7k-3jGf-osTa-gqEYDs

[root@localhost ~]# pvs

  PV         VG   Fmt  Attr PSize PFree

  /dev/sdb        lvm2 a--  5.00g 5.00g

  /dev/sdc        lvm2 a--  5.00g 5.00g

二.创建卷组,并将PV加入卷组中。

1.创建卷组

[root@localhost ~]# vgcreate vg00 /dev/sdc /dev/sdb     #vg00为卷组名称

  Volume group "vg00" successfully created

2.查看VG信息

[root@localhost ~]# vgdisplay

  --- Volume group ---

  VG Name               vg00

  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               9.99 GiB

  PE Size               4.00 MiB

  Total PE              2558

  Alloc PE / Size       0 / 0 

  Free  PE / Size       2558 / 9.99 GiB

  VG UUID               jifW9X-rc9x-L6i9-b0B3-yOzI-NgCx-jhLYAf

[root@localhost ~]# vgs

  VG   #PV #LV #SN Attr   VSize VFree

  vg00   2   0   0 wz--n- 9.99g 9.99g

三.创建逻辑卷

1.创建LV

[root@localhost ~]# lvcreate -n lv00 -L 2G vg00     #-n为逻辑卷指定名称、 lv00为逻辑卷名称、-L指定磁盘大小、vg00为卷组名称

  Logical volume "lv00" created

2.查看LV信息

[root@localhost ~]# lvdisplay

  --- Logical volume ---

  LV Path                /dev/vg00/lv00

  LV Name                lv00

  VG Name                vg00

  LV UUID                NPc3B5-wtbh-Zv1J-kUYL-Prpz-KHZi-QaefPo

  LV Write Access        read/write

  LV Creation host, time localhost.localdomain, 2016-05-31 10:31:55 +0800

  LV Status              available

  # open                 0

  LV Size                2.00 GiB

  Current LE             512

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     8192

  Block device           253:0

[root@localhost ~]# lvs

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

  lv00 vg00 -wi-a----- 2.00g   

3.格式化逻辑卷

[root@localhost ~]# mke2fs /dev/vg00/lv00

mke2fs 1.42.9 (28-Dec-2013)

文件系统标签=

OS type: Linux

块大小=4096 (log=2)

分块大小=4096 (log=2)

Stride=0 blocks, Stripe blocks

131072 inodes, 524288 blocks

26214 blocks (5.00%) reserved for the super user

第一个数据块=0

Maximum filesystem blocks=536870912

16 block groups

32768 blocks per group, 32768 fragments per group

8192 inodes per group

Superblock backups stored on blocks:

        32768, 98304, 163840, 229376, 294912

Allocating group tables: 完成                          

正在写入inode表: 完成                          

Writing superblocks and filesystem accounting information: 完成

4.挂载逻辑卷

[root@localhost ~]# mount /dev/vg00/lv00 /mnt/

[root@localhost ~]# mount

proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)

devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=926912k,nr_inodes=231728,mode=755)

securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)

tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)

devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)

tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)

tmpfs on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,seclabel,mode=755)

cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)

pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)

cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)

cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)

cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)

cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)

cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)

cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)

cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)

cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)

cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)

configfs on /sys/kernel/config type configfs (rw,relatime)

/dev/sda3 on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)

systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=32,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)

hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)

debugfs on /sys/kernel/debug type debugfs (rw,relatime)

mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)

sunrpc on /proc/fs/nfsd type nfsd (rw,relatime)

/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

/dev/mapper/vg00-lv00 on /mnt type ext2 (rw,relatime,seclabel)

5.查看挂载情况

[root@localhost mnt]# df -hT

文件系统              类型      容量  已用  可用 已用% 挂载点

/dev/sda3             xfs        48G  3.7G   44G    8% /

devtmpfs              devtmpfs  906M     0  906M    0% /dev

tmpfs                 tmpfs     914M   80K  914M    1% /dev/shm

tmpfs                 tmpfs     914M  8.9M  905M    1% /run

tmpfs                 tmpfs     914M     0  914M    0% /sys/fs/cgroup

/dev/sda1             xfs       497M  116M  382M   24% /boot

/dev/mapper/vg00-lv00 ext2      2.0G  3.0M  1.9G    1% /mnt

四.删除LVM分区

1.卸载正使用的逻辑卷

[root@localhost ~]#  umount /mnt/

2.查看是否卸载

[root@localhost ~]# df -hT

文件系统       类型      容量  已用  可用 已用% 挂载点

/dev/sda3      xfs        48G  3.7G   44G    8% /

devtmpfs       devtmpfs  906M     0  906M    0% /dev

tmpfs          tmpfs     914M   80K  914M    1% /dev/shm

tmpfs          tmpfs     914M  8.9M  905M    1% /run

tmpfs          tmpfs     914M     0  914M    0% /sys/fs/cgroup

/dev/sda1      xfs       497M  116M  382M   24% /boot

3.删除逻辑卷

[root@localhost ~]# lvremove /dev/vg00/lv00

Do you really want to remove active logical volume lv00? [y/n]: y

  Logical volume "lv00" successfully removed

4.删除卷组

[root@localhost ~]# vgremove vg00

  Volume group "vg00" successfully removed

5.删除物理卷

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

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

6.查看结果

[root@localhost ~]# pvs

  PV         VG   Fmt  Attr PSize PFree

  /dev/sdc        lvm2 a--  5.00g 5.00g

[root@localhost ~]# lvs

  No volume groups found

[root@localhost ~]# vgs

  No volume groups found

五.扩展逻辑卷

1.逻辑卷挂在

[root@localhost ~]# mount /dev/vg00/lv00 /mnt

2.查看VG是否有空闲的空间

[root@localhost ~]# vgdisplay

  --- Volume group ---

  VG Name               vg00

  System ID           

  Format                lvm2

  Metadata Areas        2

  Metadata Sequence No  2

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                1

  Open LV               1

  Max PV                0

  Cur PV                2

  Act PV                2

  VG Size               9.99 GiB

  PE Size               4.00 MiB

  Total PE              2558

  Alloc PE / Size       512 / 2.00 GiB

Free  PE / Size       2046 / 7.99 GiB

  VG UUID               ccucSA-I3w9-Tt4N-Dqxi-LnpR-hOnG-hm4cdz

3.扩展逻辑卷

[root@localhost ~]# lvextend -L +1G /dev/vg00/lv00          #+1G表示原有 的空间再增加1G

  Extending logical volume lv00 to 3.00 GiB

  Logical volume lv00 successfully resized

4.查看结果

扩展前:     [root@localhost ~]# lvs

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

                    lv00 vg00 -wi-a----- 2.00g                               

扩展后:     [root@localhost ~]# lvs

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

                    lv00 vg00 -wi-ao---- 3.00g   

5.查看挂在情况

[root@localhost ~]# df -hT

文件系统              类型      容量  已用  可用 已用% 挂载点

/dev/sda3             xfs        48G  3.7G   44G    8% /

devtmpfs              devtmpfs  906M     0  906M    0% /dev

tmpfs                 tmpfs     914M   80K  914M    1% /dev/shm

tmpfs                 tmpfs     914M  8.9M  905M    1% /run

tmpfs                 tmpfs     914M     0  914M    0% /sys/fs/cgroup

/dev/sda1             xfs       497M  116M  382M   24% /boot

/dev/mapper/vg00-lv00 ext2      2.0G  3.0M  1.9G    1% /mnt          #没有变化?

6.更新文件系统

[root@localhost ~]# resize2fs /dev/vg00/lv00

resize2fs 1.42.9 (28-Dec-2013)

Filesystem at /dev/vg00/lv00 is mounted on /mnt; on-line resizing required

old_desc_blocks = 1, new_desc_blocks = 1

The filesystem on /dev/vg00/lv00 is now 786432 blocks long.

7.再查看挂在情况

[root@localhost ~]# df -hT

文件系统              类型      容量  已用  可用 已用% 挂载点

/dev/sda3             xfs        48G  3.7G   44G    8% /

devtmpfs              devtmpfs  906M     0  906M    0% /dev

tmpfs                 tmpfs     914M   80K  914M    1% /dev/shm

tmpfs                 tmpfs     914M  8.9M  905M    1% /run

tmpfs                 tmpfs     914M     0  914M    0% /sys/fs/cgroup

/dev/sda1             xfs       497M  116M  382M   24% /boot

/dev/mapper/vg00-lv00 ext2      3.0G  3.0M  2.8G    1% /mnt          #已扩展成功

六.扩展卷祖

1.添加到VG中的硬盘格式化为PV

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

  Physical volume "/dev/sdd" successfully created

2.查看情况

[root@localhost ~]# pvs

  PV         VG   Fmt  Attr PSize PFree

  /dev/sdb   vg00 lvm2 a--  5.00g 2.00g

  /dev/sdc   vg00 lvm2 a--  5.00g 5.00g

  /dev/sdd        lvm2 a--  5.00g 5.00g                         #/dev/sdd磁盘还未加入到卷组中

3.将新的PV添加到指定的VG中

[root@localhost ~]# vgextend vg00 /dev/sdd

  Volume group "vg00" successfully extended

4.查看VG的信息

[root@localhost ~]# vgs

  VG   #PV #LV #SN Attr   VSize  VFree

  vg00   3   1   0 wz--n- 14.99g 11.99g

[root@localhost ~]# vgdisplay

  --- Volume group ---

  VG Name               vg00

  System ID           

  Format                lvm2

  Metadata Areas        3

  Metadata Sequence No  4

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                1

  Open LV               1

  Max PV                0

  Cur PV                3

  Act PV                3

  VG Size               14.99 GiB

  PE Size               4.00 MiB

  Total PE              3837

  Alloc PE / Size       768 / 3.00 GiB

Free  PE / Size       3069 / 11.99 GiB

  VG UUID               ccucSA-I3w9-Tt4N-Dqxi-LnpR-hOnG-hm4cdz

七.缩小逻辑卷

1.先卸载已经挂载的逻辑卷

[root@localhost ~]# umount /mnt/

2.查看当前逻辑卷空间的大小

[root@localhost ~]# lvs

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

  lv00 vg00 -wi-a----- 3.00g                      

3.将逻辑卷文件系统缩小到1G

[root@localhost ~]# e2fsck -f /dev/vg00/lv00                                                                   #先使用e2fsck检查文件系统

e2fsck 1.42.9 (28-Dec-2013)

第一步: 检查inode,块,和大小

第二步: 检查目录结构

第3步: 检查目录连接性

Pass 4: Checking reference counts

第5步: 检查簇概要信息

/dev/vg00/lv00: 11/196608 files (0.0% non-contiguous), 13116/786432 blocks

[root@localhost ~]# resize2fs /dev/vg00/lv00 1G                                                          #再使用resize2fs缩小逻辑卷的文件系统

resize2fs 1.42.9 (28-Dec-2013)

Resizing the filesystem on /dev/vg00/lv00 to 262144 (4k) blocks.

The filesystem on /dev/vg00/lv00 is now 262144 blocks long.

4.缩小LV

[root@localhost ~]# lvreduce -L -2G /dev/vg00/lv00                         #上面文件系统缩小到1G,而lV实际有3G,所以这里减少2G空间就等于缩小到1G空间了。

  WARNING: Reducing active logical volume to 1.00 GiB

  THIS MAY DESTROY YOUR DATA (filesystem etc.)

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

  Reducing logical volume lv00 to 1.00 GiB

  Logical volume lv00 successfully resized

5.查看结果

[root@localhost ~]# lvs

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

  lv00 vg00 -wi-a----- 1.00g 

6.重新挂载缩小后的逻辑卷

[root@localhost ~]# mount /dev/vg00/lv00 /mnt

[root@localhost ~]# df -hT

文件系统              类型      容量  已用  可用 已用% 挂载点

/dev/sda3             xfs        48G  3.7G   44G    8% /

devtmpfs              devtmpfs  906M     0  906M    0% /dev

tmpfs                 tmpfs     914M   80K  914M    1% /dev/shm

tmpfs                 tmpfs     914M  8.9M  905M    1% /run

tmpfs                 tmpfs     914M     0  914M    0% /sys/fs/cgroup

/dev/sda1             xfs       497M  116M  382M   24% /boot

/dev/mapper/vg00-lv00 ext2     1008M  2.6M  942M    1% /mnt

八.缩小卷组

1.卸载逻辑卷

[root@localhost ~]# umount /mnt/

[root@localhost ~]# df -hT

文件系统       类型      容量  已用  可用 已用% 挂载点

/dev/sda3      xfs        48G  3.7G   44G    8% /

devtmpfs       devtmpfs  906M     0  906M    0% /dev

tmpfs          tmpfs     914M   80K  914M    1% /dev/shm

tmpfs          tmpfs     914M  8.9M  905M    1% /run

tmpfs          tmpfs     914M     0  914M    0% /sys/fs/cgroup

/dev/sda1      xfs       497M  116M  382M   24% /boot

2.查看卷组中的PV数量

[root@localhost ~]# pvs

  PV         VG   Fmt  Attr PSize PFree

  /dev/sdb   vg00 lvm2 a--  5.00g 4.00g

  /dev/sdc   vg00 lvm2 a--  5.00g 5.00g

  /dev/sdd   vg00 lvm2 a--  5.00g 5.00g

注意:如果PV正在使用中,那么PV就移除不了。

3.移除PV

[root@localhost ~]# vgreduce vg00 /dev/sdd

  Removed "/dev/sdd" from volume group "vg00"

4.查看当前卷组信息

[root@localhost ~]# vgdisplay

  --- Volume group ---

  VG Name               vg00

  System ID           

  Format                lvm2

  Metadata Areas        2

  Metadata Sequence No  6

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                1

  Open LV               0

  Max PV                0

Cur PV                2

  Act PV                2

VG Size               9.99 GiB

  PE Size               4.00 MiB

  Total PE              2558

  Alloc PE / Size       256 / 1.00 GiB

  Free  PE / Size       2302 / 8.99 GiB

  VG UUID               ccucSA-I3w9-Tt4N-Dqxi-LnpR-hOnG-hm4cdz

[root@localhost ~]# pvs

  PV         VG   Fmt  Attr PSize PFree

  /dev/sdb   vg00 lvm2 a--  5.00g 4.00g

  /dev/sdc   vg00 lvm2 a--  5.00g 5.00g

/dev/sdd        lvm2 a--  5.00g 5.00g

5.删除PV

[root@localhost ~]# pvremove /dev/sdd

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

6.查看结果

[root@localhost ~]# pvs

  PV         VG   Fmt  Attr PSize PFree

  /dev/sdb   vg00 lvm2 a--  5.00g 4.00g

  /dev/sdc   vg00 lvm2 a--  5.00g 5.00g