NFS(network file system)网络文件系统,类似Windows中的文件夹共享,如下有三台机器A, B, C,它们需要访问同一个目录,目录中都是图片,传统的做法是把这些图片分别放到A, B, C。但是使用NFS只需要放到A上,然后A共享给B和C即可。访问的时候,B和C是  
通过网络的方式去访问A上的那个目录。
 
一、在A机上安装 NFS 服务器所需的软件包:  
yum install -y nfs-utils   
 
(实际上需要安装两个包nfs-utils和rpcbind, 不过当使用yum安装nfs-utils时会把rpcbind一起安装上)
 
二、编辑exports文件,添加从机  
vim /etc/exports   
/home/nfs 192.168.222.201(rw,sync,fsid=0)  192.168.222.202(rw,sync,fsid=0)   
配置说明:
这一行分为三个部分:
第一部分:/home/nfs ,这个是本地要共享出去的目录。
第二部分:192.168.222.0/24 ,允许访问的主机,可以是一个IP:192.168.222.201,也可以是一个IP段:192.168.222.0/24
第三部分:括号中部分。
rw表示可读写,ro只读;
sync :同步模式,内存中数据时时写入磁盘;async :不同步,把内存中数据定期写入磁盘中;
no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;root_squash:和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;all_squash:不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;
anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。
fsid=0表示将/home/nfs整个目录包装成根目录
这个配置文件也可以这样写:  
/opt/test/ 192.168.222.0/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)
 
三、启动A机上nfs服务  
先为rpcbind和nfs做开机启动:   
systemctl enable rpcbind.service   
systemctl enable nfs-server.service   
然后分别启动rpcbind和nfs服务:  
systemctl start rpcbind.service   
systemctl start nfs-server.service   
确认NFS服务器启动成功:  
rpcinfo -p   
通过查看service列中是否有nfs服务来确认NFS是否启动。
showmount -e 192.168.222.200        
查看可挂载目录及可连接的IP
四、关闭A机上的防火墙或者给防火墙配置nfs的通过规则
还是关闭简单啊!
systemctl stop firewalld.service
 
五、在B,C机上配置clinet端
1、安装nfs,并启动服务。
yum install -y nfs-utils
systemctl enable rpcbind.service
systemctl start rpcbind.service
客户端不需要启动nfs服务,只需要启动rpcbind服务.
2、检查 NFS 服务器端是否有目录共享
showmount -e 192.168.222.200
3、使用 mount 挂载A服务器端的目录/home/nfs到客户端B的目录/home/nfs下
[root@localhost ~]# mkdir /home/nfs  
[root@localhost ~]# mount -t nfs 192.168.222.200:/home/nfs/ /home/nfs/   
[root@localhost ~]# df -h   
文件系统                   容量  已用  可用 已用% 挂载点   
/dev/mapper/centos-root     11G  1.3G  9.1G   13% /   
devtmpfs                   911M     0  911M    0% /dev   
tmpfs                      921M     0  921M    0% /dev/shm   
tmpfs                      921M  8.5M  912M    1% /run   
tmpfs                      921M     0  921M    0% /sys/fs/cgroup   
/dev/sda1                  497M  170M  328M   35% /boot   
tmpfs                      185M     0  185M    0% /run/user/0   
192.168.222.200:/home/nfs   11G  1.3G  9.1G   13% /home/nfs
4、挂载完成,可以正常访问本机下的/home/nfs,如果在服务端A在共享目录/home/nfs中写入文件,B、C机上可以看到,但是不能在这个目录中写入文件.
 
六、在服务器端A再建立一个共享目录,并且可以允许A、B、C写入共享目录
1、在B、C机上取得root用户ID号
[root@localhost home]# id root  
uid=0(root) gid=0(root) 组=0(root)
2、在A服务器上再建立一个共享目录
mkdir /home/nfs1
# vim /etc/exports  
/home/nfs 192.168.222.201(rw,sync,fsid=0) 192.168.222.202(rw,sync,fsid=0)   
/home/nfs1 192.168.222.0/24(rw,sync,all_squash,anonuid=0,anongid=0)
加入第二行,anonuid=0,anongid=0即为root用户id。
3、让修改过的配置文件生效
exportfs –arv
使用exportfs命令,当改变/etc/exports配置文件后,不用重启nfs服务直接用这个exportfs即可,它的常用选项为[-aruv].    
-a :全部挂载或者卸载;     
-r :重新挂载;     
-u :卸载某一个目录;     
-v :显示共享的目录;
4、 查看新的可挂载目录及可连接的IP
showmount -e 192.168.222.200   
5、在B、C clinet端新挂载一个目录
showmount -e 192.168.222.200  #查看新的挂载共享目录是否有了。
mkdir nfs1  
mount -t nfs 192.168.222.200:/home/nfs1/ /home/nfs1/   
ll / >/home/nfs1/ll.txt   #测试向新的共享目录中可以写入文件了。   
(卸载挂载:umount /home/nfs1/)
6、想在客户机B、C上实现开机挂载,则需要编辑/etc/fstab:
vim /etc/fstab
加入以下内容:
192.168.222.200:/home/nfs                  /home/nfs    nfs    nolock   0 0  
192.168.222.200:/home/nfs1               /home/nfs1  nfs    nolock   0 0
保存后,重新挂载
mount -a

