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 :显示共享的目录
声明:本文乃“运维家”原创,转载请注明出处,更多内容请关注公众号“运维家”。
主旨
一个服务器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 ~]$
至此,本文结束。欢迎各位老板后台留言改进意见,或者想看的内容。
发表评论