Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Aug 2022 22:02:39 +0900
From:      freebsdusersjp@t11i.jp
To:        freebsd-users-jp@freebsd.org
Subject:   =?UTF-8?B?6LW35YuV5pmC44Gr54m55a6a44Gu44OH44OQ44Kk44K544GM6KqN6K2Y?= =?UTF-8?B?44GV44KM44KL44G+44GnenBvb2zjga5pbXBvcnTjgpLlvoXjgaTmlrnms5U=?=
Message-ID:  <3ed6f837-258e-86a4-eb0d-34d2d453e49a@t11i.jp>

next in thread | raw e-mail | index | archive | help
戸川と申します。

13.1-RELEASEにおいて、起動時に特定のディスクデバイスが認識されるまで
zpoolのimportを待つ方法を探しています。

----

下記のようなディスク環境を使用しています。

・FreeBSD 12.3-RELEASE → 13.1-RELEASEにupgrade
・Root FS (/usr や /var を含まない):
     NVMe SSD上のパーティション(UFS)
・/usr, /var:
     HDD 4台(/dev/ada0 - /dev/ada3)で構成されるRAIDZのpool上にあるZFS

----

12.3-RELEASEを動作させている時点で、既に
「起動時に /etc/rc.d/zfs を実行していると思しき時点で、
   まだ /dev/ada0 等のディスクデバイスが認識されておらず、
   /usr のマウントに失敗して起動が停止する」
という現象が発生していました。
(このRoot FSは、NVMe SSDの前はUSBメモリ上に構築しており、
  速いNVMe SSDに移した際にこの現象が発生しました)

この時は、下記のページを参考に、/etc/fstab に
/usr のマウント指定を書き足す、というworkaroundで解決しました。
https://lists.freebsd.org/pipermail/freebsd-questions/2013-July/252121.html

(このあたりの対処は以下のページに書きました。
  http://toga.vegalta.org/wordpress/2022/01/09/1097 )

----

13.1-RELEASEにupgradeしたところ、起動時のzpoolのimportが
/etc/rc.d/zpool から行われるようになったようで、
このスクリプトが実行される時点で /dev/ada0 等が認識されていないと
importに失敗するようです。

試しにこのスクリプトを編集し、/dev/ada3 が認識されるまで
sleepするようにしたところ、zpoolのimportに成功しました。

FreeBSD標準で同じような機能が無いかと思い、お伺いしました。


よろしくお願いいたします。



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3ed6f837-258e-86a4-eb0d-34d2d453e49a>