私のラップトップに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;