CentOS 6.5系统下安装和配置NFS服务

CentOS 6.3下安裝配置NFS4服務

安装 NFS 服务器所需的软件包:

# yum install nfs-utils
編輯/etc/exports文件
/home/exp             192.168.0.10(rw,sync,fsid=0)  192.168.0.11(rw,sync,fsid=0)
192.168.0.10 和192.168.0.11兩台機器可以掛載NFS服務器上的/home/exp目錄到自己的文件系統中。rw表示可讀可寫;sync表示同步寫內存和磁盤,fsid=0表示將/home/exp這個導出文件夾包裝成起始根目錄。

/file/ 192.168.0.5(rw,sync,no_root_squash)

啟動nfs服務:

先開啟rpcbind和nfs隨機自啟動:

#chkconfig rpcbind on
# chkconfig nfs on

然後分別啟動rpcbind和nfs服務:

#service rpcbind start
#service nfs start

確認nfs服務啟動成功:

# rpcinfo -p
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    ...
    100005    3   tcp    750  mountd
检查 NFS 服务器是否输出我们想共享的目录 /home/exp:

# exportfs
/home/exp  192.168.0.10
/home/exp  192.168.0.11
NFSv4已經不使用portmap了,而是rpcbind,這一點要注意。

NFS 客户端
首先還是和服務器端一樣,安裝nfs套件。

然後啟動rpcbind服務:

還是先開啟rpcbind服務隨機啟動:

#chkconfig rpcbind on

然後啟動rpcbind服務:

#service rpcbind start

检查 NFS 服务器端是否有目录共享:

# showmount -e nfs服務器的IP

使用 mount 挂载服务器端的目录/home/exp到客户端某个目录下:

# mkdir /home/exp
# mount -t nfs4 nfs服務器IP:/    /home/exp

# df -h看一下掛上來了沒有。

想在客戶機啟動時自動掛載,則在/etc/fstab加上:

# vi /etc/fstab
nfs服務器IP:/   /home/exp  nfs4 ro,hard,intr,proto=tcp,port=2049,noauto 0 0
客戶端掛載後,寫文件時可能會報一個權限問題:Permission denied。解決這個問題可以修改服務器端文件/etc/exports,改成如下內容:

# vi /etc/exports
/home/exp             192.168.0.10(rw,sync,fsid=0,anonuid=48,anongid=48)  192.168.0.11(rw,sync,fsid=0,anonuid=48,anongid=48)

anonuid=48的意思是讓所有匿名用戶的操作都視同為服務器上ID為48的用戶,在我的服務器上是apache用戶;同樣的anongid=48意 思是讓所有匿名用戶組的操作都視同為服務器上ID為48的用戶組,在我的服務器上是apache組。這樣設置了還不夠,服務器上還必須要存在ID為48的 用戶和用戶組,同時客戶機上也要有ID為48的用戶和用戶組,且用戶名和用戶組的名稱要和服務器上的一致。

設置好後,重啟NFS服務,問題即可解決。

重新读取NFS配置文件:

# exportfs -rv

可使用如下命令查看

# exportfs -v

共享多个目录

使用NFSv4方式共享多个目录时,所有的目录都要作为共享根目录的子目录。例如:有以下目录需要共享:

/first/very/long/path1

/second/very/long/path2

同时让客户端看上去共享的目录是 /dir1 和 /dir2。

服务器端
创建子目录 # mkdir /home/NFSv4/dir1

# mkdir /home/NFSv4/dir2

使用参数挂载需要共享的目录 # mount --bind /first/very/long/path1

/home/NFSv4/dir1

# mount --bind /secend/very/long/path2

/home/NFSv4/dir2

修改/etc/exports文件 /home/NFSv4/dir1 *(rw,nohide,sync)

/home/NFSv4/dir2 *(rw,nohide,sync)

注意:需要使用nohide参数
重新读取NFS配置文件 # exportfs -rv

这时你就可以在客户端上挂载服务器上的多个共享文件夹了:

从根目录挂载

# mount server1:/ /mount/point/

单独挂载

# mount server1:/dir1 /mount/point1/

# mount server1:/dir2 /mount/point2/

权限控制

修改 /ect/export 文件,类似以下内容:

