<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>RAID on 吾爱主机</title><link>https://blog.waihost.com/tags/raid/</link><description>Recent content in RAID on 吾爱主机</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Wed, 04 Jun 2025 10:12:12 +0800</lastBuildDate><atom:link href="https://blog.waihost.com/tags/raid/index.xml" rel="self" type="application/rss+xml"/><item><title>使用bcache方法使SSD做HDD缓存优化IO速度</title><link>https://blog.waihost.com/posts/bcache-ssd-hdd-cache/</link><pubDate>Wed, 04 Jun 2025 10:12:12 +0800</pubDate><guid>https://blog.waihost.com/posts/bcache-ssd-hdd-cache/</guid><description>&lt;img src="https://blog.waihost.com/images/covers/bcache-ssd-hdd-cache.svg" alt="Featured image of post 使用bcache方法使SSD做HDD缓存优化IO速度" /&gt;&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;🎯 教程目标&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在 &lt;code&gt;sda&lt;/code&gt; 和 &lt;code&gt;sdb&lt;/code&gt; 硬盘上创建一个名为 &lt;code&gt;md10&lt;/code&gt; 的 RAID0 阵列。&lt;/li&gt;
&lt;li&gt;使用现有的 NVMe SSD RAID0 阵列 &lt;code&gt;md4&lt;/code&gt; 作为 &lt;code&gt;md10&lt;/code&gt; 的高速缓存（使用 &lt;code&gt;bcache&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;确保配置在系统重启后依然有效。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;⚠️ 重要警告与准备事项&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;‼️ 数据备份 ‼️&lt;/strong&gt;: 此教程中的操作将&lt;strong&gt;清除 &lt;code&gt;sda&lt;/code&gt;、&lt;code&gt;sdb&lt;/code&gt; 上的所有数据&lt;/strong&gt;，并且 &lt;code&gt;md4&lt;/code&gt; 设备也将被重新格式化作为缓存，其上的现有数据（如果有的话）也会丢失。&lt;strong&gt;在开始任何操作之前，请务必备份所有重要数据！&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;RAID0 风险&lt;/strong&gt;: 您将为 &lt;code&gt;md10&lt;/code&gt; 配置 RAID0。RAID0 可以提升性能和容量，但&lt;strong&gt;没有任何数据冗余&lt;/strong&gt;。如果 &lt;code&gt;sda&lt;/code&gt; 或 &lt;code&gt;sdb&lt;/code&gt; 中任何一个硬盘损坏，&lt;code&gt;md10&lt;/code&gt; 上的所有数据都将永久丢失。请确认您已了解并接受此风险。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;所需工具&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;mdadm&lt;/code&gt;: 用于管理 RAID 设备 (您的系统既然已经有 &lt;code&gt;md2&lt;/code&gt;, &lt;code&gt;md3&lt;/code&gt;, &lt;code&gt;md4&lt;/code&gt;，那么 &lt;code&gt;mdadm&lt;/code&gt; 应该已经安装)。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bcache-tools&lt;/code&gt;: 用于配置 &lt;code&gt;bcache&lt;/code&gt;。如果未安装，后续步骤会提示安装。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;设备确认&lt;/strong&gt;: 根据您之前的 &lt;code&gt;lsblk&lt;/code&gt; 输出：
&lt;ul&gt;
&lt;li&gt;HDD 硬盘: &lt;code&gt;/dev/sda&lt;/code&gt;, &lt;code&gt;/dev/sdb&lt;/code&gt; (每个 3.6T)&lt;/li&gt;
&lt;li&gt;NVMe SSD RAID0 缓存设备: &lt;code&gt;/dev/md4&lt;/code&gt; (825.1G, 由 &lt;code&gt;nvme0n1p4&lt;/code&gt; 和 &lt;code&gt;nvme1n1p4&lt;/code&gt; 组成)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;🛠️ 操作步骤&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="第-1-步准备-hdd-硬盘-sda-sdb"&gt;&lt;a href="#%e7%ac%ac-1-%e6%ad%a5%e5%87%86%e5%a4%87-hdd-%e7%a1%ac%e7%9b%98-sda-sdb" class="header-anchor"&gt;&lt;/a&gt;第 1 步：准备 HDD 硬盘 (&lt;code&gt;sda&lt;/code&gt;, &lt;code&gt;sdb&lt;/code&gt;)
&lt;/h3&gt;&lt;p&gt;为确保没有旧的元数据干扰，我们将清除 &lt;code&gt;sda&lt;/code&gt; 和 &lt;code&gt;sdb&lt;/code&gt; 上的文件系统和分区表签名。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo wipefs -a /dev/sda
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo wipefs -a /dev/sdb
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果您之前已对这两个硬盘执行了彻底的 &lt;code&gt;dd&lt;/code&gt; 清零操作，此步骤可以酌情跳过，但执行通常更安全。&lt;/p&gt;
&lt;h3 id="第-2-步创建-hdd-raid0-阵列-md10"&gt;&lt;a href="#%e7%ac%ac-2-%e6%ad%a5%e5%88%9b%e5%bb%ba-hdd-raid0-%e9%98%b5%e5%88%97-md10" class="header-anchor"&gt;&lt;/a&gt;第 2 步：创建 HDD RAID0 阵列 (&lt;code&gt;md10&lt;/code&gt;)
&lt;/h3&gt;&lt;p&gt;使用 &lt;code&gt;mdadm&lt;/code&gt; 将 &lt;code&gt;/dev/sda&lt;/code&gt; 和 &lt;code&gt;/dev/sdb&lt;/code&gt; 组建成一个名为 &lt;code&gt;/dev/md10&lt;/code&gt; 的 RAID0 阵列。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo mdadm --create /dev/md10 --level=0 --raid-devices=2 /dev/sda /dev/sdb
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;--create /dev/md10&lt;/code&gt;: 创建名为 &lt;code&gt;md10&lt;/code&gt; 的新阵列。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--level=0&lt;/code&gt;: 设置 RAID 级别为 0 (条带化)。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--raid-devices=2&lt;/code&gt;: 指定阵列中有 2 个物理设备。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;创建完成后，检查其状态：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat /proc/mdstat
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;等待 &lt;code&gt;md10&lt;/code&gt; 阵列的状态显示为 &lt;code&gt;active&lt;/code&gt;，并且同步完成（对于 RAID0，这通常很快）。&lt;/p&gt;
&lt;h3 id="第-3-步准备缓存设备-md4"&gt;&lt;a href="#%e7%ac%ac-3-%e6%ad%a5%e5%87%86%e5%a4%87%e7%bc%93%e5%ad%98%e8%ae%be%e5%a4%87-md4" class="header-anchor"&gt;&lt;/a&gt;第 3 步：准备缓存设备 (&lt;code&gt;md4&lt;/code&gt;)
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;md4&lt;/code&gt; 是您用作缓存的 NVMe SSD RAID0 阵列。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;确保 &lt;code&gt;md4&lt;/code&gt; 未被使用&lt;/strong&gt;: 根据您之前的 &lt;code&gt;lsblk&lt;/code&gt; 输出，&lt;code&gt;md4&lt;/code&gt; 没有挂载点，这很适合。如果它被挂载了，您需要先卸载它 (&lt;code&gt;sudo umount /mount/point/of/md4&lt;/code&gt;)。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;清除 &lt;code&gt;md4&lt;/code&gt; 上的任何旧文件系统签名&lt;/strong&gt; (以防万一):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo wipefs -a /dev/md4
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="第-4-步配置-bcache"&gt;&lt;a href="#%e7%ac%ac-4-%e6%ad%a5%e9%85%8d%e7%bd%ae-bcache" class="header-anchor"&gt;&lt;/a&gt;第 4 步：配置 &lt;code&gt;bcache&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;现在我们将 &lt;code&gt;/dev/md10&lt;/code&gt; 设置为 bcache 的后端存储设备，&lt;code&gt;/dev/md4&lt;/code&gt; 设置为缓存设备。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;安装 &lt;code&gt;bcache-tools&lt;/code&gt;&lt;/strong&gt; (如果尚未安装):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;对于 Debian/Ubuntu 系统:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;apt&lt;/span&gt; &lt;span class="n"&gt;update&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;apt&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;bcache&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;tools&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;对于 CentOS/RHEL/Fedora 系统:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;yum&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;bcache&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;tools&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 或者&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# sudo dnf install bcache-tools&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;确保 &lt;code&gt;bcache&lt;/code&gt; 内核模块已加载&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;lsmod | grep bcache
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果没有任何输出，请加载它:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo modprobe bcache
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;将后端设备 (&lt;code&gt;/dev/md10&lt;/code&gt;) 格式化为 bcache 后端&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo make-bcache -B /dev/md10
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果提示设备忙 (&lt;code&gt;device or resource busy&lt;/code&gt;)，请确保没有进程正在使用 &lt;code&gt;/dev/md10&lt;/code&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;将缓存设备 (&lt;code&gt;/dev/md4&lt;/code&gt;) 格式化为 bcache 缓存设备&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo make-bcache -C /dev/md4
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;执行此命令后，会输出一个 &lt;strong&gt;&lt;code&gt;Cset UUID&lt;/code&gt;&lt;/strong&gt; (缓存集UUID)。&lt;strong&gt;请务必复制并保存好这个UUID&lt;/strong&gt;，下一步会用到它。&lt;br&gt;
格式通常是这样的: &lt;code&gt;xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;将后端设备 (&lt;code&gt;/dev/md10&lt;/code&gt;) 附加到缓存集&lt;/strong&gt;:&lt;br&gt;
使用上一步获得的 &lt;code&gt;Cset UUID&lt;/code&gt;。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 将 YOUR_CSET_UUID 替换为您从 make-bcache -C /dev/md4 获得的实际 Cset UUID
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;echo YOUR_CSET_UUID | sudo tee /sys/block/md10/bcache/attach &amp;gt; /dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;: 您之前遇到的 &lt;code&gt;tee: /sys/fs/bcache/register: Invalid argument&lt;/code&gt; 错误，通常是因为在 &lt;code&gt;make-bcache -C&lt;/code&gt; 成功后，设备已为 bcache 所知，不需要再通过 &lt;code&gt;echo /dev/md4 &amp;gt; /sys/fs/bcache/register&lt;/code&gt; 手动注册。如果上述 &lt;code&gt;attach&lt;/code&gt; 命令失败，请检查 &lt;code&gt;dmesg | tail&lt;/code&gt; 的输出获取更多信息。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;验证 bcache 设备创建&lt;/strong&gt;:&lt;br&gt;
成功附加后，系统应该会创建一个新的块设备，通常命名为 &lt;code&gt;/dev/bcache0&lt;/code&gt; (如果是系统中的第一个 bcache 设备)。您可以用以下命令查看：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ls /dev/bcache*
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;lsblk
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;您应该能在 &lt;code&gt;lsblk&lt;/code&gt; 的输出中看到 &lt;code&gt;/dev/bcache0&lt;/code&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="第-5-步在-bcache-设备上创建文件系统并挂载"&gt;&lt;a href="#%e7%ac%ac-5-%e6%ad%a5%e5%9c%a8-bcache-%e8%ae%be%e5%a4%87%e4%b8%8a%e5%88%9b%e5%bb%ba%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f%e5%b9%b6%e6%8c%82%e8%bd%bd" class="header-anchor"&gt;&lt;/a&gt;第 5 步：在 &lt;code&gt;bcache&lt;/code&gt; 设备上创建文件系统并挂载
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;在 &lt;code&gt;/dev/bcache0&lt;/code&gt; 上创建文件系统&lt;/strong&gt;:&lt;br&gt;
您可以选择 ext4, xfs 等常见的文件系统。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 以 ext4 为例
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo mkfs.ext4 /dev/bcache0
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 或者，如果您更喜欢 xfs
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# sudo mkfs.xfs /dev/bcache0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;创建挂载点并挂载&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo mkdir /mnt/cached_storage
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo mount /dev/bcache0 /mnt/cached_storage
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;现在，您可以通过 &lt;code&gt;/mnt/cached_storage&lt;/code&gt; 目录访问由 SSD 缓存加速的 HDD RAID0 存储了。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="第-6-步确保配置在重启后持久有效"&gt;&lt;a href="#%e7%ac%ac-6-%e6%ad%a5%e7%a1%ae%e4%bf%9d%e9%85%8d%e7%bd%ae%e5%9c%a8%e9%87%8d%e5%90%af%e5%90%8e%e6%8c%81%e4%b9%85%e6%9c%89%e6%95%88" class="header-anchor"&gt;&lt;/a&gt;第 6 步：确保配置在重启后持久有效
&lt;/h3&gt;&lt;p&gt;为了让系统重启后能自动组装 RAID 阵列并挂载 bcache 设备，需要进行以下配置：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;mdadm&lt;/code&gt; RAID 阵列的持久化 (&lt;code&gt;md10&lt;/code&gt; 及现有阵列)&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;将当前所有活动的 &lt;code&gt;md&lt;/code&gt; 阵列配置保存到 &lt;code&gt;mdadm&lt;/code&gt; 配置文件中。这将确保 &lt;code&gt;md2&lt;/code&gt;, &lt;code&gt;md3&lt;/code&gt;, &lt;code&gt;md4&lt;/code&gt; 和新创建的 &lt;code&gt;md10&lt;/code&gt; 都能在启动时被识别。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;: &lt;code&gt;tee -a&lt;/code&gt; 是追加模式。执行后，您可以检查 &lt;code&gt;/etc/mdadm/mdadm.conf&lt;/code&gt; 文件，确保所有阵列信息都在里面，并且没有不必要的、完全相同的重复行。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;更新 initramfs&lt;/strong&gt; (非常重要，以便在早期启动阶段就能组装 RAID):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo update-initramfs -u
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;(在某些发行版如 CentOS/RHEL/Fedora 上，命令可能是 &lt;code&gt;sudo dracut -f&lt;/code&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;bcache&lt;/code&gt; 设备的持久化&lt;/strong&gt;:&lt;br&gt;
&lt;code&gt;bcache&lt;/code&gt; 本身通过在后端和缓存设备上写入的元数据来确保重启后的自动重组。只要 &lt;code&gt;md10&lt;/code&gt; 和 &lt;code&gt;md4&lt;/code&gt; 能在启动时正确组装，&lt;code&gt;bcache&lt;/code&gt; 模块通常会自动发现并激活 &lt;code&gt;/dev/bcache0&lt;/code&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;配置 &lt;code&gt;/etc/fstab&lt;/code&gt; 实现自动挂载&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;首先，获取 &lt;code&gt;/dev/bcache0&lt;/code&gt; 设备的 UUID：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo blkid /dev/bcache0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;复制输出中的 &lt;code&gt;UUID=&amp;quot;&amp;lt;实际的BCACHE设备UUID&amp;gt;&amp;quot;&lt;/code&gt; 部分。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;编辑 &lt;code&gt;/etc/fstab&lt;/code&gt; 文件 (例如使用 &lt;code&gt;sudo nano /etc/fstab&lt;/code&gt;)，添加如下一行 (请将 &lt;code&gt;UUID&lt;/code&gt; 替换为您查到的实际 UUID，并根据您创建的文件系统类型修改 &lt;code&gt;ext4&lt;/code&gt;):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;UUID=&amp;lt;实际的BCACHE设备UUID&amp;gt; /mnt/cached_storage ext4 defaults,discard,nofail 0 2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这里的选项说明：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;defaults&lt;/code&gt;: 使用默认挂载选项。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;discard&lt;/code&gt;: (推荐用于SSD支持的存储) 启用 TRIM/DISCARD 操作。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;nofail&lt;/code&gt;: (推荐) 如果此设备在启动时由于某些原因无法挂载，系统仍将继续启动，而不会卡住。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;0 2&lt;/code&gt;: dump 和 fsck 选项，对于非根分区通常设置为 &lt;code&gt;0 2&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="第-7-步可选-调整-bcache-缓存模式"&gt;&lt;a href="#%e7%ac%ac-7-%e6%ad%a5%e5%8f%af%e9%80%89-%e8%b0%83%e6%95%b4-bcache-%e7%bc%93%e5%ad%98%e6%a8%a1%e5%bc%8f" class="header-anchor"&gt;&lt;/a&gt;第 7 步：(可选) 调整 &lt;code&gt;bcache&lt;/code&gt; 缓存模式
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;bcache&lt;/code&gt; 支持多种缓存模式，默认为 &lt;code&gt;writethrough&lt;/code&gt;。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;writethrough&lt;/code&gt;: 写操作同时写入缓存和后端设备。数据相对安全，但写性能提升可能不如 &lt;code&gt;writeback&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;writeback&lt;/code&gt;: 写操作首先写入缓存，然后异步写入后端设备。写入性能通常更高，但在突然断电时，缓存中尚未同步到后端的数据可能会丢失 (除非您有可靠的UPS电源)。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;writearound&lt;/code&gt;: 写操作直接写入后端设备，绕过缓存。只有读操作会填充缓存。&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;查看当前缓存模式&lt;/strong&gt;: (假设您的 bcache 设备是 &lt;code&gt;/dev/bcache0&lt;/code&gt;)&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat /sys/block/bcache0/bcache/cache_mode
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;您会看到类似 &lt;code&gt;[writethrough] writeback writearound none&lt;/code&gt; 的输出，方括号中的是当前模式。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;修改缓存模式&lt;/strong&gt; (例如，改为 &lt;code&gt;writeback&lt;/code&gt;):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;echo writeback | sudo tee /sys/block/bcache0/bcache/cache_mode
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;警告&lt;/strong&gt;: 选择 &lt;code&gt;writeback&lt;/code&gt; 模式前，请务必了解其潜在的数据丢失风险。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;此更改通常在重启后也会保持。&lt;/p&gt;
&lt;h3 id="第-8-步重启并验证"&gt;&lt;a href="#%e7%ac%ac-8-%e6%ad%a5%e9%87%8d%e5%90%af%e5%b9%b6%e9%aa%8c%e8%af%81" class="header-anchor"&gt;&lt;/a&gt;第 8 步：重启并验证
&lt;/h3&gt;&lt;p&gt;在完成以上所有步骤后，建议重启系统以测试配置的持久性。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo reboot
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;系统重启后，进行以下检查：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;检查 &lt;code&gt;mdadm&lt;/code&gt; 阵列状态&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat /proc/mdstat
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;确保 &lt;code&gt;md2&lt;/code&gt;, &lt;code&gt;md3&lt;/code&gt;, &lt;code&gt;md4&lt;/code&gt;, &lt;code&gt;md10&lt;/code&gt; 都处于 &lt;code&gt;active&lt;/code&gt; 状态。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;检查块设备结构&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;lsblk
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;您应该能看到 &lt;code&gt;sda&lt;/code&gt; 和 &lt;code&gt;sdb&lt;/code&gt; 组成了 &lt;code&gt;md10&lt;/code&gt;，&lt;code&gt;nvmeXnYpZ&lt;/code&gt; 组成了 &lt;code&gt;md4&lt;/code&gt;，并且 &lt;code&gt;md10&lt;/code&gt; 和 &lt;code&gt;md4&lt;/code&gt; 之上形成了 &lt;code&gt;bcache0&lt;/code&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;检查 &lt;code&gt;bcache&lt;/code&gt; 设备状态&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat /sys/block/bcache0/bcache/state
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat /sys/block/bcache0/bcache/cache_mode
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 查看缓存命中率等更多统计信息
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat /sys/block/bcache0/bcache/stats_total/*
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;检查文件系统挂载&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;df -hT
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;确保 &lt;code&gt;/mnt/cached_storage&lt;/code&gt; 已成功挂载，并且文件系统类型和大小符合预期。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;🎉 恭喜！&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;如果一切顺利，您现在应该拥有一个由 NVMe SSD RAID0 (&lt;code&gt;md4&lt;/code&gt;) 缓存加速的 HDD RAID0 (&lt;code&gt;md10&lt;/code&gt;) 存储池了。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;故障排除提示&lt;/strong&gt;:&lt;br&gt;
如果在任何步骤中遇到问题，特别是重启后设备未出现：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;检查内核日志: &lt;code&gt;dmesg&lt;/code&gt; 或 &lt;code&gt;journalctl -xe&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;仔细核对每一步的命令和设备名称。&lt;/li&gt;
&lt;li&gt;确认相关的内核模块 (&lt;code&gt;md_mod&lt;/code&gt;, &lt;code&gt;raid0&lt;/code&gt;, &lt;code&gt;bcache&lt;/code&gt;) 是否已加载 (&lt;code&gt;lsmod&lt;/code&gt;)。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;希望这个教程对您有帮助！&lt;/p&gt;</description></item></channel></rss>