title: 磁盘与 RAID 管理
created: 2026-06-20
updated: 2026-08-14
type: entity
tags: [storage, raid, disk, management, entity]
sources:
- raw/scripts/RAID.sh
- raw/scripts/0硬盘.sh
- raw/scripts/磁盘 .sh


磁盘与 RAID 管理

磁盘与 RAID 管理涵盖物理磁盘的查看、健康检查、分区、格式化、挂载,以及 RAID 卡管理(StorCLI/MegaCLI)、虚拟磁盘创建、热备盘配置等运维操作。

磁盘管理

查看磁盘信息

# 查看所有块设备(型号、序列号、接口、挂载点)
lsblk -o NAME,MAJ:MIN,MODEL,SERIAL,SIZE,WWN,HCTL,TRAN,VENDOR,TYPE

# 查看 SCSI 设备(HCTL、厂商、型号、容量)
lsscsi -s

# 查看硬盘硬件信息
lshw -class disk

# 查看设备 UUID 与文件系统
blkid
ls -l /dev/disk/by-uuid/
ls -l /dev/disk/by-id/

SMART 健康检查

# 查看硬盘温度
smartctl -a /dev/sda | grep -i -E 'Temperature|emp'

# 查看使用时间与序列号
sudo smartctl -i -A /dev/sdd | grep -iE 'Device Model|Serial|Power|Product'

# 批量采集
for i in {a..z}; do
    smartctl -a /dev/sd$i >> smartctl.out
done

关键阈值指标:
- Reallocated_Sector_Ct — 重映射扇区数(应为 0)
- Power_On_Hours — 通电小时数
- Temperature_Celsius — 当前温度
- Pending_Sector — 待重映射扇区(应为 0)

分区与格式化

# 交互式分区
fdisk /dev/sdb
# 或 parted(支持 GPT 大容量)
parted /dev/sdb mklabel gpt

# 格式化(ext4 / xfs)
mkfs.ext4 /dev/sdb1
mkfs.xfs /dev/sdb1

# 挂载
mkdir -p /data
mount /dev/sdb1 /data

# 永久挂载(写入 fstab)
echo "/dev/sdb1 /data ext4 defaults 0 0" >> /etc/fstab
mount -a   # 验证 fstab 无错误

I/O 监控

iostat -x 1    # 每 1 秒输出扩展统计
指标 含义
r/s, w/s 每秒读写请求数(IOPS)
rkB/s, wkB/s 每秒读写数据量(吞吐量)
await 平均 I/O 等待时间(ms),反映延迟
%util 设备利用率(不一定是瓶颈指标)

RAID 管理(StorCLI / MegaCLI)

StorCLI 安装

StorCLI 是 Broadcom/LSI RAID 卡的官方管理工具。

# 安装
yum install -y storcli

# 创建软链接
sudo ln -s /opt/MegaRAID/storcli/storcli64 /bin/storcli64
sudo ln -s /opt/MegaRAID/storcli/storcli64 /sbin/storcli

# 下载地址
# https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/007.1907.0000.0000_Unified_StorCLI.zip

基础查询

查看 RAID 卡

storcli show

输出示例:

Ctl Model      AdapterType   VendId DevId SubVendId SubDevId PCI Address
  0 SAS9311-8i   SAS3008(C0) 0x1000  0x97    0x1000   0x3090 00:b3:00:00

Ctl = Controller ID(RAID 卡编号),后续命令用 c0c1 引用。

查看磁盘信息

storcli /c0 show

输出列含义:

字段 说明
EID:Slt Enclosure ID:Slot ID(背板:槽位)
DID Device ID
State UGood=正常,UBad=故障
DG Disk Group(属于哪个 RAID 组)
Size 容量
Intf SATA/SAS/NVMe
Med HDD/SSD
Sp 热备状态

查看详细配置

# 完整信息输出到文件
storcli /c0 show all logfile=logfile.txt

# 查看控制器日志
storcli /c0 show termlog
storcli /c0 show events

虚拟磁盘(VD / RAID 组)管理

创建 RAID

# RAID 0(条带化)
storcli /c0 add vd r0 drives=93:3-4

# RAID 1(镜像)
storcli /c0 add VD r1 drives=30:3,30:4

# RAID 5(分布式奇偶校验)
storcli /c0 add VD r5 drives=252:0-3

