设为首页 加入收藏

TOP

Linux的NFS配置(二)
2023-07-23 13:31:25 】 浏览:46
Tags:Linux NFS 配置
bind
[root@server_197 ~]# systemctl restart nfs-server
[root@server_197 ~]# systemctl enable nfs-server Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.

用netstat看一下是不是有端口监听了,有就是启动成功了。

[root@server_197 ~]# netstat -tlpn | grep "2049\|111"
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::2049 :::* LISTEN -

firewall和iptables

firewall放行对应的服务, nfs、rpc-bind、mountd
如果可以建议只保留firewall就可以了。
systemctl stop iptables systemctl disable iptables
[root@server_197 ~]# firewall-cmd --permanent --add-service=nfs
success
[root@server_197 ~]# firewall-cmd --permanent --add-service=rpc-bind
success
[root@server_197 ~]# firewall-cmd --permanent --add-service=mountd
success
[root@server_197 ~]# firewall-cmd --reload
success

iptables这个有点局限性,如果非要使用,先依据前面可选的先固定好mountd的端口。我一般情况都先关了iptables留firewall。不过还是这样写一下啦,万一用得上。

以之前设置的mountd固定端口,4001-4004,以及nfs:2049、rpc:111

iptables -A INPUT -p tcp -m tcp --dport 111 -j ACCEPT iptables -A INPUT -p udp -m udp --dport 111 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 2049 -j ACCEPT iptables -A INPUT -p udp -m udp --dport 2049 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 4001:4004 -j ACCEPT iptables -A INPUT -p udp -m udp --dport 4001:4004 -j ACCEPT

# iptables -I : 新加一条规则链
# iptables -A :增加一条规则链
# ptables -I 添加的规则放在现有规则的最前面,iptables -A 放在现有规则的最后。

重新启动一下防火墙啦 

NFS_Client配置

作为使用Client,相当于Sever分享了一块硬盘,我们可以直接挂载在Client本地。

mount挂载

先看一下Sever共享信息,也就是对应我们之前在Sever的/etc/exports的配置。

如果不在许可范围内会提示mount.nfs: access denied by server while mounting。

  • showmount -[e|a|v] <ip>
    • -e,查看共享信息(记住-e就可以了)
    • -a,查看本机挂载的文件资源的情况NFS资源的情况
    • -v,查看nfs版本
  • mount -t nfs 192.168.2.197:/newnfs /newnfs

    • 将192.168.2.197:/newnfs挂载在本机的/newnfs,因为之前设置了权限这个文件夹是777
[root@client_149 ~]# showmount -e 192.168.2.197 #看一下先Sever共享信息
Export list for 192.168.2.197:
/newnfs 192.168.2.*
[root@client_149 ~]# mount -t nfs 192.168.2.197:/newnfs /newnfs
  •  也可以从根目录全部挂载,不过因为没有权限,还是只可以看到设置777权限的/newnfs
# 新建个文件夹用于挂载Server的根目录
[root@client_149 ~]# mkdir /nfs_197
# 挂载
[root@client_149 ~]# mount -t nfs 192.168.2.197:/ /nfs_197
# 查看一下挂载好的目录内容
[root@client_149 ~]# ll /nfs_197
total 0
drwxrwxrwx. 2 root root 20 Aug 31 01:30 newnfs

连接出错

# Client showmount -e出错
[root@slave_87 ~]# showmount -e 192.168.2.149
rpc mount export: RPC: Unable to receive; errno = No route to host

# 检测一下防火墙是否规则是否放行,firewalld和iptables依据具体情况,只保留一个就可以啦
# 如果使用firewalld
iptables -F

# 如果使用iptables
 systemctl stop firewalld
 systemctl disable firewalld

 

自动挂载

fstab挂载

重新启动后就要重新挂载啦,我们可以编辑一下/etc/fstab设置一下自动挂载。

在最后面追加

echo '192.168.2.197:/newnfs /newnfs nfs 0 0' >> /etc/fstab

如果不生效,将自动挂载也设置为开机启动

systemctl start remote-fs.target systemctl enable remote-fs.target

开机执行

当然,也可以开机时候自动执行挂载的命令/etc/rc.local

# 把之前的mount命令追加到rc.local的末尾
[root@client_149 ~]# echo 'mount -t nfs 192.168.2.197:/newnfs /newnfs' >> /etc/rc.local
# 追加完成后看一下
[root@client_149 ~]# cat /etc/rc.local | grep -v "#"
touch /var/lock/subsys/local
mount -t nfs 192.168.2.197:/newnfs /newnfs

这里记得要这个/etc/rc.local可执行+x

测试

目前Server和Client都已经配置好,我们在Server、Client任意主机在共享、挂载的目录内新建个文件,再在另一主机上查看

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇dockerfile 下一篇8 月份全球 Wi-Fi6 技术标准更新

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目