Linux磁盘管理命令与RAID技术详解

一、磁盘管理命令对比

命令 功能描述 常用参数 适用场景
df 显示文件系统磁盘空间使用情况 -h(人类可读), -T(文件系统类型) 快速查看磁盘剩余空间
du 统计文件和目录磁盘使用量 -sh(汇总大小), --max-depth=N 查找大文件/目录
lsblk 列出块设备信息 -f(文件系统), -o(自定义列) 查看磁盘分区和挂载关系
fdisk 磁盘分区工具 -l(列表), /dev/sdX(操作指定磁盘) 磁盘分区管理
parted 高级分区工具(支持GPT) -l(列表), mkpart(创建分区) 大于2TB磁盘分区

二、命令详解与示例

1. df - 磁盘空间检查

功能:显示文件系统的总空间、已用空间和可用空间
常用参数

df -h              # 人类可读格式(GB/MB)
df -Th             # 显示文件系统类型
df -i              # 查看inode使用情况

输出示例

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   20G   30G  40% /

2. du - 文件/目录空间占用

功能:计算文件或目录的磁盘使用量
常用参数

du -sh /var/log    # 查看/var/log总大小
du -h --max-depth=1 /home  # 查看/home下各目录大小
du -ah /tmp | sort -rh | head -n 10  # 找出/tmp最大的10个文件

3. lsblk - 块设备列表

功能:显示磁盘和分区的树状结构
常用参数

lsblk -f           # 显示文件系统类型和UUID
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT  # 自定义列

输出示例

NAME   SIZE FSTYPE MOUNTPOINT
sda    200G        
├─sda1 50G  ext4   /
└─sda2 150G xfs    /data

4. fdisk - 分区管理

功能:MBR分区表的磁盘操作
常用操作

sudo fdisk -l               # 列出所有磁盘
sudo fdisk /dev/sdb         # 对sdb进行操作
  > n                      # 新建分区
  > p                      # 打印分区表
  > w                      # 写入并退出

5. parted - GPT分区工具

功能:支持GPT分区表和大于2TB的磁盘
示例

sudo parted /dev/sdc
  (parted) mklabel gpt     # 创建GPT分区表
  (parted) mkpart primary 0% 100%  # 创建整个磁盘的分区

三、RAID技术详解

1. RAID级别对比

RAID级别 最少磁盘数 冗余性 读性能 写性能 适用场景
RAID0 2 极高 极高 高性能临时数据
RAID1 2 镜像 重要数据备份
RAID5 3 分布式校验 平衡存储效率与安全性
RAID6 4 双校验 关键数据(容忍双盘故障)
RAID10 4 镜像+条带 极高 数据库/虚拟机等高性能需求

2. Linux软RAID配置(mdadm)

创建RAID5示例

# 安装工具
sudo apt install mdadm

# 创建RAID5 (3个活动盘+1个热备)
sudo mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sd{b,c,d} --spare-devices=1 /dev/sde

# 查看状态
cat /proc/mdstat
sudo mdadm --detail /dev/md0

# 格式化和挂载
sudo mkfs.xfs /dev/md0
sudo mount /dev/md0 /mnt/raid

3. RAID监控与维护

# 添加新磁盘到阵列
sudo mdadm --add /dev/md0 /dev/sdf

# 移除故障盘
sudo mdadm --fail /dev/md0 /dev/sdb
sudo mdadm --remove /dev/md0 /dev/sdb

# 监控RAID状态
watch -n 1 cat /proc/mdstat

四、命令与RAID选择指南

1. 命令选择场景

  • 快速查看空间df -h
  • 找大文件du -sh * | sort -rh
  • 分区管理fdisk(MBR), parted(GPT)
  • RAID管理mdadm

2. RAID级别选择

  • 最大化性能 → RAID0 或 RAID10
  • 低成本冗余 → RAID5
  • 关键数据保护 → RAID6 或 RAID10
  • 个人备份 → RAID1

3. 运维建议

  1. 生产环境避免使用RAID0
  2. RAID5/6重建期间避免写入大量数据
  3. 定期检查/proc/mdstat和SMART状态
  4. 重要数据即使使用RAID也需额外备份

通过掌握这些命令和RAID技术,您可以有效管理Linux服务器的存储资源并确保数据安全!

作者:admin  创建时间:2025-05-29 10:05
最后编辑:admin  更新时间:2025-05-29 13:26