我们需要两台CentOS7机器,我们用虚拟机做测试,分别做NFS服务器和客户端,配置如下:+ l @$ [. ]/ B% `/ S, ~
Q( v7 A* m8 A
NFS服务器ip:192.168.183.88。
! ?+ K2 R% ^: r7 }" F2 c6 s- k b
; u; e, R5 q/ `; O2 a: M w客户端ip:192.168.11.89。* [. e9 o3 v9 Z7 h7 p L" Y
* v- d/ f) _1 l6 i- t- i3 U
NFS服务器配置 & f# J6 j; J. f' m
9 ]% M: \- e; g# M! p- K
yum -y install rpcbind nfs-utils, U% V4 Z, G% ^. D. x
{6 H7 M7 {4 M- v% F7 z
#客户端跟服务端都需要执行
* R. }6 ~5 G; X$ j8 N创建共享目录
7 I I6 T$ s. g g在服务器上创建共享目录,并设置权限。
. S! d) E. b* h, O, y
4 X4 ]. }# K0 P+ \' N. [, X/ [6 Mmkdir /data/share/ T1 Q, K0 R& D( w
chmod 755 -R /data/share/
, _- S- D, y- F, u- X# p# V+ z8 Q配置NFS : A9 ^8 R" l6 `; o! D( k
nfs的配置文件是 /etc/exports ,在配置文件中加入一行( r2 \! e5 h) p7 V" P' v
; x, T( @- R8 a) |
/data/share/ 192.168.183.89(rw,no_root_squash,no_all_squash,sync)/ I: u9 Z+ l% T# q
#这行代码的意思是把共享目录/data/share/共享给192.168.11.34这个客户端ip,后面括号里的内容是权限参数,其中:
; C1 o' w V! q- X4 |( B! w o. [#rw 表示设置目录可读写。
- t7 f" r& u9 [4 z% g8 J#sync 表示数据会同步写入到内存和硬盘中,相反 rsync 表示数据会先暂存于内存中,而非直接写入到硬盘中。
W3 U+ |! m" F5 r#no_root_squash NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。% j, {' n( {5 i' J; e5 C' Y$ Z
#no_all_squash 不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都不会拥有匿名用户权限。
) Q" A6 H' f0 o; E K2 y5 I& \8 S- t4 S. y+ N' {& p
) }' D% Q2 i6 P#如果有多个共享目录配置,则使用多行,一行一个配置。保存好配置文件后,需要执行以下命令使配置立即生效:" J% u! o: Y3 _. ~ Y2 E9 u
; \2 v+ I/ }6 y; ^, G1 s
exportfs -r0 y2 V$ m; M6 n# _9 O) L0 G
设置防火墙3 v* K6 o( p5 Z, B0 ~& T! w
#如果你的系统没有开启防火墙,那么该步骤可以省略。7 m |3 [$ }- |' h# i; V9 C
#NFS的防火墙特别难搞,因为除了固定的port111、2049外,还有其他服务如rpc.mounted等开启的不固定的端口,这样对防火墙来说就比较麻烦了。为了解决这个问题,我们可以设置NFS服务的端口配置文件。. Q- N8 j# X! P
#修改/etc/sysconfig/nfs文件,将下列内容的注释去掉,如果没有则添加:2 G% ~2 s$ o3 C: x
8 }6 y' u4 z1 Z( M0 q: h) C- cRQUOTAD_PORT=10010 D. }+ b9 |! Z Q/ |/ q% o# Y
LOCKD_TCPPORT=300015 t% ~. k/ U3 `
LOCKD_UDPPORT=30002
+ L& \4 j+ X5 mMOUNTD_PORT=1002
. E8 N! e5 V6 y- }- y. m" U- z% w B7 u+ W5 d# Y
#保存好后,将端口加入到防火墙允许策略中。执行:
* Y- {0 N1 G5 h1 C' k2 ?( |; t b& P/ n9 z: @, y
firewall-cmd --zone=public --add-port=111/tcp --add-port=111/udp --add-port=2049/tcp --add-port=2049/udp --add-port=1001/tcp --add-port=1001/udp --add-port=1002/tcp --add-port=1002/udp --add-port=30001/tcp --add-port=30002/udp --permanent' n: E9 O0 S' _& x- U |/ _* v6 @
firewall-cmd --reload+ p4 V, h! d5 F# q1 f. U1 ~
启动服务
! N2 s3 N+ i) U: f% p) e0 w# q0 O$ V; z9 G' y1 T8 l$ p4 b3 l
systemctl start rpcbind
. z2 i9 s' P$ ?0 O8 \0 Nsystemctl start nfs
5 N$ S& s# i7 N1 `9 Q9 P3 x. g) q9 j- B0 Q m; ?* y4 p% f+ x. M+ y
加入开机启动:
. e# ?; t0 D& j* n9 O& T ?) b6 l2 q7 H x1 ?7 O7 k" I
systemctl enable rpcbind
+ b4 ^) @& m! {6 tsystemctl enable nfs. L1 M. {7 r0 u
#nfs服务启动后,可以使用命令 rpcinfo -p 查看端口是否生效。( ? G% P3 G& x! ~
" q; m$ W; y" J7 D; D& ~
#服务器的后,我们可以使用 showmount 命令来查看服务端(本机)是否可连接:0 i b/ {% D6 I8 \. U, h
0 h) n7 t+ t3 ~
[root@localhost ~]# showmount -e localhost
9 f8 W m1 N3 C$ g1 ~Export list for localhost:. w& U9 Y i8 k( W* W5 B7 r! G! x, l
/data/share 192.168.183.892 E# ?. ?* L! A, J- A2 ]+ j
0 u- L8 S, E. \9 I7 \( S, @! w客户端配置1 y- H& ^" d/ E) \- ~; n( ?
k5 L% L. }$ g6 H. ]挂载远程nfs文件系统
1 h) R6 V, f5 S6 |7 }, P; Z: K8 I查看服务端已共享的目录:
7 L' l; q$ U- i8 a- B$ U
0 {5 n9 E7 M$ n8 h0 j! R: z[root@master ~]# showmount -e 192.168.183.88/ ^3 q" j" I% i+ W' K
Export list for 192.168.183.88:" e. w% R) P% |* y" {: [
/data/share 192.168.183.89% X# C4 a7 J" i
% C1 M- ~" X$ F
建立挂载目录,执行挂载命令:
, t, r# r0 i2 M4 r+ ?6 H# A# V1 `4 @4 ?
mkdir -p /mnt/share
: O/ C1 G- e- Omount -t nfs 192.168.183.89:/data/share /mnt/share/ -o nolock,nfsvers=3,vers=3
9 c9 K3 J( b1 q0 D7 n# T( J9 S8 U: `! a3 P. i9 Y2 }. S% N/ R
如果要解除挂载,可执行命令:
$ G4 a+ i' ]! c4 ~1 w$ q& a
% \* u' J2 [3 l$ C3 v5 D) bumount /mnt/share' {& n2 M; j$ c* `9 p$ V2 L
查看挂载结果,在客户端输入 df -h
/ S8 i4 F" ]! M7 T1 Z7 p( L# F% W, l8 W( h1 T
#192.168.183.88:/data/share 46G 5.0G 41G 11% /mnt/share
0 u7 ?$ |: e. R( b8 U————————————————: U* i: m- }, ~ X. v" v% k
版权声明:本文为CSDN博主「DaTieGuoDun」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
6 Q( m( l& N P! K/ c原文链接:https://blog.csdn.net/qq_45805471/article/details/122808203 |