NFS
NFS 即网络文件系统(Network File-System)
因文件夹需要在不同 Linux 设备上同步的原因,又想偷个懒。
安装
安装 NFS服务器端
1 | sudo apt-get install nfs-kernel-server |
安装 NFS客户端
1 | sudo apt-get install nfs-common |
配置
配置格式说明
DIR IP(读写权限,sync,no_root_squash)
DIR
共享目录
IP
所有 ping 通该主机的用户 : *
指定网段,在该网段中的用户可以挂载 : 192.168.1.*
指定IP用户能挂载 : 192.168.1.12
读写权限
ro : 只读
rw : 读写
sync
同步
no_root_squash
不降低root用户的权限
打开 NFS 配置文件
1 | sudo vim /etc/exports |
1 | /opt/gitlab-runner/android-sdk 10.0.2.240(rw,sync,no_root_squash) |
验证
1 | sudo mount -t nfs 10.0.0.239:/opt/gitlab-runner/android-sdk /mnt/android-sdk-remote-nfs -o nolock |
连接到个人目录下
1 | ln -s /mnt/android-sdk-remote-nfs /home/ubuntu/Android/sdk-remote |
手动挂载成功后,就可以配置为服务开机启动(systemd)
测试读写速度
在当前目录下,以 io-test.dbf 文件来测试读写性能
1 | time dd if=/dev/zero of=io-test.dbf bs=4k count=10000 |
Windows 挂载
挂载块大小指定为 64KB
1 | mount \\192.168.55.88\mnt\ceph\data\Android -o rsize=64,wsize=64,iocharset=utf8,timeo=15 X:\ |
卸载
1 | umount X: |
NFS 默认 uid、gid 修改为 1055
NFS共享目录挂载时uid和gid均为-2,而NFS服务的默认 uid 和 gid 为 65534,因此此时仅有共享目录的读权限。
修改注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default
添加DWORD值两项:AnonymousUid,AnonymousGid ,选择10进制,填入 1055
重启 NFS 服务
1 | sudo /etc/init.d/nfs-kernel-server restart |