一、nfsclient loaded
nfsclient是Linux下实现NFS协议客户端的一个软件包。NFS(Network File System)是一种能让不同计算机之间共享文件的协议。而nfsclient的作用就在于将远程主机文件系统挂到本地主机上,使本地主机可以读写远程主机的文件。
二、nfsclient loaded successfully
在安装好nfsclient上之后,可以使用以下命令来确认安装是否成功并且可以正常工作:
# rpcinfo -p programs version port -------------------------- 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 59495 status 100024 1 tcp 4560 status
其中,portmapper和status是用于服务的程序。如果显示出来了,说明nfs client已经可以正常启动了,否则需要检查故障。
三、nfsclient重启文件没了
在使用过程中,如果nfsclient需要重启或者出现其他故障,会导致挂载在本地主机上的远程文件系统不可用。这时需要在重启之后重新将远程文件系统挂载到本地主机上:
# mount -t nfs :/
其中,表示远程主机的域名或者IP地址,表示挂载的目录名,表示本地主机用于挂载的目录。
四、NFS clients server选取
在指定远程主机时,需要确定使用哪个NFS服务器的共享资源。一般情况下,可以使用如下命令来获取当前网络中的NFS服务器列表:
# showmount -e
其中,表示需要获取NFS服务器列表的远程主机。使用此命令后,会列出远程主机上所有可用的共享文件夹名称。
另外,在挂载远程文件系统时,还可以设置挂载选项,以实现不同的文件访问策略。例如,可以使用如下选项来实现读写互斥:
# mount -t nfs -o rw,hard,intr :/
其中,选项rw、hard和intr分别表示允许读写操作、对文件系统进行hard挂载,以及挂载时可以中断。
五、示例代码
下面是一个示例代码,展示如何使用nfsclient实现远程文件的读写:
#include <stdio.h> #include <unistd.h> #include <sys/stat.h> #include <sys/types.h> #include <fcntl.h> int main() { int fd, len; char buf[1024]; fd = open("/mnt/nfs/test.txt", O_RDWR | O_CREAT, 0644); if (fd < 0) { printf("open error\n"); return -1; } len = read(fd, buf, sizeof(buf)); if (len < 0) { printf("read error\n"); return -1; } printf("read content: %s\n", buf); if (write(fd, "hello, world!\n", 14) != 14) { printf("write error\n"); return -1; } close(fd); return 0; }
原创文章,作者:UXWEP,如若转载,请注明出处:https://www.506064.com/n/315988.html