<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>存储运维 on 吾爱主机</title><link>https://blog.waihost.com/categories/%E5%AD%98%E5%82%A8%E8%BF%90%E7%BB%B4/</link><description>Recent content in 存储运维 on 吾爱主机</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Sun, 24 Aug 2025 15:47:14 +0800</lastBuildDate><atom:link href="https://blog.waihost.com/categories/%E5%AD%98%E5%82%A8%E8%BF%90%E7%BB%B4/index.xml" rel="self" type="application/rss+xml"/><item><title>解决FnOS MBR 超过 2TB 限制的错误</title><link>https://blog.waihost.com/posts/fnos-mbr-2tb-limit-fix/</link><pubDate>Sun, 24 Aug 2025 15:47:14 +0800</pubDate><guid>https://blog.waihost.com/posts/fnos-mbr-2tb-limit-fix/</guid><description>&lt;img src="https://blog.waihost.com/images/covers/fnos-mbr-2tb-limit-fix.svg" alt="Featured image of post 解决FnOS MBR 超过 2TB 限制的错误" /&gt;&lt;h1 id="解决大磁盘分区报错"&gt;&lt;a href="#%e8%a7%a3%e5%86%b3%e5%a4%a7%e7%a3%81%e7%9b%98%e5%88%86%e5%8c%ba%e6%8a%a5%e9%94%99" class="header-anchor"&gt;&lt;/a&gt;解决大磁盘分区报错：
&lt;/h1&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;Error: partition length ... exceeds the msdos-partition-table-imposed maximum of 4294967295&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="-一错误原因"&gt;&lt;a href="#-%e4%b8%80%e9%94%99%e8%af%af%e5%8e%9f%e5%9b%a0" class="header-anchor"&gt;&lt;/a&gt;📌 一、错误原因
&lt;/h2&gt;&lt;p&gt;当你在 &lt;strong&gt;大于 2TB 的磁盘&lt;/strong&gt; 上用 &lt;code&gt;fdisk&lt;/code&gt;/&lt;code&gt;parted&lt;/code&gt; 并且分区表类型是 &lt;strong&gt;MBR&lt;br&gt;
(msdos)&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;Error: partition length of 10443816960 sectors exceeds the msdos-partition-table-imposed maximum of 4294967295
&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;MBR 仅用 32 位存储扇区号；\&lt;/li&gt;
&lt;li&gt;扇区大小 512B → 最大寻址空间约 &lt;strong&gt;2TB&lt;/strong&gt;；\&lt;/li&gt;
&lt;li&gt;超过 2TB 必须使用 &lt;strong&gt;GPT (GUID Partition Table)&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="-二解决方案概览"&gt;&lt;a href="#-%e4%ba%8c%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88%e6%a6%82%e8%a7%88" class="header-anchor"&gt;&lt;/a&gt;📌 二、解决方案概览
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;数据盘（无系统，仅存储）&lt;/strong&gt;&lt;br&gt;
→ 直接改 GPT，新建分区即可。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;系统盘（启动盘）&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;UEFI 引导&lt;/strong&gt;：GPT 原生支持，需 EFI 分区。\&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;BIOS 引导&lt;/strong&gt;：GPT 也能用，但必须额外建一个 &lt;strong&gt;bios_grub 分区&lt;br&gt;
(1&amp;ndash;2MB)&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="-三操作步骤"&gt;&lt;a href="#-%e4%b8%89%e6%93%8d%e4%bd%9c%e6%ad%a5%e9%aa%a4" class="header-anchor"&gt;&lt;/a&gt;📌 三、操作步骤
&lt;/h2&gt;&lt;h3 id="1-检查分区表--引导方式"&gt;&lt;a href="#1-%e6%a3%80%e6%9f%a5%e5%88%86%e5%8c%ba%e8%a1%a8--%e5%bc%95%e5%af%bc%e6%96%b9%e5%bc%8f" class="header-anchor"&gt;&lt;/a&gt;1. 检查分区表 &amp;amp; 引导方式
&lt;/h3&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;fdisk -l /dev/vda # 查看分区表类型 (dos/gpt)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[ -d /sys/firmware/efi ] &amp;amp;&amp;amp; echo &amp;#34;UEFI&amp;#34; || echo &amp;#34;BIOS&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h3 id="2-数据盘场景最简单"&gt;&lt;a href="#2-%e6%95%b0%e6%8d%ae%e7%9b%98%e5%9c%ba%e6%99%af%e6%9c%80%e7%ae%80%e5%8d%95" class="header-anchor"&gt;&lt;/a&gt;2. 数据盘场景（最简单）
&lt;/h3&gt;&lt;p&gt;假设磁盘是 &lt;code&gt;/dev/vdb&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;parted /dev/vdb
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(parted) mklabel gpt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(parted) mkpart primary 0% 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(parted) quit
&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;mkfs.ext4 /dev/vdb1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir /data
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount /dev/vdb1 /data
&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;# 开机自动挂载
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;blkid /dev/vdb1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;echo &amp;#39;UUID=xxxx-xxxx /data ext4 defaults 0 2&amp;#39; &amp;gt;&amp;gt; /etc/fstab
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h3 id="3-系统盘场景"&gt;&lt;a href="#3-%e7%b3%bb%e7%bb%9f%e7%9b%98%e5%9c%ba%e6%99%af" class="header-anchor"&gt;&lt;/a&gt;3. 系统盘场景
&lt;/h3&gt;&lt;h4 id="-uefi-模式"&gt;&lt;a href="#-uefi-%e6%a8%a1%e5%bc%8f" class="header-anchor"&gt;&lt;/a&gt;🔹 UEFI 模式
&lt;/h4&gt;&lt;p&gt;GPT 直接支持：\&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;确认有 EFI System Partition (ESP)，FAT32 格式，挂载 &lt;code&gt;/boot/efi&lt;/code&gt;。\&lt;/li&gt;
&lt;li&gt;安装引导：&lt;br&gt;
&lt;code&gt;bash grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian update-grub&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h4 id="-bios-模式重点"&gt;&lt;a href="#-bios-%e6%a8%a1%e5%bc%8f%e9%87%8d%e7%82%b9" class="header-anchor"&gt;&lt;/a&gt;🔹 BIOS 模式（重点）
&lt;/h4&gt;&lt;p&gt;BIOS+GPT 下需要一个 &lt;strong&gt;bios_grub 分区&lt;/strong&gt;。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;转换 MBR → GPT：&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;gdisk /dev/vda
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 输入 w 保存分区表
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;创建 bios_grub 分区（约 2MB）：&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;parted /dev/vda
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(parted) mkpart primary 1MB 3MB
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(parted) set 1 bios_grub on
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(parted) quit
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;安装 GRUB：&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;grub-install /dev/vda
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;update-grub
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;grub-install --recheck /dev/vda
&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;/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;parted /dev/vda print
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;应看到一个 1&amp;ndash;2MB 的 &lt;code&gt;bios_grub&lt;/code&gt; 分区。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="-四扩展磁盘使用率"&gt;&lt;a href="#-%e5%9b%9b%e6%89%a9%e5%b1%95%e7%a3%81%e7%9b%98%e4%bd%bf%e7%94%a8%e7%8e%87" class="header-anchor"&gt;&lt;/a&gt;📌 四、扩展磁盘使用率
&lt;/h2&gt;&lt;ul&gt;
&lt;li&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;parted /dev/vda mkpart primary 9GB 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkfs.ext4 /dev/vda3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount /dev/vda3 /data
&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;/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;parted /dev/vda resizepart 2 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;resize2fs /dev/vda2 # ext4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;xfs_growfs / # xfs
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="-五总结"&gt;&lt;a href="#-%e4%ba%94%e6%80%bb%e7%bb%93" class="header-anchor"&gt;&lt;/a&gt;📌 五、总结
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;报错原因：MBR 最大仅支持 2TB。\&lt;/li&gt;
&lt;li&gt;数据盘：直接改 GPT → 新建分区。\&lt;/li&gt;
&lt;li&gt;系统盘：
&lt;ul&gt;
&lt;li&gt;UEFI → 需 ESP 分区，&lt;code&gt;grub-install&lt;/code&gt; 即可。\&lt;/li&gt;
&lt;li&gt;BIOS → 需 bios_grub 分区 (1&amp;ndash;2MB)，再 &lt;code&gt;grub-install /dev/vda&lt;/code&gt;。\&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;这样就能完整利用 &amp;gt;2TB 的大磁盘空间。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;✅ 建议：&lt;br&gt;
遇到新机器、大盘 → &lt;strong&gt;直接用 GPT 分区表&lt;/strong&gt;，避免后续迁移麻烦。&lt;/p&gt;</description></item><item><title>测试bcache优化IO是否生效</title><link>https://blog.waihost.com/posts/bcache-io-benchmark-test/</link><pubDate>Wed, 04 Jun 2025 10:22:04 +0800</pubDate><guid>https://blog.waihost.com/posts/bcache-io-benchmark-test/</guid><description>&lt;img src="https://blog.waihost.com/images/covers/bcache-io-benchmark-test.svg" alt="Featured image of post 测试bcache优化IO是否生效" /&gt;&lt;p&gt;在配置了 &lt;code&gt;bcache&lt;/code&gt; 之后，测试 IO 速度是否有效提升是一个很好的步骤。这通常涉及到对比缓存生效和未生效（或直接访问后端存储）时的性能差异。由于 &lt;code&gt;bcache&lt;/code&gt; 是一个透明的缓存层，精确地“关闭”缓存来做对比测试比较复杂，但我们可以通过特定测试方法来观察缓存的效果。&lt;/p&gt;
&lt;p&gt;最推荐的测试工具是 &lt;code&gt;fio&lt;/code&gt; (Flexible I/O Tester)，它非常强大且可配置。&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="1-安装-fio-如果尚未安装"&gt;&lt;a href="#1-%e5%ae%89%e8%a3%85-fio-%e5%a6%82%e6%9e%9c%e5%b0%9a%e6%9c%aa%e5%ae%89%e8%a3%85" class="header-anchor"&gt;&lt;/a&gt;1. 安装 &lt;code&gt;fio&lt;/code&gt; (如果尚未安装)
&lt;/h3&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-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt install fio
&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-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo yum install fio
&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;# sudo dnf install fio
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="2-测试缓存效果的关键概念"&gt;&lt;a href="#2-%e6%b5%8b%e8%af%95%e7%bc%93%e5%ad%98%e6%95%88%e6%9e%9c%e7%9a%84%e5%85%b3%e9%94%ae%e6%a6%82%e5%bf%b5" class="header-anchor"&gt;&lt;/a&gt;2. 测试缓存效果的关键概念
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;预热缓存 (Warm-up)&lt;/strong&gt;: 对于读缓存，第一次读取数据块时，数据会从慢速的后端 HDD (&lt;code&gt;md10&lt;/code&gt;) 加载到快速的 SSD 缓存 (&lt;code&gt;md4&lt;/code&gt;) 中。后续对相同数据块的读取请求应该直接由 SSD 缓存提供服务，速度会快得多。因此，测试前通常需要一个“预热”阶段。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;测试文件大小&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;测试缓存读取性能时，测试文件应小于 SSD 缓存 (&lt;code&gt;md4&lt;/code&gt; 大小为 825.1G) 但又要足够大以避免完全被系统内存缓存。例如，一个 20GB-100GB 的文件。&lt;/li&gt;
&lt;li&gt;如果要测试超出缓存能力的情况，文件大小应远大于 SSD 缓存。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;fio&lt;/code&gt; 的 &lt;code&gt;direct=1&lt;/code&gt; 选项&lt;/strong&gt;: 这个选项会使 &lt;code&gt;fio&lt;/code&gt; 绕过操作系统的页缓存 (page cache)，直接对存储设备进行 IO 操作。这对于测试 &lt;code&gt;bcache&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;code&gt;bcache&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;# 打开一个新的终端窗口来监控
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;watch -n 1 &amp;#39;echo &amp;#34;== Cache Stats ==&amp;#34;; cat /sys/block/bcache0/bcache/stats_total/cache_hits /sys/block/bcache0/bcache/stats_total/cache_misses /sys/block/bcache0/bcache/stats_total/cache_bypass_hits /sys/block/bcache0/bcache/stats_total/cache_bypass_misses; echo &amp;#34;&amp;#34;; echo &amp;#34;== Other Stats ==&amp;#34;; echo -n &amp;#34;Dirty Data: &amp;#34;; cat /sys/block/bcache0/bcache/dirty_data; echo -n &amp;#34;State: &amp;#34;; cat /sys/block/bcache0/bcache/state; echo -n &amp;#34;Writeback Rate: &amp;#34;; cat /sys/block/bcache0/bcache/writeback_rate; echo -n &amp;#34;Cache Mode: &amp;#34;; cat /sys/block/bcache0/bcache/cache_mode&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="3-使用-fio-进行性能测试"&gt;&lt;a href="#3-%e4%bd%bf%e7%94%a8-fio-%e8%bf%9b%e8%a1%8c%e6%80%a7%e8%83%bd%e6%b5%8b%e8%af%95" class="header-anchor"&gt;&lt;/a&gt;3. 使用 &lt;code&gt;fio&lt;/code&gt; 进行性能测试
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;重要&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;请将测试命令中的 &lt;code&gt;/mnt/cached_storage/testfile&lt;/code&gt; 替换为您 &lt;code&gt;bcache&lt;/code&gt; 设备的实际挂载点和您选择的测试文件名。&lt;/li&gt;
&lt;li&gt;测试会产生大文件，测试完成后记得删除 (&lt;code&gt;sudo rm /mnt/cached_storage/testfile*&lt;/code&gt;)。&lt;/li&gt;
&lt;li&gt;运行 &lt;code&gt;fio&lt;/code&gt; 命令通常不需要 &lt;code&gt;sudo&lt;/code&gt;，除非您写入的目录需要特定权限，或者您要操作原始块设备（不推荐初学者直接操作块设备进行基准测试）。这里我们测试的是挂载的文件系统。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="a-顺序读取性能-测试缓存效果"&gt;&lt;a href="#a-%e9%a1%ba%e5%ba%8f%e8%af%bb%e5%8f%96%e6%80%a7%e8%83%bd-%e6%b5%8b%e8%af%95%e7%bc%93%e5%ad%98%e6%95%88%e6%9e%9c" class="header-anchor"&gt;&lt;/a&gt;A. 顺序读取性能 (测试缓存效果)
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;创建并预热测试文件&lt;/strong&gt;:&lt;br&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;fio --name=prepare_seq_read_file --rw=write --bs=1M --filename=/mnt/cached_storage/testfile_seq_read --size=50G --direct=1 --group_reporting
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这个命令会创建一个 50GB 的文件。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;第一次读取 (可能部分来自 HDD，同时填充缓存)&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;fio --name=seq_read_warmup --rw=read --bs=1M --filename=/mnt/cached_storage/testfile_seq_read --size=50G --direct=1 --group_reporting --iodepth=32
&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;sync #确保所有挂起的写操作完成
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;echo 3 | sudo tee /proc/sys/vm/drop_caches
&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;第二次读取 (应主要来自 SSD 缓存)&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;fio --name=seq_read_cached --rw=read --bs=1M --filename=/mnt/cached_storage/testfile_seq_read --size=50G --direct=1 --group_reporting --iodepth=32
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;比较第二次读取的吞吐量 (BW 项，通常单位是 MB/s 或 GB/s)。如果缓存有效，这个速度应该接近您的 &lt;code&gt;md4&lt;/code&gt; (NVMe SSD RAID0) 的读取速度。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="b-随机读取性能-测试缓存效果"&gt;&lt;a href="#b-%e9%9a%8f%e6%9c%ba%e8%af%bb%e5%8f%96%e6%80%a7%e8%83%bd-%e6%b5%8b%e8%af%95%e7%bc%93%e5%ad%98%e6%95%88%e6%9e%9c" class="header-anchor"&gt;&lt;/a&gt;B. 随机读取性能 (测试缓存效果)
&lt;/h4&gt;&lt;p&gt;随机读取是 SSD 缓存能带来显著提升的典型场景。&lt;/p&gt;
&lt;ol&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;fio --name=prepare_rand_read_file --rw=write --bs=4k --filename=/mnt/cached_storage/testfile_rand_read --size=50G --direct=1 --group_reporting
&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;fio --name=rand_read_warmup --rw=randread --bs=4k --filename=/mnt/cached_storage/testfile_rand_read --size=50G --direct=1 --numjobs=4 --group_reporting --iodepth=64 --runtime=120s
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这里使用 &lt;code&gt;--runtime&lt;/code&gt; 来限制测试时间，因为完整读取50GB的4k随机块会非常慢。&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;sync
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;echo 3 | sudo tee /proc/sys/vm/drop_caches
&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;第二次随机读取 (应主要来自 SSD 缓存)&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;fio --name=rand_read_cached --rw=randread --bs=4k --filename=/mnt/cached_storage/testfile_rand_read --size=50G --direct=1 --numjobs=4 --group_reporting --iodepth=64 --runtime=120s
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;关注 IOPS (每秒操作次数) 和吞吐量 (BW)。SSD 缓存应该能提供远高于 HDD 的随机读取 IOPS。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="c-写入性能"&gt;&lt;a href="#c-%e5%86%99%e5%85%a5%e6%80%a7%e8%83%bd" class="header-anchor"&gt;&lt;/a&gt;C. 写入性能
&lt;/h4&gt;&lt;p&gt;写入性能很大程度上取决于您 &lt;code&gt;bcache&lt;/code&gt; 的缓存模式 (&lt;code&gt;writethrough&lt;/code&gt;, &lt;code&gt;writeback&lt;/code&gt;, &lt;code&gt;writearound&lt;/code&gt;)。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;如果是 &lt;code&gt;writeback&lt;/code&gt; 模式&lt;/strong&gt;: 写入操作首先进入 SSD 缓存，速度应该很快，接近 &lt;code&gt;md4&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;fio --name=seq_write_test_wb --rw=write --bs=1M --filename=/mnt/cached_storage/testfile_seq_write --size=50G --direct=1 --group_reporting --iodepth=32
&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;writethrough&lt;/code&gt; 模式&lt;/strong&gt;: 写入操作需要同时写入 SSD 和 HDD，所以持续写入速度可能更接近较慢的 HDD (&lt;code&gt;md10&lt;/code&gt;)，但对于突发写入和小文件写入，SSD 仍能起到加速作用。&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;fio --name=seq_write_test_wt --rw=write --bs=1M --filename=/mnt/cached_storage/testfile_seq_write --size=50G --direct=1 --group_reporting --iodepth=32
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="4-简单-dd-测试-快速检查但不全面"&gt;&lt;a href="#4-%e7%ae%80%e5%8d%95-dd-%e6%b5%8b%e8%af%95-%e5%bf%ab%e9%80%9f%e6%a3%80%e6%9f%a5%e4%bd%86%e4%b8%8d%e5%85%a8%e9%9d%a2" class="header-anchor"&gt;&lt;/a&gt;4. 简单 &lt;code&gt;dd&lt;/code&gt; 测试 (快速检查，但不全面)
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;dd&lt;/code&gt; 可以用于非常简单的顺序读写测试，但其结果可能受多种因素影响，不如 &lt;code&gt;fio&lt;/code&gt; 精确。&lt;/p&gt;
&lt;ul&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;# 创建一个10GB的文件
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dd if=/dev/zero of=/mnt/cached_storage/dd_testfile bs=1M count=10000 status=progress
&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;dd if=/mnt/cached_storage/dd_testfile of=/dev/null bs=1M status=progress
&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;sync
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;echo 3 | sudo tee /proc/sys/vm/drop_caches
&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;dd if=/mnt/cached_storage/dd_testfile of=/dev/null bs=1M status=progress
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="5-如何解读结果"&gt;&lt;a href="#5-%e5%a6%82%e4%bd%95%e8%a7%a3%e8%af%bb%e7%bb%93%e6%9e%9c" class="header-anchor"&gt;&lt;/a&gt;5. 如何解读结果
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;对比基线&lt;/strong&gt;: 您可能对您 HDD (&lt;code&gt;sda&lt;/code&gt;, &lt;code&gt;sdb&lt;/code&gt; 组成的 &lt;code&gt;md10&lt;/code&gt;) 单独的性能有一个大概的了解 (例如，顺序读写可能在 200-300MB/s，随机 IOPS 较低)。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SSD 缓存效果&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;读取&lt;/strong&gt;: 经过预热后，对已缓存数据的读取速度应该接近您的 &lt;code&gt;md4&lt;/code&gt; (NVMe SSD RAID0) 的性能。NVMe RAID0 的顺序读取速度可能达到数 GB/s，随机 IOPS 非常高。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;写入 (&lt;code&gt;writeback&lt;/code&gt; 模式)&lt;/strong&gt;: 写入速度也应该接近 &lt;code&gt;md4&lt;/code&gt; 的写入性能，直到缓存写满。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;监控 &lt;code&gt;bcache&lt;/code&gt; 统计&lt;/strong&gt;: 如果测试时 &lt;code&gt;cache_hits&lt;/code&gt; 远大于 &lt;code&gt;cache_misses&lt;/code&gt;，说明缓存正在有效地服务请求。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="6-清理测试文件"&gt;&lt;a href="#6-%e6%b8%85%e7%90%86%e6%b5%8b%e8%af%95%e6%96%87%e4%bb%b6" class="header-anchor"&gt;&lt;/a&gt;6. 清理测试文件
&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 rm /mnt/cached_storage/testfile*
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo rm /mnt/cached_storage/dd_testfile
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;通过这些测试，您应该能够量化 &lt;code&gt;bcache&lt;/code&gt; 配置带来的性能提升，特别是在读取热数据和随机 IO 方面。&lt;/p&gt;</description></item><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><item><title>硬盘速度IOPS评估测试</title><link>https://blog.waihost.com/posts/disk-iops-benchmark/</link><pubDate>Thu, 20 Mar 2025 16:53:38 +0800</pubDate><guid>https://blog.waihost.com/posts/disk-iops-benchmark/</guid><description>&lt;img src="https://blog.waihost.com/images/covers/disk-iops-benchmark.svg" alt="Featured image of post 硬盘速度IOPS评估测试" /&gt;&lt;p&gt;在 Debian 12 中测试硬盘的 &lt;strong&gt;IOPS（每秒输入输出操作次数）&lt;/strong&gt;，推荐使用专业的磁盘性能测试工具 &lt;code&gt;fio&lt;/code&gt;（Flexible I/O Tester）。以下是详细操作步骤：&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="1-安装测试工具"&gt;&lt;a href="#1-%e5%ae%89%e8%a3%85%e6%b5%8b%e8%af%95%e5%b7%a5%e5%85%b7" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;1. 安装测试工具&lt;/strong&gt;
&lt;/h3&gt;&lt;p&gt;首先安装 &lt;code&gt;fio&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 apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt install fio -y
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h3 id="2-使用"&gt;&lt;a href="#2-%e4%bd%bf%e7%94%a8" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;2. 使用 &lt;code&gt;fio&lt;/code&gt; 测试 IOPS&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="基本语法"&gt;&lt;a href="#%e5%9f%ba%e6%9c%ac%e8%af%ad%e6%b3%95" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;基本语法&lt;/strong&gt;
&lt;/h4&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;fio --name=测试名称 --ioengine=libaio --direct=1 --rw=读写模式 --bs=块大小 --size=测试文件大小 --numjobs=并发任务数 --runtime=测试时间 --time_based --group_reporting
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="示例测试-4k-随机读的-iops"&gt;&lt;a href="#%e7%a4%ba%e4%be%8b%e6%b5%8b%e8%af%95-4k-%e9%9a%8f%e6%9c%ba%e8%af%bb%e7%9a%84-iops" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;示例：测试 4K 随机读的 IOPS&lt;/strong&gt;
&lt;/h4&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 fio --name=random_read --ioengine=libaio --direct=1 --rw=randread --bs=4k --size=1G --numjobs=1 --iodepth=32 --runtime=60 --time_based --group_reporting
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="参数说明"&gt;&lt;a href="#%e5%8f%82%e6%95%b0%e8%af%b4%e6%98%8e" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;参数说明&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;--rw=randread&lt;/code&gt;：测试随机读（可选：&lt;code&gt;randwrite&lt;/code&gt;、&lt;code&gt;randrw&lt;/code&gt;、&lt;code&gt;read&lt;/code&gt;、&lt;code&gt;write&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--bs=4k&lt;/code&gt;：模拟 4KB 小文件操作（更贴近真实 IOPS 场景）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--iodepth=32&lt;/code&gt;：队列深度（模拟高并发请求）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--size=1G&lt;/code&gt;：生成 1GB 的临时测试文件。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--numjobs=1&lt;/code&gt;：并发任务数（可增加模拟多线程负载）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--runtime=60&lt;/code&gt;：测试持续 60 秒。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="3-测试场景示例"&gt;&lt;a href="#3-%e6%b5%8b%e8%af%95%e5%9c%ba%e6%99%af%e7%a4%ba%e4%be%8b" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;3. 测试场景示例&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="场景14k-随机写-iops"&gt;&lt;a href="#%e5%9c%ba%e6%99%af14k-%e9%9a%8f%e6%9c%ba%e5%86%99-iops" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;场景1：4K 随机写 IOPS&lt;/strong&gt;
&lt;/h4&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 fio --name=random_write --ioengine=libaio --direct=1 --rw=randwrite --bs=4k --size=1G --numjobs=1 --iodepth=32 --runtime=60 --time_based --group_reporting
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="场景2混合读写70读--30写"&gt;&lt;a href="#%e5%9c%ba%e6%99%af2%e6%b7%b7%e5%90%88%e8%af%bb%e5%86%9970%e8%af%bb--30%e5%86%99" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;场景2：混合读写（70%读 + 30%写）&lt;/strong&gt;
&lt;/h4&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 fio --name=mixed_io --ioengine=libaio --direct=1 --rw=randrw --rwmixread=70 --bs=4k --size=1G --numjobs=4 --iodepth=64 --runtime=120 --time_based --group_reporting
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h3 id="4-解读测试结果"&gt;&lt;a href="#4-%e8%a7%a3%e8%af%bb%e6%b5%8b%e8%af%95%e7%bb%93%e6%9e%9c" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;4. 解读测试结果&lt;/strong&gt;
&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;read: IOPS=xxxx, BW=xxMiB/s (xxMB/s)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;write: IOPS=xxxx, BW=xxMiB/s (xxMB/s)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; lat (usec): min=xx, max=xx, avg=xx, stdev=xx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;IOPS&lt;/strong&gt;：每秒操作次数（值越高性能越好）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;BW&lt;/strong&gt;：带宽（吞吐量）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;lat&lt;/strong&gt;：延迟（越低越好）。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="5-其他工具辅助参考"&gt;&lt;a href="#5-%e5%85%b6%e4%bb%96%e5%b7%a5%e5%85%b7%e8%be%85%e5%8a%a9%e5%8f%82%e8%80%83" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;5. 其他工具（辅助参考）&lt;/strong&gt;
&lt;/h3&gt;&lt;h4 id="a"&gt;&lt;a href="#a" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;a. &lt;code&gt;dd&lt;/code&gt; 测试连续读写速度（非 IOPS）&lt;/strong&gt;
&lt;/h4&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;# 测试连续写入速度（1GB文件，块大小1M）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dd if=/dev/zero of=./testfile bs=1M count=1024 oflag=direct status=progress
&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;# 测试连续读取速度
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dd if=./testfile of=/dev/null bs=1M status=progress
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="b-使用"&gt;&lt;a href="#b-%e4%bd%bf%e7%94%a8" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;b. 使用 &lt;code&gt;iostat&lt;/code&gt; 监控实时 IO&lt;/strong&gt;
&lt;/h4&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 apt install sysstat -y
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;iostat -d -x 1 # 每秒刷新一次磁盘统计信息
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h3 id="6-注意事项"&gt;&lt;a href="#6-%e6%b3%a8%e6%84%8f%e4%ba%8b%e9%a1%b9" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;6. 注意事项&lt;/strong&gt;
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;测试目标选择&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;如果测试物理硬盘，建议直接指定设备路径（如 &lt;code&gt;/dev/sdX&lt;/code&gt;），但需注意&lt;strong&gt;这会覆盖数据&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;若测试文件系统性能，建议在未使用的目录生成临时文件（如本例中的 &lt;code&gt;./testfile&lt;/code&gt;）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;避免缓存影响&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;使用 &lt;code&gt;--direct=1&lt;/code&gt; 绕过系统缓存，直接访问磁盘。&lt;/p&gt;
&lt;/li&gt;
&lt;li&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;sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
&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;SSD/HDD 差异&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SSD 的 IOPS 通常远高于 HDD（尤其是随机读写）。&lt;/li&gt;
&lt;li&gt;NVMe SSD 需结合高队列深度（如 &lt;code&gt;--iodepth=64&lt;/code&gt;）发挥性能。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 id="7-示例结果对比"&gt;&lt;a href="#7-%e7%a4%ba%e4%be%8b%e7%bb%93%e6%9e%9c%e5%af%b9%e6%af%94" class="header-anchor"&gt;&lt;/a&gt;&lt;strong&gt;7. 示例结果对比&lt;/strong&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SATA SSD（4K 随机读）&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;IOPS ≈ 80,000-100,000
&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;NVMe SSD（PCIe 4.0, 4K 随机读）&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;IOPS ≈ 1,000,000+
&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;HDD（7200 RPM, 4K 随机读）&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;IOPS ≈ 80-150
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;通过 &lt;code&gt;fio&lt;/code&gt; 的灵活配置，可以模拟真实场景的负载压力，准确评估硬盘的 IOPS 性能。建议根据实际应用需求调整测试参数（如块大小、队列深度、读写比例）。&lt;/p&gt;</description></item><item><title>Linux使用GPT分区方式挂载硬盘</title><link>https://blog.waihost.com/posts/linux-gpt-mount-disk/</link><pubDate>Mon, 04 Mar 2024 12:47:00 +0800</pubDate><guid>https://blog.waihost.com/posts/linux-gpt-mount-disk/</guid><description>&lt;img src="https://blog.waihost.com/images/covers/linux-gpt-mount-disk.svg" alt="Featured image of post Linux使用GPT分区方式挂载硬盘" /&gt;&lt;hr&gt;
&lt;h2 id="一背景说明"&gt;&lt;a href="#%e4%b8%80%e8%83%8c%e6%99%af%e8%af%b4%e6%98%8e" class="header-anchor"&gt;&lt;/a&gt;一、背景说明
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;2TB 限制问题&lt;/strong&gt;&lt;br&gt;
传统的 MBR 分区表最多只能支持 2TB 磁盘容量。对于大于2TB的硬盘，必须采用 GPT（GUID Partition Table）格式才能充分利用磁盘容量。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;使用 UUID 挂载&lt;/strong&gt;&lt;br&gt;
每个分区都有唯一的 UUID（通用唯一标识符），使用 UUID 挂载可以避免因设备名（如 /dev/sdb1）改变而导致挂载失败。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="二所需工具及安装"&gt;&lt;a href="#%e4%ba%8c%e6%89%80%e9%9c%80%e5%b7%a5%e5%85%b7%e5%8f%8a%e5%ae%89%e8%a3%85" class="header-anchor"&gt;&lt;/a&gt;二、所需工具及安装
&lt;/h2&gt;&lt;h3 id="1-常用工具"&gt;&lt;a href="#1-%e5%b8%b8%e7%94%a8%e5%b7%a5%e5%85%b7" class="header-anchor"&gt;&lt;/a&gt;1. 常用工具
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;parted&lt;/strong&gt;：用于创建 GPT 分区表和分区。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;gdisk&lt;/strong&gt;：专门用于 GPT 分区的工具，功能类似于传统的 fdisk。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;blkid&lt;/strong&gt;：查看磁盘分区的 UUID（通常属于 util-linux 软件包）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-安装教程"&gt;&lt;a href="#2-%e5%ae%89%e8%a3%85%e6%95%99%e7%a8%8b" class="header-anchor"&gt;&lt;/a&gt;2. 安装教程
&lt;/h3&gt;&lt;h4 id="debianubuntu-系统"&gt;&lt;a href="#debianubuntu-%e7%b3%bb%e7%bb%9f" class="header-anchor"&gt;&lt;/a&gt;Debian/Ubuntu 系统
&lt;/h4&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 apt-get update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt-get install parted gdisk util-linux
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;注意：其中 &lt;code&gt;util-linux&lt;/code&gt; 通常已默认安装，包含 &lt;code&gt;blkid&lt;/code&gt; 命令。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h4 id="centosrhel-系统"&gt;&lt;a href="#centosrhel-%e7%b3%bb%e7%bb%9f" class="header-anchor"&gt;&lt;/a&gt;CentOS/RHEL 系统
&lt;/h4&gt;&lt;p&gt;使用 yum 安装相关工具：&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 yum update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo yum install parted gdisk util-linux
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;有些发行版中可能需要额外安装 &lt;code&gt;gdisk&lt;/code&gt;，请根据实际提示操作。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="三挂载大于2tb的硬盘操作步骤"&gt;&lt;a href="#%e4%b8%89%e6%8c%82%e8%bd%bd%e5%a4%a7%e4%ba%8e2tb%e7%9a%84%e7%a1%ac%e7%9b%98%e6%93%8d%e4%bd%9c%e6%ad%a5%e9%aa%a4" class="header-anchor"&gt;&lt;/a&gt;三、挂载大于2TB的硬盘操作步骤
&lt;/h2&gt;&lt;h3 id="1-查看磁盘信息"&gt;&lt;a href="#1-%e6%9f%a5%e7%9c%8b%e7%a3%81%e7%9b%98%e4%bf%a1%e6%81%af" class="header-anchor"&gt;&lt;/a&gt;1. 查看磁盘信息
&lt;/h3&gt;&lt;p&gt;先确认新硬盘的设备名，例如 &lt;code&gt;/dev/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;lsblk
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo fdisk -l
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="2-创建-gpt-分区表"&gt;&lt;a href="#2-%e5%88%9b%e5%bb%ba-gpt-%e5%88%86%e5%8c%ba%e8%a1%a8" class="header-anchor"&gt;&lt;/a&gt;2. 创建 GPT 分区表
&lt;/h3&gt;&lt;p&gt;使用 &lt;code&gt;parted&lt;/code&gt; 创建 GPT 分区表（假设设备为 &lt;code&gt;/dev/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 parted /dev/sdb
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在 parted 的交互界面中依次输入：&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;mklabel gpt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkpart primary ext4 0% 100%
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;quit
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这样就会在整个磁盘上创建一个 ext4 格式的分区。如果你希望创建其他文件系统或分区策略，可自行调整。&lt;/p&gt;
&lt;h3 id="3-格式化分区"&gt;&lt;a href="#3-%e6%a0%bc%e5%bc%8f%e5%8c%96%e5%88%86%e5%8c%ba" class="header-anchor"&gt;&lt;/a&gt;3. 格式化分区
&lt;/h3&gt;&lt;p&gt;格式化刚才创建的分区（假设分区为 &lt;code&gt;/dev/sdb1&lt;/code&gt;），这里以 ext4 为例：&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 mkfs.ext4 /dev/sdb1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="4-获取分区的-uuid"&gt;&lt;a href="#4-%e8%8e%b7%e5%8f%96%e5%88%86%e5%8c%ba%e7%9a%84-uuid" class="header-anchor"&gt;&lt;/a&gt;4. 获取分区的 UUID
&lt;/h3&gt;&lt;p&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/sdb1
&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;/dev/sdb1: UUID=&amp;#34;e3f4a7c2-1234-4567-89ab-cdef01234567&amp;#34; TYPE=&amp;#34;ext4&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;记录下 UUID 字符串。&lt;/p&gt;
&lt;h3 id="5-编辑-etcfstab-文件"&gt;&lt;a href="#5-%e7%bc%96%e8%be%91-etcfstab-%e6%96%87%e4%bb%b6" class="header-anchor"&gt;&lt;/a&gt;5. 编辑 /etc/fstab 文件
&lt;/h3&gt;&lt;p&gt;为了实现开机自动挂载，需要将分区信息添加到 &lt;code&gt;/etc/fstab&lt;/code&gt; 中。使用编辑器（如 vim 或 nano）打开文件：&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 vim /etc/fstab
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;添加如下内容（请将 UUID 替换成你查到的实际值，并确保挂载点目录存在，例如 &lt;code&gt;/mnt/data&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=e3f4a7c2-1234-4567-89ab-cdef01234567 /mnt/data ext4 defaults 0 0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="6-挂载分区"&gt;&lt;a href="#6-%e6%8c%82%e8%bd%bd%e5%88%86%e5%8c%ba" class="header-anchor"&gt;&lt;/a&gt;6. 挂载分区
&lt;/h3&gt;&lt;p&gt;保存 &lt;code&gt;/etc/fstab&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 mount -a
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;使用 &lt;code&gt;df -h&lt;/code&gt; 或 &lt;code&gt;lsblk&lt;/code&gt; 检查是否成功挂载。&lt;/p&gt;
&lt;p&gt;在 ext4 文件系统中，默认会保留 5% 的磁盘空间，主要用于系统维护和防止普通用户将磁盘填满。如果你确定需要将这部分预留空间设置为 0，可以使用 tune2fs 命令。具体操作如下：&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 tune2fs -m 0 /dev/sdXY
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;</description></item><item><title>Debian安装Gluster实现多台服务器硬盘资源组合挂载</title><link>https://blog.waihost.com/posts/debian-glusterfs-storage-pool/</link><pubDate>Mon, 04 Mar 2024 12:41:00 +0800</pubDate><guid>https://blog.waihost.com/posts/debian-glusterfs-storage-pool/</guid><description>&lt;img src="https://blog.waihost.com/images/covers/debian-glusterfs-storage-pool.svg" alt="Featured image of post Debian安装Gluster实现多台服务器硬盘资源组合挂载" /&gt;&lt;p&gt;&lt;strong&gt;GlusterFS&lt;/strong&gt; 是比较常见的分布式文件系统方案，可以把多台服务器的硬盘资源组合成单一的逻辑卷，供客户端挂载并使用。它的优点是配置相对简单，而且只要你有 root 权限并能对 VPS 做一些端口和防火墙设置，就基本可以实现“合并”空间的效果。&lt;/p&gt;
&lt;p&gt;以下为在 &lt;strong&gt;Debian 12 (Bookworm)&lt;/strong&gt; 上安装 GlusterFS 的常规方法，包含官方仓库的添加及安装步骤，供你参考。请注意，由于 GlusterFS 版本发布节奏与 Debian 官方仓库可能存在同步延迟，有些时候需要使用 Gluster 官方提供的仓库才能获得较新版本。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="一使用-debian-官方仓库如果有提供对应版本"&gt;&lt;a href="#%e4%b8%80%e4%bd%bf%e7%94%a8-debian-%e5%ae%98%e6%96%b9%e4%bb%93%e5%ba%93%e5%a6%82%e6%9e%9c%e6%9c%89%e6%8f%90%e4%be%9b%e5%af%b9%e5%ba%94%e7%89%88%e6%9c%ac" class="header-anchor"&gt;&lt;/a&gt;一、使用 Debian 官方仓库（如果有提供对应版本）
&lt;/h2&gt;&lt;p&gt;有些时候，Debian 官方源本身就提供了 GlusterFS 包，不过版本可能偏旧。你可以先检查一下官方仓库里是否自带：&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 apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;apt search glusterfs-server
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果能找到 &lt;code&gt;glusterfs-server&lt;/code&gt;（比如 &lt;code&gt;glusterfs 10.x&lt;/code&gt; 或 &lt;code&gt;glusterfs 9.x&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 apt install glusterfs-server
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;就可以完成安装。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;但&lt;/strong&gt; 由于 GlusterFS 通常更新较快，官方仓库的版本往往会落后。如果你需要更高版本（例如 GlusterFS 12.x、11.x），则需要添加 GlusterFS 官方提供的 apt 仓库。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="二使用-gluster-官方仓库安装更高版本"&gt;&lt;a href="#%e4%ba%8c%e4%bd%bf%e7%94%a8-gluster-%e5%ae%98%e6%96%b9%e4%bb%93%e5%ba%93%e5%ae%89%e8%a3%85%e6%9b%b4%e9%ab%98%e7%89%88%e6%9c%ac" class="header-anchor"&gt;&lt;/a&gt;二、使用 Gluster 官方仓库安装更高版本
&lt;/h2&gt;&lt;p&gt;以 &lt;strong&gt;GlusterFS 12&lt;/strong&gt; 为例（目前最新的长期维护版本），官方提供了适配 Debian 12 “bookworm” 的仓库。主要流程：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;安装 GPG 公钥&lt;/strong&gt;&lt;br&gt;
先下载并导入 Gluster 公钥（如果你尚未添加过）：&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;wget&lt;/span&gt; &lt;span class="n"&gt;https&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="n"&gt;download&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gluster&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;org&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;pub&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gluster&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;glusterfs&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;rsa&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pub&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="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt; &lt;span class="n"&gt;add&lt;/span&gt; &lt;span class="n"&gt;rsa&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pub&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;如果系统使用的是 &lt;code&gt;gpg --dearmor&lt;/code&gt; + &lt;code&gt;/usr/share/keyrings&lt;/code&gt; 方式管理密钥，则需相应调整，示例（可二选一方式）：&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;wget&lt;/span&gt; &lt;span class="n"&gt;https&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="n"&gt;download&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gluster&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;org&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;pub&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gluster&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;glusterfs&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;rsa&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pub&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;cat&lt;/span&gt; &lt;span class="n"&gt;rsa&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pub&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;gpg&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;dearmor&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;tee&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;usr&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;share&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;keyrings&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gluster&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;12.&lt;/span&gt;&lt;span class="n"&gt;gpg&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;并在仓库源里指明 &lt;code&gt;signed-by=/usr/share/keyrings/gluster-12.gpg&lt;/code&gt;。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;添加 GlusterFS 12 的 apt 源&lt;/strong&gt;&lt;br&gt;
编辑 &lt;code&gt;/etc/apt/sources.list.d/gluster.list&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 nano /etc/apt/sources.list.d/gluster.list
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;在里面写入（适用于 Debian 12 Bookworm / amd64）：&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;deb&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;arch&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;amd64&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="n"&gt;download&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gluster&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;org&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;pub&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gluster&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;glusterfs&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;LATEST&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;Debian&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;bookworm&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;amd64&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;apt&lt;/span&gt; &lt;span class="n"&gt;bookworm&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&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;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这时会同步拉取 GlusterFS 官方仓库里的包信息。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;安装 GlusterFS&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 apt install glusterfs-server
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果你还需客户端工具，也可同时安装 &lt;code&gt;glusterfs-client&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;sudo systemctl enable glusterd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo systemctl start glusterd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;注意某些发行版服务名可能是 &lt;code&gt;glusterfs-server&lt;/code&gt;；Debian/Ubuntu 通常是 &lt;code&gt;glusterd&lt;/code&gt;。&lt;/p&gt;

 &lt;/blockquote&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;systemctl status glusterd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;正常则会显示 active/running 状态。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="三后续配置"&gt;&lt;a href="#%e4%b8%89%e5%90%8e%e7%bb%ad%e9%85%8d%e7%bd%ae" class="header-anchor"&gt;&lt;/a&gt;三、后续配置
