1. 磁盘管理基础:从物理存储到逻辑组织
作为一名运维工程师,磁盘管理是最基础也最关键的技能之一。无论是5G时代的海量数据存储,还是日常服务器维护,对磁盘的有效管理直接影响系统性能和稳定性。让我们从最基础的磁盘识别开始,逐步深入到高级管理技巧。
1.1 磁盘识别与查看实战
在Linux系统中,我们主要通过几个核心命令来了解磁盘状态。lsblk命令就像系统的"X光机",能清晰展示所有块设备的层级关系。我习惯先用它快速获取磁盘和分区的拓扑结构:
bash复制$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 500G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 498.5G 0 part
└─vg-root 253:0 0 498.5G 0 lvm /
这里有几个关键点需要注意:
- TYPE="disk"表示物理磁盘(如sda)
- TYPE="part"表示分区(如sda1)
- 带MOUNTPOINT的表示已挂载分区
当需要更详细的分区表信息时,fdisk -l是更好的选择。这个命令会显示磁盘的物理特性,包括分区表类型(MBR/GPT)、扇区大小等关键参数。但要注意它需要root权限:
bash复制$ sudo fdisk -l /dev/sda
Disk /dev/sda: 500 GiB, 536870912000 bytes, 1048576000 sectors
Disk model: Samsung SSD 860
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 3147775 2097152 1G Linux filesystem
/dev/sda3 3147776 1048575966 1045428191 498.5G Linux LVM
注意:在生产环境中执行fdisk前,务必确认目标磁盘正确。误操作可能导致数据丢失。
对于已挂载文件系统的使用情况,df -h提供了直观的视角。我特别喜欢-h参数的人性化显示,它能自动转换GB/MB单位:
bash复制$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg-root 498G 78G 420G 16% /
/dev/sda2 976M 120M 789M 13% /boot
而du -sh则是分析目录占用空间的利器。在排查磁盘空间不足问题时,我常用这个命令组合快速定位"大胃王":
bash复制$ du -sh /var/log/*
12M /var/log/auth.log
1.2G /var/log/syslog
1.2 磁盘分区:MBR与GPT的选择艺术
分区是磁盘管理的重要环节。在5G时代,数据量呈指数级增长,选择合适的分区方案尤为重要。传统MBR分区有2TB的限制,而GPT分区则支持更大的磁盘容量。
对于MBR分区,fdisk是经典工具。它的交互式界面虽然略显古老,但功能强大:
bash复制$ su
