1. LVM逻辑卷管理

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
  • 注意:尽量避免对重要数据所在的文件系统做收缩操作

ext4和xfs文件系统的扩容和收缩的更多相关文章

  1. linux -- 扩容 /home 空间( xfs文件系统分区扩容指定挂载点)

    问题: /home空间容量不够使用,扩容卷组,扩容挂载点 方法: 1. 确认有可用的物理磁盘 fdisk -l -- 查看磁盘信息 df -h -- 查看当前挂载信息 vgs -- 查看当前卷组信息 ...

  2. 裸磁盘上ext4与xfs在线扩容,非LVM

    虚拟机添加一个20G的硬盘,磁盘为sdb,分区为ext4 格式化一个5Gib的磁盘出来,用dd命令写入4G数据. 一.需求是容量为5G的磁盘,文件系统为ext4的sdb1扩容到10G. 操作步骤为 1 ...

  3. Linux日志文件系统(EXT4、XFS、JFS)及性能分析

    Ext4 ReiserFS Btrfs 等七种文件系统性能比拼 自上一篇<Ext2 v.s. Ext3 v.s. Ext4 性能比拼> 发布以来,社会各界纷纷来电来函,给出了“Ext4 我 ...

  4. 文件系统类型(ext4、xfs、fat32、vfat、ntfs、....)

    Linux 1.Linux:存在几十个文件系统类型:ext2,ext3,ext4,xfs,brtfs,zfs(man 5 fs可以取得全部文件系统的介绍) 不同文件系统采用不同的方法来管理磁盘空间,各 ...

  5. ext与xfs文件系统比较与总结

    centos7.0开始默认文件系统是xfs,centos6是ext4,centos5是ext3 1.EXT2简介 EXT2第二代扩展文件系统(英语:second extended filesystem ...

  6. 关于ext3,ext4,xfs和btrfs文件系统性能对比

    关于ext3,ext4,xfs和btrfs文件系统性能对比 应为原文:http://www.ilsistemista.net/index.php/linux-a-unix/6-linux-filesy ...

  7. ext3,ext4,xfs和btrfs文件系统性能对比

    应为原文:http://www.ilsistemista.net/index.php/linux-a-unix/6-linux-filesystems-benchmarked-ext3-vs-ext4 ...

  8. 16_用LVM扩展xfs文件系统(当分区空间不够时)

    1. 查看当前卷组空间(volume group)使用情况 [root@localhost ~]# vgdisplay 从下面的代码中发现剩余空间为0 --- Volume group --- VG ...

  9. xfs文件系统磁盘配额

    引言 这篇文章简单介绍一下xfs文件系统的磁盘配额配置. 文章目录 0×1.开启分区磁盘配额 0×2.使用xfs_quota命令配置磁盘配额 0×1.开启分区磁盘配额 对于ext4文件以前的文件系统, ...

随机推荐

  1. volatile使用

    mq的故障延迟机制:

  2. 华为交换机eNSP删除Vlan的详细步骤

    设备支持批量删除VLAN和单个删除VLAN两种方式: 单个删除VLAN10 <HUAWEI> system-view [HUAWEI] undo vlan 10 批量删除VLAN10到VL ...

  3. VM15 Ubuntu18.04 安装c/c++

    输入"su"再输入密码即进入根用户,(gcc是默认安装的,但刚安装完成的系统中的gcc并不能用来开发,还缺少常用的头文件和库文件,还组要安装build-essential 软件包) ...

  4. 下载centos镜像的地址

  5. MAT内存分析工具安装指南(MAT)

    https://blog.csdn.net/mahl1990/article/details/79298616

  6. fist-第四天冲刺随笔

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 这个作业要求在哪里 https://edu.cnblogs.com/campus/fz ...

  7. Java进阶专题(十八) 系统缓存架构设计 (下)

    前言 上章节介绍了Redis相关知识,了解了Redis的高可用,高性能的原因.很多人认为提到缓存,就局限于Redis,其实缓存的应用不仅仅在于Redis的使用,比如还有Nginx缓存,缓存队列等等.这 ...

  8. day2(APlview+Serializers使用)

    1.APIview使用 ModelVIewSet 是对 APIView 封装  ModelSerializer是对Serializeer 1.1 在user/urls.py中添加路由 urlpatte ...

  9. PyQt(Python+Qt)学习随笔:信号签名(signature of the signal)是什么?

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 1.概念解释 函数签名:由函数的参数个数与其类型组成.函数在重载时,利用函数签名的不同即参数个数与类 ...

  10. 百度前端技术学院-基础-day20-21

    第二十到第二十一天:让你和页面对话 task1 控制元素的显示及隐藏 实现以下功能: 当用户选择了 School 的单选框时,显示 School 的下拉选项,隐藏 Company 的下拉选项 当用户选 ...