lvmcacheとLUKS-on-LVMを使用したNixOSの設定

lvmcacheとLUKS-on-LVMを使用したNixOSの設定

私のラップトップにNixOS 19.09をインストールしようとしています。私のディスク設定は30GB SSDと700GB HDDです。私はSSDをHDD用のキャッシュとして使用することにしましたが、ルートパーティション全体を暗号化したいと思いました。

したがって、私のパーティション設定は次のようになります。

  • /dev/sda- SSD
    • /dev/sda1- 起動パーティション、UEFI起動可能フラグ、FAT形式、暗号化されていない
    • /dev/sda2- キャッシュ用
  • /dev/sdb- 非パーティションHDD、LVMのベースディスクとして使用

フォーマットしました/dev/sda1mkfs.fatを使用してボリュームグループvgを設定しました。/dev/sda2そして/dev/sdbその後、次の手順に従います。lvmcache のマニュアルページ。名前付き単一キャッシュボリュームを作成した後HDD 0、LUKS-on-LVMシナリオを実装できるようにcryptsetupを実行しました。フルキャッシュHDD 0次のように暗号化されます。ラックス2
その後、ロックを解除しました。HDD 0cryptsetup を再利用してマッピングします。/dev/マッパー/ルート。インストールしました/mntその上に作成された/mnt/スタートインストールして/dev/sda1そこに。その後、NixOS設定を作成し、デフォルトでデフォルト値のままにしました。注目すべき変更は次のとおりです。DMキャッシュ到着boot.initrd.kernelModuleと設定boot.initrd.luks.devices."root".preLVM到着間違った。その後、正常に実行して再nixos-install起動しました。

システムはGRUBを正常に実行しましたが、ルートボリュームが見つかりませんでした。次のエラーメッセージが表示されます。

device-mapper: table: 254:3: cache: Error creating cache's policy  
device-mapper: reload ioctl on (254:3) failed: Invalid argument

私はそれが全体を検出すると仮定しています。HDD 0。ライブインストールUSBスティックから起動しようとしましたが、有効にする必要があります。DMキャッシュmodprobeを使用して実行します。

# lvchange -ay vg

得るためにHDD 0活動的で目立つ。

似たような設定を試してみた人はいますか?自動的に起動するにはどうすればよいですか?それとも、この設定に概念的に欠陥があり、決して機能しませんか?

PS:質問が十分に詳細であることを願っています。ここで初めて質問します。

答え1

頭を傷つけることを経験した後、今日出勤するようになったニュースは次のとおりです。

boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "ehci_pci" "usb_storage" "usbhid" "sd_mod" "sr_mod" ];
  boot.initrd.kernelModules = [ "dm-cache" "dm-cache-smq" "dm-cache-mq" "dm-cache-cleaner" ];
  boot.kernelModules = [ "kvm-amd" "dm-cache" "dm-cache-smq" "dm-persistent-data" "dm-bio-prison" "dm-clone" "dm-crypt" "dm-writecache" "dm-mirror" "dm-snapshot"];

  boot.initrd.luks.devices = {
    "decrypted" = {
      device = "/dev/mapper/vg-crypt";
      allowDiscards = true;
      preLVM = false;
    };
  };

主な秘訣は、"dm-cache-smq"モジュールでそれを使用することです。これがなければ、あなたが受け取るのと同様のエラーメッセージが表示されます。

欠落に関する醜い警告メッセージが表示されますcache_check。これを削除するには、次を追加します。

services.lvm.boot.thin.enable = true;

関連情報