[FreeBSD-users-jp 96799] Re: FreeBSD13.0-R GEOM ELIで暗号化したデバイスのアタッチ後にzpoolが見えるようにするには?

Tomoaki AOKI junchoon @ dec.sakura.ne.jp
2021年 5月 3日 (月) 02:34:52 UTC


青木@名古屋です。

ある意味蛇足ではあるのですが...。
太田さんの投稿のリンク、仕様が変わったのか機能しませんね。
このAlanの投稿のことでしょうか?

 https://lists.freebsd.org/pipermail/freebsd-current/2021-April/079580.html

少なくともgeliを使っていない環境では、単にimportするだけなら
-o は要らなかったと思いますが、今後に備えてattributeとして
export後もcachefile内に残しておきたいという意図なんでしょうか。

あと、私がRoot on ZFS環境を使い始めた当初(一番最初の頃は
できていたかもしれませんが、少なくともかなり初期、OpenZFSなど
影も形もなかった頃)から、zpool listでimport済でないpoolは
表示されませんよ。

但し、

 ・存在するpoolは全て物理ドライブに1個のみ
 ・全てのpoolはRoot on ZFS
 ・geliその他の暗号化は使っていない。
 ・UEFIファームウェアからの起動ドライブ選択や
  野中さんのパッチ[1]を当てたboot1.efiからは
  どのドライブのRoot on ZFS環境も起動可能

な状況での話ですので、2個め以降のpoolを普通にimport
すると【必ず】ディレクトリの競合が発生するためリストから
除外されているだけで、例えば必要なときにだけimportする
pool(ディレクトリの競合皆無)が複数ある場合等は
リストされるのが普通、という可能性はありますが...。

 [1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=207940

なお、各poolを構成しているパーティションにはgpartで
pool名のヒントになるラベルを付けてpool名忘れに備えて
います。 これをあえてpool名と完全一致にしていないのが
原因という可能性もありますね。


On Sun, 02 May 2021 11:39:58 +0900
KAWAMATA <fumio @ next.matrix.jp> wrote:

> 川又です。
> 
> 参照先の情報どおりに操作したところ、明示的にキャッシュファイルを指定して、zpoolをインポートできました。
> あとは、暗号化したデバイスのアタッチ後に続けてこの操作を行うよう、スクリプトを修正します。
> ありがとうございました。以下は、操作した手順です。
> 
> $ sudo zpool import tank2 #一旦zpoolをインポート
> $ sudo zpool set cachefile=/etc/zfs/zpool_tank2.cache tank2
> $ ls -l /etc/zfs
> total 4
> -rw-r--r--  1 root  wheel     0  1月  5 10:13 exports
> -rw-r--r--  1 root  wheel  1448  5月  2 10:53 zpool_tank2.cache
> -rw-r--r--  1 root  wheel  1416  5月  2 10:53 zpool.cache
> (キャッシュファイルが作成されました)
> 
> $ sudo shutdown -r now  # 再起動
> 
> $ sudo geli attach -k /foobar/geli.key /dev/ada1
> 
> $ sudo zpool import -a -c /etc/zfs/zpool_tank2.cache -o cachefile=/etc/zfs/zpool_tank2.cache
> (何も出力されませんでした)
> 
> $ zpool list
> NAME    SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
> tank2   232G   876K   232G        -         -     0%     0%  1.00x    ONLINE  -
> (zpoolが表示されるようになりました)
> 
> $ zfs list
> NAME                 USED  AVAIL     REFER  MOUNTPOINT
> tank2                720K   225G       96K  /home/foobar/samba/tank2
> tank2/data            96K   225G       96K  /home/foobar/samba/tank2/data
> (ファイルシステムも表示されました)
> 
> $ ls -l /etc/zfs
> total 4
> -rw-r--r--  1 root  wheel     0  1月  5 10:13 exports
> -rw-r--r--  1 root  wheel  1448  5月  2 11:07 zpool_tank2.cache
> -rw-r--r--  1 root  wheel  1416  5月  2 11:07 zpool.cache
> (キャッシュファイルが更新されました)
> 
> ◆失敗の記録◆
> 最初、zpool import のオプションを「 -c のみでもいけるのでは?」 と思い、以下のようにしました。
> 
> $ sudo zpool import -c /etc/zfs/zpool_tank2.cache
>    pool: tank2
>      id: 3658802728382514599
>   state: ONLINE
> status: Some supported features are not enabled on the pool.
>  action: The pool can be imported using its name or numeric identifier, though
>         some features will not be available without an explicit 'zpool upgrade'.
>  config:
> 
>         tank2       ONLINE
>           ada1.eli  ONLINE
> 
> プール情報が表示されただけで、
> $ zpool list
> を実行しても、プール名は表示されず、また、キャッシュファイルも更新されませんでした。
> 
> 
> On Sat, 1 May 2021 10:09:03 -0400
> Yoshihiro Ota <ota @ j.email.ne.jp> wrote:
> 
> > 太田です。
> > 
> > 丁度、current メーリングリストにも zfs + geli に関する質問が流れていました。
> > 
> > https://docs.freebsd.org/cgi/getmsg.cgi?fetch=180869+0+current/freebsd-current
> > 
> > 参考にはなるのではないかと。
> > 
> > On Sat, 01 May 2021 12:59:15 +0900
> > KAWAMATA <fumio @ next.matrix.jp> wrote:
> > 
> > > 川又と申します。
> > > 
> > > $ sudo geli attach -k /hogehoge/geli.key /dev/ada1
> > > のように暗号化したデバイスをアタッチしたあとに、
> > > $ zpool list
> > > を実行しても、zpoolが表示されません。
> > > $ sudo zpool import
> > > を実行すると、import可能なzpoolとして表示され、実際に、importも
> > > 可能なのですが、再起動後に再アタッチして、zpool listとしても、
> > > やはり、zpoolは表示されません。再起動・再アタッチの度にimport
> > > しなければならない状況です。
> > > 
> > > FreeBSD12.2-Rでは、暗号化したデバイスをアタッチしたあとに
> > > $ zpool list
> > > を実行するとzpoolが表示されます。(上記現象発生後、改めて確認済です)
> > > 
> > > /boot/loader.confには、
> > > zfs_load="YES"
> > > geom_eli_load="YES"
> > > の記述あり。
> > > 
> > > /etc/rc.confには、
> > > zfs_enable="YES"
> > > の記述ありです。(FreeBSD12.2/13.0とも)
> > > 
> > > FreeBSD13.0から、ZFSの実装がOpenZFSに変わりましたが、それに伴い、
> > > 何か設定を行う必要があるのでしょうか?
> > > (自分でネット検索した範囲では、情報が見当たりませんでした。)
> > > 
> > > よろしくお願いします。
> > > 
> > > -- 
> > > KAWAMATA Fumio <fumio @ next.matrix.jp>
> > > 
> > > _______________________________________________
> > > freebsd-users-jp @ freebsd.org mailing list
> > > https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp
> > > To unsubscribe, send any mail to "freebsd-users-jp-unsubscribe @ freebsd.org"
> 
> -- 
> KAWAMATA Fumio <fumio @ next.matrix.jp>
> 
> _______________________________________________
> freebsd-users-jp @ freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp
> To unsubscribe, send any mail to "freebsd-users-jp-unsubscribe @ freebsd.org"


-- 
青木 知明  [Tomoaki AOKI]    <junchoon @ dec.sakura.ne.jp>


freebsd-users-jp メーリングリストの案内