使用btrfs组建RAID1

最近在折腾 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,并且能充分利用两块磁盘的大小,这一点我觉得非常好,不过数据超过最小的盘 之后如果数据损坏会怎样,这个目前还没有查到结论。



微信公众号
关注公众号,获得及时更新

更多文章
  • 网络乞讨之合并支付宝和微信的收款二维码
  • 从Chrome切换到Firefox
  • Linux下当笔记本合上盖子之后只使用扩展显示器
  • nomad简明教程
  • Ubuntu 18.04 dhcp更换新IP
  • Python中的新式类(new style class)和老式类(old style class)
  • Python Requests 简明教程
  • 密码技术简明教程(三):证书和TLS
  • 密码技术简明教程(二):散列、消息认证码和数字签名
  • SEO学习笔记
  • 密码技术简明教程(一):对称加密和非对称加密
  • Kubernetes 笔记
  • go mod 和 logrus 路径大小写的问题
  • Flask自动加载Blueprint
  • 在KVM里安装Minikube