Ubuntu 13.10サーバーを実行しています。 ubuntu ppaからzfsをインストールしてセットアップします。 「Sudo zfs mount -a」を手動で実行すると、すべてが再起動後に正常に動作するように見えますが、zfsonlinux.orgでFAQを読むと、自動的にマウントされるはずです。デバッグする場所がわからない。/var/log/syslogにzfsまたはマウントに関連するエラーが表示されません。
$ Sudo zfs get all zp
NAME PROPERTY VALUE SOURCE
zp type filesystem -
zp creation Sat Mar 16 17:14 2013 -
zp used 464G -
zp available 449G -
zp referenced 13.3M -
zp compressratio 1.00x -
zp mounted no -
zp quota none default
zp reservation none default
zp recordsize 128K default
zp mountpoint /zp default
zp sharenfs off default
zp checksum on default
zp compression off default
zp atime on default
zp devices on default
zp exec on default
zp setuid on default
zp readonly off default
zp zoned off default
zp snapdir hidden default
zp aclinherit restricted default
zp canmount on default
zp xattr on default
zp copies 1 default
zp version 5 -
zp utf8only off -
zp normalization none -
zp casesensitivity sensitive -
zp vscan off default
zp nbmand off default
zp sharesmb on local
zp refquota none default
zp refreservation none default
zp primarycache all default
zp secondarycache all default
zp usedbysnapshots 25.3K -
zp usedbydataset 13.3M -
zp usedbychildren 464G -
zp usedbyrefreservation 0 -
zp logbias latency default
zp dedup off default
zp mlslabel none default
zp sync standard default
zp refcompressratio 1.00x -
zp written 13.3M -
zp snapdev hidden default
/etc/default/zfs
ファイルをお気に入りのエディター(例:nano、vimなど)で編集し、行を変更する必要があります
ZFS_MOUNT='no'
ZFS_UNMOUNT='no'
に
ZFS_MOUNT='yes'
ZFS_UNMOUNT='yes'
もう1つのオプションは、 apt-get install mountall
からmountall
(ZFS Stable PPA
)をインストールすることです。最初のオプションが望ましいと高速です。
Ubuntu 14.04 LTSの場合、以下を設定する必要がありました
Zpoolを自動的にインポートするには、値を1
から0
に変更します。
ファイル:/etc/init/zpool-import.conf
modprobe zfs zfs_autoimport_disable=0
Zfsマウントを自動的にマウントするには、次の行を追加します。
ファイル:/etc/rc.local
zfs mount -a
再起動し、zpool ZFSマウントが自動的にマウントされました。
16.04 LTSのクリーンインストールでも同じ問題が発生しました。
再起動後、プールは存在しませんでした(zpool status
はプールを表示しませんでした)が、zpool import <poolName>
はプールを復元します。
ZFSプールがマウントされていない16.04 に対する回答によって修正されることが判明しました。ここで実際の答えを再現します。
Sudo apt remove zfs.doc
Sudo apt install zfsutils-linux
この
Ubuntu 16.04 zfsを使用すると、rc.local
またはsystemd
スクリプトを作成せず、ブート後に手動でzfs set sharesmb=on
を実行せずに、ブート時にzfs共有をマウントする問題を修正しました。
要約すると:zfs mount -a
およびzfs share -a
は機能しませんが、zfs set sharesmb=on
を使用しても機能します。 Sudo /etc/init.d/zfs-share restart
の実行も機能します。また、16.04のmountall
プログラムは、何らかの理由でzfsをサポートしていません。
問題は、sharesmb=on
を設定すると、次のようなpoolname/sharenameに基づいて共有名が作成されることだと思います:poolname_sharename
ただし、この共有名は長すぎる可能性があります。 NetBIOS名を14文字以下に制限し、コメントフィールドの文字数も制限する必要があることを読みました。
そこで、アンダースコアを含めて、合計14文字未満の長さで新しいファイルシステムを作成しました。
Sudo zfs create -o casesensitivity=mixed -o nbmand=on pool/share
次に/etc/default/zfs
を編集し、smbのマウント/共有を無効にします(1つはNFS用だと思いますが、すべて無効にします)。
ZFS_MOUNT='no'
ZFS_UNMOUNT='no'
ZFS_SHARE='no'
ZFS_UNSHARE='no'
最後に、新しいファイルシステムに対してsharesmb
を有効にします。
Sudo zfs set sharesmb=on pool/share
/ect/hostid
ファイルが存在することも確認しました。 (Googleの作成方法)
リブートすると、他に何もせずにこのコマンドを実行すると、共有が表示されます。
smbclient -U guest -N -L localhost (or use smbclient -L localhost)
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
IPC$ IPC IPC Service (my server (Samba, Ubuntu))
pool_share Disk Comment: /pool/share
そして、はい、sambaは14文字を超える名前をサポートしていることは知っていますが、ブート時にzfs共有をマウントするのは面倒です。
私はこれが他の誰かのために働くかどうか、または私のシステム上でそのちょっとした癖があるかどうかを知りたいです...
mountall
を使用しても、時々正しく機能しないことがわかりました。文字通り2つの同一のサーバーを構築し、それぞれに同一のモデルHDを配置し、UbuntuとZFS PPAを同じソースから同時にインストールしました。 1つは自動マウントされ、もう1つはマウントされません。 mountall.conf
ファイルなどにスリープを追加するという追加のFAQの指示に従っても、ブート時にマウントされることはありません。 mountall
コマンドを/etc/rc.local
に追加しました。