使用LVM方式扩容硬盘空间

使用LVM方式扩容硬盘空间

目录

 [显示

环境说明

图片1LVM.png

案例环境说明:该解码引擎服务器已经采用LVM的方式进行了部署,原始的解码引擎遇到/data硬盘空间不足的问题,需要通过LVM方式再次对/data扩展空间。如图所示,在我们的解码服务器上新增了一块硬盘,空间大小为5G。

[root@EZSonar ~]# fdisk -l 

显示内容如图所示,新增硬盘为/dev/sdb。

图片2LVM.png

第一步:新建一个分区

[root@EZSonar ~]# 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) (说明:主分区)

e                                                            //增加扩展分区

Partition number (1-4): 1

First cylinder (1-652, default 1)::<<ENTER

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): <<ENTER   //也可以指定大小+5G,如果直接输入回车则使用所有空间

Using default value 652

Command (m for help): p                                  //查看分区详情,可以看到新建的扩展分区

Disk /dev/sdb: 5368 MB, 5368709120 bytes

255 heads, 63 sectors/track, 652 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xa9b024b3

Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1         652     5237158+   5  Extended

Command (m for help): n

Command action

l   logical (5 or over)

p   primary partition (1-4)

l

First cylinder (1-652, default 1): <<ENTER

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): <<ENTER

Using default value 652

Command (m for help): p

Disk /dev/sdb: 5368 MB, 5368709120 bytes

255 heads, 63 sectors/track, 652 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xa9b024b3

Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1           5       40131    5  Extended

/dev/sdb5               1           5       40099+  83  Linux

Command (m for help): t             //修改分区格式,下面选的5是上面的sdb5,默认格式是Linux

Partition number (1-5): 5

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

(说明:8e为Linux LVM格式的编码)

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

Command (m for help): p                                  //查看分区情况

Disk /dev/sdb: 5368 MB, 5368709120 bytes

255 heads, 63 sectors/track, 652 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xa9b024b3

Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1           5       40131    5  Extended

/dev/sdb5               1           5       40099+  8e  Linux LVM

Command (m for help): w                           //  保存分区

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

1、 创建物理卷pv。

[root@EZSonar ~]# pvcreate /dev/sdb5         //   创建pv    

Physical volume "/dev/sdb5" successfully created

[root@EZSonar ~]# pvdisplay /dev/sdb5        //   查看pv 

-- "/dev/sdb5" is a new physical volume of "5.00 GiB"

--- NEW Physical volume ---

PV Name               /dev/sdb5

VG Name               

PV Size               5.00 GiB

Allocatable           NO

PE Size               0   

Total PE              0

Free PE               0

Allocated PE          0

PV UUID               Hjoga4-EXmd-G53T-vAvQ-kDtA-60e2-vEHzBY

2、 查看已有的VG配置详情

[root@EZSonar ~]# vgdisplay 

--- Volume group ---

  VG Name               vg_ezsonar

System ID             

Format                lvm2

Metadata Areas        1

Metadata Sequence No  4

VG Access             read/write

VG Status             resizable

MAX LV                0

Cur LV                3

Open LV               3

Max PV                0

Cur PV                1

Act PV                1

VG Size               31.80 GiB

PE Size               4.00 MiB

Total PE              8141

Alloc PE / Size       8141 / 31.80 GiB

Free  PE / Size       0 / 0   

VG UUID               JXOpXA-jkl5-Jdfp-IHeS-6MpP-8V3q-Vl3lMh

3、 增减逻辑卷

[root@EZSonar ~]# vgextend vg_ezsonar /dev/sdb5      // 扩展vg  将pv加入到vg_ezsonar 

Volume group "vg_ezsonar" successfully extended

[root@EZSonar ~]# vgdisplay                //查看VG情况

--- Volume group ---

VG Name               vg_ezsonar

System ID             

Format                lvm2

Metadata Areas        2

Metadata Sequence No  5

VG Access             read/write

VG Status             resizable

MAX LV                0

Cur LV                3

Open LV               3

Max PV                0

Cur PV                2

Act PV                2

VG Size               71.80 GiB

PE Size               4.00 MiB

Total PE              18380

Alloc PE / Size       8141 / 31.80 GiB

Free  PE / Size       1023 / 5.00 GiB                        //剩余分配空间

VG UUID               JXOpXA-jkl5-Jdfp-IHeS-6MpP-8V3q-Vl3lMh

4、 确认需要扩容的分区,红色/data分区需要扩容

[root@EZSonar ~]# df -h 

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/vg_ezsonar-LogVol02

14G  3.7G  9.2G  29% /

tmpfs                 939M     0  939M   0% /dev/shm

/dev/sda1             194M   33M  152M  18% /boot

/dev/mapper/vg_ezsonar-LogVol01

11G  2.2G  8.0G  22% /data

/dev/mapper/vg_ezsonar-LogVol00

8.0G   82M  8.0G   1% /var

5、 进行扩容

[root@EZSonar ~]# lvextend -L +5G /dev/mapper/vg_ezsonar-LogVol01      //扩展5G到lv:logVol01  

Extending logical volume LogVol01 to 15.18 GiB

Logical volume LogVol01 successfully resized