/home/NFSv4 192.168.1.0/24

(ro,fsid=0,sync,anonuid=65534,anongid=65534)

调优

在默认情况下,NFS 的配置不适合大容量磁盘。 
每个客户机应该用 rsize=32768,wsize=32768,intr,noatime 挂装远程文件系统,如。

mount -o rsize=32768,wsize=32768,intr,noatime server1:/

/mount/point/

从而确保:

使用大的读/写块(数字指定最大块大小,在这个示例中是 32KB)。

在挂起时 NFS 操作可以被中断。

不持续更新 atime。

可以将这些设置放在 /etc/fstab 中。如果使用自动挂装器,那么应该将这些设置放在适当的 /etc/auto.* 文件中。
在 服务器端,一定要确保有足够的 NFS 内核线程来处理所有客户机。在默认情况下,只启动一个线程,但是 Red Hat 和 Fedora 系统会启动 8 个线程。对于繁忙的 NFS 服务器,应该提高这个数字,比如 32 或 64。可以用 nfsstat -rc 命令评估客户机,了解是否有阻塞的现象,这个命令显示客户机远程过程调用(RPC)统计数据。下表显示一个 Web 服务器的客户机统计数据。

# nfsstat -rc

Client rpc stats:

calls retrans authrefrsh

1465903813 0 0

第二列 retrans 是零,这表示从上一次重新引导以来没有出现需要重新传输的情况。如果这个数字比较大,就应该考虑增加 NFS 内核线程。设置方法是将所需的线程数量传递给 rpc.nfsd,比如 rpc.nfsd 128 会启动 128 个线程。任何时候都可以进行这种设置,线程会根据需要启动或销毁。同样,这个设置应该放在启动脚本中,尤其是在系统上启用 NFS 的脚本。

关于 NFS,最后要注意一点:如果可能的话,应该避免使用 NFSv2,因为 NFSv2 的性能比 v3 和 v4 差得多。在现代的 Linux 发行版中这应该不是问题,但是可以在服务器上检查 nfsstat 的输出,了解是否有任何 NFSv2 调用。

NFSv4配置參考:

exports文件内容格式:

<输出目录> [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)]

1.输出目录:

输出目录是指NFS系统中需要共享给客户机使用的目录;

2.客户端:

客户端是指网络中可以访问这个NFS输出目录的计算机

客户端常用的指定方式

指定ip地址的主机 192.168.0.200

指定子网中的所有主机 192.168.0.0/24

指定域名的主机 a.liusuping.com

指定域中的所有主机 *.liusuping.com

所有主机 *

3.选项:

选项用来设置输出目录的访问权限、用户映射等。NFS主要有3类选项:

访问权限选项

设置输出目录只读 ro

设置输出目录读写 rw

用户映射选项

all_squash 将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);

no_all_squash 与all_squash取反(默认设置);

root_squash 将root用户及所属组都映射为匿名用户或用户组(默认设置);

no_root_squash 与rootsquash取反;

anonuid=xxx 将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);

anongid=xxx 将远程访问的所有用户组都映射为匿名用 户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);

其它选项

secure 限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);

insecure 允许客户端从大于1024的tcp/ip端口连接服务器;

sync 将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;

async 将数据先保存在内存缓冲区中,必要时才写入磁盘;

wdelay 检查是否有相关的写操作,如果有则将这些写操作 一起执行,这样可以提高效率(默认设置);

no_wdelay 若有写操作则立即执行,应与sync配合使用;

subtree 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);

no_subtree 即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

时间: 2024-10-05 06:17:50

CentOS 6.5系统下安装和配置NFS服务的相关文章

Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因

原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6),然后在windows系统下访问此虚拟机的ip地址,却访问不了. 因为前段时间有知道过iptable的限制,所以在想是不是因为iptable限制了80端口呢! 所以在网上找了下iptable的命令,并且把tcp的80端口设置成允许任何IP都可以访问: iptables -I INPUT -p TCP

017在Linux系统下安装和配置Tomcat

