[FreeBSD-users-jp 96792] Re: freebsd-update -r 13.0-RELEASE upgrade
Katsuyuki Miyoshi
katsu @ miyoshi.matsuyama.ehime.jp
2021年 4月 22日 (木) 04:28:23 UTC
みよし です。
近藤和宏 <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 メーリングリストの案内