当前位置:首页 > 综合热点 > 正文

NFS共享服务器

摘要: NFS共享服务器最佳答案53678位专家为你答疑解惑NFS共享服务器(1)nfs服务器端配置Centos使用nfs需要nfs-u...

NFS共享服务器

最佳答案 53678位专家为你答疑解惑

NFS共享服务器

(1)nfs服务器端配置Centos使用nfs需要nfs-utils和rpcbind,但yum安装nfs-utils时,会把rpcbind一起装上

yum install -y nfs-utilsvim /etc/exports        /home/ 10.2.3.56/24(rw,sync,all_squash,anonuid=500,anongid=500)service rpcbind startservice nfs start

具体参数说明:

(1) rw :表示可读可写(2) ro :表示只读?(3) sync :请求或写入数据时,数据同步写入到 NFS 服务端的硬盘后才返回?(4) async :请求或写入数据时,数据同步先写入到 NFS 服务端的内存,直到硬盘有空档时才写入硬盘,提高效率?(5) no_root_squash :如果 NFS 客户端是 root 用户,那么它对该共享目录具有 root 权限?(6) root_squash :如果 NFS 客户端是 root 用户,则将它的权限压缩成匿名用户?(7) all_squash :无论 NFS 客户端是什么用户,都将它的权限压缩成匿名用户?(8) anonuid :指定 NFS 服务端 /etc/passwd 文件中匿名用户的 UID?(9) anongid :指定 NFS 服务端 /etc/passwd 文件中匿名用户的 GID注意:指定的UID和GID必须在服务端提前创建好

(2)客户端配置

yum install -y nfs-utilsshowmount -e 10.2.3.57        [root@localhost src]# showmount -e 10.2.3.57        Export list for 10.2.3.57:        /home 10.2.3.56/24mount -t nfs -o nfsvers=3 10.2.3.57:/home/ /mnt/

参数说明:

-t 指定挂载的文件系统的类型-o 后面是挂载参数     nfsvers=3指定nfs的nfs协议版本是3     nolock  不加文件锁ip:/dir  指定挂载的是哪个分享目录/mnt    指定挂载到本机的哪个目录上

(3)可以开机自动挂载

vim /etc/fstab10.2.3.57:/home                           /mnt                    nfs     nfsvers=3,nolock        0 0mount -a       挂载/etc/fstab中的全部文件系统

(4)exportfs当改变了服务端的/etc/exports中的共享文件使用exportfs 命令不用重启nfs服务就能更新共享目录

-a :全部挂载或者卸载?-r :重新挂载?-u :卸载某一个目录?-v :显示共享的目录

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

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

主旨

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

环境

nfs服务端A:192.168.112.130nfs使用者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 2049tcp        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 visudoDefaults    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.130Export list for 192.168.112.130:[yunweijia@localhost ~]$

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

服务端共享目录

该步骤在服务端A操作;

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

[yunweijia@localhost ~]$ sudo mkdir -pv /datamkdir:已创建目录"/data"[yunweijia@localhost ~]$ sudo vim /etc/exports/data/ 192.168.112.131(rw,no_root_squash)[yunweijia@localhost~]nbsp;sudoexportfs-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.130Export 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% /devtmpfs                    911M     0  911M    0% /dev/shmtmpfs                    911M  9.9M  901M    2% /runtmpfs                    911M     0  911M    0% /sys/fs/cgroup/dev/sda1               1014M  170M  845M   17% /boottmpfs                    183M     0  183M    0% /run/user/1000192.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]# lstest.txt[root@localhost 123]#

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

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

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

永久挂载

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

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

[yunweijia@localhost ~]$ sudo vim /etc/fstab192.168.112.131:/data /html nfs defaults 0 0[yunweijia@localhost ~]$

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

发表评论