------------------------------------------------------------------------------------------------------------------
NFS就是Network File System的缩写。最早是由Sun公司发展开发出来的,它最大的功能就是能够通过网络。让不同计算机。不同操作系统,能够共享资源文件。用户和程序能够像訪问本地文件一样訪问NFS上的文件
由于NFS支持的功能相当的多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来数据传输
NFS需要依赖RPC(Remote Procedure Call),RPC最基本的功能就是在指定每一个NFS功能所相应的端口号,而且将其反馈给client。让client能够连结到正确的端口号上去
所以要启动NFS之前,RPC就要先启动了,否则NFS会无法向RPC注冊
 
rpc.nfsd:
这个daemon基本的功能就是在管理Client能否够登入主机的权限,当中还包括这个登入者的ID的推断!
rpc.mountd
这个daemon基本的功能。则是在管理NFS的文件系统! 当Client端顺利的通过rpc.nfsd而登入主机之后,在他能够使用NFSserver提供的档案之前,还会经过文件权限(就是那个 -rwxrwxrwx 与 owner, group 那几个权限)的认证程序!他会去读NFS的配置文件/etc/exports来比对Client的权限,当通过这一关之后Client就能够取得使用NFS文件的权限了! (注:这个也是我们用来管理 NFS 分享之文件夹的权限与安全设定的地方)
rpc.lockd
这个进程能够用在管理文件的锁定 (lock) 用途。 为何文件需要『锁定』呢? 由于既然分享的NFS档案能够让client使用,那么当多个client同一时候尝试写入某个文件时, 就可能对于该文件造成一些问题啦! 这个rpc.lockd则能够用来克服这个问题。但rpc.lockd必需要同一时候在client与server端都开启才行喔! 此外。rpc.lockd也常与rpc.statd同一时候启用。
rpc.statd
能够用来检查文件的一致性。与rpc.lockd有关。若发生由于client同一时候使用同一文件造成文件可能有所损毁时。rpc.statd能够用来检測并尝试恢复该文件。 与 rpc.lockd 相同的,这个功能必需要在server端与client都启动才会生效。
rpc.rquotad
处理当用户通过nfsmount到远程server时的配额
 
NFS /etc/exports配置含义
/data1/storage *(rw,async,no_root_squash,no_subtree_check)
 
/data1/storage 是要共享的文件夹
*是同意訪问的计算机,能够是下面内容
单个机器:一个全限定域名(能够被server解析)、主机名(能够被server解 析)或IP地址。
通配符指定的主机名。使用 * 或 ?字符来指定一个字符串匹配,IP地址中不使用通配符,*代表同意全部计算机訪问共享文件夹
IP 网络:使用a.b.c.d/z,a.b.c.d是网络,z是子网掩码中的位数(如192.168.0.0/24)。 另一种能够接受的格式是 a.b.c.d/netmask。a.b.c.d是网络。netmask是子网掩码(如192.168.70.8/255.255.255.0)。
 
() 内是共享选项
rw是指client拥有读写权限,另一个ro选项。代表仅仅读
sync 同步写入到内存与硬盘中
async 异步写入。写入时会先放到内存。等硬盘有空档再写入
root_squash 客户机用root用户訪问该共享文件夹时,将root用户映射成匿名用户
no_root_squash client使用root訪问共享文件夹时 还是拥有root权限,
root_squash:假设client使用 root訪问共享文件夹,会被当作匿名用户(也就是说。权限变的非常小。比較安全)
all_squash:不管client使用什么用户訪问共享文件夹都会被当作匿名用户
subtree_check 假设共享/usr/bin之类的子文件夹时,强制NFS检查父文件夹的权限(默认)
no_subtree_check 和上面相对,不检查父文件夹权限
其他选项參考man exports
------------------------------------------------------------------------------------------------------------------
 
#安装NFS(全部节点都要安装)
yum -y install nfs-utils
 
#创建NFS存储文件夹
mkdir -p /data/storage
#改动/etc/exports
vi /etc/exports
/data/storage *(rw,async,no_root_squash,no_subtree_check)
 
#改动/etc/sysconfig/nfs
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020
 
#改动/etc/sysconfig/iptables
-A INPUT -s 192.168.32.0/24 -m state --state NEW -p udp --dport 111 -j ACCEPT
-A INPUT -s 192.168.32.0/24 -m state --state NEW -p tcp --dport 111 -j ACCEPT
-A INPUT -s 192.168.32.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT
-A INPUT -s 192.168.32.0/24 -m state --state NEW -p tcp --dport 32803 -j ACCEPT
-A INPUT -s 192.168.32.0/24 -m state --state NEW -p udp --dport 32769 -j ACCEPT
-A INPUT -s 192.168.32.0/24 -m state --state NEW -p tcp --dport 892 -j ACCEPT
-A INPUT -s 192.168.32.0/24 -m state --state NEW -p udp --dport 892 -j ACCEPT
-A INPUT -s 192.168.32.0/24 -m state --state NEW -p tcp --dport 875 -j ACCEPT
-A INPUT -s 192.168.32.0/24 -m state --state NEW -p udp --dport 875 -j ACCEPT
-A INPUT -s 192.168.32.0/24 -m state --state NEW -p tcp --dport 662 -j ACCEPT
-A INPUT -s 192.168.32.0/24 -m state --state NEW -p udp --dport 662 -j ACCEPT
 
