CentOS5.x、CentOS6.x 使用NFS及mount实现两台服务器间目录共享

一、环境介绍:

服务器:centos 192.168.1.225

客户端:centos 192.168.1.226

二、安装:

NFS的安装配置:
centos 5 :

yum -y install nfs-utils portmap

centos 6(在CentOS 6.3当中,portmap服务由rpcbind负责) :

yum -y install nfs-utils rpcbind

三、服务器端配置:

1、创建共享目录:

[[email protected] /]# mkdir /usr/local/test

2、NFS文件配置:

[[email protected] /]# vi /etc/exports
#增加一行:
/usr/local/test/ 192.168.1.226(rw,no_root_squash,no_all_squash,sync)

:x保存退出;

使配置生效:

[[email protected] /]# exportfs -r

注:配置文件说明:

/usr/local/test/ 为共享的目录,使用绝对路径。
192.168.1.226(rw,no_root_squash,no_all_squash,sync) 为客户端的地址及权限,地址可以是一个网段,一个IP地址或者是一个域名,域名支持通配符,如:*.youxia.com,地址与权限中间没有空格,权限说明:
rw:read-write,可读写;
ro:read-only,只读;
sync:文件同时写入硬盘和内存;
async:文件暂存于内存,而不是直接写入内存;
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;
anongid:匿名用户的GID值。

3、启动:

centos6:

[[email protected] /]# service rpcbind start
Starting rpcbind:                                          [  OK  ]
[[email protected] /]# service nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Stopping RPC idmapd:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]

centos 5

[[email protected] /]# service portmap start
[[email protected] /]# service nfs start

四、客户端挂载:

1、创建需要挂载的目录:

[[email protected] ~]# mkdir /usr/local/test
[[email protected] ~]#

2、测试挂载:

[[email protected] ~]# showmount -e 192.168.1.225
Export list for 192.168.1.225:
/usr/local/test 192.168.1.226
[[email protected] ~]#

如果显示:rpc mount export: RPC: Unable to receive; errno = No route to host,则需要在服务端关闭防火墙(稍候会详细说)。

3、挂载:

[[email protected] ~]# mount -t nfs 192.168.1.225:/usr/local/test /usr/local/test
[[email protected] ~]# mount
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
192.168.1.225:/usr/local/test on /usr/local/test type nfs (rw,vers=4,addr=192.168.1.225,clientaddr=192.168.1.226)
[[email protected] ~]#

如果信息如上显示则挂载成功!

4、测试:

客户端生成一个文件:

[[email protected] /]# cd /usr/local/test/
[[email protected] test]# echo "hello nfs test">>test
[[email protected] test]# ll
total 4
-rw-r--r-- 1 root root 15 Apr  9 13:24 test
[[email protected] test]#

服务端检查:

[[email protected] /]# cd /usr/local/test/
[[email protected] test]# ll
total 4
-rw-r--r-- 1 root root 15 Apr  9 13:24 test
[[email protected] test]#

挂载成功!

五、解除挂载:

[[email protected] ~]# umount /usr/local/test
[[email protected] ~]# mount
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
[[email protected] ~]#

如果遇到:umount.nfs: /usr/local/test: device is busy

可能用命令:

[[email protected] /]# fuser -m -v /usr/local/test
                     用户     进程号 权限   命令
/usr/local/test/:              root       2798 ..c.. bash
                     root       2996 ..c.. su
[[email protected] /]# kill -9 2798

[[email protected] /]# kill -9 2996

[[email protected] /]# umount /usr/local/test
[[email protected] /]#

六、服务器端防火墙设置(NFS 开启防墙配置):

1、修改/etc/service,添加以下内容(端口号必须在1024以下,且未被占用)

# Local services
mountd 1011/tcp #rpc.mountd
mountd 1011/udp #rpc.mountd
rquotad 1012/tcp #rpc.rquotad
rquotad 1012/udp #rpc.rquotad

2、重起Linux NFS服务

service nfs restart

3、此时rpc相关端口已经被固定,可以为Linux NFS添加防火墙规则

#portmap
/sbin/iptables -A INPUT -s 192.168.1.0/254 -p tcp –dport 111 -j ACCEPT
/sbin/iptables -A INPUT -s 192.168.1.0/254 -p udp –dport 111 -j ACCEPT
#nfsd
/sbin/iptables -A INPUT -s 192.168.1.0/254 -p tcp –dport 2049 -j ACCEPT
/sbin/iptables -A INPUT -s 192.168.1.0/254 -p udp –dport 2049 -j ACCEPT
#mountd
/sbin/iptables -A INPUT -s 192.168.1.0/254 -p tcp –dport 1011 -j ACCEPT
/sbin/iptables -A INPUT -s 192.168.1.0/254 -p udp –dport 1011 -j ACCEPT
#rquotad
/sbin/iptables -A INPUT -s 192.168.1.0/254 -p tcp –dport 1012 -j ACCEPT
/sbin/iptables -A INPUT -s 192.168.1.0/254 -p udp –dport 1012 -j ACCEPT
#rpc.statd
/sbin/iptables -A INPUT -s 192.168.1.0/254 -p tcp –dport 32768 -j ACCEPT
/sbin/iptables -A INPUT -s 192.168.1.0/254 -p udp –dport 32768 -j ACCEPT

