[FreeBSD-users-jp 96793] Re: freebsd-update -r 13.0-RELEASE upgrade

近藤和宏 kazuhiro @ alib.jp
2021年 4月 22日 (木) 08:47:12 UTC


こんにちは、近藤@古代図書館です。

> zfs.ko をロードしているかどうかじゃなくて、pool が import されているか
> どうかじゃないのかなと思ったりはするのですが。

メールを送った後に別途があり、「記憶に頼るより zpool history 見た方が
いいのでは」というお話がありましたので、確認したところ

single user mode に落ちた環境:
> 2021-04-18.03:05:55 zpool import -a [user 0 (root) on :freebsd]
> 2021-04-18.03:08:34 zpool import -c /etc/zfs/zpool.cache -a -N [user 0 (root) on host1:freebsd]

普通に上がった環境
> 2021-04-17.23:10:00 zpool import -c /boot/zfs/zpool.cache -a -N [user 0 (root) on host2:freebsd]
> 2021-04-17.23:49:51 zpool import -c /etc/zfs/zpool.cache -a -N [user 0 (root) on host2:freebsd]

とあり、single user mode に落ちた環境の方ではホスト名が入っていない通り、
single user mode に落ちた際に zpool import -a してました。
最近の一連のメールを見て、叩いていたようです……。

(ホスト名が入っているのは /etc/rc.conf に zfs_enable="YES" を書いたことで
 自動的に実行された操作となります)

再起動して確認してみましたが、zpool import -c /etc/zfs/zpool.cache -a -N が
起動毎に記録されるのが、ちょっと微妙な感じがしますね……。

以上、よろしくお願いします。


-- 
KONDOU, Kazuhiro @ Ancient library
mail address: kazuhiro @ alib.jp

-----Original Message-----
From: owner-freebsd-users-jp @ freebsd.org <owner-freebsd-users-jp @ freebsd.org> On Behalf Of Katsuyuki Miyoshi
Sent: Thursday, April 22, 2021 1:28 PM
To: freebsd-users-jp @ freebsd.org
Subject: [FreeBSD-users-jp 96792] Re: freebsd-update -r 13.0-RELEASE upgrade

 みよし です。

近藤和宏 <kazuhiro @ alib.jp> writes:
> ・結局のところ、zfs.ko がきちんと読み込まれているかどうかだけ?
> という感じでして……。

 zfs.ko をロードしているかどうかじゃなくて、pool が import されているか
どうかじゃないのかなと思ったりはするのですが。

 mount -t zfs しようとすればその場合でもやはり zfs.ko のロードは行われます。

 # 現時点でも確認できそうであれば
 #
 # > 諸々の結果、再起動後に single user mode に落ちた環境は
 # > ・/etc/rc.conf に zfs_enable="YES" がない
 # > ・/etc/fstab に zfs 領域の記述がある
 # > という環境でした。
 #
 # この single user mode に落ちた時の kldstat の表示はどうでしょうか?

 R12 までは zfs.ko がロードされれば zpool import -a された状態で、よって
そのまま mount -t zfs すれば成功します。

 一方で R13 (OpenZFS) では zfs.ko がロードされても zpool import -a
された状態ではなくなりました。よってそのまま mount -t zfs するだけでは
mount できません (zpool import が必要です)。
 OS 起動時に zpool import -a をしておきたい場合は /etc/rc.conf に
zfs_enable="YES" を記述してそれによって (/etc/rc.d/zpool で)
zpool import -a を行うような仕様になったと思います。
  
 # /usr/src/UPDATING の 20200824:
 # 
 #   Pool auto import behavior at boot has been moved from the kernel module
 #   to an explicit "zpool import -a" in one of the rc scripts enabled by
 #   zfs_enable=YES. This means your non-root zpools won't auto import until
 #   you upgrade your /etc/rc.d files.
 #

> これに、hrs から頂いたコメントで
> ・zfs mount -a を rc.d/zfs が実行すると読みます
> ・fstab の段階で実行するのは mount -t zfs -a なので、こっちは読まない
> (いずれも、「読む」と言われているのは zfs.ko)

 原文が確かにこうなのか、近藤さんの解釈でこうなのかちょっとよく分か
らないのですが、私がいいように想像して書くなら

・zfs_enable="YES" の記述があって zfs mount -a を実行する場合は
  rc.d/zfs (と rc.d/zpool) が読まれます。(だから成功します)

・zfs_enable="YES" の記述がなくて rc.d/mountcritlocal で実行される
  mount -t zfs を実行するような場合には rc.d/zfs (rc.d/zpool) は読ま
  れません。(だから失敗します)
 
くらいに解釈できたりはしないでしょうか?

 ともかくこの辺りは R13 (OpenZFS) になっての変更点である事は確かですよね。

 以上、どうぞよろしくお願いいたします。

--
 三好勝幸 (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"


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