五分钟学会linux磁盘共享之nfs技术

声明:本文乃“运维家”原创,转载请注明出处,更多内容请关注公众号“运维家”。

图片

主旨

一个服务器B磁盘不够,另一个服务器A磁盘用不完,这种情况如何将服务器B的磁盘给服务器A用呢?下面看我如何操作。

环境

nfs服务端A:192.168.112.130
nfs使用者B:192.168.112.131

安装NFS

服务端和使用者都需要安装nfs,即服务端和使用者都需要进行此步骤。安装完之后一定要记得配置开机自启动,不然后面万一服务器被重启了,我们还需要手动恢复,争取不给自己这个手动恢复的机会,一次搞定最好。

[yunweijia@localhost ~]$ sudo yum -y install rpcbind nfs-utils
[yunweijia@localhost ~]$ sudo systemctl start rpcbind
[yunweijia@localhost ~]$ sudo systemctl enable rpcbind
[yunweijia@localhost ~]$ sudo systemctl start nfs-server
[yunweijia@localhost ~]$ sudo systemctl enable nfs-server
[yunweijia@localhost ~]$ sudo netstat -tunlp | grep 2049
tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::2049                 :::*                    LISTEN      -                   
udp        0      0 0.0.0.0:2049            0.0.0.0:*                           -                   
udp6       0      0 :::2049                 :::*                                -                   
[yunweijia@localhost ~]$

查看共享

该步骤在使用者B操作;

先将命令给予让sudo可以使用,这个在之前的文章中有说到具体原理;

[yunweijia@localhost yum.repos.d]$ sudo which showmount
/sbin/showmount
[yunweijia@localhost yum.repos.d]$ sudo visudo
Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/python3/bin:/sbin
[yunweijia@localhost yum.repos.d]$

在使用者B上进行查看共享,命令如下;

[yunweijia@localhost ~]$ sudo showmount -e 192.168.112.130
Export list for 192.168.112.130:
[yunweijia@localhost ~]$

从上面返回结果来看是空,说明服务端还没有进行共享;

服务端共享目录

该步骤在服务端A操作;

将服务端的 “/data” 目录共享出去,以供使用者B使用该目录;

[yunweijia@localhost ~]$ sudo mkdir -pv /data
mkdir: 已创建目录 "/data"
[yunweijia@localhost ~]$ sudo vim /etc/exports
/data/ 192.168.112.131(rw,no_root_squash)
[yunweijia@localhost ~]$ sudo exportfs -rv  # 重新加载配置文件
exporting 192.168.112.131:/data
[yunweijia@localhost ~]$ 

参数解释:

/data/ 192.168.112.131(rw,no_root_squash)

/data/ 共享哪个目录出去,可以写多行,也就是共享多个目录
192.168.112.131 共享给谁使用,也可以是192.168.112.* 这个网段,也可以直接使用 * 表示共享给所有IP使用
权限:
  ro:只读
  rw:可读可写
  sync:同步写入内存和磁盘中
  no_all_squash:保留共享文件的UID和GID(默认)
  no_root_squash:使得root用户具有根目录的完全访问权限

使用者接受共享

该步骤在使用者B操作;

先查看下共享,是不是显示已经有了共享目录;

[yunweijia@localhost ~]$ sudo showmount -e 192.168.112.130
Export list for 192.168.112.130:
/data 192.168.112.131
[yunweijia@localhost ~]$

从上面看已经可以看到具体共享了,这个时候我们将服务端共享的目录挂载到使用者B上;

[yunweijia@localhost ~]$ sudo mount -t nfs 192.168.112.130:/data/ /123/
[yunweijia@localhost ~]$ df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   17G   11G  6.7G   62% /
devtmpfs                 895M     0  895M    0% /dev
tmpfs                    911M     0  911M    0% /dev/shm
tmpfs                    911M  9.9M  901M    2% /run
tmpfs                    911M     0  911M    0% /sys/fs/cgroup
/dev/sda1               1014M  170M  845M   17% /boot
tmpfs                    183M     0  183M    0% /run/user/1000
192.168.112.130:/data     17G   11G  6.7G   62% /123
[yunweijia@localhost ~]$

从上图我们可以看到成功挂载了;

测试挂载

在nfs使用者B中,使用root用户新建文件;

PS:这里说明一下,为什么一定要切换到root用户测试,因为这个目录的权限,只能是root用户,我们在创建共享的时候指定了就是root用户,所以我们必须切换到root,不然会提示没有权限。

[yunweijia@localhost ~]$ su root
密码:
[root@localhost yunweijia]# cd /123/
[root@localhost 123]# echo "yunweijia" > test.txt
[root@localhost 123]# ls
test.txt
[root@localhost 123]#

看看nfs服务端A上有没有;

[yunweijia@localhost ~]$ cd /data/
[yunweijia@localhost data]$ ls
test.txt
[yunweijia@localhost data]$ cat test.txt 
yunweijia
[yunweijia@localhost data]$

反之,你在nfs服务端A的 “/data/” 目录中创建的文件,使用者B在 “/123/” 目录中也能看到。

永久挂载

虽然上面我们测试通过了,但是一旦使用者B被重启了,那么挂载就掉了,掉了之后数据写哪儿去?这个是非常重要的,所以我们要保证他要一直存在,所以我们将配置磁盘永久挂载。

该操作在使用者B上进行。

[yunweijia@localhost ~]$ sudo vim /etc/fstab
192.168.112.131:/data /html nfs defaults 0 0
[yunweijia@localhost ~]$

至此,本文结束。欢迎各位老板后台留言改进意见,或者想看的内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值