CentOS7.2中NFS1.3 安装

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下

[[email protected] ~]# mkdir /home/nfs  
[[email protected] ~]# mount -t nfs 192.168.222.200:/home/nfs/ /home/nfs/    
[[email protected] ~]# 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号

[[email protected] 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

时间: 2024-10-19 14:09:15

CentOS7.2中NFS1.3 安装的相关文章

CentOS7.X中使用yum安装nginx的方法

nginx官方文档说明:http://nginx.org/en/linux_packages.html#RHEL-CentOS 一.安装前准备: yum install yum-utils 二.添加源 到 cd /etc/yum.repos.d/ 目录下 新建 vim nginx.repo 文件 输入以下信息 [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$ba

centos7中使用yum安装tomcat以及它的启动、停止、重启

centos7中使用yum安装tomcat 介绍 Apache Tomcat是用于提供Java应用程序的Web服务器和servlet容器. Tomcat是Apache Software Foundation发布的JavaServlet和JavaServer Pages技术的开源实现. 本教程介绍在CentOS 7服务器上使用yum进行Tomcat 7的基本安装和一些配置.请注意,这将安装在官方Ubuntu存储库中的最新版本的Tomcat,它可能是或不是最新版本的Tomcat.如果你想保证你安装的

在CentOS7中手工编译安装Mysql5.7

在CentOS7中手工编译安装Mysql5.7 实验介绍:由于Mysql自从5.5之后,都需要安装boost的函数库,所以和LAMP中编译安装Mysql略有不同,配置文件也不一样,下面来介绍. 1.首先查看CentOS7之前是否安装过Mysql,先要进行删除,使用的命令是. rpm -q mysql 2.首先使用yum仓库安装所需要的开发包和软件包. yum -y install ncurses \ #提供字符终端处理库 ncurses-devel \ #ncurses开发包 bison \ #

Centos7.3中安装Oracle12C详细过程

安装Oracle12C 1.下载Oracle12C软件包 安装Oracle之前需要在官方网站中下载Oracle12C database 软件包,官方下载链接:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle12c-linux-12201-3608234.html 2.配置可安装Oracle的虚拟机 安装Oracle所需centos配置: CPU最少双核 内存最少4G 除了一个系统硬盘外,另

Linux CentOS7系统中phpMyAdmin安装配置

今天介绍的是如何在Linux CentOS7系统中配置phpMyAdmin. 目录 环境准备 安装包 基本设置 网站预览 环境准备 linux centos7系统 ssh软件 php语言环境 mysql数据库 安装包 phpMyAdmin官网下载 安装前,请使用xshell连接远程服务器. 这次使用wget进行下载安装. 首先,进入下载文件夹. 这里是你存放下载包的地方. cd /home/downloads 其次,下载phpMyAdmin包. wget https://files.phpmya

CentOS7服务器中apache、php7以及mysql5.7的安装配置代码

CentOS7服务器中apache.php7以及mysql5.7的配置代码如下所示: yum upgradeyum install net-tools 安装apache (http://m.8682222.com)关闭SELinux编辑器打开 etc/selinux/config 文件,找到 SELINUX=enforcing 字段,将其改成 SELINUX=disabled ,并重启设备.yum -y install httpd mod_ssl配置防火墙firewall-cmd --perma

CentOS7.2通用二进制格式安装mariadb-5.5.46-linux-x86_64.tar.gz文档与启动时失败排查分析

CentOS7.2通用二进制格式安装mariadb-5.5.46-linux-x86_64.tar.gz 提前准备好mariadb-5.5.46-linux-x86_64.tar.gz [[email protected] ~]# groupadd -r -g 306 mysql                    ###添加mysql用户 [[email protected] ~]# useradd -r -g 306 -u 306 mysql              ###添加mysql

Win8.1 + CentOS7 双系统 U盘安装--引导修复

安装完重启后,竟然没有引导!!!(难道是由于Windows 8在BIOS中使用了统一的 UEFI 接口??但是,Linux基金会早就宣布将会提供一种全新的 方式使用 UEFI Secure Boot选项安装Linux系统.她两可以和平共处啊) 本人对 UEFI 引导不太了解(UEFI boot 比 Legacy boot 要强大 ),只能另想办法了!!最终,决定采用 easyBCD 来引导 CentOS 7. 1.失败的尝试(收获巨大,得到了启动的方式) 第一次尝试中,以为只要简单的添加 gru

CentOS 7 中 Docker 的安装

CentOS 7 中 Docker 的安装 Docker 软件包已经包括在默认的 CentOS-Extras 软件源里.因此想要安装 docker,只需要运行下面的 yum 命令: [[email protected] ~]# yum install docker 启动 Docker 服务 安装完成后,使用下面的命令来启动 docker 服务,并将其设置为开机启动: [[email protected] ~]# service docker start [[email protected] ~]