差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

freebsd:freebsd_14_use_ports_openzfs [2025-08-12 23:41] (現在)
Decomo 作成
行 1: 行 1:
 +====== FreeBSD 14でPortsのOpenZFSを使う ======
  
 +===== 試した環境 =====
 +
 +  * FreeBSD 14.3-RELEASE-p2
 +  * [[https://www.freshports.org/filesystems/openzfs/|filesystem/openzfs]], [[https://www.freshports.org/filesystems/openzfs-kmod/|filesystem/openzfs-kmod]] 2.3.3
 +
 +===== 手順 =====
 +
 +pkgでfilesystem/openzfsをインストールする。自動でopenzfs-kmodもインストールされる。
 +
 +<code>
 +# pkg install openzfs
 +(略)
 +
 +Message from openzfs-kmod-2.3.3.1403000,1:
 +
 +--
 +Amend /boot/loader.conf as follows to use this module:
 +
 +- change zfs_load="YES" to NO
 +- change opensolaris_load="YES" to NO
 +- add openzfs_load="YES"
 +- (for ARM64) add cryptodev_load="YES"
 +=====
 +Message from openzfs-2.3.3,1:
 +
 +--
 +Ensure that any zfs-related commands, such as zpool, zfs, as used in scripts
 +and in your terminal sessions, use the correct path of /usr/local/sbin/ and
 +not the /sbin/ commands provided by the FreeBSD base system.
 +
 +Consider setting this in your shell profile defaults!
 +</code>
 +
 +メッセージにあるとおり、使用するカーネルモジュールをports側に変更する。
 +
 +<file conf /boot/loader.conf>
 +# use port's ZFS
 +zfs_load="NO"
 +openzfs_load="YES"
 +</file>
 +
 +''opensolaris_load="NO"''も必要ってことだけど、元々書いてない場合は特になくても問題ないと思われる。ZFSを使う場合は基本書くことになっているが、''zfs_load="YES"''なら自動で読み込まれるので、実は明記しなくても大丈夫だったりする。
 +
 +続いて、各種ZFSコマンドが''/usr/local/sbin''の方が優先的に使われるように''PATH''変数設定をいじる。これはシェルによって違うので割愛。設定せずともフルパスで指定してやれば問題ない。
 +
 +その後rebootすると、ports側のカーネル拡張が使われていることがわかる。
 +
 +<code>
 +# kldstat
 +Id Refs Address                Size Name
 +   21 0xffffffff80200000  1f41500 kernel
 +    1 0xffffffff82142000   6048d0 openzfs.ko  ★これ
 +    1 0xffffffff833f9000     4250 ichsmb.ko
 +    1 0xffffffff833fe000     2178 smbus.ko
 +    1 0xffffffff83401000     430c virtio_console.ko
 +    1 0xffffffff83406000     3560 fdescfs.ko
 +</code>
 +
 +''zfs version''でコマンドとカーネル拡張のバージョンを確認できる。
 +
 +<code>
 +$ /usr/local/sbin/zfs version
 +zfs-2.3.3-1
 +zfs-kmod-2.3.3-1
 +
 +$ /sbin/zfs version
 +zfs-2.2.7-FreeBSD_ge269af1b3
 +zfs-kmod-2.3.3-1
 +</code>
 +
 +基本、ZFSは下位互換性が保たれてるハズなので、間違って古いZFSコマンドを使っても致命的に壊れる、みたいなことはないと思う。多分。
 +
 +ただしカーネルが入ってる起動用プール、要はzrootのプールバージョンを上げたり、新機能を使う場合は注意が必要と思われる。FreeBSDはシステムのZFSモジュールとは別に、ブートローダーにもZFSを持ってて、こっちの実装は最小限だったりして、新プール&新機能との互換性がない可能性があるので。
  • freebsd/freebsd_14_use_ports_openzfs.txt
  • 最終更新: 2025-08-12 23:41
  • by Decomo