[root@EZSonar ~]#
[root@EZSonar ~]# resize2fs /dev/mapper/vg_ezsonar-LogVol01   //执行该重设大小 
[root@EZSonar ~]# mount             //查看挂载情况,原有分区采用什么文件格式 

/dev/mapper/vg_ezsonar-LogVol02 on / type ext4 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

tmpfs on /dev/shm type tmpfs (rw)

/dev/sda1 on /boot type ext4 (rw)

/dev/mapper/vg_ezsonar-LogVol01 on /data type xfs (rw)

/dev/mapper/vg_ezsonar-LogVol00 on /var type xfs (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

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

[root@EZSonar ~]# xfs_growfs /dev/mapper/vg_ezsonar-LogVol01      //xfs文件格式采用xfs_growfs 

meta-data=/dev/mapper/vg_ezsonar-LogVol01 isize=256    agcount=4, agsize=666880 blks

=                       sectsz=512   attr=2, projid32bit=0

data     =                       bsize=4096   blocks=2667520, imaxpct=25

=                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0

log      =internal               bsize=4096   blocks=2560, version=2

=                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

data blocks changed from 2667520 to 3978240

5、查看扩容结果

[root@EZSonar ~]# df –h 

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/vg_ezsonar-LogVol02

14G  3.7G  9.2G  29% /

tmpfs                 939M     0  939M   0% /dev/shm

/dev/sda1             194M   33M  152M  18% /boot

/dev/mapper/vg_ezsonar-LogVol01

                       16G  2.2G   13G  15% /data

/dev/mapper/vg_ezsonar-LogVol00

8.0G   82M  8.0G   1% /var

附录,对根分区进行扩容

首先确认VG有剩余空间可用

[root@EZSonar ~]# vgdisplay  

--- Volume group ---

VG Name               vg_ezsonar

System ID             

Format                lvm2

Metadata Areas        2

Metadata Sequence No  6

VG Access             read/write

VG Status             resizable

MAX LV                0

Cur LV                3

Open LV               3

Max PV                0

Cur PV                2

Act PV                2

VG Size               41.79 GiB

PE Size               4.00 MiB

Total PE              10699

Alloc PE / Size       9421 / 36.80 GiB

 Free  PE / Size       1278 / 4.99 GiB //有5G剩余空间可用

VG UUID               JXOpXA-jkl5-Jdfp-IHeS-6MpP-8V3q-Vl3lMh

[root@EZSonar ~]# mount             //查看挂载情况,原有分区采用什么文件格式 

/dev/mapper/vg_ezsonar-LogVol02 on / type ext4 (rw)

根分区采用ext4格式

[root@EZSonar ~]# lvextend -L +4.5G /dev/mapper/vg_ezsonar-LogVol02 /扩展4.5G到lv:logVol02  

Extending logical volume LogVol02 to 18.12 GiB

Logical volume LogVol02 successfully resized

[root@EZSonar ~]# resize2fs /dev/mapper/vg_ezsonar-LogVol02              

//ext4 文件格式采用resize2f

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/mapper/vg_ezsonar-LogVol02 is mounted on /; on-line resizing required

old desc_blocks = 1, new_desc_blocks = 3

Performing an on-line resize of /dev/mapper/vg_ezsonar-LogVol02 to 8814592 (4k) blocks.

The filesystem on /dev/mapper/vg_ezsonar-LogVol02 is now 8814592 blocks long.

[root@EZSonar ~]# df -h 

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/vg_ezsonar-LogVol02

                       18G  3.7G   14G  22% /

tmpfs                 939M     0  939M   0% /dev/shm

/dev/sda1             194M   33M  152M  18% /boot

/dev/mapper/vg_ezsonar-LogVol01

16G  2.2G   13G  15% /data

/dev/mapper/vg_ezsonar-LogVol00

8.0G   82M  8.0G   1% /var

附录:LVM技术优势说明

优点

比起正常的硬盘分区管理,LVM更富于弹性:

§ 使用卷组(VG),使众多硬盘空间看起来像一个大硬盘。

§ 使用逻辑卷(LV),可以创建跨越众多硬盘空间的分区。

§ 可以创建小的逻辑卷(LV),在空间不足时再动态调整它的大小。

§ 在调整逻辑卷(LV)大小时可以不用考虑逻辑卷在硬盘上的位置,不用担心没有可用的连续空间。It does not depend on the position of the LV within VG, there is no need to ensure surrounding available space.

§ 可以在线(online)对逻辑卷(LV)和卷组(VG)进行创建、删除、调整大小等操作。LVM上的文件系统也需要重新调整大小,某些文件系统也支持这样的在线操作。

§ 无需重新启动服务,就可以将服务中用到的逻辑卷(LV)在线(online)/动态(live)迁移至别的硬盘上。

§ 允许创建快照,可以保存文件系统的备份,同时使服务的下线时间(downtime)降低到最小。

这些优点使得LVM对服务器的管理非常有用,对于桌面系统管理的帮助则没有那么显著,你需要根据实际情况进行取舍。

posted @ 2018-07-10 13:24  飞入云端_blog  阅读(3535)  评论(0编辑  收藏  举报