#重新启动防火墙
service iptables restart
 
#启动NFS
service rpcbind start
service nfs start
chkconfig rpcbind on
chkconfig nfs on
 
#在KVM的主机上挂载NFS
mount -t nfs 192.168.32.170:/data/storage /mnt/storage
 
#启动虚拟机时会出现权限的问题
error: Failed to start domain centos-nfs
error: internal error process exited while connecting to monitor: 2015-07-16T21:37:17.473018Z qemu-kvm: -drive file=/mnt/storage/centos.qcow2,if=none,id=drive-virtio-disk0,format=qcow2: could not open disk image /mnt/storage/centos.qcow2: Permission denied
 
#关闭全部机器的SELinux
sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/sysconfig/selinux
setenforce 0
 
#然后又一次启动libvirt
service libvirtd restart

NFS安装和配置的更多相关文章

  1. NFS安装及配置

    NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操作系统能够彼此分享个 ...

  2. NFS 安装与配置

    NFS通常用于网络中的多台计算机实现共享存储. 由于测试环境没有购买阿里云的NFS,所以自己搭建一个NFS文件系统,实现一些比如上传图片,静态资源等同享功能. 下面的测试是在CentOS releas ...

  3. CentOS 6.9 NFS安装和配置

    1.安装依赖包 yum install nfs-utils rpcbind -y 2.开机启动 chkconfig rpcbind on chkconfig nfs on 3.创建一个共享目录和加权限 ...

  4. 【Linux】【Services】【nfs】nfs安装与配置

    1. 概念 1.1. NFS:Network File System,传统意义上,文件系统在内核中实现. 1.2. RPC:Remote Procedure Call protocol,远程过程调用, ...

  5. 【Linux 环境搭建】ubuntu下nfs安装与配置

    (1)安装 #sudo apt-get install nfs-kernel-server portmap(2)修改配置文件 修改/etc/exports,增加以下内容, /root/wksp/roo ...

  6. linux之 NFS服务器与客户端的安装与配置

    今天实验室需要搭建NAS,我负责的是NFS的安装与配置,现将整理的文档分享一下: 参考一:Linux下rpm 安装包方式安装 http://linux.chinaunix.net/techdoc/be ...

  7. Linux NFS服务器的安装与配置

    一.NFS服务简介 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操 ...

  8. (转)Linux NFS服务器的安装与配置

    转自:http://www.cnblogs.com/mchina/archive/2013/01/03/2840040.html 由于在6系列里面,portmap已经改名了 ,6系列需要使用 serv ...

  9. 【转载】Linux NFS服务器的安装与配置

    一.NFS服务简介 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操 ...

随机推荐

  1. PowerShell攻防进阶篇:nishang工具用法详解

    PowerShell攻防进阶篇:nishang工具用法详解 导语:nishang,PowerShell下并肩Empire,Powersploit的神器. 开始之前,先放出个下载地址! 下载地址:htt ...

  2. DNS tunnel的原理及实战

    DNS tunnel的原理及实战 摘自:http://netsec.ccert.edu.cn/zhengming/2011/11/01/%E8%BD%AC%E8%BD%BD%EF%BC%9Adns-t ...

  3. python程序中用类变量代替global 定义全局变量

    在python编程中,一般使用global 关键字来定义全局变量,但是发现 global 关键字在涉及多个文件时,好像存在问题. 比如,单个文件下用global定义使用全局变量的情况 ,看下面的代码 ...

  4. android 学习记录-----------android 活动 意图 碎片

    将此篇博客作为记录android项目开发过程中的学习记录

  5. 织梦忘记密码DedeCMS密码重设工具radminpass找回密码

    本工具是用于新人忘记管理员密码重设所制作,只需要将radminpass.php文件拷贝到根目录,运行“http://yousite/radminpass.php(yousite为网站域名)”,按照操作 ...

  6. AVD的Hardware选项

    最近学习开发游戏,需要GLES2.0使用,使用Android虚拟机调试一直报错闪退.百度说Android 4.0及以后的版本[使用API15及以上]),已经支持GLES2.0,需要在HardWare选 ...

  7. tomcat注册windows服务

    1,首先查看当前window服务中是否已经存在同名服务.查看方法: 在服务列表里查看有没有Apache 或tomcat相关的服务, 如果有的话,请在上面点鼠标右键--->属性,记下此服务的名称, ...

  8. gulp创建完整的项目流程

    所有的环境都是在 node 安装好的基础上执行的. node -v 查看node的安装情况.npm -v查看npm 的安装情况. gulp自动化构建常用参数 1.src 读取文件或者文件夹 2.des ...

  9. idea中git的运用

    创建本地 Git 仓库 安装 Git 插件 将代码添加到 Git 的本地仓库 在 GitHub 中创建仓库

  10. MongoDB 学习笔记(一):安装及简单shell操作

    一.说明 1.该系列MongoDB学习笔记的学习环境采用的MongoDB版本为mongodb-win32-i386-2.4.6,操作系统为win7. 二.安装 1.新建两个目录,分别是D:\Insta ...