wiki/运维/Linux/笔记/19.磁盘和文件系统管理.md
2026-04-08 19:40:00 +08:00

225 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 1、磁盘和文件系统管理概览
磁盘管理通常涉及以下几个层次:
- 磁盘与分区
- 分区表类型
- 文件系统创建与识别
- 挂载与卸载
- 空间使用查看
理解这条主线后,再学习 RAID、LVM 会更顺。
## 2、分区方式
### 2.1 MBR
- 较早期的分区表格式
- 使用 32 位扇区地址
- 单盘常见上限约为 2 TB
- 主分区数量有限
### 2.2 GPT
- 更现代的分区表格式
- 支持更大的磁盘容量
- 支持更多分区
- 常与 UEFI 配合使用
## 3、BIOS 与 UEFI
### 3.1 BIOS
- 较传统的启动方式
- 常和 MBR 磁盘搭配
- 对大容量系统盘支持有限
### 3.2 UEFI
- 更新的启动方式
- 更适合 GPT 分区表
- 支持更大容量磁盘和更多现代特性
## 4、查看磁盘与分区
### 4.1 `lsblk`
```shell
lsblk
```
常见选项:
- `-f`:显示文件系统信息
### 4.2 `blkid`
```shell
blkid
```
用于查看:
- UUID
- 文件系统类型
- 分区 UUID
### 4.3 `partprobe`
```shell
partprobe
```
用于通知内核重新读取分区表,常见于新建或调整分区后。
## 5、创建和管理分区
### 5.1 常见工具
- `fdisk`:常用于管理 MBR 分区
- `gdisk`:常用于管理 GPT 分区
### 5.2 常见交互命令
- `p`:打印分区表
- `n`:新建分区
- `d`:删除分区
- `t`:修改分区类型
- `v`:校验分区表
- `w`:保存并退出
- `q`:不保存退出
## 6、文件系统类型
常见文件系统:
- `ext4`Linux 中非常常见,兼容性好
- `xfs`:大文件和大容量场景常见
- `ntfs`Windows 常见文件系统
### 6.1 创建文件系统
```shell
mkfs
```
实际使用中通常会结合具体类型:
```shell
mkfs.ext4 /dev/sdb1
mkfs.xfs /dev/sdb1
```
## 7、挂载与卸载
### 7.1 挂载命令
```shell
mount
```
### 7.2 卸载命令
```shell
umount
```
### 7.3 `/etc/fstab`
系统开机自动挂载通常依赖 `/etc/fstab`
示例:
```fstab
/dev/sda1 / ext4 defaults,noatime 0 1
/dev/sda2 none swap defaults 0 0
/dev/sda3 /home ext4 defaults,noatime 0 2
```
字段含义:
1. 设备名或 UUID
2. 挂载点
3. 文件系统类型
4. 挂载参数
5. 备份标志(通常为 `0`
6. `fsck` 检查顺序
### 7.4 常见挂载参数
- `defaults`:默认挂载参数
- `auto`:开机或 `mount -a` 时自动挂载
- `noauto`:不自动挂载
- `ro`:只读挂载
- `rw`:读写挂载
- `exec`:允许执行二进制文件
- `noexec`:禁止执行二进制文件
- `suid`:允许 SUID/SGID 生效
- `nosuid`:禁止 SUID/SGID
- `dev`:允许解析设备文件
- `nodev`:不解析设备文件
- `noatime`:不更新访问时间,常用于优化性能
- `relatime`:相对更新时间,兼顾性能和兼容性
## 8、查看磁盘空间
### 8.1 `df`
用于查看文件系统层面的空间使用情况。
常见选项:
- `-T`:显示文件系统类型
- `-h`:以易读单位显示
- `-i`:显示 inode 使用情况
示例:
```shell
df -hT
```
### 8.2 `du`
用于查看目录或文件实际占用空间。
常见选项:
- `-a`:显示所有文件和目录
- `-h`:以易读单位显示
- `-s`:汇总显示总大小
示例:
```shell
du -sh /var/log
```
## 9、常见运维流程
### 9.1 新磁盘上线
通常步骤:
-`lsblk` 确认设备
-`fdisk``gdisk` 分区
-`mkfs` 创建文件系统
-`mount` 挂载
- 写入 `/etc/fstab` 实现持久化
### 9.2 磁盘空间排查
通常步骤:
- 先看 `df -h`
- 再看 `du -sh` 找大目录
- 必要时看 inode`df -i`
## 10、小结
- 分区表常见有 MBR 和 GPT
- 启动方式常见有 BIOS 和 UEFI
- `lsblk``blkid``fdisk/gdisk``mkfs``mount` 是高频命令
- `df` 看文件系统空间,`du` 看目录实际占用
- `/etc/fstab` 决定系统开机自动挂载行为