CentOS 中安装NFS的更多相关文章

  1. 在centos中安装jenkins master测试环境

    在centos中安装jenkins   1)安装目录 pwd (/home/AAA)   2)检查java是否安装 [AAA@Centos_AAA jenkins]$ java -version  j ...

  2. centos中安装chromium和flash

    安装环境:centos 6.5 64位 在centos中安装chromium 安装Google源 cd /etc/yum.repos.d/ sudo wget http://people.CentOS ...

  3. Centos中安装Sublime编辑器

    Centos中安装Sublime编辑器 1.从官网下载相应操作系统的下的安装包(http://www.sublimetext.com/2),这里下的是linux下的安装包 2.解压安装包,并将其放在/ ...

  4. centos中安装tomcat6

    在centos中安装tomcat6   1)通过yum自动安装tomcat和dependences root@Centos_AAA ~]# yum install tomcat6 [root@Cent ...

  5. 在Centos中安装HustOJ实验记录

    hustoj是目前使用最广泛的刷题平台,自建平台是编程教学中重要一环,教,学,测,反思形成闭合回路.目前利用现有的服务器资源,建成了开高开源code中心,一个刷题系统,六月再建一个私有云,私有云不仅是 ...

  6. centos中安装tomcat

    1.先保证centos中安装了jre的环境. 2.上传tomcat的压缩包到root根目录. 3.切换到根目录 输入命令cd ~ , 然后 ll , 查看上传情况: 4.选中复制压缩文件,输入解压命令 ...

  7. Docker学习笔记之-在CentOS中安装Docker

    上一节演示了如何 通过Xshell连接CentOS服务,链接:Docker学习笔记之-通过Xshell连接 CentOS服务 本节将演示 如何在CentOS中安装 Docker 第一步:更新系统包到最 ...

  8. CentOS中配置NFS

    https://www.cnblogs.com/yeungchie/ NFS是Network File System的缩写,即网络文件系统. 它的主要功能是通过网络(一般是局域网)让不同的主机系统之间 ...

  9. centos中安装字体

    转载自:http://blog.csdn.net/wlwlwlwl015/article/details/51482065 在使用phantomjs做自动化网页截图时,发现截图都没有文字.最后好久才发 ...

随机推荐

  1. ItemsSource数据源 或 集合属性 的定义 ——> 的数据源定义(典型)

    在Xaml中: ItemsSource="{Binding Path=GridDataSource.PoliceforceDataSource}" 在ViewModel中: Obs ...

  2. 3.java内存模型以及happens-before规则

    1. JMM的介绍 在上一篇文章中总结了线程的状态转换和一些基本操作,对多线程已经有一点基本的认识了,如果多线程编程只有这么简单,那我们就不必费劲周折的去学习它了.在多线程中稍微不注意就会出现线程安全 ...

  3. 第五天 Linux基本命令

    tty控制台终端  tty1~tty6? ctrl + alt + F2~F6  切换控制台 alt + F1 返回 但是使用 在图形化界面,使用init 3后,不能使用alt + F1返回,因为两者 ...

  4. VS2013 VC++的.cpp文件调用CUDA的.cu文件中的函数

    CUDA 8.0在函数的调用中方便的让人感动.以下是从网上学到的VC++的.cpp文件调用CUDA的.cu文件中的函数方法,和一般的VC++函数调用的方法基本没差别. 使用的CUDA版本为CUDA 8 ...

  5. Oracle 反应太后知后觉了.

    很久已经提过一个SR,关于BES一个用户可以用两个密码登陆EBS系统的问题,但是SR解决太慢,而且一致强调你们的版本太低,需要升级到最新的版本,考虑客户化的问题,我们的版本没有升级(R2.1.1),无 ...

  6. ansible入门一(Ansible介绍及安装部署)

    本节内容: 运维工具 Ansible特性 Ansible架构图和核心组件 安装Ansible 演示使用示例 一.运维工具 作为一个Linux运维人员,需要了解大量的运维工具,并熟知这些工具的差异,能够 ...

  7. NPOI:操作总结

    1.套路 使用了NPOI一段时间,也慢慢了解了操作的流程,或者说套路: a.创建Workbook: HSSFWorkbook Workbook = new HSSFWorkbook(); b.在Wor ...

  8. 【ecmascript】Javascript 严格模式详解【转】

    一.概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode).顾名思义,这种模式使得Javascript在更严格的条件下运行. ...

  9. Python面向对象 --- 新旧式类、私有方法、类属性和类方法、静态方法

    一.Python面向对象中的新旧式类 1)新式类(推荐使用):在定义类时,类后边括号里要继承基类(object).在python3.x中若没有指定父类,会默认使用的是object作为基类:在pytho ...

  10. LINUX中的DNS服务---DNS集群

    一.DNS集群的理解 在使用DNS的时候,为了缓解服务器的压力,会使用多个辅助DNS服务器来分担主DNS的工作.这些DNS就叫做DNS集群. 二.配置过程 1)在辅DNS中操作如下:(主机号为172. ...