糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > cif文件服务器搭建 在linux下搭建NFS服务器实现文件共享

cif文件服务器搭建 在linux下搭建NFS服务器实现文件共享

时间:2020-09-11 15:46:40

相关推荐

cif文件服务器搭建 在linux下搭建NFS服务器实现文件共享

介绍在linux下搭建NFS服务器实现文件共享

目录一.关于NFS

二.搭建一台NFS服务器共享特定资源

三.调优

一.关于NFS

1.NFS是Network File System的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS,NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。

2.在项目中,如果A,B,C服务器都需要D服务器上的某个目录下的文件,就可以把D服务器上的目录使用NFS的方式共享给A,B,C服务器,既方便又节省磁盘空间,D服务器还可以设置权限限制A,B,C的访问。

3.NFS的软件架构是C/S架构(即客户端/服务器端架构)。

4.NFS的监听端口为 2049,可以使用如下方式查看:[root@node5~]#cat/etc/services|grep"^nfs"

nfs2049/tcpnfsdshilp#NetworkFileSystem

nfs2049/udpnfsdshilp#NetworkFileSystem

nfs2049/sctpnfsdshilp#NetworkFileSystem

nfsd-keepalive1110/udp#Clientstatusinfo

nfsrdma9/tcp#NetworkFileSystem(NFS)overRDMA

nfsrdma9/udp#NetworkFileSystem(NFS)overRDMA

nfsrdma9/sctp#NetworkFileSystem(NFS)overRDMA二.搭建一台NFS服务器共享特定资源

1.部署环境服务器操作系统版本CPU架构进程功能描述node5/192.168.110.184CentOS Linux release 7.9. (Core)x86_64rpcbind,nfs-serverNFS服务器端

node8/192.168.110.186CentOS Linux release 7.9. (Core)x86_64需要安装nfs-server,但是不需要启动NFS客户端

2.在node5上安装NFS#安装nfs

[root@node5~]#yum-yinstallrpcbindnfs-utils

[root@node5~]#rpm-qa|greprpcbind

rpcbind-0.2.0-49.el7.x86_64

[root@node5~]#rpm-qa|grepnfs

libnfsidmap-0.25-19.el7.x86_64

nfs-utils-1.3.0-0.68.el7.x86_64

#查看已安装的nfs-utils命令,生成了哪些文件

[root@node5~]#rpm-qlnfs-utils

/etc/exports.d

/etc/gssproxy/24-nfs-server.conf

/etc/modprobe.d/lockd.conf

/etc/nfs.conf

/etc/nfsmount.conf

/etc/request-key.d/id_resolver.conf

/etc/sysconfig/nfs

......

/var/lib/nfs/state

/var/lib/nfs/v4recovery

/var/lib/nfs/xtab

#NFS的核心配置文件

[root@node5~]#ls/etc/exports

/etc/exports

[root@node5~]#systemctlstartrpcbind

#启动NFS

[root@node5~]#systemctlstartnfs

[root@node5~]#systemctlstatusrpcbind

●rpcbind.service-RPCbindservice

Loaded:loaded(/usr/lib/systemd/system/rpcbind.service;enabled;vendorpreset:enabled)

Active:active(running)sinceMon-12-2123:38:40CST;31sago

Process:75239ExecStart=/sbin/rpcbind-w$RPCBIND_ARGS(code=exited,status=0/SUCCESS)

MainPID:75240(rpcbind)

CGroup:/system.slice/rpcbind.service

└─75240/sbin/rpcbind-w

Dec2123:38:40node5systemd[1]:StartingRPCbindservice...

Dec2123:38:40node5systemd[1]:StartedRPCbindservice.

#查看NFS启动状态

[root@node5~]#systemctlstatusnfs

●nfs-server.service-NFSserverandservices

Loaded:loaded(/usr/lib/systemd/system/nfs-server.service;disabled;vendorpreset:disabled)

Drop-In:/run/systemd/generator/nfs-server.service.d

