Proxmox 5ホストでNFS共有をマウントしようとすると問題があります。次の 2 台のコンピュータがあります。
192.168.1.3 proxmox debian box (nfs-host)
192.168.1.31 ubuntu 16.04 (nfs-client)
/mnt/storage
(NFSクライアント)の権限:
drwxrwxrwx 11 nobody nogroup 4096 Oct 7 10:28 storage
/etc/exports
(NFSホスト)の内容:
/mnt/storage 192.168.1.31(rw,sync,no_subtree_check)
showmount -e 192.168.1.3
出力(NFSクライアント):
Export list for 192.168.1.3:
/mnt/storage 192.168.1.31
クライアントからマウントしようとして失敗しました。
me@client:/mnt/storage$ sudo mount 192.168.1.3:/mnt/storage /mnt/storage
mount.nfs: access denied by server while mounting 192.168.1.3:/mnt/storage
exportfs -ra
nfsカーネルサーバーを実行して再起動しましたが、まだ楽しいことはありません。私はまた質問のすべての提供を試みました。mount.nfs:Ubuntuシステムへのマウント中にサーバーアクセスが拒否されましたか?しかし、私にとっては何も機能しません。一番下にはdocker関連の答えが1つか2つしかなく、もう1つの答えにはIPスペルが間違っていますが、どちらも私とは関係ありません。
両方のホストがpingでき、両方のホストがインターネットにアクセスしてお互いを見ることができるので、ネットワークの問題ではないようです。
/var/log/messages
ホストコンピュータに次のエラーが表示されます。
Oct 7 10:06:36 pve kernel: [44667.325940] audit: type=1400 audit(1507385196.790:23): apparmor="DENIED" operation="mount" info="failed type match" error=-13 profile="lxc-container-default-cgns" name="/mnt/storage/" pid=15053 comm="mount.nfs4" fstype="nfs4" srcname="192.168.1.3:/export/storage"
Oct 7 10:07:05 pve kernel: [44696.096558] audit: type=1400 audit(1507385225.559:24): apparmor="DENIED" operation="mount" info="failed type match" error=-13 profile="lxc-container-default-cgns" name="/mnt/storage/" pid=15112 comm="mount.nfs" fstype="nfs" srcname="192.168.1.3:/export/storage"
/etc/apparmor.d/lxc/
要求に応じて単語を含むすべてのファイルの内容は次のとおりですmount
。
root@host:/etc/apparmor.d/lxc# ll
total 24
drwxr-xr-x 2 root root 4096 Oct 6 13:24 .
drwxr-xr-x 9 root root 4096 Oct 6 13:24 ..
-rw-r--r-- 1 root root 479 Jun 30 05:01 lxc-default
-rw-r--r-- 1 root root 528 Jun 30 05:01 lxc-default-cgns
-rw-r--r-- 1 root root 544 Jun 30 05:01 lxc-default-with-mounting
-rw-r--r-- 1 root root 527 Jun 30 05:01 lxc-default-with-nesting
root@host:/etc/apparmor.d/lxc# cat lxc-default
# Do not load this file. Rather, load /etc/apparmor.d/lxc-containers, which
# will source all profiles under /etc/apparmor.d/lxc
profile lxc-container-default flags=(attach_disconnected,mediate_deleted) {
#include <abstractions/lxc/container-base>
# the container may never be allowed to mount devpts. If it does, it
# will remount the host's devpts. We could allow it to do it with
# the newinstance option (but, right now, we don't).
deny mount fstype=devpts,
}
root@host:/etc/apparmor.d/lxc# cat lxc-default-cgns
# Do not load this file. Rather, load /etc/apparmor.d/lxc-containers, which
# will source all profiles under /etc/apparmor.d/lxc
profile lxc-container-default-cgns flags=(attach_disconnected,mediate_deleted) {
#include <abstractions/lxc/container-base>
# the container may never be allowed to mount devpts. If it does, it
# will remount the host's devpts. We could allow it to do it with
# the newinstance option (but, right now, we don't).
deny mount fstype=devpts,
mount fstype=cgroup -> /sys/fs/cgroup/**,
}
root@host:/etc/apparmor.d/lxc# cat lxc-default-with-mounting
# Do not load this file. Rather, load /etc/apparmor.d/lxc-containers, which
# will source all profiles under /etc/apparmor.d/lxc
profile lxc-container-default-with-mounting flags=(attach_disconnected,mediate_deleted) {
#include <abstractions/lxc/container-base>
# allow standard blockdevtypes.
# The concern here is in-kernel superblock parsers bringing down the
# host with bad data. However, we continue to disallow proc, sys, securityfs,
# etc to nonstandard locations.
mount fstype=ext*,
mount fstype=xfs,
mount fstype=btrfs,
}
root@host:/etc/apparmor.d/lxc# cat lxc-default-with-nesting
# Do not load this file. Rather, load /etc/apparmor.d/lxc-containers, which
# will source all profiles under /etc/apparmor.d/lxc
profile lxc-container-default-with-nesting flags=(attach_disconnected,mediate_deleted) {
#include <abstractions/lxc/container-base>
#include <abstractions/lxc/start-container>
deny /dev/.lxc/proc/** rw,
deny /dev/.lxc/sys/** rw,
mount fstype=proc -> /var/cache/lxc/**,
mount fstype=sysfs -> /var/cache/lxc/**,
mount options=(rw,bind),
mount fstype=cgroup -> /sys/fs/cgroup/**,
}
答え1
AppArmourがサーバー上で起動しているようです。次のフレーズを含むログファイルメッセージを表示します。
apparmor="DENIED"
残念なことに、オフにする方法についてのみアドバイスをすることができ、お勧めしません。仲裁に関する指示があるかどうかを調べてみましょう。
答え2
Proxmox ホストで次の構成を変更して、/etc/apparmor.d/lxc-default-cgns
ドライブを正常にマウントできました。
/etc/apparmor.d/lxc-default-cgns
mount fstype=nfs*,
mount options=(rw, bind, ro),
答え3
答え4
コンテナが「無許可」モードで実行されていますか?その場合、NFS および Samba 機能は無効になります。モードを変更するには、コンテナを停止してバックアップし、「特権」モードから復元する必要があります。特権モードは、オプションメニューの機能タブを有効にします。機能メニューからNFS(および/またはSamba)を有効にできます。