Solus OS(Linux)で暗号化されたlvm2ボリュームグループにbtrfs raid 1を追加するには?

Solus OS(Linux)で暗号化されたlvm2ボリュームグループにbtrfs raid 1を追加するには?

私が持っているもの:

56G SSDに暗号化されたLVM2を含むSolus OSをインストールし、スワップは必要ありませんでした。見事に働きました。私は32GのRAMを持っているので、今はスワップが問題になりません。将来的には、主にオフィス、Web、Daw、およびRustプログラミングのためのデスクトップとして使用される主要なデバイスになります(すべて同時にではありません)。

私がしたいこと:

RAID 1構成では、btrfsでフォーマットされた2つの1T hdを実際のlvm2ボリュームグループに追加します。これには/home(およびすでに存在するもの)を含める必要があり、起動中に/homeとしてマウントされ、/homeに1Tスペースを確保します。 、ソフトウェアミラーリングを含む。データとメタデータにはRAIDレベル1を使用する必要があります。

/homeは、使用されているコアフレーズで暗号化された状態を維持する必要があります。また、fstabとfscryptで実行する必要がある-o圧縮を使用してbtrfsをインストールしたいと思います。 fscryptや似たような音がするか、現時点ではわかりません。

私が今まで理解したこと:

  1. btrfs raidの生成
  2. /homeのすべての内容を一時的にマウントされた/home-btrfsにコピーします。
  3. 以下を得るには、いくつかの魔法を実行してください。 SSDの/homeが消え、/home-btrfsのマウント解除btrfs-raidをボリュームグループに追加し、btrfs-raidを/homeとしてマウントします。すべてが再暗号化されますが、より多くのスペースがあります。

誰でも私にこれを説明できますか?始めるのに十分かわかりません。私は端末やCLIを恐れません。私はWindows 10のベンダーの依存関係を終了し、Linuxに切り替えることにしました。この構成がパフォーマンスにある程度影響を及ぼすことはわかっていますが、大丈夫です。

私の現在の計画は次のとおりです。

  1. gpartedはパーティションテーブル(gpt)を作成し、btrfsを使用して/ dev / sdb1をフォーマットします。
  2. ターミナル/シェルを開く
  3. sudo のインストール /dev/sdb1 /home-btrfs
  4. cp -var /home /home-btrfs を使用して、/home から /home-btrfs にすべてのコンテンツをコピーします。
  5. gpartedは/dev/sdc -> /dev/sdc1にパーティションテーブル(gpt)を作成します。
  6. btrfs デバイス /dev/sdc1 /home-btrfs を追加
  7. btrfs fi バランスの取れた開始 -mconvert=raid1,soft -dconvert=raid1,soft /home-btrfs
  8. 2番目のシェルを開き、RAID変換の進行状況を観察します。
  9. btrfs ファイルシステムのバランス状態 /home-btrfs
  10. btrfs バランスの開始 -dusage=0 -musage=0 /mnt/btrfs (空のブロックを削除)
  11. これで、lvextend、pvcreate、vgextend、残りのlvm2を自分の計画に合わせることができないため、ブロックされました。

文法が悪くてお詫び申し上げます。はい、ここでは検索機能とGoogleを使用して多くの時間を費やしましたが、必要な回答が見つかりませんでした。

ベストアンサー1

Solus OSはsystemdを使用しているため、/etc/crypttabロック解除が必要なLUKSデバイスを構成して使用できるようにします/etc/fstab

LUKS および BTRFS ミラーの使用 (raid1) /home

  1. ソフトウェアセンターを使用してインストールしますbtrfs-progs
  2. 暗号化されたファイルに保存され、/新しいLUKSコンテナのロックを解除するために使用されるLUKSキーファイルを生成します/homesudo dd bs=512 count=4 if=/dev/urandom of=/root/home.key
  3. キーファイルを使用して、両方のデバイスにLUKSコンテナを作成します。sudo cryptsetup luksFormat /dev/sdb /root/home.key && sudo cryptsetup luksFormat /dev/sdc /root/home.key
  4. 2つの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ファイルシステムをどこかにマウントします(デバイスの1つを指定するだけです):mount /dev/mapper/home0 /mnt
  7. /homeBTRFSでより柔軟性を提供するためにサブボリュームを作成します。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. 再起動してsystemd-bootメニューが表示されたら、[次へ]をクリックします。金利キー。
  2. カーネルのコマンドラインを編集できるようになりました。次へ追加"systemd.unit=rescue"
  3. シングルユーザーモードで起動するには、追加されたカーネルコマンドラインを使用して起動するには、Enterキーを押します。これにより削除できます/home
  4. 削除/homeumount /home
  5. 古いものを削除してください/home。注意してください。バックアップすることをお勧めします。cd /home && rm -fR .
  6. 再起動。

BTRFS用にデバイス全体を使用するため、パーティション化やLVMは不要です。さらに、BTRFSは最初から2つのデバイスを使用し、RAID1構成で作成されたため、バランスを調整する必要はありません。

また、LUKS コンテナはキーファイルを使用してロック解除されるため、パスワードを 3 回入力するように求められません。ただし、キーファイルに問題がある場合に備えて、他のLUKSスロットにパスワードを追加する必要があるかもしれません。

ヒント

最後に、3つのLUKSヘッダーをすべてバックアップすることをお勧めします。ヘッダーが破損してバックアップがない場合は、ディスクを埋め立て地に送信することもできます。

おすすめ記事