Linux 磁盘管理 + 文件系统 + LVM 笔记整理

Linux 磁盘管理 + 文件系统 + LVM 笔记整理(含纠错 + 案例)


一、磁盘分区管理(fdisk /parted)

1. 分区模式对比(纠正你笔记的表述)

表格

模式 最大支持容量 分区规则 适用场景
MBR ≤ 2TB 最多 4 个主分区,需扩展分区 + 逻辑分区突破限制 老旧系统、小容量硬盘
GPT 无上限(理论支持 9.4ZB) 直接支持 128 个主分区,无扩展 / 逻辑分区限制 2TB 以上大容量硬盘、现代系统

2. MBR 扇区结构(纠正顺序错误)

MBR 位于磁盘第一个扇区(512 字节),结构为:

  • 446 字节:主引导程序(Bootloader)
  • 64 字节:分区表(每个主分区占 16 字节,最多 4 个)
  • 2 字节:结束标志(校验码 0x55AA

3. 分区工具命令

(1)fdisk:MBR 分区工具(≤2TB)

bash

运行

复制代码
# 1. 查看所有磁盘及分区信息
fdisk -l

# 2. 对 /dev/sdb 进行分区(交互式操作)
fdisk /dev/sdb
# 常用交互指令:
# n → 新建分区
# p → 打印分区表
# w → 保存分区表并退出
# q → 不保存退出
(2)parted:GPT/MBR 通用分区工具(支持 > 2TB)

bash

运行

复制代码
# 1. 对 /dev/sdc 创建GPT分区表
parted /dev/sdc mklabel gpt

# 2. 创建一个10G主分区
parted /dev/sdc mkpart primary 0% 10G

# 3. 查看分区信息
parted /dev/sdc print

二、文件系统(格式化)与 inode/block

1. 核心概念

  • 扇区 :磁盘最小物理存储单位,默认 512B
  • block(块) :文件系统读写基本单位,默认 4KB(8 个扇区)
  • inode:记录文件元数据(权限、大小、块指针),不含文件名和内容
  • 磁盘空间不足的两种情况:
    1. 存储空间不足(block 耗尽)
    2. inode 号不足(小文件过多,inode 被占满)

2. mkfs 格式化命令(纠正你笔记的参数错误)

bash

运行

复制代码
# 基础语法:mkfs -t 文件系统类型 分区设备

# 1. 格式化为 ext4 文件系统
mkfs -t ext4 /dev/sdb1
# 简写:mkfs.ext4 /dev/sdb1

# 2. 格式化为 xfs 文件系统(CentOS7+默认)
mkfs -t xfs /dev/sdc1
# 简写:mkfs.xfs /dev/sdc1

# 3. 指定 inode 数量(ext4 专用,解决inode不足问题)
mkfs.ext4 -N 1000000 /dev/sdb1  # 指定inode总数为100万

# 4. 指定block大小(ext4专用,如1KB/2KB/4KB)
mkfs.ext4 -b 2048 /dev/sdb1  # block大小设为2KB

三、Swap 交换分区管理

1. 核心概念

交换分区(Swap)是硬盘上的一块空间,当物理内存不足时,临时充当 "虚拟内存" 使用,避免系统因内存耗尽崩溃。

  • 建议大小:物理内存≤4G,Swap=2× 内存;内存 > 4G,Swap=8G-16G

2. 命令案例

bash

运行

复制代码
# 1. 创建Swap分区(先划分分区,再格式化)
mkswap /dev/sdb2

# 2. 启用Swap分区
swapon /dev/sdb2

# 3. 关闭Swap分区
swapoff /dev/sdb2

# 4. 查看内存和Swap使用情况
free -h  # 以人类可读格式显示
free -m  # 以MB为单位显示
swapon --show  # 查看所有Swap设备信息

四、挂载与自动挂载

1. 基础挂载命令

bash

运行

复制代码
# 1. 挂载分区到指定目录
mount /dev/sdb1 /data

# 2. 挂载ISO镜像文件(需加loop参数)
mount -o loop /root/CentOS-7.iso /media/cdrom

# 3. 临时卸载设备
umount /data

2. 开机自动挂载(/etc/fstab

(1)字段含义

设备路径/UUID 挂载点 文件系统类型 挂载选项 是否备份(dump) 是否检测(fsck)

(2)案例配置

ini

复制代码
# 1. 普通分区自动挂载(ext4)
/dev/sdb1 /data ext4 defaults 0 0

# 2. 使用UUID挂载(推荐,设备路径可能变化)
UUID=xxxx-xxxx-xxxx /data xfs defaults 0 0

# 3. Swap分区自动挂载
/dev/sdb2 swap swap defaults 0 0

# 4. ISO镜像自动挂载
/root/CentOS-7.iso /media/cdrom iso9660 defaults,loop 0 0
(3)配置生效

bash

运行

复制代码
# 重载/etc/fstab配置,测试是否配置正确
mount -a

3. 补充:/etc/rc.d/rc.local 挂载

bash

运行

复制代码
# 1. 给rc.local添加执行权限(默认无执行权)
chmod +x /etc/rc.d/rc.local

# 2. 编辑文件,添加挂载命令
vi /etc/rc.d/rc.local
# 写入:mount /dev/sdb1 /data

五、LVM 逻辑卷管理(核心纠正 + 案例)

LVM 核心优势:支持动态扩容 / 缩容,灵活管理存储空间。

1. LVM 层级关系

物理卷(PV) → 卷组(VG) → 逻辑卷(LV)


2. 物理卷(PV)管理

bash

运行

复制代码
# 1. 创建物理卷(支持多块设备)
pvcreate /dev/sdb /dev/sdc

# 2. 查看物理卷信息
pvscan
pvdisplay /dev/sdb

3. 卷组(VG)管理

bash

运行

复制代码
# 1. 创建卷组(名称vg1,使用/dev/sdb、/dev/sdc两个PV)
vgcreate vg1 /dev/sdb /dev/sdc

# 2. 查看卷组信息
vgscan
vgdisplay vg1

# 3. 卷组扩容(添加新的物理卷/dev/sdd)
vgextend vg1 /dev/sdd

4. 逻辑卷(LV)管理

(1)创建逻辑卷

bash

运行

复制代码
# 语法:lvcreate -L 大小 -n 逻辑卷名 卷组名
lvcreate -L 20G -n lv1 vg1  # 从vg1创建20G的lv1逻辑卷
(2)查看逻辑卷信息

bash

运行

复制代码
lvscan
lvdisplay /dev/vg1/lv1
(3)逻辑卷扩容(关键步骤)

注意:扩容分为两步:① 扩容逻辑卷 → ② 扩容文件系统

案例 1:给逻辑卷扩容 5G(ext4/xfs 通用)

bash

运行

复制代码
# 第一步:扩容逻辑卷(增加5G空间)
lvextend -L +5G /dev/vg1/lv1
案例 2:耗尽卷组所有剩余空间扩容

bash

运行

复制代码
lvextend -l +100%FREE /dev/vg1/lv1
第二步:扩容文件系统(必须根据文件系统类型执行)

bash

运行

复制代码
# ① ext4 文件系统(支持在线/离线扩容)
resize2fs /dev/vg1/lv1

# ② xfs 文件系统(必须挂载状态下执行)
xfs_growfs /data  # /data是挂载点,不是设备路径

六、SUID 权限补充(纠正概念)

SUID 权限作用:当用户执行带有 SUID 权限的文件时,临时拥有该文件属主的权限,而非用户自身权限。

bash

运行

复制代码
# 给文件设置SUID权限(属主权限位显示s)
chmod u+s /usr/bin/ping

# 查看文件SUID权限
ls -l /usr/bin/ping
# 输出示例:-rwsr-xr-x 1 root root ...
相关推荐
.YYY19 小时前
Linux--如何安装rockyLinux9虚拟机
linux
kdxiaojie20 小时前
U-Boot分析【学习笔记】(12)
linux·笔记·学习
Bert.Cai20 小时前
Linux let命令详解
linux·运维·服务器
枕星而眠20 小时前
Linux 线程:原理、属性、实战与面试避坑
linux·运维·c语言·面试
晚风予卿云月20 小时前
【Linux】环境变量概念、作用、配置与修改详解
linux·运维·服务器·环境变量
r-t-H21 小时前
从零开始搭建CDH-第十二章
linux·hive·spark·centos·hbase
~黄夫人~21 小时前
零基础速通|Windows&Linux 常用命令行对照表大全
linux·运维·windows·笔记·备忘录·整理表格
benjiangliu21 小时前
LINUX系统-17-EXT系列文件系统(二)
linux·运维·服务器
杨云龙UP21 小时前
Linux 根分区被日志吃满?一次 58G Broker 日志清理实战_2026-05-20
linux·运维·服务器·数据库·hdfs·apache