本文适用于CentOS 6,其他系统未经测试
目的:
缩小/home
目录大小(193G
50G),将剩余容量扩展给/
根目录(193G
336G)
命令介绍
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-LogVol01 193G 5.4G 177G 3% / # 根目录信息
tmpfs 16G 68K 16G 1% /dev/shm
/dev/sdb1 477M 71M 381M 16% /boot
/dev/mapper/VolGroup-LogVol00 193G 202M 183G 1% /home # /home目录信息
-
1、
df
命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计 -
从左到右每一列分别代表:文件系统的名称、总磁盘空间大小、已使用空间大小、可用空间大小、使用的磁盘空间百分比、“安装在”指定的文件系统的挂载点
-
2、
umount
命令用于卸载已经加载的文件系统 -
例:卸载/home分区(命令参数可以是
系统名称
或挂载点
)
# 通过挂载点卸载
umount /home
# 通过系统名称卸载
umount /dev/mapper/VolGroup-LogVol00
-
3、
e2fsck
命令用于检查文件系统是否正常工作 -
-a: 检查,如发现问题会自动修复
-f : 强制检查
# 检查 /home 分区是否正常
e2fsck -f /dev/mapper/VolGroup-LogVol00
-
4、
resize2fs
命令用于调整 ext2 文件系统的空间大小 -
-p: 为了每一个resize2fs操作打印一个百分比完成条,用户可以保持注意程序正在运作的动态
# 调整 /home 分区为50G
resize2fs -p /dev/mapper/VolGroup-LogVol00 50G
-
5、
mount
命令用于加载文件系统到指定的加载点 -
例:重新挂载/home分区(命令参数可以是
系统名称
或挂载点
)
# 挂载 /home分区
mount /home
-
6、
lvreduce
命令用于减少指定的LVM逻辑卷的空间大小 -
-L -10G: 缩小分区 10G
-L +10G: 扩展分区 10G
-L 10G: 扩展到 或 缩小到 10G
# 缩小 /home 的空间到50G
lvreduce -L 50G /dev/mapper/VolGroup-LogVol00
介绍LVM
LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性
- LVM结构:
-
磁盘 => 分区 => PV => VG => LV => 文件系统
- 扩展分区:
-
先扩LV再扩文件系统
lvextend -L +100M /dev/mapper/VolGroup-LogVol00 # 逻辑卷的大小增加100M
resize2fs /dev/mapper/VolGroup-LogVol00 # 文件系统增到逻辑卷的大小
- 缩小分区:
-
先减文件系统再减LV
resize2fs /dev/mapper/VolGroup-LogVol00 100M # 减小文件系统到100M
lvreduce -L 100M /dev/mapper/VolGroup-LogVol00 # 减小逻辑卷到100M
- 修改LV及文件系统的大小,必须先将LV及文件系统卸载(umount),然后才可以操作
完整操作记录
- 命令加了注释,方便大家理解,实际操作的时候请勿连同注释一起复制
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-LogVol01 193G 5.4G 177G 3% /
tmpfs 16G 68K 16G 1% /dev/shm
/dev/sdb1 477M 71M 381M 16% /boot
/dev/mapper/VolGroup-LogVol00 193G 202M 183G 1% /home
[root@localhost ~]# umount /home/ # 卸载挂载分区
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-LogVol01 193G 5.4G 177G 3% /
tmpfs 16G 68K 16G 1% /dev/shm
/dev/sdb1 477M 71M 381M 16% /boot
[root@localhost ~]# e2fsck -f /dev/mapper/VolGroup-LogVol00 # 检查分区文件的错误性,-f 即使文件系统没有错误迹象,仍强制地检查正确性
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/mapper/VolGroup-LogVol00: 21/12804096 files (9.5% non-contiguous), 887832/51200000 blocks
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-LogVol00 50G # 调整分区大小为50G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/VolGroup-LogVol00 to 13107200 (4k) blocks.
Begin pass 2 (max = 32770)
Relocating blocks XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 3 (max = 1563)
Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 4 (max = 9)
Updating inode references XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/mapper/VolGroup-LogVol00 is now 13107200 blocks long.
[root@localhost ~]# mount /home # 重新挂载分区
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-LogVol01 193G 5.4G 177G 3% /
tmpfs 16G 68K 16G 1% /dev/shm
/dev/sdb1 477M 71M 381M 16% /boot
/dev/mapper/VolGroup-LogVol00 50G 194M 47G 1% /home
[root@localhost ~]# lvreduce -L 50G /dev/mapper/VolGroup-LogVol00 # 缩小空间到50G。使用lvreduce指令用于减少LVM逻辑卷占用的空间大小。可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认。记得输入 “y”
WARNING: Reducing active and open logical volume to 50.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce VolGroup/LogVol00? [y/n]: y
Size of logical volume VolGroup/LogVol00 changed from 195.31 GiB (50000 extents) to 50.00 GiB (12800 extents).
Logical volume LogVol00 successfully resized.
[root@localhost ~]# vgdisplay # 查看剩余空间
--- Volume group ---
VG Name VolGroup
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 409.38 GiB
PE Size 4.00 MiB
Total PE 104802
Alloc PE / Size 67602 / 264.07 GiB # 已经分配的空间大小
Free PE / Size 37200 / 145.31 GiB # 可分配的空间大小
VG UUID dmX651-3dqe-YCyO-qUYl-ZBX6-1BZe-b7xkVD
[root@localhost ~]# lvextend -L +145.31G /dev/mapper/VolGroup-LogVol01 # 分配可用空间
Rounding size to boundary between physical extents: 145.31 GiB.
Size of logical volume VolGroup/LogVol01 changed from 195.31 GiB (50000 extents) to 340.62 GiB (87200 extents).
Logical volume LogVol01 successfully resized.
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-LogVol01 # 分区重设大小
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/VolGroup-LogVol01 is mounted on /; on-line resizing required
old desc_blocks = 13, new_desc_blocks = 22
Performing an on-line resize of /dev/mapper/VolGroup-LogVol01 to 89292800 (4k) blocks.
The filesystem on /dev/mapper/VolGroup-LogVol01 is now 89292800 blocks long.
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-LogVol01 336G 5.4G 313G 2% /
tmpfs 16G 68K 16G 1% /dev/shm
/dev/sdb1 477M 71M 381M 16% /boot
/dev/mapper/VolGroup-LogVol00 50G 194M 47G 1% /home
[root@localhost ~]#