GNU/Linux >> Linux の 問題 >  >> Linux

RAID、LVM、LUKS の最適な順序

まず、LUKS と LVM の順序は、異なる LV に対して異なる LUKS パスワードまたはその他の設定を使用するかどうかによって異なります。たとえば、LV ごとに異なるパスワードを設定する必要がある場合は、LVM の上に LUKS を配置する必要があります。一方、すべての LV が同じパスワードと keylen のような設定を共有している場合、複数の LUKS パーティションを持つことによるオーバーヘッドに対処する必要がないように、LVM の下に LUKS を配置する必要があります (パスワードを変更する必要がある場合に行う必要があります)。

次に、ほとんどの場合、RAID を最低レベルにして、1 つのディスクが故障したときに簡単かつ透過的に交換できるようにします。 LVM の上に RAID をセットアップする場合、1 つのディスクが故障したときに PV を交換する必要があり、それは首に大きな負担となります。また、LVM 上の RAID は、LVM の柔軟性を完全に無効にします。その後、おそらく RAID の上に LVM の第 2 層をセットアップする必要があります!

したがって、ほとんどの場合、ユーザーは単一のパスワードを使用するだけでよいので、これで十分です:

<ブロック引用>

RAID --> LUKS --> LVM --> ext4

場合によっては、LVM を使用して複数の RAID デバイスを結合して大きなボリュームにする必要がある場合があります。その場合は、次のことができます。

<ブロック引用>

RAID --> LVM --> LUKS (--> LVM) --> ext4

理論的には、すべてのレイヤーが正しく設定されている場合、順序がパフォーマンスに大きな影響を与えることはありません。 、実際には、このセットアップのパフォーマンスが特に悪いことは見たことがありません。最も重要なことは、おそらくアライメントです:

<オール>
  • パーティションが 1MB 整列されていることを確認してください (SSD にとって非常に重要です);
  • RAID レイヤーの場合は、チャンク サイズを慎重に選択してください。
  • LVM の場合は、必ず --dataalignment を設定してください RAID チャンク サイズに合わせます (これが役立つ場合があります)。
  • また、SSD の場合は、rd.luks.options=discard を追加して LUKS TRIM/DISCARD パススルーを有効にしてください。 /etc/default/grub まで と discard /etc/crypttabまで (これらは Red Hat/Fedora Linux で私が行っていることです。Debian では少し異なるかもしれません。) 新しいカーネルを使用する場合、LVM と RAID は自動的に破棄をサポートするはずです。

    もちろん、これらは一般的なガイドラインにすぎません。特別なニーズがある場合は、ここで質問やコメントを更新してください。


    RAID、LUKS、LVM のすべてが必要な場合は、RAID -> LUKS -> LVM -> FS をお勧めします . RAID --> LVM --> LUKS --> LVM --> FS RAID -> LUKS -> LVM に勝るものはありません - ボリュームを拡張するには、さらに RAID -> LUKS を追加するだけです デバイスをボリューム グループに追加します。

    RAID --> LVM --> LUKS --> FS - 特定の論理ボリュームのみを暗号化すると、デフォルトですべてを暗号化しないという特徴がありますが (長所または短所と見なされる場合があります)、ルート FS の拡張が容易になります。

    論理ボリュームの上に LUKS を拡張することは、ユーザーが間違った順序で拡張/サイズ変更した場合によくある問題の原因です。 md RAID デバイス全体に LUKS を配置すると、サイズ変更が簡単になります。新しい md デバイスを追加し、その上に LUKS を作成し、デバイスを /etc/crypttab に追加します。 (少なくとも Fedora および RHEL クローンでは) ボリューム グループを拡張します。ルート FS がボリューム グループにある場合は、別の rd.luks.uuid を追加する必要があります。 カーネル コマンドラインへのエントリ (編集 /etc/default/grub grub.cfg を再生成します。)

    LUKS -> RAID 通常は間違っています。データは複数回暗号化され、より多くの CPU サイクルが消費されますが、利益はありません。ディスクに障害が発生したときに、LUKS をセットアップせずに、誤って障害のあるディスクを新しいディスクに交換する可能性もあります。

    伸縮:

    伸ばすときは常にスタックの一番下から、縮小するときは一番上から。

    例:

    延長中 RAID -> LVM -> LUKS -> FS (ボリューム グループに十分な空き容量がある場合、最初の 2 つの手順はオプションです):

    <オール>
  • 新しいディスクを追加して md RAID を作成する
  • mdX デバイスをボリューム グループに追加します。
  • 論理ボリュームを拡張します。
  • LUKS デバイスを拡張します。
  • FS を延長します。
  • 縮小 RAID -> LVM -> LUKS -> FS :

    <オール>
  • FS を縮小します。
  • LUKS デバイスを縮小します。
  • 論理ボリュームを縮小します。

  • Linux
    1. LVM と HD のクローン作成

    2. LVM の危険性と注意事項

    3. fsck を使用して LUKS 暗号化ディスクをチェックおよび修復しますか?

    1. LvmとDm-cryptでトリミングしますか?

    2. LVM コマンドが「Failed to load config file /etc/lvm/lvm.conf」で失敗する

    3. Systemd の依存関係と起動順序

    1. LVM とマルチパス – サンプル LVM フィルター文字列

    2. LUKS 暗号化デバイスをバックアップするためのベスト プラクティス

    3. LUKS/ソフトウェア RAID/LVM の順序付けによる IO の低下?