1. LVM逻辑卷管理

ext4和xfs文件系统的扩容和收缩-LMLPHP

2. ext4文件系统

2.1 扩容CentOS6的根文件系统(ext4)

根文件系统在 /dev/VolGroup/lv_root 逻辑卷上,文件系统类型为ext4,大小为10G,现在要将其扩容成20G。

1)调整分区类型为8e

# 调整分区类型为LVM,也就是8e类型
fdisk /dev/sdb
    # 选定分区后使用 t 选项,然后选择8e类型

# 通知内核重读分区表
partx -a /dev/sdb

# 查看
cat /proc/partitions
lsblk 

2)进行扩容

# 1. 创建pv
pvcreate /dev/sdb7

# 2. 对根 / 所在的vg进行扩容,将/dev/sdb7这个pv添加到VolGroup这个vg中去
vgextend VolGroup /dev/sdb7

# 3. 对根 / 所在的lv进行扩容
# 先通过vgdisplay命令查看对应vg中空闲的pe数量,然后再将这些空闲的pe添加到lv中去
lvextend -l +2194 /dev/VolGroup/lv_root

# 4. 扩容文件系统
resize2fs /dev/VolGroup/lv_root  # 自动扩容,将可分配的空间全部分配完
# 或者扩容成指定的大小 resize2fs /dev/VolGroup/lv_root  15G

# 5. 查看是否扩容成功
df -hT
  • 注意:LV扩容前最好先卸载挂载的设备,然后再使用 lvextend 进行扩容,这里因为是对根文件系统进行扩容,故而没有卸载

2.2 收缩ext4文件系统

/dev/sdb6 和 /dev/sdb4 一共分区大小为5G,分区类型为8e,它们被添加到了卷组VolGroup中,并做成 lv_mnt 逻辑卷挂载在了 /mnt 目录。

现在要将 lv_mnt 缩小成3G,并且不能损坏其数据

# 1. 卸载设备
umount /mnt

# 2. 进行磁盘检查
e2fsck -f /dev/VolGroup/lv_mnt

# 3. 收缩文件系统
resize2fs /dev/VolGroup/lv_mnt 3G

# 4. 收缩LV
lvreduce -L -2G /dev/VolGroup/lv_mnt

# 5. 将PE移动到空闲的地方
### 查看哪些PV上有空闲的PE
pvdisplay | grep 'PV Name\| Free'
### 将PE移动到有空闲PE的PV上
pvmove  /dev/sdb6:0-99  /dev/sdb4

# 6. 从VG中移除PV
vgreduce VolGroup /dev/sdb6

# 7. 移除该PV
pvremove /dev/sdb6

3. xfs文件系统

3.1 扩容CentOS7的根文件系统(xfs)

# 1. 与CentOS6一样,先要创建一个8e格式磁盘分区
fdisk /dev/sdb

# 2. 创建PV
pvcreate /dev/sdb5

# 3. 将pv添加到根所在的VG中
vgextend centos /dev/sdb5

# 4. 扩容LV
# 特别注意:在扩容LV之前最好要先卸载设备,这里没有卸载是因为扩容的根文件系统
lvextend -l +2048 /dev/centos/root # 5. 扩容xfs文件系统 xfs_growfs /dev/centos/root # 6. 查看是否扩容成功 df -hT

3.2 收缩xfs文件系统

xfs文件系统只能扩容而无法收缩,如果要想收缩,可以先备份,之后再进行减容重建,再恢复数据。

1)备份

# xfsdump的方式备份
xfsdump -f /data/home.img /home
    -f 备份保存的位置

# cp直接复制文件的方式备份
cp -aR /home /data/home

2)减容重建

# 1. 卸载home目录
umount /home/

# 2. 删除 lv_home
### 删除之前要备份或者将PE移动到空闲的PV中
lvremove /dev/centos/home

# 3. 扩容根所在的的 lv
lvresize -L 20G /dev/centos/root

# 4. 扩容根文件系统
xfs_growfs /dev/centos/root

# 5. 重建home的LV
lvcreate -L 1G -n home centos

# 6. 格式化并挂载
mkfs.xfs /dev/centos/home
mount /dev/centos/home /home

# 7. 还原数据
xfsrestore -f /data/home.img /home
  • 注意:尽量避免对重要数据所在的文件系统做收缩操作
12-27 02:30