Ubuntuを14.04から16.04にアップグレードしたところ、ZFSが壊れているようです。 here の指示に従い、古いZFSパッケージをすべて削除しました。次に、デフォルトの16.04 PPAからzfsutils-linuxをインストールしましたが、ZFSコマンドを実行するたびに次のエラーが表示されます。
:~$ Sudo zfs get all
The ZFS modules are not loaded.
Try running '/sbin/modprobe zfs' as root to load them.
エラーメッセージが推奨するように、私はmodprobeを使用しようとしました:
:~$ Sudo /sbin/modprobe zfs
modprobe: ERROR: could not insert 'zfs': Invalid argument
ZFSはインストールされていないようですが、apt-getは次のことを示しています。
:~$ Sudo apt-get install zfsutils-linux
Reading package lists... Done
Building dependency tree
Reading state information... Done
zfsutils-linux is already the newest version (0.6.5.6-0ubuntu16).
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
N: Ignoring file '50unattended-upgrades.ucf-dist' in directory '/etc/apt/apt.conf.d/' as it has an invalid filename extension
また、ブートを監視するためにSSHを使用するのではなく、物理的にマシンに移動し、起動時にいくつかのZFSアイテムがFAILになっているのを確認しました。ブートログを調べて、彼らの言うことを見ようとしましたが、起動時に表示される出力に一致するブートログファイルを見つけることができませんでした。起動時に実際に何が失敗しているかはどこで確認できますか?
さらに興味深い発見は、zfsコマンドだけを使用すると「missing command」の出力が表示されることですが、コマンドを追加すると、上記と同じエラーメッセージが表示されることです。
:~$ zfs
missing command
usage: zfs command args ...
where 'command' is one of the following:
create [-p] [-o property=value] ... <filesystem>
create [-ps] [-b blocksize] [-o property=value] ... -V <size> <volume>
destroy [-fnpRrv] <filesystem|volume>
destroy [-dnpRrv] <filesystem|volume>@<snap>[%<snap>][,...]
destroy <filesystem|volume>#<bookmark>
snapshot|snap [-r] [-o property=value] ... <filesystem|volume>@<snap> .. .
rollback [-rRf] <snapshot>
clone [-p] [-o property=value] ... <snapshot> <filesystem|volume>
promote <clone-filesystem>
rename [-f] <filesystem|volume|snapshot> <filesystem|volume|snapshot>
rename [-f] -p <filesystem|volume> <filesystem|volume>
rename -r <snapshot> <snapshot>
bookmark <snapshot> <bookmark>
list [-Hp] [-r|-d max] [-o property[,...]] [-s property]...
[-S property]... [-t type[,...]] [filesystem|volume|snapshot] ...
set <property=value> <filesystem|volume|snapshot> ...
get [-rHp] [-d max] [-o "all" | field[,...]]
[-t type[,...]] [-s source[,...]]
<"all" | property[,...]> [filesystem|volume|snapshot] ...
inherit [-rS] <property> <filesystem|volume|snapshot> ...
upgrade [-v]
upgrade [-r] [-V version] <-a | filesystem ...>
userspace [-Hinp] [-o field[,...]] [-s field] ...
[-S field] ... [-t type[,...]] <filesystem|snapshot>
groupspace [-Hinp] [-o field[,...]] [-s field] ...
[-S field] ... [-t type[,...]] <filesystem|snapshot>
mount
mount [-vO] [-o opts] <-a | filesystem>
unmount [-f] <-a | filesystem|mountpoint>
share <-a | filesystem>
unshare <-a | filesystem|mountpoint>
send [-DnPpRvLe] [-[iI] snapshot] <snapshot>
send [-Le] [-i snapshot|bookmark] <filesystem|volume|snapshot>
receive [-vnFu] <filesystem|volume|snapshot>
receive [-vnFu] [-d | -e] <filesystem>
allow <filesystem|volume>
allow [-ldug] <"everyone"|user|group>[,...] <perm|@setname>[,...]
<filesystem|volume>
allow [-ld] -e <perm|@setname>[,...] <filesystem|volume>
allow -c <perm|@setname>[,...] <filesystem|volume>
allow -s @setname <perm|@setname>[,...] <filesystem|volume>
unallow [-rldug] <"everyone"|user|group>[,...]
[<perm|@setname>[,...]] <filesystem|volume>
unallow [-rld] -e [<perm|@setname>[,...]] <filesystem|volume>
unallow [-r] -c [<perm|@setname>[,...]] <filesystem|volume>
unallow [-r] -s @setname [<perm|@setname>[,...]] <filesystem|volume>
hold [-r] <tag> <snapshot> ...
holds [-r] <snapshot> ...
release [-r] <tag> <snapshot> ...
diff [-FHt] <snapshot> [snapshot|filesystem]
Each dataset is of the form: pool/[dataset/]*dataset[@name]
For the property list, run: zfs set|get
For the delegated permission list, run: zfs allow|unallow
このZFSインストールのトラブルシューティングを行うには、他に何ができますか?
12.04から16.04へのアップグレードで同様の問題が発生しました。最後にそれが動作するようになったが、私がやったことを正確に覚えていない(ステップ2は明らかではなかった)。
zfs
パッケージを削除します。 buntu-zfsを使用したubuntuサーバー14.04 LTSから16.04 LTSへのアップグレード を参照してください。spl-dkms
および(と思う)spl
zfs
を再インストールします次の一連のroot
コマンドで問題が解決しました。
apt clean
apt update
apt purge zfs*
apt remove spl dkms spl-dkms
apt autoremove
add-apt-repository --remove ppa:zfs-native/stable
apt install zfsutils-linux
apt install spl-dkms
reboot -n