Linux下网络共享存储搭建与配置


Linux下网络共享存储搭建与配置

文章插图
NFS服务搭建
介绍NFS?.NETwork File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源 。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样
NFS服务安装要设定好 NFS 服务器我们必须要有两个软件才行,分别是:
  • RPC 主程序:rpcbind
就如同刚刚提的到,我们的 NFS 其实可以被视为一个 RPC 服务,而要启动任何一个 RPC 服务之前,我们都需要做好 port 的对应 (mApping) 的工作才行,这个工作其实就是 rpcbind这个服务所负责的!也就是说,在启动任何一个 RPC 服务之前,我们都需要启动 rpcbind 才行!
  • NFS 主程序:nfs-utils
就是提供 rpc.nfsd 及 rpc.mountd 这两个 NFS Daemons 与其他相关 Documents 与说明文件、执行文件等的软件!这个就是 NFS 服务所需要的主要软件啦!
查看系统是否已安装NFS
【Linux下网络共享存储搭建与配置】[15:48:53 root@192.168.81.183 ~]#rpm -qa|grep nfs[15:58:06 root@192.168.81.183 ~]#rpm -qa|grep rpcbind[15:58:14 root@192.168.81.183 ~]#安装NFS服务
[15:58:14 root@192.168.81.183 ~]#yum -y install nfs-utils rpcbind[15:59:05 root@192.168.81.183 ~]#rpm -qa|grep nfsnfs-utils-1.3.0-0.68.el7.x86_64libnfsidmap-0.25-19.el7.x86_64[15:59:48 root@192.168.81.183 ~]#rpm -qa|grep rpcbindrpcbind-0.2.0-49.el7.x86_64NFS服务端配置
  • 主要配置文件:/etc/exports
  • NFS文件系统维护指令:/usr/sbin/exportfs
  • 分享资源的登录档:/var/lib/nfs/*tab
  • 客户端查询服务器分享资源的指令:/usr/sbin/showmount
编辑配置文件 /etc/exports
[16:12:59 root@192.168.81.183 /data/k8s_nfs]#pwd/data/k8s_nfs[16:13:00 root@192.168.81.183 /data/k8s_nfs]#vim /etc/exports/data/k8s_nfs 192.168.82.0/24(rw,no_root_squash,no_all_squash,sync)配置介绍
参数
内容说明
rw/ro
该目录分享的权限是可擦写 (read-write) 或只读 (read-only),但最终能不能读写,还是与文件系统的 rwx 及身份有关
sync/async
sync 代表数据会同步写入到内存与硬盘中,async 则代表数据会先暂存于内存当中,而非直接写入硬盘!
no_root_squash/root_squash
客户端使用 NFS 文件系统的账号若为 root 时,系统该如何判断这个账号的身份?预设的情况下,客户端 root 的身份会由 root_squash 的设定压缩成 nfsnobody,如此对服务器的系统会较有保障 。但如果你想要开放客户端使用 root 身份来操作服务器的文件系统,那么这里就得要开 no_root_squash 才行!
all_squash
不论登入 NFS 的使用者身份为何,他的身份都会被压缩成为匿名用户,通常也就是 nobody(nfsnobody) 啦!
使配置生效
[16:14:57 root@192.168.81.183 /data/k8s_nfs]#exportfs -r启动rpcbind、nfs服务[16:24:05 root@192.168.81.183 /data/k8s_nfs]#systemctl start rpcbind[16:24:12 root@192.168.81.183 /data/k8s_nfs]#systemctl start nfs[16:24:19 root@192.168.81.183 /data/k8s_nfs]#systemctl enable rpcbind[16:24:29 root@192.168.81.183 /data/k8s_nfs]#systemctl enable nfsCreated symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.查看NFS所共享的目录[16:25:12 root@192.168.81.183 /data/k8s_nfs]#showmount -e localhostExport list for localhost:/data/k8s_nfs 192.168.82.0/24去客户端服务器上挂载[16:08:43 root@mq1 ~]#mkdir /sharenfs[16:08:54 root@mq1 ~]#mount -t nfs 192.168.81.183:/data/k8s_nfs /sharenfs/mount: 文件系统类型错误、选项错误、192.168.81.183:/data/k8s_nfs 上有坏超级块、缺少代码页或助手程序,或其他错误(对某些文件系统(如 nfs、cifs) 您可能需要一款 /sbin/mount.<类型> 助手程序)有些情况下在 syslog 中可以找到一些有用信息- 请尝试dmesg | tail这样的命令看看 。遇到这个问题说明客户端服务器上没有安装nfs-utils
[16:08:13 root@mq1 ~]#rpm -qa|grep nfs[16:09:23 root@mq1 ~]#yum -y install nfs-utils[16:13:38 root@mq1 ~]#mount -t nfs 192.168.81.183:/data/k8s_nfs /sharenfs/[16:13:41 root@mq1 ~]#df -h文件系统容量已用可用 已用% 挂载点/dev/mapper/cl-root46G26G20G58% //dev/sda350G15G32G32% /data192.168.81.183:/data/k8s_nfs443G8.8G412G3% /sharenfs



    推荐阅读