---
title: OceanBase 数据库服务器 RAID 卡检查、配置方法及最佳实践-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于OceanBase 数据库服务器 RAID 卡检查、配置方法及最佳实践相关的常见问题和使用技巧，帮助您快速解决OceanBase 数据库服务器 RAID 卡检查、配置方法及最佳实践的难题。
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# OceanBase 数据库服务器 RAID 卡检查、配置方法及最佳实践

更新时间：2026-09-28 02:26

内容类型：TechNote  

## 总结说明

本文档介绍了 OceanBase 数据库服务器 RAID 卡的检查方法、配置步骤、写策略说明及最佳实践建议。涵盖通过 BIOS 界面、iBMC 带外管控平台以及 `storcli` 命令行工具三种方式查看和配置 RAID 卡，并提供了 LSI 系列 RAID 卡关闭 PR 和 CC 的操作方法。

## 详细说明

### RAID 介绍

**RAID**（Redundant Array of Independent Disks，独立磁盘冗余阵列）是一种将多个物理硬盘组合成一个逻辑存储单元的技术，旨在提升数据存储的**性能**、**可靠性**或两者兼得。其核心思想是利用多块磁盘并行读写，并通过冗余机制（如镜像、校验码）避免单块磁盘故障导致数据丢失。RAID 主要分为软 RAID、硬 RAID 两种。软 RAID 是由操作系统来完成的，所以处理 I/O 时还需要 CPU，建议有条件的话采用硬件 RAID 卡。硬件 RAID 卡在独立的 RAID 控制器和 I/O 处理下，不占用 CPU 资源，相比软 RAID 拥有更好的 I/O 性能。

常见的 RAID 级别有 RAID 0/1/5/6/10，各种级别的对比如下表所示：

| 级别 | 描述 | 最少磁盘数 | 优点 | 缺点 | 典型场景 |
| --- | --- | --- | --- | --- | --- |
| **RAID 0** | 条带化（Striping） | 2 | 高读写性能，无容量损失 | 无冗余，任一块盘损坏则所有数据丢失 | 视频编辑、临时缓存、对性能要求高但可容忍丢失的环境 |
| **RAID 1** | 镜像（Mirroring） | 2 | 高可靠性，读性能提升，允许坏一块盘 | 容量利用率仅 50%，写性能略降 | 操作系统盘、数据库日志、关键配置文件 |
| **RAID 5** | 条带化+分布式奇偶校验 | 3 | 兼顾性能、容量与冗余（坏一块盘可恢复） | 写性能受校验计算影响，重建耗时长 | 文件服务器、通用数据存储、Web 应用 |
| **RAID 6** | 条带化+双重奇偶校验 | 4 | 允许同时坏两块盘，可靠性更高 | 写性能更差，计算开销大，容量损失为 2 块盘 | 大容量归档、备份存储、高可靠数据中心 |
| **RAID 10** | 先镜像后条带（RAID 1+0） | 4 | 兼具高性能与高冗余（允许坏多块盘，只要不在同一镜像组） | 容量利用率 50%，成本高 | 数据库服务器、高性能计算、虚拟机存储 |

### RAID 卡写策略介绍

常见 RAID 卡的写策略有以下三种：

- **Write Through（WT）**：不开启 Cache 功能，数据写入不通过 RAID 卡缓存，直接写入到硬盘，写入性能比较低。

  > Write through: The controller sends a data transfer completion signal to the host when the drive subsystem receives all the data in a transaction.
 - **Write Back（WB）**：开启 Cache 功能，前提是 RAID 卡必须有超级电容或者 BBU 电池才行；如果电池不在线，则退化为 Write Through 策略。

  > Write back: The controller sends a data transfer completion signal to the host when the controller cache receives all the data in a transaction. If you select the Write back policy and the battery is absent, the firmware disables the Write back policy and defaults to the Write through policy.
 - **Always Write Back（AWB）**：总是开启 Cache 功能。即使电池不在线，也强制使用 Write Back 策略。

  > Always Write back: The controller sends a data transfer completion signal to the host when the controller cache receives all the data in a transaction. If you select the Always write back policy and the battery is absent, the firmware is forced to use the Write back policy.