└─order-with-mounts.conf

Active:active(exited)sinceMon-12-2123:38:55CST;21sago

Process:75283ExecStartPost=/bin/sh-cifsystemctl-qis-activegssproxy;thensystemctlreloadgssproxy;fi(code=exited,status=0/SUCCESS)

Process:75266ExecStart=/usr/sbin/rpc.nfsd$RPCNFSDARGS(code=exited,status=0/SUCCESS)

Process:75263ExecStartPre=/usr/sbin/exportfs-r(code=exited,status=0/SUCCESS)

MainPID:75266(code=exited,status=0/SUCCESS)

CGroup:/system.slice/nfs-server.service

Dec2123:38:55node5systemd[1]:StartingNFSserverandservices...

Dec2123:38:55node5systemd[1]:StartedNFSserverandservices.

#查看NFS端口有没有监听

[root@node5~]#netstat-antup|grep2049

tcp000.0.0.0:20490.0.0.0:*LISTEN-

tcp600:::2049:::*LISTEN-

udp000.0.0.0:20490.0.0.0:*-

udp600:::2049:::*-

#设置NFS开机自启动

[root@node5~]#systemctlenablenfs

Createdsymlinkfrom/etc/systemd/system/multi-user.target.wants/nfs-server.serviceto/usr/lib/systemd/system/nfs-server.service.

#查看NFS是否开机自启动

[root@node5~]#systemctlis-enablednfs

enabled

3.修改配置文件,把node5的Tomcat发布目录分享给node8#修改配置文件

[root@node5~]#vim/etc/exports

#/usr/local/apache-tomcat-8.0.51/webapps表示要共享的目录

#192.168.110.186表示只对192.168.110.186这台服务器共享

#rw,no_root_squash表示访问权限,rw表示有读写权限,no_root_squash表示root用户具有根目录的完全管理访问权限

#其他可用参数说明(看情况配置即可):

#ro#只读访问。

#rw#读写访问。

#sync#资料同步写入到内存与硬盘当中。

#async#资料会先暂存于内存当中,而非直接写入硬盘。

#secure#NFS通过1024以下的安全TCP/IP端口发送。

#insecure#NFS通过1024以上的端口发送。

#wdelay#如果多个用户要写入NFS目录,则归组写入(默认)。

#no_wdelay#如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。

#hide#在NFS共享目录中不共享其子目录。

#no_hide#共享NFS目录的子目录。

#subtree_check#如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)。

#no_subtree_check#和上面相对,不检查父目录权限。

#all_squash#共享文件的UID和GID映射匿名用户anonymous,适合公用目录。

#no_all_squash#保留共享文件的UID和GID(默认)。

#root_squash#root用户的所有请求映射成如anonymous用户一样的权限(默认)。

#no_root_squash#root用户具有根目录的完全管理访问权限。

[root@node5~]#cat/etc/exports

/usr/local/apache-tomcat-8.0.51/webapps192.168.110.186(rw,no_root_squash)

#动态加载配置文件

[root@node5~]#exportfs-rv

exporting192.168.110.186:/usr/local/apache-tomcat-8.0.51/webapps

#nfs默认使用nfsnobody用户,所以修改共享目录拥有者

[root@node5~]#chownnfsnobody:nfsnobody-R/usr/local/apache-tomcat-8.0.51/webapps

4.在客户端node8上查看是否能看到共享目录#首先在客户端node8安装nfs,不需要启动,但是需要nfs里包含的命令showmount

[root@node8~]#yum-yinstallnfs-utils

[root@node8~]#rpm-qa|grepnfs

nfs-utils-1.3.0-0.48.el7.x86_64

libnfsidmap-0.25-17.el7.x86_64

#查看服务器端的共享目录,showmount语法:showmount-eNFS服务器端IP

#在客户端node8上可以看到服务器端的共享目录,则服务器端的/etc/exports配置正确

[root@node8~]#showmount-e192.168.110.184

Exportlistfor192.168.110.184:

