Centos7.5部署NFS网络存储

Centos7.5部署NFS网络存储

NFS应用场景

NFS(Network File System网络文件系统),有些类似有C/S的方式,场景中最少包含两台服务器。应用场景中通常是存储。例如我们有一个集群环境假定为Tomcat集群环境。环境中出现一个用户上传附件的需求,如果每一个Tomcat都将附件存储到自身不仅占用了大部分磁盘空间,且为保证文件一致性需要使用类似于Rsync+notify机制推送文件,较为麻烦。此时我们就可以单独拿出一个Server将他的磁盘空间共享出来供后端Tomcat服务调用。这种方法大大减小了Tomcat Server的磁盘压力及CPU压力更减小了磁盘的损耗

这时候有的同学可能会问了,NFS没有缺点吗?结果是当然有了,NFS中N代表Network,就代表了这时一个依赖网络的文件存储,且NFS文件传输过程中是不加密的。建议大家在生产环境中尽量在内网环境下使用。这样既可以减小公网压力,又提高了文件传输的安全性。

ok废话不说了,开干

环境查看及NFS配置

[root@localhost ~]# cat /etc/redhat-release 			//确定系统版本,当然centos操作基本等同,ubunut注意一下root权限
CentOS Linux release 7.5.1804 (Core)
[root@localhost ~]# rpm -qa rpcbind nfs-utils		    //如果没有的话使用yum加软件包名直接安装就可以了
rpcbind-0.2.0-44.el7.x86_64								//rpcbind是nfs服务的守护进程所以要有!
nfs-utils-1.3.0-0.54.el7.x86_64
[root@localhost ~]# cat /etc/passwd | grep nfs    		//安装完成后会产生两个系统用户
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

创建NFS文件目录及配置文件和启动

[root@localhost ~]# mkdir -p /opt/opt1/nfsfile/vm-iso/
[root@localhost ~]# vim /etc/exports
/opt/opt1/nfsfile/	192.168.1.0/24(rw,sync,no_root_squash)
#要共享的文件目录		允许访问的网段(读写权限,同步,root不降权)

#参数配置
rw:读/写权限,只读权限的参数为ro;
sync:数据同步写入内存和硬盘,也可以使用async,此时数据会先暂存于内存中,而不立即写入硬盘。
no_root_squash:NFS服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。

[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@localhost ~]# systemctl status rpcbind
● rpcbind.service - RPC bind service
   Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; vendor preset: enabled)
   Active: active (running) since 一 2019-05-13 20:02:40 CST; 1 day 14h ago
 Main PID: 1382 (rpcbind)
   CGroup: /system.slice/rpcbind.service
           └─1382 /sbin/rpcbind -w

5月 13 20:02:40 localhost systemd[1]: Starting RPC bind service...
5月 13 20:02:40 localhost systemd[1]: Started RPC bind service.
[root@localhost ~]# systemctl status nfs
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)
  Drop-In: /run/systemd/generator/nfs-server.service.d
           └─order-with-mounts.conf
   Active: active (exited) since 三 2019-05-15 10:12:25 CST; 22s ago
 Main PID: 38174 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/nfs-server.service

5月 15 10:12:25 localhost systemd[1]: Starting NFS server and services...
5月 15 10:12:25 localhost systemd[1]: Started NFS server and services.
[root@localhost ~]# showmount -e localhost					//本机挂载测试如下没问题
Export list for localhost:
/opt/opt1/nfsfile 192.168.1.0/24

client挂载

[root@localhost ~]# mkdir /nfsfile
[root@localhost ~]# showmount -e 192.168.1.50
Export list for 192.168.1.50:
/opt/opt1/nfsfile 192.168.1.0/24
[root@localhost ~]# mount -t nfs 192.168.1.50:/opt/opt1/nfsfile /nfsfile/
[root@localhost ~]# mount | grep nfsfile
192.168.1.50:/opt/opt1/nfsfile on /nfsfile type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.100,local_lock=none,addr=192.168.1.50)
[root@localhost ~]# cd /nfsfile/
[root@localhost nfsfile]# ll
总用量 4
drwxr-xr-x 2 root root 4096 5月  15 10:06 vm-iso

成功!加油,方法总比问题多!!!

你可能感兴趣的:(linux'基础)