当前位置: 首页 > news >正文

xfs ext4 结合lvm 扩容、缩容 —— 筑梦之路

ext4 文件系统扩容、缩容操作

扩容系统根分区

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

给空闲空间分区# 调整分区类型为LVM,也就是8e类型
fdisk /dev/sdb# 选定分区后使用 t 选项,然后选择8e类型# 通知内核重读分区表
partx -a /dev/sdb# 查看
cat /proc/partitionslsblk
扩容操作# 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 进行扩容,这里因为是对根文件系统进行扩容,故而没有卸载

缩容

/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

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

缩容

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

---------------备份# xfsdump的方式备份
xfsdump -f /data/home.img /home-f 备份保存的位置# cp直接复制文件的方式备份
cp -aR /home /data/home----------------缩容重建# 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
  • 注意:尽量避免对重要数据所在的文件系统做收缩操作

lvm逻辑卷管理

 

 

http://www.lryc.cn/news/139300.html

相关文章:

  • 如何修改由 img 标签引入的 svg 图片颜色 (react环境)
  • 归一化的作用,sklearn 安装
  • 半导体企业如何进行跨网数据传输,又能保护核心数据安全?
  • lvs-DR模式:
  • Delphi 开发手持机(android)打印机通用开发流程(举一反三)
  • nodejs替换模版中${}的内容
  • 【快速傅里叶变换(fft)和逆快速傅里叶变换】生成雷达接收到的经过多普勒频移的脉冲雷达信号(Matlab代码实现)
  • 嵌入式学习之linux
  • 自动驾驶合成数据科普一:不做真实数据的“颠覆者”,做“杠杆”
  • 云服务器 宝塔(每次更新)
  • 【学习FreeRTOS】第16章——FreeRTOS事件标志组
  • Echarts 柱状图的 itemStyle的normal中label如何format?
  • 我的笔记:数据体系规则
  • 苍穹外卖 day2 反向代理和负载均衡
  • 【SpringBoot】SpringBoot完整实现电子商务系统
  • RT-Thread 线程管理(学习二)
  • ESP32应用教程(1)— VL53L3CX距离传感器
  • Redis从基础到进阶篇(一)
  • postgresql的基本使用
  • ABC 258 G Triangle(bitset 优化)
  • 使用StreamLold写入 Starrocks报错:Caused by org
  • WX1860- ngbe-1.2.5 xdp程序在路由模式下,使用iperf工具测试数据包不转发,用jmeter可以
  • PHPStudy 安装tp8 php8.2.9 安装XDbug、redis扩展
  • 结构体指针和结构体数组指针
  • libdrm全解析二十 —— 源码全解析(17)
  • 基于docker搭建owncloud Harbor 构建镜像
  • 往Buildroot中增加Qt项目
  • C#-Tolewer和ToUpper的使用
  • RabbitMQ集群搭建和测试总结_亲测
  • SQLSTATE[IMSSP]: The active result for the query contains no fields.