"mount -t zfs -fw"はZFSボリュームを100%マウントできません。

実際に毎日動作するFreeBSD 13.1-RELEASEシステムがZFSディスクada0にインストールされています。

=>       40  976773088  ada0  GPT  (466G)

         40     532480     1  efi  (260M)

     532520       1024     2  freebsd-boot  (512K)

     533544        984        - free -  (492K)

     534528    4194304     3  freebsd-swap  (2.0G)

    4728832  972044288     4  freebsd-zfs  (464G)

  976773120          8        - free -  (4.0K)

代わりに、ada2ディスクにada0ドライブにインストールされているほとんどのサービスとアプリケーションをインストールし、時にはこのシステムに切り替えます(13.1-RELEASEと同じですが、UFS2 fsにあります)。

=>       40  625142368  ada2  GPT  (298G)

         40     532480     1  efi  (260M)

     532520  616030208     2  freebsd-ufs  (294G)

  616562728    8388608     3  freebsd-swap  (4.0G)

  624951336     191072        - free -  (93M)

場合によっては、ディスクada2にインストールされているシステムにいるときに/ dev / ada0p4(ディスクada0のFreeBSD-ZFS)にインストールされているシステムのルートパーティションをマウントしたい場合があります。これを行うには、次のコマンドを使用します。

zfs mount -a
mount -t zfs -fw zroot/ROOT/31-03-2022-b /mnt/freebsd-zfs

問題は何ですか?問題は何度も動作しますが、毎回動作するわけではなく、その理由を理解できないことです。時には今のように、次のエラーが発生します。 100%動作するようにZFSパーティションをマウントするより安全な方法はありますか?ありがとうございます。

mount: zroot/ROOT/31-03-2022-b: No such file or directory

更新:これを試してみましたが、ほとんど効果がありましたが、残念ながら、ディスクに保存されているすべてのファイルとフォルダが表示されるわけではありません。

# zpool import -f -R /mnt/freebsd-zfs zroot 
ls /mnt/freebsd-zfs tmp   
usr    var    zroot

これも機能しません。

# zpool import -f -R /mnt/freebsd-zfs zroot/ROOT/31-03-2022-b 
cannot import 'zroot/ROOT/31-03-2022-b': no such pool available

"zroot/ROOT/31-03-2022-b" パスをマウントしたい:

# sudo zfs list

NAME                      USED  AVAIL     REFER  MOUNTPOINT  

zroot                     216G   230G       96K  /mnt/freebsd-zfs/zroot
zroot/ROOT                203G   230G       96K  none
zroot/ROOT/31-03-2022-a   512K   230G     43.4G  /mnt/freebsd-zfs
zroot/ROOT/31-03-2022-b   203G   230G      175G  /mnt/freebsd-zfs
zroot/tmp                10.6M   230G     10.6M  /mnt/freebsd-zfs/tmp
zroot/usr                11.7G   230G       96K  /mnt/freebsd-zfs/usr
zroot/usr/home            192K   230G      192K  /mnt/freebsd-zfs/usr/home
zroot/usr/ports          8.33G   230G     8.33G  /mnt/freebsd-zfs/usr/ports
zroot/usr/src            3.36G   230G     3.36G  /mnt/freebsd-zfs/usr/src
zroot/var                1.26G   230G       96K  /mnt/freebsd-zfs/var
zroot/var/audit            96K   230G       96K  /mnt/freebsd-zfs/var/audit
zroot/var/crash          1.11G   230G     1.11G  /mnt/freebsd-zfs/var/crash
zroot/var/log            3.59M   230G     3.59M  /mnt/freebsd-zfs/var/log
zroot/var/mail            130M   230G      130M  /mnt/freebsd-zfs/var/mail
zroot/var/tmp            18.1M   230G     18.1M  /mnt/freebsd-zfs/var/tmp

ベストアンサー1

altrootプールのプロパティを以下に設定してみてください。/mnt/freebsd-zfs 今後インポートするか、zfs mountデータセットをインポートします。

からman zpoolprops

altroot

代替ルートディレクトリ。設定されている場合、このディレクトリはプールのマウントポイントの前に追加されます。この機能は、マウントポイントを信頼できない不明なプールを確認するとき、または一般的なパスが無効な代替ブート環境で使用できます。

altroot永続的な属性ではありません。システムの起動時にのみ有効です。

明示的な設定を使用して上書きできますが、設定のaltrootデフォルト値はを使用することです。cachefile=none

「と書かれているので参考にしてください。永久属性ではないプールをインポートし、そのデータセットをufs2ブート環境にマウントしようとするたびにこれを行う必要があります。

おすすめ記事