### [Linux磁盘与文件系统管理](https://blog.cikcc.com/article/278) **Published:** 2026-10-05T16:21:11 **Author:** Cik **Excerpt:** Linux如何识别和命名磁盘是所有磁盘管理操作的基础 ### **磁盘分类与设备命名** Linux如何识别和命名磁盘是所有磁盘管理操作的基础 | 分类 | 设备名 | 描述 | | --- | --- | --- | | IDE / ATA (PATA) 硬盘 | /dev/hda, /dev/hdb | 较早的硬盘接口标准,现在已不常见。a, b 代表主/从设备。分区名为 /dev/hda1, /dev/hda2 | | SATA/SAS/SCSI 硬盘 | /dev/sda, /dev/sdb | 最常见的硬盘类型。a, b 代表第一块、第二块磁盘。分区名为 /dev/sda1, /dev/sda2。 | | NVMe 固态硬盘 | /dev/nvme0n1 | 高速 M.2 接口的SSD。nvme0是控制器,n1是命名空间(磁盘)。分区名为 /dev/nvme0n1p1。 | | 虚拟化磁盘 (VirtIO) | /dev/vda, /dev/vdb | 在KVM等虚拟化环境中常见的设备名。分区名为 /dev/vda1, /dev/vda2 | | 分区方案 | MBR vs GPT | MBR是传统方案,最大2TB,最多4主分区。GPT是现代方案,支持大容量,分区数多 | ### **分区管理 (fdisk & gdisk)** 分区是将一块物理磁盘划分成多个逻辑区域的过程 ```bash # 列出所有磁盘及其分区信息 fdisk -l # 以树状结构清晰显示 lsblk ``` ![](https://p.cikcc.com/uploads/2026/10/202512a8040ef6bfb448d4a3603ea162efedd6_cikcover.png?e=1791245758&token=jixB4ySdVnvFZUr6BLQ3A83e9Vf6XnI3NX_Cu0mi:wvoiJrKSfnJHAf97Uq441AxGf88=) - 使用 fdisk (用于MBR分区),fdisk 是一个交互式的磁盘分区工具 例如对新磁盘 /dev/sdb 进行分区 ```bash # 启动fdisk交互模式,目标是/dev/sdb fdisk /dev/sdb ``` ![](https://p.cikcc.com/uploads/2026/10/202512f31f077628684a5eb84a3bbcb9ba6a90_cikcover.png?e=1791245758&token=jixB4ySdVnvFZUr6BLQ3A83e9Vf6XnI3NX_Cu0mi:t-X780ePPuUKV3jCts1TCJeialw=) ![](https://p.cikcc.com/uploads/2026/10/2025125a20e16ba5c04ef0bf90979c4c694c6f_cikcover.png?e=1791245758&token=jixB4ySdVnvFZUr6BLQ3A83e9Vf6XnI3NX_Cu0mi:P_-2AZZpqVXd6KK64kPpnQZcIy8=) ### **格式化分区 (mkfs)** 分区后,必须创建文件系统 (格式化),才能存储数据。 常用文件系统类型: - ext4: Linux最常用的日志文件系统,稳定可靠。 - xfs: 高性能的日志文件系统,适合大文件和高性能计算 ```bash # 将 /dev/sdb1 分区格式化为 xfs 文件系统 mkfs.xfs /dev/sdb1 #查看格式化类型 blkid /dev/sdb1 # 将 /dev/sdc1 分区格式化为 ext4 文件系统 mkfs.ext4 /dev/sdc1 ``` ![](https://p.cikcc.com/uploads/2026/10/202512b3c64a5989de450bac491e4016c3a748_cikcover.png?e=1791245758&token=jixB4ySdVnvFZUr6BLQ3A83e9Vf6XnI3NX_Cu0mi:62Cp0pAvLStbvvNd8pJWwtjtxpU=) ### **逻辑卷管理 (LVM)** LVM (Logical Volume Management) 提供了比传统分区更灵活的磁盘管理方式,可以动态调整大小。 物理卷 (PV) -> 卷组 (VG) -> 逻辑卷 (LV),(将物理分区加入到存储池,再从存储池中划分出可用的逻辑分区) 例如:将 /dev/sdb1 和 /dev/sdc1 组合成LVM ```bash # 1. 创建物理卷 (PV) pvcreate /dev/sdb1 /dev/sdc1 # 2. 创建卷组 (VG),命名为 my_vg vgcreate my_vg /dev/sdb1 /dev/sdc1 # 3. 从卷组 my_vg 中创建一个名为 my_lv 的逻辑卷 (LV),大小为15GB lvcreate -n my_lv -L 15G my_vg # 4. 格式化创建好的逻辑卷 mkfs.ext4 /dev/my_vg/my_lv # 5. LVM逻辑卷可以被挂载和使用 mkdir /mnt/lvm_data mount /dev/my_vg/my_lv /mnt/lvm_data ``` ### **挂载与卸载 (mount & umount)** 挂载 (mount) ```bash # 将 /dev/sdb1 分区挂载到 /data 目录 mkdir /data mount /dev/sdb1 /data ``` 卸载 (umount) ```bash # 通过挂载点卸载 umount /data # 或者通过设备名卸载 umount /dev/sdb1 ``` 永久挂载 (/etc/fstab) 为了系统启动时能自动挂载,需要修改 /etc/fstab 文件 fstab 文件格式: <设备> <挂载点> <文件系统类型> <挂载选项> ```bash # 首先获取 /dev/sdb1 的UUID blkid /dev/sdb1 # 将获取到的UUID写入 /etc/fstab # 假设UUID为 "a1b2c3d4-..." # 在 /etc/fstab 文件末尾添加一行: UUID="a1b2c3d4-..." /data ext4 defaults 0 2 ``` 验证 fstab 配置: sudo mount -a ### **检查磁盘空间 (df & du)** 查看文件系统空间 (df) ```bash # 以易读格式显示所有挂载的文件系统的空间使用情况 df -h ``` 查看文件/目录大小 (du) ```bash # 只显示 /var/log 目录的总大小 du -sh /var/log ``` ![](https://p.cikcc.com/uploads/2026/10/20251252d8490ee32440588f37c9d8e8529a93_cikcover.png?e=1791245758&token=jixB4ySdVnvFZUr6BLQ3A83e9Vf6XnI3NX_Cu0mi:uhfTzo4j_cv0aj05qA86aUvi6vA=) **Tags:** linux, 文件系统 **Categories:** 云服务器 ---