NFS网络文件系统
网络文件系统(NFS)是文件系统之上的一个网络抽象,来允许远程客户端以与本地文件系统类似的方式,来通过网络进行访问。
环境依赖
nfsd服务
服务端安装
1.rpcbind和nfs-utils软件
# 检查是否安装rpcbind和nfs-utils软件
rpm -qa | grep rpcbind nfs-utils
# 如果没有安装,则进行安装
yum install -y rpcbind nfs-utils
2 启动rpcbind和nfs-utils
systemctl start rpcbind && systemctl enable rpcbind
systemctl start nfs && systemctl enable nfs
3 配置nfs权限文件
# 直接修改/etc/exports文件,也可以在/etc/exports.d目录下,添加*.exports文件
vim /etc/exports
....
# 文件内容格式为:目录 IP/IP网段(nfs选项)
/share/webs 192.168.146.0/24(rw,sync)
....
参数 说明
- ro 只读(默认)
- rw 读写
- sync 同步,同时将数据写入内存和硬盘中,保证不丢数据
- async 异步,优先将数据保存到内存,再写入硬盘,有可能丢数据
- root_squash 当nfs客户端以root管理员访问时,映射为nfs服务器的匿名用户
- no_root_squash 当nfs客户端以root管理员访问时,映射为nfs服务器的root管理员用户
- all_squash 无论nfs客户端以什么账户访问,都映射为nfs服务器的匿名用户
4 执行全新加载命令
exportfs -rav
客户端安装
1 nfs-utils安装
# 检查是否安装nfs-utils软件
rpm -qa | grep rpcbind nfs-utils
# 如果没有安装,则进行安装
yum install -y nfs-utils
2 挂载和卸载挂载目录
方法1:
# 直接使用mount命令去挂载,服务器重启后不会自动挂载目录
# 172.16.0.1表示服务器的ip地址,vers 代表协议类型,支持3,4,4.1等,/share/webs表示服务器的共享目录,/tmp为本地目录
mount -t nfs 172.16.0.1:/share/webs /tmp -o vers=4
# 卸载挂载目录
unmount /tmp
方法2:
# 自动挂载,重启不影响
vim /etc/fstab
172.16.0.1:/share/webs /tmp nfs default 0 0
# 更新挂载信息
mount -a
相关命令
nfsiostat-客户端指标
- nfsiostat_op_per_second 每秒的操作数
- nfsiostat_rpc_bklog 积压队列的长度
- nfsiostat_read_ops_per_second 每秒读取的操作数
- nfsiostat_read_KB_per_second 每秒读取的 kB 数
- nfsiostat_read_KB_per_operator 每次操作读取的 kB 数
- nfsiostat_read_retrans 重传的次数
- nfsiostat_read_retrans_percentage 重传的百分比
- nfsiostat_read_avg_RTT 从客户端 内核发送 RPC 请求到它收到回复的持续时间
- nfsiostat_read_avg_exe 从 NFS 客户端向其内核发出 RPC 请求到 RPC 请求完成的持续时间,这包括上面的 RTT 时间
- nfsiostat_read_avg_queue 读取exe - rtt
- nfsiostat_write_ops_per_second 每秒写入的操作数
- nfsiostat_write_KB_per_second 每秒写入的 kB 数
- nfsiostat_write_KB_per_operator 每次操作写入的 kB 数
- nfsiostat_write_retrans 重传的次数
- nfsiostat_write_retrans_percentage 重传的百分比
- nfsiostat_write_avg_RTT 从客户端 内核发送 RPC 请求到它收到回复的持续时间
- nfsiostat_write_avg_exe 从 NFS 客户端向其内核发出 RPC 请求到 RPC 请求完成的持续时间,这包括上面的 RTT 时间
- nfsiostat_write_avg_queue 写入exe - rtt
mountstats-客户端指标
- mountstats_transport_protocol 传输协议
- mountstats_source_port 源端口
- mountstats_bind_count 绑定数
- mountstats_connect_count 连接数
- mountstats_connect_time 连接时间
- mountstats_idle_time 空闲时间
- mountstats_rpc_requests rpc请求次数
- mountstats_rpc_relies rpc接收次数
- mountstats_XIDs_not_found XIDs找不到次数
- mountstats_max_slots 最大的slots数
- mountstats_avg_backlog_length 在等待slots的请求数
- mountstats_avg_send_queue_length 在等待使用socket的请求数(socket buffer不足)
- mountstats_avg_pending_queue_length 已经发送了,在等待返回的请求数
nfsstat-(客户端和服务端指标)只统计客户端指标
注:部分指标暂时不太清楚含义
- nfsstat_client_access 对NFS 服务器进行的访问调用数
- nfsstat_client_close
- nfsstat_client_commit 对NFS 服务器进行的文件落实调用数
- nfsstat_client_confirm
- nfsstat_client_create 对NFS 服务器进行的创建调用数
- nfsstat_client_create_ses
- nfsstat_client_delegreturn
- nfsstat_client_destroy_ses
- nfsstat_client_exchange_id
- nfsstat_client_fs_location
- nfsstat_client_fsinfo 对NFS服务器进行的文件系统信息调用数
- nfsstat_client_get_lease_t
- nfsstat_client_getacl
- nfsstat_client_getattr NFS 服务器进行的包含获取属性 (getattr) 操作的调用数
- nfsstat_client_getdevinfo
- nfsstat_client_getdevlist
- nfsstat_client_layoutcommit
- nfsstat_client_layoutget
- nfsstat_client_layoutreturn
- nfsstat_client_link 对NFS 服务器进行的总链接调用数
- nfsstat_client_lock 获取客户端计算机在 NFS 服务器上持有的文件锁。
- nfsstat_client_lockt
- nfsstat_client_locku
- nfsstat_client_lookup 对NFS服务器进行的查找数
- nfsstat_client_lookup_root 对NFS服务器进行的包含 root 调用的调用数
- nfsstat_client_null 从NFS客户机中对NFS服务器进行的不含任何数据的调用数
- nfsstat_client_null_with_par
- nfsstat_client_open
- nfsstat_client_open_conf
- nfsstat_client_open_dgrd
- nfsstat_client_open_noat
- nfsstat_client_pathconf 对NFS 服务器进行的用于获取文件配置值的路径配置 (pathconf) 调用的调用数
- nfsstat_client_read 对 NFS 服务器进行的读调用数
- nfsstat_client_readdir 对NFS 服务器进行的读取目录调用数
- nfsstat_client_readlink 对NFS 服务器进行的读取链接调用数
- nfsstat_client_reclaim_comp
- nfsstat_client_rel_lkowner
- nfsstat_client_remove 对NFS 服务器进行的除去文件/目录调用数
- nfsstat_client_rename 对NFS 服务器进行的重命名文件调用数
- nfsstat_client_renew
- nfsstat_client_secinfo
- nfsstat_client_sequence
- nfsstat_client_server_caps 服务器上限
- nfsstat_client_setacl
- nfsstat_client_setattr 对NFS 服务器进行的包含设置属性 (setattr) 操作的调用数
- nfsstat_client_setclntid
- nfsstat_client_statfs
- nfsstat_client_symlink 符号链接调用数
- nfsstat_client_total NFS 服务器或客户机总调用数
- nfsstat_client_write 对 NFS 服务器进行的写入调用数
4.相关文档
https://zhuanlan.zhihu.com/p/564883092
https://www.cnblogs.com/wanshuafe/p/11802602.html
https://www.ibm.com/docs/zh/tivoli-monitoring/6.3.0.2?topic=SSTFXA_6.3.0.2/com.ibm.itm.doc_6.3/oslinux/attr_klznfs.html