实例说明 介绍在Linux系统下安装可配置Tomcat 设计过程 首先要把xxx.tar.gz上传到Linux,然后开始执行以下命令 使用tar -zxvf xxx.tar.gz解压文件,屏幕将显示解压信息 使用ll显示出Tomcat文件夹xxx 使用mv xxx  /usr/tomcatX 把文件夹移动到usr目录下 使用mv xxx tomcatX修改目录文件名为tomcatX 进入tomcatX/bin目录下,startup.sh和catalina.sh这两个文件能启动tomcat ./s

在RedHat Linux系统中安装和配置snmp服务

检查系统是否安装snmp服务 # rpm -qa|grep snmp net-snmp-5.3.2.2-17.el5 net-snmp-perl-5.3.2.2-17.el5 net-snmp-devel-5.3.2.2-17.el5 net-snmp-libs-5.3.2.2-17.el5 net-snmp-utils-5.3.2.2-17.el5 net-snmp-libs-5.3.2.2-17.el5 net-snmp-devel-5.3.2.2-17.el5 SNMP服务安装后会有以上安

MySQL学习2:Windows 64位操作系统下安装和配置MySQL

一安装方式 MySQL安装文件分为两种,一种是MSI格式的,一种是ZIP格式的.下面来看看这两种方式: MSI格式的可以直接点击安装,按照它给出的安装提示进行安装,Windows操作系统下一般MySQL将会安 装在C:\Program Files\MySQL该目录中. ZIP格式是自己解压,解压缩之后其实MySQL就可以使用了,但是要进行配置.这个可以在网上随便找,给出很 多自定义安装和配置的详细步骤.推荐的链接:http://jingyan.baidu.com/article/f79b7cb3

Windows 64位操作系统下安装和配置MySQL

一安装方式 MySQL安装文件分为两种,一种是MSI格式的,一种是ZIP格式的.下面来看看这两种方式: MSI格式的可以直接点击安装,按照它给出的安装提示进行安装,Windows操作系统下一般MySQL将会安 装在C:\Program Files\MySQL该目录中. ZIP格式是自己解压,解压缩之后其实MySQL就可以使用了,但是要进行配置.这个可以在网上随便找,给出很 多自定义安装和配置的详细步骤.推荐的链接:http://jingyan.baidu.com/article/f79b7cb3

OS 系统下安装MySql 配置MySql环境变量

学习Hive需要,闲话不说 本文的内容: 下载Mysql for Mac 下载Mysql Workbench 安装 Mysql 和 Mysql Workbench 配置Mysql在OS 系统上的环境变量 进入MySql 1.下载Mysql for Mac      下载地址:http://dev.mysql.com/downloads/ 注意,下载末尾是 .dmg格式的文件,这要下错..... 2.下载Mysql Workbench   下载地址:http://dev.mysql.com/dow

centos 6.5系统下安装ibus及设置开机自启动

先说一下系统环境:centos 6.5,然后我是以root身份执行的,没有权限的用户参见sudo用法 第1步:查找并安装ibus安装包,命令如下: 找到一行: ibus-pinyin.x86_64 : The Chinese Pinyin and Bopomofo engines for IBus input platform 然后执行命令如下: [[email protected] Desktop]# yum install ibus-pinyin.x86_64 然后等待安装就可以了. 第2步

Ubuntu系统下安装并配置hive-2.1.0

一.mysql-server和mysql-client的下载 [email protected]:/usr/local#  sudo apt-get install mysql-server  mysql-client (Ubuntu版本) 我这里,root密码,为rootroot. 二.启动MySQL服务 [email protected]:/usr/local# sudo /etc/init.d/mysql start (Ubuntu版本) * Starting MySQL database

在Centos7系统环境下安装并配置Openvpn服务(附客户端使用说明及常见问题排错)

OpenVPN服务端配置 简介 OpenVPN是一个用于创建虚拟专用网络加密通道的软件包最早由James Yonan编写. OpenVPN允许参与建立VPN的单点使用公开密钥.电子证书.或者用户名密码来进行身份验证.它大量使用了OpenSSL加密库中的SSLv3/TLSv1协议函数库. 目前OpenVPN能在Solaris.Linux.OpenBSD.FreeBSD.NetBSD.Mac OS X与Windows 2000XPVista7上运行并包含了许多安全性的功能.它并不是一个基于Web的V