Linux系统的硬盘和存储管理是系统运维中的核心工作之一,合理的存储配置能够保障系统稳定运行,提升资源利用率。做好存储管理需要掌握从硬件识别到分区、挂载、扩容的全流程操作。

硬盘识别与基础信息查看
在对硬盘进行操作前,首先需要确认系统中已识别的硬盘设备。可以通过lsblk命令查看所有块设备的信息,包括设备名称、容量、挂载点等。
# 查看所有块设备信息 lsblk # 查看硬盘的详细参数,比如型号、扇区大小等 fdisk -l
执行fdisk -l后,会列出所有识别到的硬盘,比如/dev/sda、/dev/sdb这类设备名,其中/dev/sda通常是系统第一块硬盘。
硬盘分区操作
新添加的硬盘如果没有分区,需要先创建分区才能使用。常用的分区工具包括fdisk和parted,fdisk适合处理2TB以下的硬盘,parted支持更大容量的硬盘。
使用fdisk创建MBR分区
以/dev/sdb为例,创建分区的步骤如下:
# 进入fdisk交互界面 fdisk /dev/sdb # 交互界面内常用命令: # n:新建分区 # p:查看分区表 # w:保存分区表并退出 # q:不保存退出 # d:删除分区
创建分区时,需要选择分区类型,主分区最多只能有4个,如果需要更多分区可以创建扩展分区,再在扩展分区内创建逻辑分区。
使用parted创建GPT分区
如果硬盘容量超过2TB,建议使用GPT分区表,操作示例如下:
# 进入parted交互界面 parted /dev/sdb # 设置分区表类型为GPT mklabel gpt # 创建一个从0到100G的主分区 mkpart primary 0 100G # 查看分区结果 print # 退出 quit
文件系统创建与挂载
分区创建完成后,需要为分区创建文件系统,常用的Linux文件系统有ext4、xfs等,然后挂载到系统的目录上才能使用。
创建文件系统
以ext4文件系统为例,为/dev/sdb1分区创建文件系统的命令如下:
# 为/dev/sdb1创建ext4文件系统 mkfs.ext4 /dev/sdb1 # 如果要创建xfs文件系统,使用以下命令 mkfs.xfs /dev/sdb1
临时挂载与永久挂载
临时挂载可以直接使用mount命令,重启后会失效:
# 创建挂载目录 mkdir -p /data # 挂载分区到/data目录 mount /dev/sdb1 /data # 查看挂载结果 df -h
如果需要永久挂载,需要编辑/etc/fstab文件,添加对应的挂载配置:
# 查看分区的UUID,避免设备名变动导致挂载失败 blkid /dev/sdb1 # 编辑fstab文件 vim /etc/fstab # 在文件末尾添加以下内容,UUID替换为实际查询到的值 UUID=xxxx-xxxx-xxxx-xxxx /data ext4 defaults 0 0
添加完成后,可以执行mount -a命令测试配置是否正确,没有报错说明配置生效。
LVM逻辑卷管理
LVM(逻辑卷管理)可以让存储管理更加灵活,支持动态扩容、缩容,不需要重新分区和格式化。
LVM核心概念
- PV(物理卷):对应实际的硬盘分区或者整个硬盘
- VG(卷组):由多个PV组成,是存储资源的池
- LV(逻辑卷):从VG中划分出来的逻辑存储单元,可以挂载使用
LVM操作流程
以/dev/sdb1和/dev/sdc1两个分区为例,创建LVM并挂载的步骤如下:
# 1. 创建物理卷 pvcreate /dev/sdb1 /dev/sdc1 # 查看物理卷信息 pvdisplay # 2. 创建卷组,名称为vg_data vgcreate vg_data /dev/sdb1 /dev/sdc1 # 查看卷组信息 vgdisplay # 3. 创建逻辑卷,名称为lv_data,大小为50G lvcreate -L 50G -n lv_data vg_data # 查看逻辑卷信息 lvdisplay # 4. 为逻辑卷创建文件系统 mkfs.ext4 /dev/vg_data/lv_data # 5. 挂载逻辑卷 mkdir -p /lvm_data mount /dev/vg_data/lv_data /lvm_data
LVM扩容操作
如果逻辑卷空间不足,可以动态扩容,前提是卷组还有剩余空间:
# 扩容逻辑卷,增加20G空间 lvextend -L +20G /dev/vg_data/lv_data # 刷新文件系统大小,ext4文件系统使用以下命令 resize2fs /dev/vg_data/lv_data # 如果是xfs文件系统,使用以下命令 xfs_growfs /lvm_data
存储使用情况监控
日常运维中需要定期监控存储使用情况,避免空间占满导致服务异常。
常用的监控命令如下:
# 查看所有挂载点的空间使用情况,人类可读格式 df -h # 查看指定目录下各文件、子目录的空间占用 du -sh /data/* # 查看inode使用情况,inode不足也会导致无法写入文件 df -i
常见存储问题排查
如果遇到存储相关的问题,可以按照以下思路排查:
- 空间不足:先通过
df -h确认是哪个挂载点满了,再用du命令找到大文件,确认是否可以删除或者迁移 - 无法挂载:检查
/etc/fstab配置是否正确,文件系统是否损坏,可以通过fsck命令修复文件系统 - 硬盘识别异常:检查硬盘物理连接是否正常,通过
dmesg命令查看内核日志,确认是否有硬盘识别错误的信息
操作存储相关命令时,一定要确认设备名称和操作对象,避免误删重要分区的数据,建议操作前对重要数据进行备份。