首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Solus (Linux)下向加密的lvm2卷组添加btrfs raid 1?

如何在Solus (Linux)下向加密的lvm2卷组添加btrfs raid 1?
EN

Unix & Linux用户
提问于 2018-03-29 04:29:46
回答 1查看 691关注 0票数 0

我所拥有的:

Solus安装一个加密的LVM2在56G的SSD /o交换-工作相当不错。我有32G内存,所以交换现在不是一个问题-这是我未来的主要平台,它主要是用于桌面办公,网络,daw和锈菌编程(不是所有的同时)。

我想做的是:

将raid 1配置中使用btrfs格式化的两个1THDS添加到实际的lvm2卷组中,它们应该包含/home (包含所有已经存在的内容),并在引导期间作为/home挂载,这样我就可以使用软件镜像为/home提供1T空间。raid级别1必须用于数据和元数据。

/home应该使用已经使用的密钥短语进行加密。此外,我还想用-o压缩-强制安装btrfs‘,这必须在fstab和fscrypt中完成。我目前还不确定是氪星还是其他类似的东西。

到目前为止,我所理解的是:

  1. 创建btrfs raid
  2. 将所有内容从/home复制到临时挂载/home-btrfs
  3. 做一些神奇的事情: ssd上的/home离开了,卸载/home-btrfs将btrfs-raid添加到卷组中,并将btrfs-raid挂载为/home -所有的东西都是加密的,但是有更多的空间。

有谁能解释给我听吗?我不确定我是否对这件事有足够的理解来开始。我不怕终点站,也不怕任何阴蒂。我刚刚决定退出Windows 10的供应商锁定,转而使用Linux。我知道,我会得到一些性能方面的配置,但这对我来说是可以的。

我目前的计划是这样做:

  1. gparted将使用btrfs创建一个分区表(gpt)并格式化/dev/sdb1 1。
  2. 打开终端/外壳
  3. sudo挂载/dev/sdb1 1 /home-btrfs
  4. 使用cp /home /home /home-btrfs将所有内容复制到/home-btrfs
  5. G以来将在/dev/sdc -> /dev/sdc 1上创建一个分区表(gpt)
  6. 设备添加/dev/sdc1 1 /home-btrfs
  7. -mconvert=raid1,软-dconvert=raid1,软/家庭- btrfs
  8. 打开第二个shell来查看raid转换过程。
  9. btrfs文件系统平衡状态/home-btrfs
  10. btrfs平衡启动-dusage=0 -musage=0 /mnt/btrfs (清除空块)
  11. 我被困住了,因为现在我无法将lv可扩展性、pvcreate、vg可扩展性和lvm2的其他东西融入我的计划中。

我很抱歉我的语法不好。是的,我花了相当多的时间在这里的搜索功能和谷歌,但找不到我需要的答案。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-03-31 17:38:51

Solus使用systemd,因此/etc/crypttab用于配置需要解锁的LUKS设备,以便可以使用/etc/fstab从它们安装文件系统。这是手术。

镜像(raid1) /home与LUKS和BTRFS

  1. 使用软件中心,安装btrfs-progs
  2. 创建一个LUKS密钥文件,该文件将存储在加密的/上,并用于解锁/homesudo dd bs=512 count=4 if=/dev/urandom of=/root/home.key的新LUKS容器。
  3. 使用密钥文件:sudo cryptsetup luksFormat /dev/sdb /root/home.key && sudo cryptsetup luksFormat /dev/sdc /root/home.key在两个设备上创建LUKS容器
  4. 解锁两个LUKS容器:sudo cryptsetup open --type luks /dev/sdb home0 --key-file /root/home.key && sudo cryptsetup open --type luks /dev/sdc home1 --key-file /root/home.key
  5. 创建BTRFS文件系统:sudo mkfs.btrfs -d raid1 -m raid1 /dev/mapper/home0 /dev/mapper/home1
  6. 在某个地方安装BTRFS文件系统(只需指定其中一个设备):mount /dev/mapper/home0 /mnt
  7. 创建一个/home子卷,使您在使用BTRFS:sudo btrfs subvol create /mnt/home时具有更大的灵活性
  8. 将主目录复制到子卷:cp -var /home /mnt
  9. 创建/修改/etc/crypttab,以便解锁新的LUKS容器:sudo echo "home0 /dev/sdb /root/home.key" >> /etc/crypttab && sudo echo "home1 /dev/sdc /root/home.key"
  10. 修改/etc/fstab,使其安装您的新家:sudo echo "/dev/mapper/home0 /home btrfs defaults,subvol=/home" >> /etc/fstab
  11. 重新启动。

新的raid1 BTRFS文件系统将在重新启动时在/home上挂载。剩下的项目是删除旧的/home。要做到这一点:

删除旧的/home

  1. 重新启动,但当系统启动菜单出现时,按e键。
  2. 现在您可以编辑内核命令行了。添加"systemd.unit=rescue"
  3. 使用添加的内核命令行按ENTER启动,这样您就可以启动到单用户模式。这将允许您卸载/home
  4. Un-挂载/homeumount /home
  5. 删除旧的/home。小心点,我建议备份:cd /home && rm -fR .
  6. 重新启动。

请注意,不需要分区或LVM,因为您只为BTRFS使用整个设备。您也不需要重新平衡BTRFS,因为它从一开始就是用设备和RAID1配置创建的。

此外,LUKS容器使用一个密钥文件解锁,这样就不会提示您三次输入密码。但是,您可能希望将您的密码添加到另一个LUKS槽中,以防密钥文件发生意外。

Tip

最后,我强烈建议备份所有三个LUKS头。如果任何头文件被损坏,并且没有备份,那么最好将磁盘发送到垃圾填埋场。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/434217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档