总结如下：

| 写策略缩写 | 全称 | 含义解释 |
| --- | --- | --- |
| **WT** | Write Through（透写） | 数据直接写入物理硬盘，不利用 RAID 卡缓存加速写入，安全性高但性能较低 |
| **WB** | Write Back（回写） | 数据先写入 RAID 卡高速缓存，即报告写入完成，随后再写入物理硬盘，性能高。此模式通常要求 RAID 卡配备电池或超级电容，以防断电导致缓存数据丢失 |
| **AWB** | Always Write Back（始终回写） | 一种特殊的回写模式，即使 RAID 卡没有电池或超级电容 BBU 保护，也强制使用回写策略以提升性能 |

**备注**：

1. BBU（Battery Backup Unit，电池备份单元）为 RAID 卡缓存提供备用电源（通常为电池或超级电容），在系统断电时，可以：
      1. 维持缓存供电：保护缓存中的数据不丢失
      2. 自动刷盘：在电力恢复后，将缓存数据安全写入磁盘
 2. 不是所有的 RAID 卡都带有 Cache 的，如果 RAID 卡没带 Cache 的，则没法配置成 Cache Write Back（回写）
 3. 一些特定型号的 RAID 卡允许设置全局的写策略，如果全局写策略被设置为 WT，那么即使单个 VD（虚拟磁盘）设置为 Write Back（回写），也会使用 Write Through（透写）

### RAID 卡检查与配置方法

#### 方法一：通过 BIOS 界面查看和配置 RAID

开机后，等待阵列的巡检完成，在启动界面按下 `Ctrl+R` 键进入阵列设置界面。

通过 BIOS 阵列设置界面可以查看当前 RAID 卡的配置情况，包括 RAID 级别和写模式。例如，可以确认当前 RAID 卡是否配置了 RAID 1、RAID 5，以及写模式是 Write Through（透写）还是 Write Back（回写）。

说明：不是所有的 RAID 卡都带有 Cache 的，如果 RAID 卡没带 Cache 的，则没法配置成 Cache Write Back（回写）。

#### 方法二：通过 iBMC 查看和配置 RAID

在服务器的带外管控页面（即 iBMC）上，可以查看 RAID 卡的配置信息，包括 RAID 级别和写策略。

如果物理机没有配置 RAID 卡的话，则会显示「当前无可操作的 RAID 控制器」。

#### 方法三：使用 storcli 命令查看和修改写策略

> 备注：需要先安装 `storcli-*.noarch.rpm` 包，然后才能使用 storcli 命令。

1. **查看所有虚拟驱动器**

执行以下命令来列出所有 RAID 卷（虚拟驱动器）的基本信息：

```bash
# 请将 c0 替换为你实际的控制器的编号
/opt/MegaRAID/storcli/storcli64 /c0 /vall show

```

2. **查看特定虚拟驱动器的详细信息**

要获取包括写策略在内的详细信息，你需要查看特定的虚拟驱动器：

```bash
/opt/MegaRAID/storcli/storcli64 /c0/v0 show

# 使用 storcli 确认写策略
/opt/MegaRAID/storcli/storcli64 /c0/v0 show | grep -i cache
# 确保输出显示 "Cache = AWB"

# 检查是否有策略降级
/opt/MegaRAID/storcli/storcli64 /c0/v0 show | grep -i "current"

```

说明：这里的 `v0` 是指虚拟驱动器 0，你需要根据第一步查询结果中的虚拟驱动器编号进行替换。

在命令输出中，请留意 `Cache` 字段。这个字段的取值就代表了当前的写策略（Write Policy）。

3. **设置特定虚拟驱动器的写策略**

