web-dev-qa-db-ja.com

Linux上のZFS:スクリプトごとに手動でマウントする場合のマウントポイントオプションはどれですか?

Debian Buster上のLinux(7.13)でZFSを使用してzpoolを作成したいと思います。問題は、プールがLUKS暗号化ドライブ(ルートではなく外部のみ)に基づいて作成されることです。これらのドライブは、外部ソースからキーファイルをプルしているため、私が作成したスクリプトによって、起動時に復号化およびロードされます。

ドライブが復号化されてロードされる前にシステムがzpoolをマウントするタイミングの問題を回避するために、スクリプトの一部としてプールも手動でマウントしたいと思います。

次に、プールの作成時にマウントポイントにどのオプションを選択する必要があるかを自問します。noneまたはlegacy

マニュアルページは実際の違いが何であるかを本当に助けません:

ファイルシステムのマウントポイントがレガシーZFSに設定されている場合、ファイルシステムの管理は行われず、管理者はファイルシステムのマウントとマウント解除を担当します。従来のマウントが成功する前にプールをインポートする必要があるため、管理者は、zpoolインポートプロセスがブート時に終了した後でのみ、従来のマウントが試行されるようにする必要があります。たとえば、systemdを使用するマシンでは、マウントオプション

実際の違いと、スクリプトを使用して後で手動でマウントする方法を誰かが知っていますか?

5
MelBourbon

LUKSで暗号化されたボリュームでZFSプールを使用してきたのは、10年の大半です。正常に動作します。

存在しないタイミングの問題を回避するためにプールを手動でマウントする理由はありません。普通にプールを作って楽しんでください。

今後の問題を回避するには、プールを作成および管理するときに、luks-ディレクトリの/dev/mapperで始まる名前を使用してデバイスを参照します。たとえば、デバイス:

lrwxrwxrwx. 1 root root 10 Jul 26 22:22 luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1046856 -> ../../dm-5
lrwxrwxrwx. 1 root root 10 Jul 26 22:22 luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1145175 -> ../../dm-4
lrwxrwxrwx. 1 root root 10 Jul 26 22:22 luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1165144 -> ../../dm-2
lrwxrwxrwx. 1 root root 10 Jul 26 22:22 luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WMC1P0DHH53R -> ../../dm-3

対応する:

  pool: srv
 state: ONLINE
  scan: scrub repaired 0B in 0h42m with 0 errors on Tue Jul 30 14:42:04 2019
config:

        NAME                                                 STATE     READ WRITE CKSUM
        srv                                                  ONLINE       0     0     0
          mirror-0                                           ONLINE       0     0     0
            luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1046856  ONLINE       0     0     0
            luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1145175  ONLINE       0     0     0
          mirror-1                                           ONLINE       0     0     0
            luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1165144  ONLINE       0     0     0
            luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WMC1P0DHH53R  ONLINE       0     0     0

このプールは次のように作成されます:

zpool create -o ashift=12 srv \
    mirror \
        luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1046856 \
        luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1145175 \
    mirror \
        luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1165144 \
        luks-ata-WDC_WD2000FYYZ-01UL1B1_WD-WMC1P0DHH53R
4
Michael Hampton

ポータブルドライブのあるluksでzfsを使用しています。標準のマウントポイントで問題が発生したことはありません。マウントはプールがインポートされるまで行われず、luksボリュームがロック解除されるまで行われません。だからあなたはこれを考えすぎているのではないかと思います。

とにかく、本当に必要な場合は、手動マウントのレガシーを使用してください。

4
Zoredache

LUKSドライブに多少の遅延があり、ドライブのロード後にzpool import <poolname>を追加する限り、スクリプトによってこれらを復号化する場合でも、マウントポイントとしてnoneまたはlegacyを使用する必要はありません。当時、ZFSはプールをインポートしようとしているため、それらは利用できない可能性があります。これは、syslogのメッセージで確認できます

2
MelBourbon