LVM逻辑卷容量的增减


partprobe  不重启系统的状况下,让系统内核重读硬盘分区
或者
partprobe /dev/sdX   不重启系统的状况下,让系统内核重读sdx该硬盘分区
linux


Linux系统下增长LV(逻辑卷)容量app

Linux系统下,咱们能够在安装系统时使用LVM来管理咱们的文件系统,可是当咱们的LV满了如何增长其容量呢?ide

方法/步骤ui

1.    查看文件系统现有lv_test容量,总计4.9G,已使用3%spa

命令 :df -h3d

wKiom1nmulmSwdO1AADjZQf4Lqk859.jpg

2.    查看现有磁盘状况,咱们发现磁盘sdb共有1305个柱面,每一个柱面大小是8225280 bytes orm

(大约8M)。有一个磁盘分区sdb1,只使用了650柱面,还剩655柱面没有使用。xml

命令 :fdisk -lblog

wKioL1nmt73Qfh1oAAJ3auYajP8723.jpg

3.    在磁盘sdb上建立新分区rem

命令:fdisk /dev/sdb

输入 p 打印现有分区状况(尚未分区)

输入 n 新建分区

输入 p 为创建主分区(此时的p是在n后的,不是打印)

输入 2 为创建第二个主分区

分区起始位置能够直接回车,默认是651

分区最后位置能够直接回车,默认为 1305 或者直接输入须要设置的容量大小例如+4G

输入 p 打印分区状况,发现已创建一个分区 /dev/sdb2,可是 此分区为 Linux 格式

wKioL1nmuBnTu239AAQLntA0mn4436.jpg

4.    因为分区 /dev/sdb2 为 Linux 格式,咱们须要改变系统标识符为Linux LVM格式:

输入 t 改变分区的属性

输入 2 表示改变第二个分区的属性

输入 8e 改变分区1为 Linux LVM格式

输入 p 打印分区状况,发现创建的分区 /dev/sdb1 为 Linux LVM 格式

输入 w 保存分区

wKiom1nmuwWSL0yiAAPpcSVYYtY063.jpg

5.    使kernel从新读取分区表

命令:partprobe

可是出现了一些关于sdb的警告,重启系统

命令:reboot

wKioL1nmuI7D2JrGAAGpBHsQNuo094.jpg

6.    再次使用 fdisk -l 查看系统内磁盘状况发现 /dev/sdb上已有一个 Linux LVM 格式的 /dev/sdb2分区

wKioL1nmuKiCZaJsAAKLWSTzbww203.jpg

7.    建立PV:

建立PV:pvcreate /dev/sdb2

查看系统PV:pvscan或者pvs

这样咱们就建立了一个 5.02G的PV

wKioL1nmuPngDHiWAAEfWUGhK-c662.jpg

增长 VG容量:

增长VG:vgextend vg_test /dev/sdb2   vg_test为现有的vg名,/dev/sdb2表示须要加入到

vg的设备。

查看VG详细信息:vgdisplay 

wKiom1nmvN7QaYQUAAGKflzAhtk622.jpg

增长LV容量:

增长LV:lvresize -l +1284  /dev/vg_test/lv_test(1284是VG中Free PE的个数)为lv_test增长

1284大小,或者直接+2G带上单位。

查看LV:lvdisplay

这样咱们就将 lv_test 的容量增长至9.99G

wKioL1nmuuGj-SOtAAHJuoTKUgI412.jpg

增长文件系统的容量:

命令:resize2fs /dev/vg_test/lv_test 

文件系统lv_test已经由 4.9G 增长至 9.9G

wKiom1nmvnDyASCcAAOf9cf9vrQ303.jpg

实例文件系统lv_test扩容20G的步骤以下:

一、新建lvm硬盘分区此处省略,若是不会划分lvm分区请参考http://woyaoxuelinux.blog.51cto.com/5663865/1870134  前期LVM讲解

假设已经创建好了一个为20G的分区/dev/sda2

二、增长vg逻辑卷组的容量

[root@k ~]# vgextend myvg /dev/sda2


[root@k ~]# lvextend  -L +20G /dev/myvg/mydata   


[root@k ~]# resize2fs /dev/myvg/mydata 


[root@fox mydata]# cd 

[root@fox ~]# vgextend myvg /dev/sda2 

Volume group "myvg" successfully extended

[root@fox ~]# vgs

VG   #PV #LV #SN Attr   VSize  VFree 

myvg  2   1   0 wz--n- 40.02g 20.02g

[root@fox ~]# lvs

LV   VG   Attr   LSize  Origin Snap% Move Log Copy%  Convert

mydata  myvg   -wi-ao 20.00g

[root@fox ~]# lvextend  -L +20G/dev/myvg/mydata 

  Extending logical volume mydata to 40.00 GiB

  Logical volume mydata successfully resized

