partprobe 不重启系统的状况下,让系统内核重读硬盘分区
或者
partprobe /dev/sdX 不重启系统的状况下,让系统内核重读sdx该硬盘分区linux
Linux系统下增长LV(逻辑卷)容量app
Linux系统下,咱们能够在安装系统时使用LVM来管理咱们的文件系统,可是当咱们的LV满了如何增长其容量呢?ide
方法/步骤ui
1. 查看文件系统现有lv_test容量,总计4.9G,已使用3%spa
命令 :df -h3d
2. 查看现有磁盘状况,咱们发现磁盘sdb共有1305个柱面,每一个柱面大小是8225280 bytes orm
(大约8M)。有一个磁盘分区sdb1,只使用了650柱面,还剩655柱面没有使用。xml
命令 :fdisk -lblog
3. 在磁盘sdb上建立新分区rem
命令:fdisk /dev/sdb
输入 p 打印现有分区状况(尚未分区)
输入 n 新建分区
输入 p 为创建主分区(此时的p是在n后的,不是打印)
输入 2 为创建第二个主分区
分区起始位置能够直接回车,默认是651
分区最后位置能够直接回车,默认为 1305 或者直接输入须要设置的容量大小例如+4G
输入 p 打印分区状况,发现已创建一个分区 /dev/sdb2,可是 此分区为 Linux 格式
4. 因为分区 /dev/sdb2 为 Linux 格式,咱们须要改变系统标识符为Linux LVM格式:
输入 t 改变分区的属性
输入 2 表示改变第二个分区的属性
输入 8e 改变分区1为 Linux LVM格式
输入 p 打印分区状况,发现创建的分区 /dev/sdb1 为 Linux LVM 格式
输入 w 保存分区
5. 使kernel从新读取分区表
命令:partprobe
可是出现了一些关于sdb的警告,重启系统
命令:reboot
6. 再次使用 fdisk -l 查看系统内磁盘状况发现 /dev/sdb上已有一个 Linux LVM 格式的 /dev/sdb2分区
7. 建立PV:
建立PV:pvcreate /dev/sdb2
查看系统PV:pvscan或者pvs
这样咱们就建立了一个 5.02G的PV
增长 VG容量:
增长VG:vgextend vg_test /dev/sdb2 vg_test为现有的vg名,/dev/sdb2表示须要加入到
vg的设备。
查看VG详细信息:vgdisplay
增长LV容量:
增长LV:lvresize -l +1284 /dev/vg_test/lv_test(1284是VG中Free PE的个数)为lv_test增长
1284大小,或者直接+2G带上单位。
查看LV:lvdisplay
这样咱们就将 lv_test 的容量增长至9.99G
增长文件系统的容量:
命令:resize2fs /dev/vg_test/lv_test
文件系统lv_test已经由 4.9G 增长至 9.9G
实例文件系统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
查看系统中的 PV 状况
命令:pvdisplay
vg_test 下有两个 PV,分别为 /dev/sdb1 和 /dev/sdb2。咱们要作的是移除其中的 /dev/sdb2,
记住这个PV有 1284 个PE
查看系统中PV状况,另外一种方式
命令:pvscan
发现 /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 减少文件系统容量.
查看如今文件系统的容量
mount /dev/vg_test/lv_test /test 先挂载
此时,经过 df -h 查询文件系统已经由原来的9.9G降至为4.9G
接下来,减小LV的容量。
经过最开始的查询,咱们知道 /dev/sdb2有1284个 PE
由于lv_test的使用量为 138M,小于现有容量4.98G,所以出现的警告可按 y
命令:
lvresize -l -1284/dev/vg_test/lv_test
此时,经过 lvdisplay 查询 lv_test 容量下降至 4.98G
查看系统中如今的 PV 状况
命令:pvdisplay
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了
删除PV
命令:
pvremove /dev/sdb2
经过 pvscan 和 pvdisplay 查询,系统中再也不有/dev/sdb2 这个PV
最后,完整的将现有的LV扩充到整个文件系统。
命令:resize2fs/dev/vg_test/lv_test
此步骤主要是考虑在减小文件系统的时候,可能将/dev/sdb1中的部分空间移除。
如今经过扩充,将完整的利用 /dev/sdb1经过 df 查询,也发现扩充先后文件系统
增长了部分容量。
注意事项
· 必定要确保 /dev/sdb2中全部的 PE都是Free PE,即没有被使用的
· 必定要卸载卷后减小文件系统的容量
· 在减小文件系统前要进行磁盘检查
· 建议通常不作减小lv容量操做。