/usr/local/apache-tomcat-8.0.51/webapps192.168.110.186

5.挂载共享目录#创建挂载目录

[root@node8~]#mkdir/tomcatapp

#挂载共享目录

[root@node8~]#mount-tnfs192.168.110.184:/usr/local/apache-tomcat-8.0.51/webapps/tomcatapp

#查看挂载情况

[root@node8~]#df-h

FilesystemSizeUsedAvailUse%Mountedon

/dev/mapper/centos-root17G14G3.6G80%/

devtmpfs478M0478M0%/dev

tmpfs489M0489M0%/dev/shm

tmpfs489M13M476M3%/run

tmpfs489M0489M0%/sys/fs/cgroup

/dev/loop04.3G4.3G0100%/mnt/cdrom

/dev/sda11014M125M890M13%/boot

tmpfs98M098M0%/run/user/0

192.168.110.184:/usr/local/apache-tomcat-8.0.51/webapps17G14G4.0G77%/tomcatapp

#此时在/tomcatapp就可以看到共享文件了

[root@node8~]#cd/tomcatapp/

[root@node8tomcatapp]#pwd

/tomcatapp

#具有读的权限

[root@node8tomcatapp]#ls

docsexampleshost-managerindex.jspmanagerROOTtest

#具有写的权限

[root@node8tomcatapp]#mkdir2358

[root@node8tomcatapp]#ls

2358docsexampleshost-managerindex.jspmanagerROOTtest

6.配置开机自动挂载共享目录[root@node8tomcatapp]#vim/etc/fstab

#在/etc/fstab的末尾添加“192.168.110.184:/usr/local/apache-tomcat-8.0.51/webapps/tomcatappnfsdefaults00”,使其可以开机自动挂载

[root@node8tomcatapp]#cat/etc/fstab

/dev/mapper/centos-root/xfsdefaults00

UUID=db58ac18-ddda-44e9-bbf5-2584fac03ed6/bootxfsdefaults00

/dev/mapper/centos-swapswapswapdefaults00

/mnt/yum-iso/CentOS-7-x86_64-DVD-1708.iso/mnt/cdromiso9660loop00

192.168.110.184:/usr/local/apache-tomcat-8.0.51/webapps/tomcatappnfsdefaults00

自此,NFS服务器搭建完毕。三.调优

1.调优思路:先调节系统内核参数,使操作系统性能最优,然后再调节NFS客户端挂载参数。

2.系统内核优化[root@node8~]#vim/etc/sysctl.conf

[root@node8~]#cat/etc/sysctl.conf

#sysctlsettingsaredefinedthroughfilesin

#/usr/lib/sysctl.d/,/run/sysctl.d/,and/etc/sysctl.d/.

#

#Vendorssettingslivein/usr/lib/sysctl.d/.

#Tooverrideawholefile,createanewfilewiththesamein

#/etc/sysctl.d/andputnewsettingsthere.Tooverride

#onlyspecificsettings,addafilewithalexicallylater

#namein/etc/sysctl.d/andputnewsettingsthere.

#

#Formoreinformation,seesysctl.conf(5)andsysctl.d(5).

#内核默认读缓存

net.core.wmem_default=8388608

#内核默认写缓存

net.core.rmem_default=8388608

#内核最大读缓存

net.core.rmem_max=16777216

#内核最大写缓存

net.core.wmem_max=16777216

#使配置文件生效

[root@node8~]#sysctl-p

net.core.wmem_default=8388608

net.core.rmem_default=8388608

net.core.rmem_max=16777216

net.core.wmem_max=16777216

3.NFS客户端挂载参数优化[root@node8~]#df-h

FilesystemSizeUsedAvailUse%Mountedon

/dev/mapper/centos-root17G14G3.6G80%/

devtmpfs478M0478M0%/dev

tmpfs489M0489M0%/dev/shm

tmpfs489M13M476M3%/run

tmpfs489M0489M0%/sys/fs/cgroup

