1、需求:设备内部多台主机间配置nfs server和client服务,方便嵌入式主机间进行文件同步;
2、我的平台是:arm-openwrt-linux,下载了nfs-utils-1.2.6源码包编译后,用下面的configure命令后:
./configure --host=arm-openwrt-linux-gnueabi --disable-nfsv4 --disable-nfsv41 --disable-gss --disable-uuid --enable-mount=yes --without-tcp-wrappers --with-gnu-ld
生成如下文件:
exportfs nfsiostat rpcdebug rpc.nfsd showmount start-statd
mountstats nfsstat rpc.mountd rpc.statd sm-notify mount.nfs
拷贝到嵌入式主机相关目录中
3、配置内核如下:
不过,上面的2个RPC相关的选项,我不确定是否真需要;
4、在嵌入式主机中通过类似下面脚本启动nfs
# nfs start
/my_tools/rpc.nfsd &
/my_tools/exportfs -r
/my_tools/showmount
/my_tools/rpc.mountd --no-nfs-version 3 &
/my_tools/rpc.statd &
mkdir -p ${ROOT}/etc/asterisk/slave1
/my_tools/mount.fs –t nfs 172.16.8.169:/etc/asterisk/ ${ROOT}/etc/asterisk/slave1 –o nolock
mkdir -p ${ROOT}/etc/asterisk/slave2
/my_tools/mount.nfs –t nfs 172.16.8.170:/etc/asterisk/ ${ROOT}/etc/asterisk/slave2 –o nolock
mkdir -p ${ROOT}/etc/asterisk/slave3
/my_tools/mount.nfs –t nfs 172.16.8.171:/etc/asterisk/ ${ROOT}/etc/asterisk/slave3 –o nolock
mkdir -p ${ROOT}/etc/asterisk/slave4
/my_tools/mount.nfs –t nfs 172.16.8.172:/etc/asterisk/ ${ROOT}/etc/asterisk/slave4 –o nolock
5,程序在启动过程中报错,如下:
rpc.nfsd: unable to resolve ANYADDR:nfs to inet address: Servname not supported for ai_socktype
rpc.nfsd: unable to set any sockets for nfsd
exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "172.16.8.*:/etc/asterisk/".
Assuming default behaviour ('no_subtree_check').
NOTE: this default has changed since nfs-utils version 1.0.x
clnt_create: RPC: Unknown host
Cannot register service: RPC: Unable to receive; errno = Connection refused
麻烦各位大侠帮忙看看,小弟对nfs不大熟悉!请各位多多指教!