```bash
# 将编号为 0 的控制器上编号为 0 的虚拟驱动器的写策略设置为回写（WB）
/opt/MegaRAID/storcli/storcli64 /c0/v0 set wrcache=WB

# 将编号为 0 的控制器上编号为 1 的虚拟驱动器的写策略设置为总是回写（AWB）
/opt/MegaRAID/storcli/storcli64 /c0/v1 set wrcache=AWB

```

说明：storcli 输出中的 `RWTD` 代表：R = Read Ahead Always、W = Write Through、D = Direct I/O。

### OceanBase 数据库服务器 RAID 卡最佳实践

1. 因为高性能 NVMe SSD 磁盘使用软 RAID 的方式性能不佳，而使用硬 RAID 卡的话硬件成本又较高（性价比不高），如果客户对成本较敏感的话，不建议在 NVMe SSD 磁盘上再做 RAID
 2. 普通 SSD 盘如果想做 RAID 的话，推荐 OS 操作系统盘使用 RAID 1，OceanBase 数据库使用的数据盘和日志盘配置成 RAID 5
 3. 通常 RAID 卡的读策略配置成 Adaptive Read-Ahead 自适应或 Read Ahead，RAID 卡的写策略一定要配置成 `Write Back With BBU`
 4. RAID 卡需要关闭 Disk Cache，同时开启自动 Rebuild

### LSI 系列 RAID 卡关闭 PR 和 CC

LSI 系列 RAID 卡缺省开启一致性校验（Consistency Check，用于验证使用 RAID 级别 1、5、6、10、50 中数据的正确性，以下简称 CC）和巡读（Patrol Read，用于检查硬盘可能存在的错误并尝试修复，以下简称 PR），导致 I/O 抖动异常，进而导致业务吞吐抖动。

**相关的检查命令**：

```bash
# 查看当前 CC 配置和状态，若 Mode 不为 Disable 则需要关闭
/opt/MegaRAID/storcli/storcli64 /call show cc

# 关闭 CC 功能
/opt/MegaRAID/storcli/storcli64 /call set cc=off

# 关闭当前正在执行的 CC 任务
/opt/MegaRAID/storcli/storcli64 /call /vall stop cc

# 查看当前 PR 配置和状态，若 Mode 不为 Disable 则需要关闭
/opt/MegaRAID/storcli/storcli64 /call show pr

# 关闭 PR 功能
/opt/MegaRAID/storcli/storcli64 /call set pr=off

# 关闭当前正在执行的 PR 任务
/opt/MegaRAID/storcli/storcli64 /call stop patrolread

```

**示例输出**：

```bash
[root@xxx-prd-obs01 ~]# /opt/MegaRAID/storcli/storcli64 /call show cc
CLI Version = 007.3405.0000.0000 May 15, 2025
Operating system = Linux 4.19.90-89.11.v2401.ky10.x86_64
Controller = 0
Status = Success
Description = None

Controller Properties :
=====================

-----------------------------------------------
Ctrl_Prop                 Value
-----------------------------------------------
CC Operation Mode         Concurrent
CC Execution Delay        168 hours
CC Next Starttime         01/24/2026, 03:00:00
CC Current State          Stopped
CC Number of iterations   13
CC Number of VD completed 2
CC Excluded VDs           None
-----------------------------------------------

[root@xxx-prd-obs01 ~]# /opt/MegaRAID/storcli/storcli64 /call show pr
CLI Version = 007.3405.0000.0000 May 15, 2025
Operating system = Linux 4.19.90-89.11.v2401.ky10.x86_64
Controller = 0
Status = Success
Description = None

---------------------------------------------
Ctrl_Prop               Value
---------------------------------------------
PR Mode                 Auto
PR Execution Delay      168 hours
PR iterations completed 0
PR Next Start time      01/24/2026, 03:00:00
PR on SSD               Disabled
PR Current State        Stopped
PR Excluded VDs         None
PR MaxConcurrentPd      248
---------------------------------------------

```

## 适用版本

所有版本。

Previous

[迁移复制期间源端 IO 未打标导致 SQL RT 飙高](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003642859)

Next

[500 租户内存暴增造成内存不足](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000006823347) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
