Linux NFS共享
来源:互联网 发布:上海数据交易中心 coo 编辑:程序博客网 时间:2024/06/06 01:14
一、Linux 磁盘挂载和mount共享
针对Linux服务器的磁盘挂载mount和共享做简单操作说明:
1、 查看已使用的磁盘情况
df -h
2、 查看所有磁盘
fdisk -l
3、 查看指定磁盘“/dev/xvde”的分区情况
fdisk -l /dev/xvde
如图可以看到,改磁盘并未分区
4、 我们现在需要将/dev/xvde磁盘挂载mount到文件系统的/opt/huiyy目录上,
首先对磁盘“/dev/xvde”分区(这里我们采用1个分区)
命令fdisk /dev/xvde回车,按如下操作进行:
输入w写入
使用fdisk –l查看刚刚分配的磁盘号
5、 格式化磁盘
命令mkfs -t ext3 /dev/xvde1
-t 指定格式化磁盘的文件系统类型为ext3,默认不指定为ext2(linux老文件系统类型)
后面跟刚刚创建的分区号“/dev/xvde1”
6、 挂载磁盘
a) 创建磁盘挂载目标文件夹
命令mkdir /opt/huiyy
b) 挂载磁盘
命令mount /dev/xvde1/opt/huiyy
c) 记录到/etc/fstab文件中(防止重启后挂载丢失)
命令vi /etc/fstab
至此磁盘挂载完成,现在我们可以向/opt/huiyy中写文件了,文件将会被写入到我们挂载的磁盘中。
7、 配置共享
共享目录“/opt/huiyy/resource”和“/opt/huiyy/log”权限“rw,sync,no_root_squash”
命令vi /etc/exports编辑内容后:wq保存退出
共享查看命令为 more/etc/exports
8、 客户端mount此目录
我们把以上配置共享目录的服务器作为服务器A,把我们现在准备mount共享目录的服务器作为服务器B
a) 登录服务器B
b) mount目录 “/opt/huiyy/log”(其中61.132.254.160为服务器A)
mount -t nfs -orw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,vers=3,timeo=600,actimeo=061.132.254.160:/opt/huiyy/log /opt/huiyy/log
/opt/huiyy/log 是挂载到本机的目录,可以自己定义。
c) 保存mount挂载配置到/etc/fstab(防止服务器重启后挂载丢失)
命令vi /etc/fstab编辑
命令cat /etc/fstab查看配置
现在服务器B和文件源服务器A上都可以对目录“/opt/huiyy/log”下创建文件、目录了。
二、mount常用命令
1、启动NFS服务器
为了使NFS服务器能正常工作,需要启动portmap和nfs两个服务,并且portmap一定要先于nfs启动。
#service portmap start
#service nfs start
RHEL4和5是portmap 和 nfs,RHEL6以后改名叫作rpcbind 和 nfs-server 了
另外RHEL 7以后对服务的操作命令建议使用:systemctl [status|stop|start|restart] [serviceName]
如:systemctl status rpcbind 、 systemctl restart nfs-server
2、查询NFS服务器状态
#service portmap status
#service nfs status
3、停止NFS服务器
要停止NFS运行时,需要先停止nfs服务再停止portmap服务,对于系统中有其他服务(如NIS)需要使用时,不需要停止portmap服务
#service nfs stop
#service portmap stop
4、重启portmap和nfs 服务
#service portmap restart
#service nfs restart
#exportfs
5、设置NFS服务器的自动启动状态
对于实际的应用系统,每次启动LINUX系统后都手工启动nfs服务器是不现实的,需要设置系统在指定的运行级别自动启动portmap和nfs服务。
#chkconfig --list portmap
#chkconfig --list nfs
设置portmap和nfs服务在系统运行级别3和5自动启动。
#chkconfig --level 35 portmap on
#chkconfig --level 35 nfs on
6、服务器端使用showmount命令查询NFS的共享状态
#showmount –e //默认查看自己共享的服务,前提是要DNS能解析自己,不然容易报错
#showmount –a IP 显示指定NFS服务器的客户端以及服务器端在客户端的挂载点
7、显示已经与客户端连接上的目录信息
#showmount -a
8、客户端使用showmount命令查询NFS的共享状态
#showmount -e NFS服务器IP
三、mount与防火墙配置
如果服务器端的防火墙有开着的话,在我们执行mount的时候将会提示错误,如下:
mount:mount to NFS server '192.168.0.10' failed: System Error: No route to host.
这个主要是因为防火墙的问题导致的防火墙上开放对应端口即可
由于nfs服务需要开启 mountd,nfs,nlockmgr,portmapper,rquotad这5个服务,需要将这5个服务的端口加到iptables里面
而nfs 和portmapper两个服务是固定端口的,nfs为2049,portmapper为111。其他的3个服务是用的随机端口,那就需要先把这3个服务的端口设置成固定的。
用命令 rpcinfo -p 查看当前这5个服务的端口,并记录下来。
其中nfs 2049、portmapper111,以及剩下3个服务的端口各记录一个,这样我们就得到了5个端口,如下:
nfs 2049
portmapper 111
mountd 976
rquotad 966
nlockmgr 33993
下面将mountd、rquotad、nlockmgr这3个端口设置为固定端口,修改/etc/service,添加以下内容:
vi/etc/services
在文件的最后一行添加:
mountd 976/tcp
mountd 976/udp
rquotad 966/tcp
rquotad 966/udp
nlockmgr 33993/tcp
nlockmgr 33993/udp
保存并退出。
然后设置nfs配置文件,配置端口使 rquotad、nlockmgr、mountd的端口固定,如下:
vi/etc/sysconfig/nfs
RQUOTAD_PORT=966
LOCKD_TCPPORT=33993
LOCKD_UDPPORT=33993
MOUNTD_PORT=976
其中 portmapper和nfs 服务端口是固定的分别是 111和2049
重启下nfs服务。 service nfs restart
在防火墙中开放这5个端口
编辑iptables配置文件
vim /etc/sysconfig/iptables
添加如下行:
-A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p tcp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p tcp --dport 976 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p tcp --dport 966 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p tcp --dport 33993 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p udp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p udp --dport 976 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p udp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p udp --dport 966 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.0.0/24 -m state --state NEW -p udp --dport 33993 -j ACCEPT
保存退出并重启iptables
service iptables restart
然后重新挂载即可。
补充资料:
ro 只读访问
rw 读写访问
sync 所有数据在请求时写入共享
async NFS在写入数据前可以相应请求
secure NFS通过1024以下的安全TCP/IP端口发送
insecure NFS通过1024以上的端口发送
wdelay 如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide 在NFS共享目录中不共享其子目录
no_hide 共享NFS目录的子目录
subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash 保留共享文件的UID和GID(默认)
root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squash root用户具有根目录的完全管理访问权限
anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID
文档参考:http://blog.csdn.net/catoop/article/details/7334901
- linux nfs文件共享
- linux nfs文件共享
- linux nfs共享机器
- Linux 文件共享 NFS
- Linux之NFS共享
- Linux NFS文件共享
- linux--nfs文件共享
- Linux NFS共享
- Linux NFS配置 远程共享
- Linux NFS 文件共享配置
- Linux 共享目录NFS设置
- linux中NFS共享配置
- linux 下共享磁盘 nfs
- linux下设置nfs共享
- linux设置nfs共享目录
- Linux设置nfs共享目录
- linux的nfs文件共享
- linux用nfs共享文件夹
- Windows动态分析技术
- [leetcode]189.Rotate Array
- corba
- Activity 的生命周期
- C++特性之区间迭代
- Linux NFS共享
- 测量中的坐标与时间系统1.1(在大地测量学中)
- C++11之lambda函数
- 大函数分成小函数集合的优缺点
- C++实现简易计算器
- 使用DBMS_LOCK防止会话阻塞
- Unity Shader-后处理:景深
- Activity 的启动模式
- photoshop CC制作gif动图