惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
MyScale Blog
MyScale Blog
博客园 - Franky
The Cloudflare Blog
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
WordPress大学
WordPress大学
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
The Blog of Author Tim Ferriss
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
Google DeepMind News
Google DeepMind News
P
Proofpoint News Feed
Martin Fowler
Martin Fowler
aimingoo的专栏
aimingoo的专栏
J
Java Code Geeks
腾讯CDC
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
博客园 - 【当耐特】
美团技术团队
云风的 BLOG
云风的 BLOG

Jiajun的技术笔记

你好,2026! TiDB 源码阅读(六):TiDB Coprocessor 源码解析 性能优化的核心思想 TiDB 源码阅读(五):索引 TiDB 源码阅读(四):AST、逻辑计划、物理计划 CockroachDB Serverless Architecture podman 无故退出 Cursor Control-L (CTRL-L) Keyboard Shortcuts in Terminal Replace docker with podman Using xmonad with xfce4 A RC script for freebsd frpc 自己动手写一个k8s controller AI 会取代你的(编程)岗位吗? 自建DERP服务器提升Tailscale连接速度(使用Nginx转发) 自动升级Docker容器 再读《程序员修炼之道-从小工到专家》 让浏览器下载文件 再读《软件随想录》/《黑客与画家》/《软技能》 HTTP 压力测试中的 Coordinated Omission 2的补码 编程语言中的 context 是什么? flutter macOS 构建出错 Flatpak 使用小记 Golang CAS 操作是怎么实现的 PostgreSQL 当MQ来使用 Clash 结合 工作VPN 的网络设计 使用 PostgreSQL 搭建 JuiceFS PostgreSQL 配置优化和日志分析 有GitHub Copilot?那就可以搭建你的ChatGPT4服务 窗口函数的使用(以PG为例)
使用btrfs组建RAID1
Jiajun Huang · 2019-04-03 · via Jiajun的技术笔记

最近在折腾 syncthing 这个 P2P 的私人云盘,原本是在vps上搭建了一个,但是考虑到vps的数据也不安全,于是还是决定把数据 保存在本地。但是由于单块硬盘是不可靠的,因此需要组一个RAID。

对于个人来说,数据安全且划算的方案就是RAID1了。RAID1就是两块硬盘进行计算,因此需要两块硬盘,其中一块损毁,数据仍然安全, 如果想要提高数据安全程度,则可以加一个备份,不过对于我来说,两块硬盘已经够了,如果有这么背那只能认了(其实最好能有一个 异地备份,但还是算了吧)。

我的笔记本上共有三块硬盘,sda, sdb, sdc。其中 sdb 是系统盘,文件系统是btrfs,sda 是一块 mSATA 接口的数据盘, 由于是一块非常老的SSD,容量也比较小,我用来存储虚拟机的镜像,因为相对来说,虚拟机没有那么重要,数据损坏了损失也不大, sdc 是一块hdd。因此我决定使用 sdbsdc 来组RAID1。

这是执行的命令:

$ sudo btrfs device add -f /dev/sdc /  # 把sdc加入到 `/` 上。`sdb` 挂载的路径就是 `/`
$ sudo btrfs device usage /  # 查看一下使用情况
$ sudo btrfs balance start -dconvert=raid1 -mconvert=raid1 / # 开始做raid1

其中第三步需要等待一段时间。不过做完之后发现磁盘写入速度被hdd拖慢了,因此下单买了一块ssd,等到货之后把 sdc 卸了, 重新组RAID1,这个过几天再记录一下。

2019.04.05更新:

$ sudo btrfs balance start -f -mconvert=single -dconvert=single /  # 把/转换为单盘,如果有多块盘,则不需要执行这一步
$ sudo btrfs device delete /dev/sdb /  # 把 /dev/sdb 从 / 删除

比较好的一点是,btrfs支持不同大小的磁盘组RAID1,并且能充分利用两块磁盘的大小,这一点我觉得非常好,不过数据超过最小的盘 之后如果数据损坏会怎样,这个目前还没有查到结论。