web-dev-qa-db-ja.com

起動後にzpoolが自動的にマウントされない

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
13
user234729

/etc/default/zfsファイルをお気に入りのエディター(例:nano、vimなど)で編集し、行を変更する必要があります

ZFS_MOUNT='no'
ZFS_UNMOUNT='no'

ZFS_MOUNT='yes'
ZFS_UNMOUNT='yes'

もう1つのオプションは、 apt-get install mountall からmountallZFS Stable PPA)をインストールすることです。最初のオプションが望ましいと高速です。

9
Bruno Pereira

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マウントが自動的にマウントされました。

6
Nick Grealy

16.04 LTSのクリーンインストールでも同じ問題が発生しました。

再起動後、プールは存在しませんでした(zpool statusはプールを表示しませんでした)が、zpool import <poolName>はプールを復元します。

ZFSプールがマウントされていない16.04 に対する回答によって修正されることが判明しました。ここで実際の答えを再現します。

Sudo apt remove zfs.doc
Sudo apt install zfsutils-linux

この

2
dovetalk

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共有をマウントするのは面倒です。

私はこれが他の誰かのために働くかどうか、または私のシステム上でそのちょっとした癖があるかどうかを知りたいです...

1
compdoc

mountallを使用しても、時々正しく機能しないことがわかりました。文字通り2つの同一のサーバーを構築し、それぞれに同一のモデルHDを配置し、UbuntuとZFS PPAを同じソースから同時にインストールしました。 1つは自動マウントされ、もう1つはマウントされません。 mountall.confファイルなどにスリープを追加するという追加のFAQの指示に従っても、ブート時にマウントされることはありません。 mountallコマンドを/etc/rc.localに追加しました。

1
Tony Maro