[root@fox ~]# lvs

LV   VG   Attr   LSize  Origin Snap% Move Log Copy%  Convert

mydata myvg   -wi-ao 40.00g 

[root@fox ~]# resize2fs/dev/myvg/mydata 

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/myvg/mydata is mounted on /mydata; on-lineresizing required

old desc_blocks = 2, new_desc_blocks = 3

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

The filesystem on /dev/myvg/mydata is now 10485760 blocks long.

[root@fox ~]# ls /mydata/

1.txt  lost+found

[root@fox ~]# cat /mydata/1.txt 

dkjfakljfadfjaldfjajdfjald

[root@fox ~]# lvs

LV   VG  Attr   LSize  Origin Snap% Move Log Copy%  Convert

mydata  myvg   -wi-ao 40.00g 

[root@fox ~]# cd /mydata/

[root@fox mydata]# df -lah

Filesystem     Size  Used Avail Use% Mounted on

/dev/mapper/myvg-mydata  40G  176M   38G  1% /mydata



Linux系统下,咱们能够在安装系统时使用LVM来管理咱们的文件系统,

可是当咱们的LV容量太大了如何减小其容量呢?

目标:将 lv_test 中的 /dev/sdb2 移除

查看文件系统现有 lv_test 容量,总计9.9G,已使用2%

命令 df -h

wKioL1nmxNPiq_BeAAD27BtNqNw856.jpg

查看系统中的 PV 状况

命令:pvdisplay

wKiom1nmyDfz4ILVAAGcD7xDR3M178.jpg

vg_test 下有两个 PV,分别为  /dev/sdb1 和 /dev/sdb2。咱们要作的是移除其中的 /dev/sdb2,

记住这个PV有 1284 个PE

查看系统中PV状况,另外一种方式

命令:pvscan

wKioL1nmxtiQryIgAADa-2whKtE890.jpg

发现 /dev/sdb1 属于 vg_test,大小为4.98GB

发现 /dev/sdb2 属于 vg_test,大小为5.02GB

因为/dev/sdb1 大小为4.98G,并且容量不能写小数,故减小文件系统至 5000M。

另外,减少文件系统容量不能在线进行,故先卸载卷

命令:

umount /test 卸载卷

e2fsck -f /dev/vg_test/lv_test 磁盘检查

resize2fs /dev/vg_test/lv_test 5000M 减少文件系统容量.

wKioL1nmxvPg0jayAAHlZEb07AQ854.jpg

查看如今文件系统的容量

mount /dev/vg_test/lv_test /test 先挂载

此时,经过 df -h 查询文件系统已经由原来的9.9G降至为4.9G

wKiom1nmykbyKSMFAAESk2jzaoE374.jpg

接下来,减小LV的容量。

经过最开始的查询,咱们知道 /dev/sdb2有1284个 PE

由于lv_test的使用量为 138M,小于现有容量4.98G,所以出现的警告可按 y

命令:

lvresize -l -1284/dev/vg_test/lv_test 

此时,经过 lvdisplay 查询 lv_test 容量下降至 4.98G

wKioL1nm403yPkMiAAI1r5NUJmM468.jpg

查看系统中如今的 PV 状况

命令:pvdisplay

wKioL1nm42TRbnh4AAGfEizWy3Q886.jpg

vg_test 下的 /dev/sdb2有 1284 个 PE,而且都是 Free PE,说明lv_test不在使用 /dev/sdb2

若是不全是 Free PE,须要使用 pvmove 将 占用的 PE 移至/dev/sdb1

将/dev/sdb2 从 vg_test 中移除

命令:

vgreduce vg_test /dev/sdb2

经过 pvscan 查询,/dev/sdb2已经不在属于任何VG了

wKiom1nm5kaTLgTCAAEmgYzdUWA546.jpg

删除PV

命令:

pvremove /dev/sdb2

经过 pvscan 和 pvdisplay 查询,系统中再也不有/dev/sdb2 这个PV

wKiom1nm5m_DQgSqAAKE7w-QNM4872.jpg

最后,完整的将现有的LV扩充到整个文件系统。

命令:resize2fs/dev/vg_test/lv_test 

此步骤主要是考虑在减小文件系统的时候,可能将/dev/sdb1中的部分空间移除。

如今经过扩充,将完整的利用 /dev/sdb1经过 df 查询,也发现扩充先后文件系统

增长了部分容量。

wKioL1nm4_DBNOEGAALGf54B-wU646.jpg

注意事项

·        必定要确保 /dev/sdb2中全部的 PE都是Free PE,即没有被使用的

·        必定要卸载卷后减小文件系统的容量

·        在减小文件系统前要进行磁盘检查

·       建议通常不作减小lv容量操做。

相关文章
相关标签/搜索