# RAID 5(带缓存策略)
storcli /c0 add vd type=raid5 size=all drives=8:0,8:1,8:2 awb ra

删除 RAID

storcli /c0/vall show        # 查看所有虚拟磁盘
storcli /c0/v0 delete force  # 删除 VD0(force 跳过确认)

缓存策略

# 批量设置(推荐)
storcli /c0 /vall set rdcache=RA wrcache=WB pdcache=off

# 写入缓存:WT=WriteThrough, WB=WriteBack, AWB=AdaptiveWriteBack
storcli /c0 /v1 set wrcache=awb

# 刷新缓存
storcli /c0 flushcache
策略 说明 适用场景
WT (WriteThrough) 数据写入磁盘后才返回 数据安全优先
WB (WriteBack) 数据写入缓存即返回 性能优先(需电池/电容保护)
AWB (AdaptiveWB) 根据是否有电池自动切换 折中方案
RA (ReadAhead) 预读 顺序读优化
NoRA 不预读 随机读优化

热备盘(HotSpare)

# 全局热备
storcli /c0/e8/s3 add hotsparedrive

# 局部热备(指定 DG=0 的热备)
storcli /c0/e8/s3 add hotsparedrive dgs=0

# 删除热备
storcli /c0/e8/s3 delete hotsparedrive

# 自动全局热备
storcli /c0 set eghs eug=on
storcli /c0 set eghs smarter=on

物理盘操作

点亮故障灯(定位磁盘)

storcli /c0/e2/s5 start locate    # 亮灯
storcli /c0/e2/s5 stop locate     # 灭灯

硬盘擦除

storcli /c0/e2/s11 start erase simple   # 简单擦除(1遍)
storcli /c0/e2/s11 start erase normal   # 普通擦除(3遍)
storcli /c0/e2/s11 start erase thorough # 彻底擦除(9遍)
storcli /c0/e2/s11 show erase           # 查看进度
storcli /c0/e2/s11 stop erase           # 停止

JBOD / 直通模式

# 切换 RAID 卡 Personality
storcli /c0 set personality = jbod
storcli /c0 set personality = raid

# 单盘直通
storcli /c0/e252/s1 set jbod
storcli /c0/e252/s1 del jbod force

# 批量设置
storcli64 /c0/e8/sall set jbod

# 清理状态
storcli /c0/e252/s1 set good force

RAID 维护

一致性检查(CC)

storcli /c0/vall stop cc                       # 停止一致性检查
storcli /c0 set CC=conc starttime=2012/02/21 00  # 定时执行

初始化

# RAID 快速初始化(仅前 100MB)
storcli /c0/vx start init

# 完全初始化(全盘写0,耗时较长)
storcli /c0/vx start init full

# 后台初始化(BGI)
storcli /c0 /vall set autobgi=off
storcli64 /c0/vall show autobgi

巡读(Patrol Read)

storcli /c0 set patrolread=on     # 开启
storcli /c0 show patrolread       # 查看状态

RAID 重建

storcli /c0 set rebuildrate=50    # 设置重建速率(1-100)
storcli /c0 show rebuildrate      # 查看
storcli /c0/e2/s5 show rebuild    # 查看某盘重建进度
storcli /c0/e2/s5 pause rebuild   # 暂停

固件升级

storcli /c0 download file=mr3108fw.rom noverchk
storcli /c0 restart

MegaCLI(旧版兼容)

旧版 RAID 卡仍使用 MegaCLI:

# 查看物理盘
megacli -PDList -aALL

# 查看逻辑盘
megacli ldinfo lall a0

# 创建 RAID5(物理盘 1:2,1:3,1:4 + 热备 1:5)
megacli -CfgLdAdd -r5 [1:2,1:3,1:4] WB Direct -Hsp[1:5] -a0

# 创建 RAID10
megacli –CfgSpanAdd –r10 –Array0[1:2,1:3] –Array1[1:4,1:5] WB Direct -a0

常见故障处理

问题 排查命令 对策
磁盘 UBad storcli /c0/e2/s5 show all 更换硬盘,触发重建
RAID Degraded storcli /c0/vall show 检查热备盘,确认重建
缓存数据丢失 storcli /c0 flushcache 尝试刷新缓存
外部配置冲突 storcli /c0/fall delete 导入或清除外部配置

相关页面