—TCP方法成功——————————————-
-A INPUT -m state –state NEW -m tcp -p tcp –dport 111 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 2049 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 1011 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 1012 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 32768 -j ACCEPT

客户端在挂载的时候遇到的一个问题如下,可能是网络不太稳定,NFS默认是用UDP协议,换成TCP协议即可:

mount -t nfs 192.168.1.225:/usr/local/test /usr/local/test  -o proto=tcp -o nolock

时间: 2024-10-08 08:47:30

CentOS5.x、CentOS6.x 使用NFS及mount实现两台服务器间目录共享的相关文章

NFS和mount常用参数详解 本文目录

NFS和mount常用参数详解 本文目录 NFS权限参数配置 mount挂载参数 原始驱动程序的挂载选项. 新驱动程序的挂载选项. 怎样改变已经挂载的NTFS卷的权限? 怎样自动挂载一个NTFS卷? NFS权限参数配置 ro 只读访问 rw 读写访问 sync 所有数据在请求时写入共享 async NFS在写入数据前可以相应请求 secure NFS通过1024以下的安全TCP/IP端口发送 insecure NFS通过1024以上的端口发送 wdelay 如果多个用户要写入NFS目录,则归组写

Centos6.4搭建NFS 服务器实例(四)

Centos6.4搭建NFS 服务器实例: 服务器系统 角色 IP CentOS-64-121-server1 NFS服务器端 192.168.1.121 CentOS-64-129-client NFS客户端 192.168.1.129 共享CentOS-64-121-server1中/data/bbs目录,使192.168.1.1 IP段所有主机都可以访问 配置服务端: 首先创建实验环境目录 [[email protected] ~]# mkdir /data/bbs –p [[email 

Centos6.x 部署NFS

NFS(Network File System)网络文件系统会经常用到,用于在网络上共享存储.假如有三台机器A, B, C,它们需要访问同一个目录,目录中都是图片,传统的做法是把这些图片分别放到A, B, C. 但是使用NFS只需要放到A上,然后A共享给B和C即可,B和C把A共享的目录放在本地,这个动作叫做挂载.访问的时候,B和C是通过网络的方式去访问A上的那个目录的.其主要特点就是允许一个系统和网络上的他人共享目录和文件.服务端配置 NFS下载服务包# yum install -y nfs-u

cobbler批量部署CentOS5和CentOS6

cobbler原理知识介绍 distribution:指定发行版本,pxe只能为一个发行版提供一个安装场景(使用kickstart的情况下) 这是cobbler的最核心组件 定义distribution是为指明某个发行版的内核(kernel)和ramdisk文件(initrd),从而确定是哪个版本,安装启动之后,能找到后面的仓库repository,下载后面要完成安装的各个组件 通过distribution和repository定义profile,指明系统的版本,指定安装需要的包的URL,然后,

centos6.5 搭建NFS 服务

Nfs服务 挂载命令: mount 源 目标 mount ip地址 本地地址 mount –t 192.168.1.115:/video /video 1 先开启rpc服务 2 启动nfs服务 向rpc注册 3 请求nfs服务 4 返回端口 5 连接端口请求数据 两台机器 (server 和clinet) 环境:CentOS release 6.5 (Final)  2.6.32-431.el6.x86_64  LANG=EN 服务端 安装包 yum groupinstall "NFS file

centos6.5安装NFS

首先准备两台机器:client:192.168.1.10,server:192.168.1.20都安装:yum install -u nfs-utils rpcbind编辑server的nfs配置文件: vim /etc/exports /tmp/data 192.168.1.20(rw,sync)保存后启动rpc和nfs服务systemctl start rpcbindsystemctl start nfs 客户端启动rpc服务:systemctl start rpcbind 测试服务端看能不

nfs使用mount -o传递用户名和密码参数需要修改的地方

挂在的信息一般通过  nfs_parse_mount_option.可以直接打印.会有很多信息. 1.修改的地方在super.c该文件涉及到获取超级快等操作. 修改enum{}:在里面添加 Opt_username, Opt_passwd, 2.修改另一个枚举类型,添加: Opt_username,"username=%s" Opt_passed,"passwd=%s", nfs使用mount -o传递用户名和密码参数需要修改的地方,布布扣,bubuko.com

NFS使用mount挂载无法挂载出问题后的排错思路(七)

NFS使用mount挂载无法挂载出问题后的排错思路 首先确认NFS服务端配置和服务是OK的, 在服务端使用showmount -e localhost  检查 [[email protected] ~]# showmount -e localhost Export list for localhost: /data/r_shared 192.168.221.1/24 /data/w_shared 192.168.221.1/24 2.确认NFS客户端showmount是否OK [[email p

Centos6.7下NFS的配置安装

一 NFS集群环境搭建准备 1.1        准备好NFS服务器 二 开始安装NFS 2.1 环境信息确认 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.7 (Final) [[email protected] ~]# uname -r 2.6.32-573.el6.x86_64 [[email protected] ~]# uname -m x86_64 2.2 NFS软件列表 查看系统是否安装: [[ema