/dev/loop04.3G4.3G0100%/mnt/cdrom

/dev/sda11014M125M890M13%/boot

tmpfs98M098M0%/run/user/0

192.168.110.184:/usr/local/apache-tomcat-8.0.51/webapps17G14G4.0G77%/tomcatapp

#先卸载共享目录

[root@node8~]#umount192.168.110.184:/usr/local/apache-tomcat-8.0.51/webapps

[root@node8~]#df-h

FilesystemSizeUsedAvailUse%Mountedon

/dev/mapper/centos-root17G14G3.6G80%/

devtmpfs478M0478M0%/dev

tmpfs489M0489M0%/dev/shm

tmpfs489M13M476M3%/run

tmpfs489M0489M0%/sys/fs/cgroup

/dev/loop04.3G4.3G0100%/mnt/cdrom

/dev/sda11014M125M890M13%/boot

tmpfs98M098M0%/run/user/0

#优化NFS客户端挂载参数

#-o后面跟挂载参数

#noatime:取消更新文件系统上的inode访问时间,提升I/O性能,优化I/O目的,推荐使用。

#nodiratime:取消更新文件系统上的directoryinode访问时间,高并发环境,推荐显式应用该选项,提高系统性能。

#intr:可以中断不成功的挂载。

#rsize/wsize:读取(rsize)/写入(wsize)的区块大小(blocksize),这个设置值可以影响客户端与服务端传输数据的缓冲存储量。一般来说,如果在局域网内,并且客户端与服务端都具有足够的内存,这个值可以设置大一点,比如说32768(bytes),提升缓冲区块将可提升NFS文件系统的传输能力。但设置的值也不要太大,最好是实现网络能够传输的最大值为限。

[root@node8~]#mount-tnfs-onoatime,nodiratime,rsize=131072,wsize=131072,intr192.168.110.184:/usr/local/apache-tomcat-8.0.51/webapps/tomcatapp

[root@node8~]#df-h

FilesystemSizeUsedAvailUse%Mountedon

/dev/mapper/centos-root17G14G3.6G80%/

devtmpfs478M0478M0%/dev

tmpfs489M0489M0%/dev/shm

tmpfs489M13M476M3%/run

tmpfs489M0489M0%/sys/fs/cgroup

/dev/loop04.3G4.3G0100%/mnt/cdrom

/dev/sda11014M125M890M13%/boot

tmpfs98M098M0%/run/user/0

192.168.110.184:/usr/local/apache-tomcat-8.0.51/webapps17G14G4.0G77%/tomcatapp

[root@node8~]#vim/etc/fstab

#把优化后的挂载参数也加入到配置文件中

[root@node8~]#cat/etc/fstab

/dev/mapper/centos-root/xfsdefaults00

UUID=db58ac18-ddda-44e9-bbf5-2584fac03ed6/bootxfsdefaults00

/dev/mapper/centos-swapswapswapdefaults00

/mnt/yum-iso/CentOS-7-x86_64-DVD-1708.iso/mnt/cdromiso9660loop00

192.168.110.184:/usr/local/apache-tomcat-8.0.51/webapps/tomcatappnfsnoatime,nodiratime,rsize=131072,wsize=131072,intr00

[root@node8~]#mount-a

[root@node8~]#df-h

FilesystemSizeUsedAvailUse%Mountedon

/dev/mapper/centos-root17G14G3.6G80%/

devtmpfs478M0478M0%/dev

tmpfs489M0489M0%/dev/shm

tmpfs489M13M476M3%/run

tmpfs489M0489M0%/sys/fs/cgroup

/dev/loop04.3G4.3G0100%/mnt/cdrom

/dev/sda11014M125M890M13%/boot

tmpfs98M098M0%/run/user/0

192.168.110.184:/usr/local/apache-tomcat-8.0.51/webapps17G14G4.0G77%/tomcatapp

自此,NFS调优完毕。

如果觉得《cif文件服务器搭建 在linux下搭建NFS服务器实现文件共享》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。