我为我的开发环境设置了 CentOS VM,并使用 NFS 在我的 Ubuntu 机器上安装了 web 根目录。那部分工作正常;但是,所有子目录都不可写。我可以看到它们的内容(只读),但不能将任何新文件添加到子目录中。但是,我可以将文件写入挂载点的父目录。
[root@dev ~]# cat /etc/exports
/var/www/html 192.168.122.1(rw,sync,no_root_squash,no_subtree_check)
Run Code Online (Sandbox Code Playgroud)
据我了解,由于 NFS 共享是用 rw 和 no_root_squash 挂载的,它应该允许任何用户写入这些目录。有人可以对此有所了解吗?我很困惑,至少可以说,不幸的是,谷歌并不是很有帮助。
当我从主机查看权限时,它说文件归 nobody:nogroup 所有,但 VM 上 ls -hal 的输出显示它归我在主机上使用的同一个 username:group 所有。PAM 不应该启动并允许我的主机用户访问写入吗?
归根结底,我想要实现的是所有当前和任何新的子目录都可以由我的 IDE 读取/写入。目前,只有父目录/文件是。目前,我必须通过 ssh 进入主机并在那里创建文件和/或进行更改。我宁愿不重复我的工作,并且真正希望 HTML 开发环境可以从任何允许访问 /etc/exports 的主机写入。
我期待听到其他人如何克服这一点。并且,提前感谢您的时间和洞察力。
[tangent] 也许我应该最终将 Samba 设置为域控制器,并将其用于我所有主机的身份验证。我很确定这会使这个问题无效,但我还没有时间玩这个……啊。 [/切线]
我的问题如下:
PHP的file_put_contents()功能是否与NFS同步,如果是,是否在任何情况下?例如,如果我通过NFS交互的远程文件系统可以是EXT3或NFS,那么这是确保file_put_contents()同步的一个重要因素吗?
谢谢!
昨天我创建了一个新的 kubernetes 集群(v1.20.1,本地),我想添加 NFS 配置。唯一可用(并仍在维护)的 NFS 供应商似乎是https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner。
它确实说要使用您自己的供应商,并且默认 (quay.io/external_storage/nfs-client-provisioner:latest) 已使用两年,但我没有自己的供应商。
当我遵循没有舵图的部署指南并检查 nfs-client-provisioner 日志时,我看到以下内容:
I1220 22:20:44.160099 1 leaderelection.go:185] attempting to acquire leader lease default/fuseim.pri-ifs...
E1220 22:21:01.598029 1 event.go:259] Could not construct reference to: '&v1.Endpoints{TypeMeta:v1.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:v1.ObjectMeta{Name:"fuseim.pri-ifs", GenerateName:"", Namespace:"default", SelfLink:"", UID:"c852ca40-471f-4019-a099-d72d32555022", ResourceVersion:"134579", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:63744022156, loc:(*time.Location)(0x1956800)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string(nil), Annotations:map[string]string{"control-plane.alpha.kubernetes.io/leader":"{\"holderIdentity\":\"nfs-client-provisioner-5999484954-n4tj7_94db294f-4261-11eb-9b30-c64536689731\",\"leaseDurationSeconds\":15,\"acquireTime\":\"2020-12-20T01:21:01Z\",\"renewTime\":\"2020-12-20T01:21:01Z\",\"leaderTransitions\":2}"}, OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Subsets:[]v1.EndpointSubset(nil)}' due to: 'selfLink was empty, can't make reference'. Will not report event: 'Normal' 'LeaderElection' 'nfs-client-provisioner-5999484954-n4tj7_94db294f-4261-11eb-9b30-c64536689731 became leader'
I1220 22:21:01.598123 1 leaderelection.go:194] successfully acquired lease default/fuseim.pri-ifs …Run Code Online (Sandbox Code Playgroud) 我有以下设置 -
我正在尝试导出Home Server目录〜/ Documents作为可以从我的mac笔记本电脑访问的NFS挂载
我在Ubuntu上使用Webmin来创建NFS导出.为了暂时只测试访问权限,我允许任何主机名连接读/写访问权限.
Webmin在下面创建了以下配置 /etc/exports
/home/jeeves/Documents (insecure,no_subtree_check,no_root_squash,rw,nohide)
Run Code Online (Sandbox Code Playgroud)
我将远程目录挂载到本地目录, /private/nfs
sudo mount -t nfs 192.168.1.219:/home/jeeves/Documents /private/nfs
Run Code Online (Sandbox Code Playgroud)
一切正常,我可以/private在Finder中看到"Dcouments" .
但是,我无法进入该目录
jeeves:~ $ cd /private/nfs/
-bash: cd: /private/nfs/: Permission denied
Run Code Online (Sandbox Code Playgroud)
我有webmin设置权限作为读/写(rw)并且它不过滤任何IP或主机名,那么访问该目录还需要什么?
在此先感谢您的帮助!
这是我的Webmin设置.

Webmin不会让我选择4版的NFS版本,大概是因为我只安装了NFS v3 nfsstat
jeeves@HAL:~$ nfsstat
...
Server nfs v3:
null getattr setattr lookup access readlink
25 5% 28 6% 0 0% 126 29% 211 48% 0 0%
...
Run Code Online (Sandbox Code Playgroud) 我有一个7个节点的集群(All Centos 7 OS).主节点是maercher5,其余节点是从节点.我需要在主节点上设置无密码ssh到从节点以运行MPI程序.NFS将主节点从主节点共享到所有从节点.我按照本教程从主节点到从节点执行无密码ssh.我在所有机器上都有相同的UID和GID.由于在所有节点上只共享一个ssh文件夹.ssh文件夹的权限是:
$ ls -al $HOME/.ssh
total 28
drwx------. 2 sarah sarah 76 Apr 16 21:17 .
drwx------. 17 sarah sarah 4096 Apr 17 13:51 ..
-rw-------. 1 sarah sarah 11895 Apr 16 21:17 authorized_keys
-rw-------. 1 sarah sarah 1679 Apr 3 00:55 id_rsa
-rw-r--r--. 1 sarah sarah 411 Apr 10 14:24 id_rsa.pub
-rw-------. 1 sarah sarah 2265 Apr 10 13:58 known_hosts
Run Code Online (Sandbox Code Playgroud)
节点可以很好地相互ping通.Marcher5是主节点.
[sarah@marcher5]$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 …Run Code Online (Sandbox Code Playgroud) 我正在尝试批量安装 nfs 共享,但我遇到了一些问题。当我运行常规 docker 命令时,例如:
docker run -i -t privileged=true -v /mnt/bluearc:/mnt/bluarc -v /net:/net ubuntu bash
Run Code Online (Sandbox Code Playgroud)
我已将所需的驱动器安装在/mnt/bluearc. 但是,如果我使用 docker-compose 运行它:
test_ser:
container_name: test_ser
hostname: test_ser
image: ubuntu
restart: always
working_dir: /repo/drop_zone_dub
volumes_from:
- nerve_repo_data
volumes:
- /mnt/bluearc:/mnt/bluearc
- /net:/net
privileged: true
command: bash
Run Code Online (Sandbox Code Playgroud)
当我尝试访问目录时,出现以下错误:
Too many levels of symbolic links
什么是 compose 做的不同会导致这种情况?
作为 Kubernetes 的初学者,我需要:
创建部署要遵循的步骤指南,已声明 nfs pv。请提供每一步要应用的yaml文件。
抱歉不清楚,我在这里更新了确切的问题: