回答:
最後に、パスワードを1つだけ入力し、すべての物理ディスクを暗号化するトリックを見つけました。
1つ目はパスフレーズで暗号化し、2つ目は最初のハードドライブ(/ root / mykeyfile)に保存するキーファイルを使用して暗号化します。
そして/ etc / crypttabファイルの適切な行で、それはトリックを行います。
sda5_crypt UUID = fb07f1e8-a569-4db9-9fd7-fc1994e093b5 none luks
sdb1_crypt UUID = 4c0687f0-d7af-4f2e-9c57-5ca8e909d492 / root / mykeyfile luks
ubuntuでは、ルートからの派生キーを他のファイルシステムの追加キーとして使用することが可能です。これには、他のドライブのキーをファイルシステム自体から除外するという利点があります。
これを行う前に、まず/ tmpがRAMのみにマウントされていることを確認してください!この変更については、シングルユーザーモードをお勧めします。
mount -t ramfs none /tmp
次に、派生キーをエクスポートできます。
# replace vda5_crypt with the cryptsetup name of your root luks
# have a look in /dev/mapper or 'pvdisplay' to find it...
/lib/cryptsetup/scripts/decrypt_derived vda5_crypt > /tmp/key
次に、それを他のデバイスに追加します。
# use your own disks here instead of sdb1 sdc1 sdd1 etc
cryptsetup luksAddKey /dev/sdb1 /tmp/key
cryptsetup luksAddKey /dev/sdc1 /tmp/key
cryptsetup luksAddKey /dev/sdd1 /tmp/key
rm /tmp/key
これにより、ubuntu initスクリプトは、ルートがロック解除されたときに派生キーを使用して残りのブロックデバイスのロックを解除し、/ dev / mapperで同様に使用できるようになります。彼らが/ etc / crypttabエントリを必要とするかどうかはわかりません-最初にそれらを試してみてください。表示されない場合は、キーなしでそれらをcrypttabに入れるとロックが解除されます。
(私はこれのいずれもテストしていません。)
理論的には、一時的な環境変数をカスタムブートスクリプトに設定して、復号化プロセスの初期化スクリプトで参照することができます。私は実際にこれを数年前に行いました。
もう1つのオプションは、ハードドライブの既存の初期化スクリプトを無効にし、パスワードを1回入力してから2つの復号化プロセスを続行するカスタムスクリプトを作成することです。
別の方法として、LVMボリュームを2番目のドライブに拡張できる場合があります。私が正しく覚えていれば、暗号化は引き継がれるはずです。