一. 场景
在Linux两台虚拟机部署了两个Server站点组成集群,现在要在Windows开放出一个文件夹作为影像服务发布的数据源,不拷贝到server服务器。
Windows设置文件夹共享(开起nfs共享)。在Windows机器需要增加arcgis本地账户,用户名和密码与linux server机器保持一致(或者使用使用对Windows本地要共享文件夹有读写权限的用户名和密码)。
问题: 在Linux站点A创建了挂载文件夹imagedata之后,给arcgis账户开放了权限777。但是只要通过mount命令去挂载,arcgis就会失去对于这个共享文件夹的写入权限,变为root,导致Server注册文件夹失败。
二. 解决办法
1. Windows下安装NFS服务
首先Windows环境下需要安装NFS服务:
安装完成之后,Windows文件夹共享菜单的最后会出现一个nfs共享的选项卡。
2 . 设置arcgis账户访问共享。
首先在Linux机器输入id arcgis命令,查询arcgis账户的uid以及gid。
然后打开Windows nfs共享选项卡:
勾选允许匿名访问,并添加arcgis账户的uid,gid。这里是1001。保存。
3. Linux机器注册挂载文件夹
新创建了一个imagedata2文件夹,位置为/nfsdata/imagedata2。这里的nfsdata为Linux之间的共享存储nfs访问文件夹。但是由于是集群两个节点部署,就需要在机器B也创建一个一样的文件夹/nfsdata/imagedata2。
imagedata2权限设置完成之后,mount命令为:
mount -t cifs //10.118.3.42/image_data /nfsdata/imagedata2 -o username-arcgis password=xxxxxx,uid=1001,gid=1001,vers=2.0
其中:
//10.118.3.42/image_data /nfsdata/imagedata2为Windows文件夹共享路径 ; /nfsdata为Linux挂载文件夹路径
同理,机器B需要进行相同操作。
4. 写入系统
编辑exports文件
vim /etc/exports
在exports文件中增加:
//10.118.3.42/image_data /nfsdata/imagedata2 cifs defaults,username=arcgis,password=xxxxxx,uid=1001,gid=1001,rw 0 2
重启nfs服务:
service nfs restart
重启rpcbind服务
service rpcbind restart
在机器B执行相同步骤。
5. 开机自动挂载
此时重启Linux系统后挂载点失效,修改/etc/fstab文件实现自动启动挂载。AB机器加入以下内容:
//10.118.3.42/image_data /nfsdata/imagedata2 cifs defaults,username=arcgis,password=xxxxxx,uid=1001,gid=1001,rw 02
6. 注册文件夹到Server
通过AraMap或直接在Server上可以注册文件夹。
注册参考:
publisher路径为Windows共享路径: \\10.118.3.42\image_data
服务器文件夹路径为Linux上挂载路径: /nfsdata/imagedata2