[FreeBSD-users-jp 96802] Re: FreeBSD13.0-R GEOM ELIで暗号化したデバイスのアタッチ後にzpoolが見えるようにするには?
KAWAMATA
fumio @ next.matrix.jp
2021年 5月 5日 (水) 00:45:17 UTC
川又です。
man zpool-import コマンドの結果では、-o cachefile=/etc/zfs/zpool_tank2.cache
のような使用例がわからず、ネット検索した結果では、 -c オプションをつけるように書いてある
ページがいくつか見つかったので、「-o cachefile=/etc/zfs/zpool_tank2.cache無しで
-c /etc/zfs/zpool_tank2.cacheのみでもいけるのでは?」と思い至った次第です。
> R12 において暗号化したデバイスを attach する前に zpool status で
> 確認していただくと、tank2 は UNAVAIL な状態で見えていたりしませんで
> しょうか?
はい。UNAVAILとなっておりました。
> R13 においてはプールを一度 import しても OS を再起動したりした場合は
> 明示的にあらためて import してやらないと import されなくなりました。
これを理解しておらず、結果として、皆さんのお手を煩わせてしましました。
> # とかの記述をしておけば OS 起動時に全て解決すると思いますが、
> # この辺りはあえて起動時には attach しない事にしているという
> # 事でいいでしょうか?
はい。そのとおりです。OS起動後に、リモートで接続して、パスフレーズを入力して、
attachしています。意図的にこうしています。
> > $ 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.cache も zpool_tank2.cache も置き場所は同じ
> ようですし、わざわざ /etc/zfs/zpool_tank2.cache にする必要は無いような
> 気はします…
太田さんが教えてくださった参照先では、
As soon as ZFS loads, it tries to import all pools mentioned in /boot/zfs/zpool.cache.
と書いてあり、参照先の例でも、別ファイルにしていたので、それにならった次第です。
よろしくお願いします。
On Tue, 04 May 2021 11:31:43 +0900
Katsuyuki Miyoshi <katsu @ miyoshi.matsuyama.ehime.jp> wrote:
> みよし です。
>
> KAWAMATA <fumio @ next.matrix.jp> writes:
> > ◆失敗の記録◆
> > 最初、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
> > を実行しても、プール名は表示されず、また、キャッシュファイルも更新されませんでした。
>
> 今ひとつ何をされたくてこのコマンドを実行されたのかよく分からないのですが、
> tank2 を import したいのであれば
>
> $ sudo zpool import tank2
>
> のように import するプールを指定する必要があります (もしくは -a)。
> ここで川又さんが実行されているのは川又さんが書かれている通り import
> 可能なプールを表示しているだけですのでこのような結果になるのはその通り
> だと思うのですけど、ここは何を意図して行われたものでしょうか?
> (「 -c のみでもいけるのでは?」と思われたのは、何がいけると思われて
> こうされたという事なのでしょう?)
>
> > FreeBSD12.2-Rでは、暗号化したデバイスをアタッチしたあとに
> > $ zpool list
> > を実行するとzpoolが表示されます。(上記現象発生後、改めて確認済です)
>
> R12 において暗号化したデバイスを attach する前に zpool status で
> 確認していただくと、tank2 は UNAVAIL な状態で見えていたりしませんで
> しょうか?
> R12 においては一度 import したプールは OS が再起動されても import
> され続けますので、暗号化したデバイスが attach されていないとデバイス
> open ができない障害が発生したプールの状態になると思います。
> その状態で暗号化したデバイスが attach されてアクセスできるようになると
> ONLINE になって tank2 が利用できるようになるという流れだと思います。
>
> > $ sudo geli attach -k /hogehoge/geli.key /dev/ada1
> > のように暗号化したデバイスをアタッチしたあとに、
> > $ zpool list
> > を実行しても、zpoolが表示されません。
> > $ sudo zpool import
> > を実行すると、import可能なzpoolとして表示され、実際に、importも
> > 可能なのですが、再起動後に再アタッチして、zpool listとしても、
> > やはり、zpoolは表示されません。再起動・再アタッチの度にimport
> > しなければならない状況です。
>
> R13 においてはプールを一度 import しても OS を再起動したりした場合は
> 明示的にあらためて import してやらないと import されなくなりました。
> よって OS 起動後暗号化したデバイスを attach しただけではそのデバイスが
> 生えてくるだけで、ZFS としては何も起こりません。
> すなわち OS 起動後 tank2 を利用したいなら、川又さんがここで書かれて
> いらっしゃる通り毎回、
>
> 1. 暗号化したデバイスを attach する
> 2. tank2 を import する
>
> という手順が必要だと思います。
>
> # もう少し述べておきますと、zfs_enable="YES" により OS 起動時に
> # zpool import -a は試みられますが、(恐らく川又さんの設定では)
> # その時点で暗号化されたデバイスが attach されていないので tank2
> # が import される事はありません。
> # /etc/rc.conf に
> #
> # geli_devices="ada1"
> # geli_ada1_flags="-k /hogehoge/geli.key"
> #
> # とかの記述をしておけば OS 起動時に全て解決すると思いますが、
> # この辺りはあえて起動時には attach しない事にしているという
> # 事でいいでしょうか?
>
> > $ 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.cache も zpool_tank2.cache も置き場所は同じ
> ようですし、わざわざ /etc/zfs/zpool_tank2.cache にする必要は無いような
> 気はします…
>
> 以上、どうぞよろしくお願いいたします。
>
> --
> 三好勝幸 (Katsuyuki Miyoshi)
> _______________________________________________
> 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 メーリングリストの案内