Redhat设置NFS挂载的简单步骤 | 张戈博客
- 时间:
- 浏览:3
初识nfs还是在测试lvs负载均衡的前一天,为了保证代码的一致性,将一台Realserver作为nfs服务器,而这些Realserver均以nfs将代码挂载过来。从前就保证了代码的一致性,但也是由很大隐患的,一旦那台Realserver宕机,那就全军覆找不到…好了,废话太少说,进入nfs挂载简单步骤。
一、安装nfs
一般redhat是默认安装了nfs服务的,可能性非默认安装且收回勾选nfs一句话,并能 挂载iso或下载安装包手动安装,就哪几块rpm包,就太少说了。
二、配置/etc/exports
nfs允许挂载的目录及权限需在文件/etc/exports中进行定义。相似,亲戚亲戚我们我们我们要将代码所在目录/www/code共享出来,这么 亲戚亲戚我们我们我们并能 编辑/etc/exports文件,追加一行:
/www/code *(rw,sync,no_root_squash)
其中:
- /www/code是要共享的目录;
- * 代表允许所有的网络段访问(仅测试中使用,实际使用应该做严格的IP限制);
- rw开启共享目录的可读写权限;
- sync是资料同步写入内存和硬盘;
- no_root_squash是客户端分享目录使用者的权限,可能性客户端使用root,那对于该共享目录而言,客户端全是root权限;
这些更多参数说明:
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_squas root用户具有根目录的删剪管理访问权限 anonuid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的UID anongid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的GID
三、启动nfs服务
在启动nfs前一天并能 先启动portmap服务,之前 如下报错:
[[email protected] ~]# service nfs start Starting NFS services: [ OK ] Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno = Connection refused rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp). [FAILED] Starting NFS daemon:
正确土方式先启动portmap再启动nfs,如下:
service portmap service nfs start
或
/etc/init.d/portmap start /etc/init.d/nfs start
四、在客户端主机上挂载共享目录
1、挂载前一天同样并能 先启动portmap服务(同上);
2、在客户端使用showmount -e 查看nfs主机共享状态:
[[email protected] ~]# showmount -e 192.168.1.1000 Export list for 192.168.1.1000: /www/code *
3、在客户端建立code文件夹(名称需相同,路径并能不同),并使用mount挂载命令:
mount -t nfs 192.168.1.1000:/www/code /www/code
注意事项:千万并不学博主,测试时误使用了 mount -t nfs 192.168.1.1000:/www/code /www/,因为分析从前/www目录内容删剪被卸下,就算重新mount -o loop 也是很麻烦的!这些这些强烈建议路径保持一致!
4、若无报错,则可使用df -h 查都看挂载状态:
[[email protected] ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda2 31G 3.7G 25G 13% / /dev/sda5 40G 9.5G 29G 26% /www /dev/sda1 190M 12M 169M 7% /boot tmpfs 2.0G 0 2.0G 0% /dev/shm 192.168.1.1000:/www/code 237G 131G 94G 59% /www/code
5、若是并能 长期使用,则并能设置开机自动挂载,将相关服务设置为自启动,并将挂载命令也加入开机启动即可(略)
五、在客户端卸载已挂载的目录
1、常规卸载命令:
umount /www/code
2、有时可能性nfs主机或网络故障,会老出 常规卸载提示device is busy的提示,此时强制卸载命令如下:
umount -f /www/code
或
umount -l /www/code
3、上述卸载命令均无法生效时,请继续往下看:
以下摘自网络:
fuser通常被用在诊断系统的“resource busy”大问题,通常是在你希望umount指定的挂载点得前一天遇到。 可能性你希望kill所有正在使用某一指定的file, file system or sockets的系统应用应用程序的前一天,你并能使用-k 选项。
格式为: $ fuser -m -v (nfs挂载点) 回车执行后得到的结果依次是:用户 系统应用应用程序号 权限 命令
此命令并能查都看访问此设备的所有系统应用应用程序,停止系统应用应用程序后umount.
可能性打上去参数 -k则并能一次性将所有当前访问nfs共享盘阵的系统应用应用程序停止 并并能加-i 打开交互显示,以便用户确认
可能性用fuser命令:
#fuser -v -m 挂载点
即可查处 用户 PID等,KILL掉该系统应用应用程序后再umount.
可能性
#umount -l 挂载点
选项 –l 并全是马上umount,可是我 在该目录空闲后再umount.还并能先用命令 ps aux 来查看占用设备的系统应用应用程序PID,之前 用命令kill来杀死占用设备的系统应用应用程序,从前就umount的NFS服务安全非常放心了.
好了,以上可是我 redhat下的简单设置,也是博主当时人用的步骤,适合初次使用nfs的筒子参考,希望对你有所帮助!