&lt;/h2&gt;&lt;p&gt;完成安装后，即可按 GlusterFS 的常规部署流程进行配置，包含：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;在每台服务器创建 Brick 目录&lt;/strong&gt;（如 &lt;code&gt;/data/brick1&lt;/code&gt;）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;将其他节点加为 GlusterFS Trusted Pool&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;gluster peer probe &amp;lt;其他节点IP或主机名&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;gluster peer status
&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;gluster volume create my_volume transport tcp \
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;node1&amp;gt;:/data/brick1 \
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;lt;node2&amp;gt;:/data/brick1 \
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; force
&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;gluster volume start my_volume
&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;/li&gt;
&lt;/ol&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;安装 GlusterFS 客户端相关包&lt;/strong&gt;&lt;br&gt;
在 Debian 系列发行版上，GlusterFS 的客户端工具和 FUSE 驱动通常随 &lt;code&gt;glusterfs-client&lt;/code&gt;（或 &lt;code&gt;glusterfs-fuse&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 apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt install glusterfs-client
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果提示找不到 &lt;code&gt;glusterfs-client&lt;/code&gt; 包，也可以试试 &lt;code&gt;glusterfs-fuse&lt;/code&gt; 或直接安装 &lt;code&gt;glusterfs-common&lt;/code&gt;（不同版本的 Debian/Ubuntu 可能包名略有差异）。&lt;/p&gt;
&lt;p&gt;另外，确保已安装 &lt;code&gt;fuse&lt;/code&gt; 并已加载 FUSE 模块：&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 apt install fuse
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo modprobe fuse
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/blockquote&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;mkdir /mnt/my_gluster
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount -t glusterfs &amp;lt;node1&amp;gt;:/my_volume /mnt/my_gluster
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;挂载成功后，就能访问到 GlusterFS 提供的存储卷。&lt;br&gt;
&lt;strong&gt;额外补充：实现 GlusterFS 卷的持久化挂载&lt;/strong&gt;&lt;br&gt;
编辑 &lt;code&gt;/etc/fstab&lt;/code&gt; 文件&lt;/p&gt;
&lt;ol&gt;
&lt;li&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 cp /etc/fstab /etc/fstab.bak
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;添加 GlusterFS 挂载条目：&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 nano /etc/fstab
&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;/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;&amp;lt;node1&amp;gt;:/my_volume /mnt/my_gluster glusterfs defaults,_netdev 0 0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;字段说明&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;node1&amp;gt;:/my_volume&lt;/code&gt;：GlusterFS 卷路径（可指定多个节点，如 &lt;code&gt;node1,node2:/my_volume&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/mnt/my_gluster&lt;/code&gt;：本地挂载点目录。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;glusterfs&lt;/code&gt;：文件系统类型。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;defaults,_netdev&lt;/code&gt;：挂载选项，&lt;code&gt;_netdev&lt;/code&gt; 表示等待网络就绪后再挂载（关键选项！）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;0 0&lt;/code&gt;：dump 和 fsck 选项（通常无需启用）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;</description></item></channel></rss>