システムをFedora 35からFedora 37にアップグレードしました。 ZFSを再構築し、ファイルシステムを手動でインポートしてマウントできました。しかし、私が何をしても起動するとインストールされません。私は何をもっと試すべきかわかりません。
私は次のことをしました。 すべてのZFS関連サービスが有効になっていることを確認してください
また、ZFSキャッシュも再作成しました。
状態systemctl status zfs-import-cache.service
Loaded: loaded (/usr/lib/systemd/system/zfs-import-cache.service; enabled; preset: enabled)
Active: inactive (dead)
Docs: man:zpool(8)
興味深い:
systemctl status zfs-mount.service
○ zfs-mount.service - Mount ZFS filesystems
Loaded: loaded (/usr/lib/systemd/system/zfs-mount.service; enabled; preset: enabled)
Active: inactive (dead)
Condition: start condition failed at Wed 2023-03-01 13:59:56 EST; 7min ago
Docs: man:zfs(8)
Mar 01 13:59:56 alpha systemd[1]: zfs-mount.service - Mount ZFS filesystems was skipped because of a failed condition check (ConditionPathIsDirectory=/sys/module/zfs).
サービスが開始されていることを示すboot.logの以前のコピーが見つかりました。
[ OK ] Reached target ZFS pool import target.
[ OK ] Stopped target ZFS pool import target.
Starting Import ZFS pools by cache file...
[ OK ] Finished Import ZFS pools by cache file.
[ OK ] Reached target ZFS pool import target.
Starting Mount ZFS filesystems...
[ OK ] Finished Mount ZFS filesystems.
[ OK ] Started ZFS Event Daemon (zed).
しかし、今はすべて空です。これは、サービスがアクティブでないことを意味します。ただし、有効になっています。
見たり試したりする他のアイデアはありますか?
答え1
この質問に対する答えは、ZFSがマウントされたファイルシステムを処理する方法の変更です。
ここを見てください: https://wiki.archlinux.org/title/ZFS
これで、正しい方法はzedサービス(アクティブ化)に依存します。
起動時にファイルシステムを再マウントするには、次の手順に従います。
- zedサービスが実行されていることを確認してください。
systemctl enable zfs-zed.service
- 各プールに対して空のファイルを作成する
touch /etc/zfs/zfs-list.cache/<pool-name>
- Spark zedの実行:
zfs set canmount=off <pool>
その中のファイルは/etc/zfs/zfs-list.cache/
もはや空ではないはずです。 - マウントリセット:
zfs set canmount=off <pool>
- 再起動
これは私のために問題を解決しました。
致命的な問題は、ZFSインポートサービスがブロックされ、アクティブ化できないことです。