




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
NetApp 存储基础学习汇总 第四部分 目 录 一 NFS 管理 1 1 1 NFS 基础知识 1 1 2 NFS 启动的 RPC daemons 后台进程 4 1 3 NFS 的文件存取权限 以 linux 为例 5 1 4 NFS Server 端的设定 6 1 5 etc exports 文件讲解 9 1 6 exportfs 命令 12 1 7 主机端如何 mount 输出的资源 13 二 NETAPP 关于 NFS 的文档 15 2 1 NFS 基础知识 15 2 2 NFS 的配置 17 2 3 访问权限测试 20 2 4 NFS 的性能调整 23 一 一 NFS 管理管理 1 11 1 NFSNFS 基础知识基础知识 NFS 就是就是 Network FileSystem 的缩写 最早是由 Sun 公司所提出的 它最大的功能就是可以通 过网络 让不同的计算机 不同的操作系统 可以彼此分享档案 share files 所以 也可以简单的将它 看做是一个档案服务器 file server 这个 NFS 服务器可以让你的 PC 将网络远端的 NFS 主机分享的目 录 挂载到本地端的机器当中 在本地端的机器看起來 那个远端主机的目录就好像是自己的一个磁盘 分区 partition 使用上相当的方便 既然 NFS 是通过网络来进行资料的传输 那么 NFS 使用那个 port 来进行传输呢 答案是 不知道 因 为 NFS 用来传输的 port 是随机选择小于 1024 以下的端口来使用的 那用户端怎么知道服务器端使用 那个 port 呢 这时候就得要远程过程调用远程过程调用 Remote Procedure Call RPC 协议来辅助了 远程过程调用远程过程调用 RPC 是一种协议是一种协议 程序可使用这种协议向网络中的另一台计算机上的程序请求服务 由于使用 RPC 的程序不必了解支持通信的网络协议的情况 因此 RPC 提高了程序的互操作性 在 RPC 中 发出请求的程序是客户程序 而提供服务的程序是服务器 因为 NFS 支持的功能相当的多 而不同的功能都会使用不同的程序来启动 每启动一个功能就会启用一 些 port 来传输资料 因此 NFS 的功能所对应的 port 才没有固定住 而是采用随机取用一些未被使 用的小于 1024 的端口来作为传输之用 但如此一来又造成客户端想要连上服务器的困扰 因为客户端 必须要知道服务器端的相关端口才能够连接 这时候 RPC 最主要的功能就是指定每个 NFS 功能所对应的 port number 并且反馈给客户端 让客 户端可以连接到正确的端口上去 那 RPC 又是如何知道每个 NFS 的端口呢 这是因为服务器在启动 NFS 时会随机取用数个端口 并主动的向 RPC 注册 因此 RPC 可以知道每个端口对应的 NFS 功能 然后 RPC 又是固定使用 port 111 来监听客户端的需求并反馈客户端正确的端口 所以在服务器端启动 NFS 服务之前 RPC 对应的 portmap 服务就要启动了 否则 NFS 无法注册端口 由于 NFS 的各项功能都必須要向 RPC 来注册 如此一来 RPC 才能了解 NFS 这个服务的各项功能的 port number PID NFS 服务器所监听的 IP 等等 而客户端才能够通过 RPC 找到正确对应的端口 也就 是说 NFS 必須要有 RPC 存在时才能成功的提供服務 因此我们称 NFS 为 RPC server 的一种 事实 上 有很多这样的服务器都是向 RPC 注册的 比如 NIS Network Information Service 也是 RPC server 的一种 此外 不论是客户端还是服务器端 在要使用 NFS 时 两者都需要启动 RPC 才行 在 linux 服务器上启动 NFS 服务的过程 root rhel5 service nfs start 没有启动 portmap 服务前 NFS 启动不了 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 FAILED Starting NFS mountd Cannot register service RPC Unable to receive errno Connection refused FAILED root rhel5 service portmap start 先启动 portmap 服务后 NFS 启动正常 Starting portmap OK root rhel5 service nfs start Starting NFS services OK Starting NFS quotas OK Starting NFS daemon OK Starting NFS mountd OK root rhel5 ps ef grep rpc root 1842 1 0 Dec12 00 00 00 rpc statd root 1875 1 0 Dec12 00 00 00 rpc idmapd rpc 9280 1 0 18 53 00 00 00 portmap root 9310 1 0 18 53 00 00 00 rpc rquotad root 9319 7 0 18 53 00 00 00 rpciod 0 root 9326 1 0 18 54 00 00 00 rpc mountd root rhel5 netstat ultn Active Internet connections only servers Proto Recv Q Send Q Local Address Foreign Address State tcp 0 0 127 0 0 1 2208 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 2049 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 5801 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 5901 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 111 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 752 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 6001 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 1010 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 47093 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 21 0 0 0 0 LISTEN tcp 0 0 127 0 0 1 631 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 601 0 0 0 0 LISTEN tcp 0 0 127 0 0 1 25 0 0 0 0 LISTEN tcp 0 0 127 0 0 1 2207 0 0 0 0 LISTEN tcp 0 0 6001 LISTEN tcp 0 0 22 LISTEN udp 0 0 0 0 0 0 1024 0 0 0 0 udp 0 0 0 0 0 0 2049 0 0 0 0 udp 0 0 0 0 0 0 1212 0 0 0 0 udp 0 0 0 0 0 0 5353 0 0 0 0 udp 0 0 0 0 0 0 746 0 0 0 0 udp 0 0 0 0 0 0 749 0 0 0 0 udp 0 0 0 0 0 0 1007 0 0 0 0 udp 0 0 0 0 0 0 111 0 0 0 0 udp 0 0 0 0 0 0 631 0 0 0 0 udp 0 0 0 0 0 0 1022 0 0 0 0 udp 0 0 1025 udp 0 0 5353 root rhel5 rpcinfo p localhost program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100011 1 udp 1007 rquotad 100011 2 udp 1007 rquotad 100011 1 tcp 1010 rquotad 100011 2 tcp 1010 rquotad NFS 版本 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100021 1 udp 1212 nlockmgr 100021 3 udp 1212 nlockmgr 100021 4 udp 1212 nlockmgr 100021 1 tcp 47093 nlockmgr 100021 3 tcp 47093 nlockmgr 100021 4 tcp 47093 nlockmgr 100005 1 udp 1022 mountd 100005 1 tcp 601 mountd 100005 2 udp 1022 mountd 100005 2 tcp 601 mountd 100005 3 udp 1022 mountd 100005 3 tcp 601 mountd root rhel5 cat etc services grep 111 sunrpc 111 tcp portmapper RPC 4 0 portmapper TCP sunrpc 111 udp portmapper RPC 4 0 portmapper UDP tan netstat an 在存储上看 111 端口也是开的 Active TCP connections including servers Local Address Remote Address Swind Send Q Rwind Recv Q State 80 0 0 0 0 LISTEN 445 0 0 0 0 LISTEN 139 0 0 0 0 LISTEN 10568 0 0 0 0 LISTEN 10569 0 0 0 0 LISTEN 10567 0 0 0 0 LISTEN 10571 0 0 0 0 LISTEN 22 0 0 0 0 LISTEN 514 0 0 0 0 LISTEN 23 0 0 0 0 LISTEN 4047 0 0 0 0 LISTEN 4045 0 0 0 0 LISTEN 4046 0 0 0 0 LISTEN 2049 0 0 0 0 LISTEN 111 0 0 0 0 LISTEN Active UDP sockets including servers Local Address Remote Address Send Q Recv Q 138 0 0 137 0 0 69 0 0 161 0 0 4049 0 0 4047 0 0 4045 0 0 4046 0 0 2049 0 0 111 0 0 520 0 0 NFS 是一个分布式文件系统 它容许用户访问远程系统上的文件和目录 这些文件和目录对用户来说 好像是在本地 用户可以使用 OS 命令创建 删除 读写远程文件和目录 以及设置远程文件和目录的属 性 而这一切都是在本地完成的 NFS 使用 RPC 而不受本地机器类型 OS 和网络结构的限制 NFS 基于客户机 服务器模式 一个 NFS 服务器拥有本地磁盘上的文件 客户机通过 NFS 访问它 拥 有实际磁盘 并通过 NFS 将这些磁盘共享出来的主机叫 NFS 服务器 通过 NFS 访问文件系统的叫 NFS 客户机 服务器给客户机共享文件系统的操作叫做导出 export 客户机要访问服务器导出的文件系统之前 必须在本地先挂接 mount 这个文件系统 NFS 服务器导出的目录叫做远程资源 并通常写做 hostname pathname 格式 其中 hostname 是 NFS 服务器的主机名 pathname 是服务器上被导出目录的绝对路径 在客户机上安装远程资源的那个目录叫做 挂接点 mount point 1 21 2 NFSNFS 启动的启动的 RPCRPC daemons daemons 后台进程后台进程 NFS 服务器主要的任务是进行文件系统的分享 文件系統的共享是与权限有关的 所以 NFS 服务 器启动时至少需要两个 daemons 一个管理 client 端是否能够登入的问题 一个管理 client 端能够取 得的权限 如果你还想要管理 quota 的话 那么 NFS 还得要再载入其他的 RPC 程序 我們以比较单纯 的 NFS 服务器来说 rpc nfsd 这个 daemon 主要的功能就是在管理 Client 是否具有登入主机的权限 其中还包含这个登入者的 ID 的判別 rpc mountd 这个 daemon 主要的功能 则是在管理 NFS 的文件系统了 当 Client 端顺利的通过 rpc nfsd 而登 入服务器之后 在它可以使用 NFS 服务器提供的文件之前 还会经过文件使用权限 就是那个 rwxrwxrwx 与 owner group 那几个权限 的认证程序 它会去读 NFS 的设定文件 etc exports 来比对 Client 的权限 当通过一关之后 Client 就可以取得使用 NFS 文件的权限了 注 这也是我们用来管理 NFS 分享目录的使用权限与安全设定的地方了 rpc lockd 非必要非必要 这个后台进程可以用在管理文件的锁定 lock 用途 为何文件需要 锁定 呢 因为既然分享的 NFS 文件可以让客户端使用 那么当多个客户端同时尝试写入某个文件时 就可能对该文件造成一些问 题 这个 rpc lockd 可以用来克服这个问题 但 rpc lockd 必須要同时在客户端與与服器端都开启才可以 此外 rpc lockd 也常与 rpc statd 同时启用 rpc statd 非必要非必要 可以用来检查文件的一致性 与 rpc lockd 有关 若发生因为客户端同时使用同一文件造成文件可能 有所损坏 rpc statd 可以用来检测並尝试恢复该文件 与 rpc lockd 一样的 这个功能必須要在服务器 端与客户端都启动才会生效 1 31 3 NFSNFS 的文件存取权限的文件存取权限 以以 linuxlinux 为例为例 假如我们在 NFS client 1 上面以 dmtsai 这个使用者身份想要去访问 home data sharefile 这个来自 NFS server 所提供的文件系統时 NFS server 所提供的文件系统会让我们以什么身份去访问 是 dmtsai 还是其它什么呢 NFS 服务本身并没有进行身份登入的识别 所以说 当你在客户端以 dmtsai 的身份想要存取服务器 端的文件系統时 服务器端会以客户端的使用者 UID 与 GID 等身份来尝试读取服务器端的档案系統 这时候如果客户端与服务器端的使用者身份并不一致怎么办 见下图 当我们以 dmtsai 这个一般身份使用者要去访问来自服务器端的文件时 你要先注意到的是 文件系統 的 inode 所记录的属性为 UID GID 而非账号与组名 那一般 Linux 主机会主动的以自己的 etc passwd etc group 来查询对应的使用者和其组的名称 所以当 dmtsai 进入到该目录后 会参照 NFS client 1 的使用者与群组名称 但是由于该目录的文件主要来自 NFS server 所以可能就会出现 几个情況 NFS server NFS client 刚好有相同的账号与组 则此时使用者可以直接以 dmtsai 的身份进行服务器所提供的文件系統的存取 NFS server 上的 UID 501 这个 UID 账号对应为 vbird 若 NFS 服务器上的 etc passwd 里面 UID 501 的使用者名称为 vbird 时 则客户端的 dmtsai 可以存取 服务器端的 vbird 这个使用者的文件 只因为二者具有相同的 UID 这就造成很大的問題了 因为没有 人可以保证客户端的 UID 所对应的账号会与服务器端相同 那服务器所提供的资料不就可能会被错误 的使用者乱改 NFS server 上没有 501 这个 UID 另一个极端的情況是 在服务器端并没有 501 这个 UID 的存在 则此时 dmtsai 的身份在该目录下会被 会变成匿名者 一般 NFS 的匿名者会以 UID 65534 为其使用者 早期的 Linux distributions 这个 65534 的账号名称通常是 nobody CentOS 则取名为 nfsnobody 如果使用者身份是 root 时 有个比较特殊的使用者 那就是每个 Linux 主机都有的 UID 为 0 的 root 想一想 如果客户端可以 用 root 的身份去存取服务器端的档案系统的时候 那服务器端的资料那还有什么保护性 所以在预设的 情況下 root 的身份会被主动的变成匿名者 总之 客户端使用者能做的事情是与 UID 及其 GID 有关的 那当客户端与服务器端的 UID 及账号 的对应不一致的时候 可能就会造成文件系統使用上的困扰 这个就是 NFS 档案系統在使用上面的一 个很重要的地方 而在了解使用者账号与 UID 及文件系统的关系之后 要实际在客户端以 NFS 取用服 务器端的文件系統时 还需要具有 NFS 服务器有可写入的权限 与 etc exports 设定有关 实际的档案具有可写入 w 的权限 也就是说 1 使用者账号 亦即 UID 的相关身份 2 NFS 服务器允许有写入的权限 3 文件 确实具有 w 的权限时 你才具有该文件的可写入权限 尤其是身份 UID 确认的环节部分 最容易搞 错 也因为如此 所以 NFS 通常需要与其它身份验证的软件配合使用 1 41 4 NFSNFS ServerServer 端的设定端的设定 既然要使用 NFS 的话 就得要安裝 NFS 所需要的套件了 以 RHEL AS5 为例的话 要设定好 NFS 服务器我们必须要有两个套件才行 分别是 NFS 主程式 nfs utils RPC 主程式 portmap root rhel5 rpm qa grep nfs nfs utils 1 0 9 16 el5 nfs utils lib 1 0 8 7 2 root rhel5 rpm qa grep portmap portmap 4 0 65 2 2 1 在 NetApp 存储要启用 NFS 必须要具有 NFS 的 license 也可以通过 nfs off 来打开或者 nfs stop 关闭 NFS 服 务 此外 不论是客户端还是服务器端 在要使用 NFS 时 两者都需要启动 RPC 才行 tan license 在存储上看 license 情况 a sis not licensed cifs site DZDACHD cluster not licensed cluster remote not licensed compression not licensed disk sanitization not licensed fcp not licensed flex clone not licensed flex scale not licensed flexcache nfs not licensed gateway hitachi not licensed http not licensed iscsi site BSLRLTG multistore not licensed nearstore option not licensed nfs site BQOEAZL operations manager not licensed protection manager not licensed provisioning manager not licensed smdomino not licensed smsql not licensed snaplock not licensed snaplock enterprise not licensed snapmanager oracle not licensed snapmanager sap not licensed snapmanager sharepoint not licensed snapmanagerexchange not licensed snapmirror not licensed snapmirror sync not licensed snapmover not licensed snaprestore site DNDCBQH snapvalidator not licensed sv linux pri not licensed sv ontap pri not licensed sv ontap sec not licensed sv unix pri not licensed sv windows ofm pri not licensed sv windows pri not licensed syncmirror local not licensed v series not licensed vld not licensed tan options nfs nfs acache persistence enabled on nfs assist queue limit 40 nfs export allow provisional access on nfs export auto update on nfs export exportfs comment on delete on nfs export harvest timeout 1800 nfs export neg timeout 3600 nfs export pos timeout 36000 nfs export resolve timeout 6 nfs hide snapshot off nfs ifc xmt high 16 nfs ifc xmt low 8 nfs kerberos enable off nfs locking check domain on nfs mount rootonly on nfs mountd trace off group strict off nfs notify carryover on nfs ntacl display permissive perms off nfs per client stats enable off nfs require valid mapped uid off nfs response trace off nfs response trigger 60 nfs rpcsec ctx high 0 nfs rpcsec ctx idle 360 nfs tcp enable on nfs udp enable on nfs udp xfersize 32768 nfs v2 df 2gb lim off nfs v3 enable on nfs v4 acl enable off nfs v4 enable off nfs v4 id domain nfs v4 read delegation off nfs v4 write delegation off nfs webnfs enable off nfs webnfs rootdir XXX nfs webnfs rootdir set off NFS 的套件结构的套件结构 NFS 的设置文件只有一个 执行文件也不多 记录文件也很少 etc exports 这个文件就是 NFS 的主要设置文件了 不过 系統并沒有预设值 所以这个文件不一定存在 可能需要 使用 vi 来的建立起这个文件 usr sbin exportfs 这个是维护 NFS 分享资源的指令 我们可以利用这个指令重新分享 etc exports 文件中的目录资源 将 NFS Server 分享的目录卸载或重新分享等等 这个指令是 NFS 系统里面相当重要的一个 usr sbin showmount 这是另一个重要的 NFS 指令 exportfs 是用在 NFS Server 端 而 showmount 则主要用在 Client 端 这个 showmount 可以用来查看 NFS 分享出來的目录资源 var lib nfs tab 在 NFS 服务器的登陆档案都放置到 var lib nfs 目录里面 在该目录下有两个比较重要的登陆档案 一 个是 etab 主要记录了 NFS 所分享出來的目录的完整权限设定值 另一个 xtab 则记录曾经连接到此 NFS 主机的相关用户端资料 Lunux RHEL AS5 预设内核是支持 NFS 功能的 所以只要确认的核心版本是目前新的 2 6 x 版 并且使 用你的 distribution 所提供的核心 就不会有问题 至于 NFS 服务器的架设在很简单 只要编辑好主要设置文件 etc exports 之后 先启动 portmap 然后 再启动 nfs NFS 服务器就架设成功了 在 NetApp 存储也是内核就支持 NFS 功能 只需要检查其 license 和 options 选项即可 还需要查看 etc exports 文件 1 51 5 etc exports etc exports 文件讲解文件讲解 作为系统管理员 你想控制 NFS 客户端访问有 NFS license 的存储上的文件和目录 需要输出客户想要访 问的资源 客户机只能 mount 输出的资源 有两个办法输出资源 为了永久有效 在 etc exports 文件里面指定需要 export 的资源 然后在命令行执行 exportfs a 使其 立即生效 为了临时访问 可以使用 exportfs 命令来输出不是定义在 etc exports 里面的资源或者是在 etc exports 文件里面定义了但访问权限不一样 命令行里面的设置 重启后就失效 wangjun rdfile etc exports 这是 setup 过程中生成的文件 定义了 adminhost 可以访问根卷 tan rdfile etc exports setup 完 缺省的 etc exports 配置 Auto generated by setup Sat Dec 19 22 53 36 GMT 2009 vol vol0 sec sys ro rw 192 168 0 103 root 192 168 0 103 nosuid vol vol0 home sec sys rw root 192 168 0 103 nosuid tan rdfile etc exports Auto generated by setup Tue Dec 15 04 10 30 GMT 2009 要输出的资源目录 vol vol0 sec sys ro rw 192 168 0 79 root 192 168 0 103 nosuid 对上面一句的解释 192 168 0 79 对根卷是读写权限 192 168 0 103 有完全的权限 其它主机是只读权限 安全风格是 UNIX 传统风格 不允许客户端 setuid 或 setgid vol vol0 home sec sys rw root 192 168 0 103 nosuid vol vol1 sec sys rw root 192 168 0 79 nosuid vol vol2 sec sys rw root 192 168 0 103 nosuid vol vol3 sec sys rw root 192 168 0 103 nosuid etc exports 文件格式解释 pathname option option 条目解释 Pathname要被输出的文件或目录的路径名 anon uid name如果客户端是以 root 用户发起连接请求 则屏蔽 root 权限 设置为 uid 65534 除非授予连接上来的主机 root option anon 65534 这是缺省值 在 Netapp 这个用户是 pcuser anon 65535 这是不允许 root 访问 netapp 这个用户是 nobaby anon 0 这是客户端 root 用户具有根权限 anon 也可以用名字定义 nosuid 不允许客户端采用 setuid 或 setgid 功能 缺省状态时允许的 ro ro hostname hostname 输出的路径以 ro 方式给客户端 rw rw hostname hostname 输出的路径以 rw 方式给客户端 如果没有定义这个选项则缺省就是 rw root hostname hostname 给指定的主机根访问权限 注意没有 root 选项 而且 root 后面一般都跟一 个主机名或 ip 作为参数 sec secflavor secflavor The supported security flavors are sys for Unix tm style security based on uids and gids krb5 for Kerberos tm Version 5 authentication krb5i for Kerberos tm Version 5 integrity service krb5p for Kerberos tm Version 5 privacy service HOSTNAMES如果允许主机具有 ro 或 rw 权限 则允许它 mount NFS 服务器输出 export machine name netgroup machine IP subnet DNS domain 上面是表示主机的几种方式 这几种方式表达的格式各不相同 在 etc exports 文件中加入条目包括你想输出的每个目录的全路径 option 全路径包括 vol 比如 vol vol0 home vol vol0 home rw host1 host2 root host3 输出这个目录给 host1 host2 权限是读写 vol vol1 rw host2 只有 host2 有访问权限 其它都不行 vol vol0 home 如果没有指定主机 则所有主机都可以以 RW 权限 mount 上它 至于主机名称的设定主要有几个方式 可以使用完整的 IP 或者是网段 例如 192 168 1 10 或 192 168 1 0 24 或 192 168 1 0 255 255 255 0 都可以接受的 可以使用主机 这个主机名称要在 etc hosts 內或使用 DNS 可以被找到才行 重点是可以找到 IP 就行 如果是权限后面没有跟主机名 就是指全部主机 在创建 exports 的时候 必须遵循下面的原则 独立的输出每个 volume 如果重复指定了 volume 则分别指定 option 在 etc hosts 文件需要解析主机的 IP 地址 或者通过 DNS NIS 来解析 必须明确访问权限 除非在 export 后面没指定任何主机 则缺省是给 RW 权限 子目录和其父节点可以以不同的权限输出 最长前缀决定访问权限 vol vol1 pubs 对于所有主机是读写权限 vol vol1 pubs sales rw host2 host3 但是对于 sales 目录只有 host2 host3 有 RW 权限 访问权限测试 Netapp 只允许客户端以 root 用户 mount 上共享出来的资源 一般是一台机器有管理权限 其它机器只能是读写或者只读权限 第一个 option 前面要有 号 其它 option 之间用 分割开 Option 指定了客户以什么权限访问目录 一个目录输出的时候可以有多个 option Auto generated by setup Tue Dec 15 04 10 30 GMT 2009 vol vol0 sec sys ro root 192 168 0 103 nosuid 对于 vol vol0 192 168 0 103 有 root 权限 其它机器都是只 读权限 vol vol0 home sec sys rw root 192 168 0 103 nosuid 对于 vol vol0 home 192 168 0 103 有 root 权限 其它机器都是 读写权限 vol vol1 sec sys rw root 192 168 0 79 nosuid vol vol2 sec sys rw 192 168 0 103 nosuid 只有 192 168 0 103 可以以读写权限 mount 上 vol vol3 sec sys rw 所有机器都是 RW 权限 Root 权限 主机可以 mount 目录 修改权限和属主 创建和删除文件或者目录 权限设置测试 第一个 option 前面要有 号 其它 option 之间用 分割开 Option 指定了客户以什么权限访问目录 一个目录输出的时候可以有多个 option 测试 1 没有给一台机器 exports 任何资源 看是否可以 mount 上资源 vol vol0 sec sys rw 192 168 01 03 root 192 168 0 103 nosuid 可以看见 vol vol0 只 export 给了 103 这台机器 root linserver mount tan vol vol0 tan 在另一台机器去 mount vol vol0 可以看见不让 mount mount tan vol vol0 failed reason given by server Permission denied 另外客户端的 mount 还不一样 在 solaris10 里 mount 命令在 usr sbin mount 目录 里面说明 solaris 只能让有系统权限 的用户去 mount 而 linux 在 usr bin 里面 测试 2 RW 选项没有指定任何主机 看客户端是否 mount 上 vol vol1 sec sys rw root 192 168 0 103 nosuid 这是 etc exports 文件的写法 rw 后面没指定任何主机 root linserver mount tan vol vol1 tan1 找一台不是 103 的主机 看是可以 mount 上主机的 测试 3 不指定 rw 选项 看客户端是否 mount 上 vol vol1 sec sys rw root 192 168 0 103 nosuid 这是 etc exports 文件的写法 没有指定 rw 选项 发现依然是可以 mount 上的 总结 选项后面没有指定任何主机 网段 域等信息 则就是所有主机都具有此权限 选项后面指定了某个或某些主机 网段 域等信息 则就是只有指定的主机有此权限 RW 选项是缺省就带的 不写也存在 如果输出的资源后面没有跟任何权限选项 那么缺省就是 rw 选项并给所有 主机 如果有其它选项指定了 root 给某个主机 rw 也是隐含有的 测试 4 找一台机器是 linux 操作系统但不是 root 用户去 mount vol vol0 vol vol0 sec sys ro rw 192 168 0 103 root 192 168 0 103 nosuid test linserver mount tan vol vol0 home test wangjun mount only root can do that 这是 Netapp 的设置 只能是 root 用户可以 mount 输出的资源 测试 5 根据 etc exports 文件里面的设定 看 mount 上 vol vol1 后 用户权限是什么样 vol vol1 sec sys rw root 192 168 0 103 nosuid etc exports 文件是这么写的 1 试验以 192 168 0 210 这台机器 mount 上 vol vol1 挂接目录是 home test wangjun 这台机器的主机权限是 RW root linserver test ls l 可见目录的属性如下 total 4 drwxr xr x 3 root root 4096 Dec 15 12 49 wangjun root linserver test chown R test test home 想修改目录属主的时候 提示无权限 因为这台机器对输出的资 源没有完全控制的权限 chown changing ownership of home test wangjun server103 linux32 bin Operation not permitted chown changing ownership of home test wangjun wangjun Operation not permitted chown changing ownership of home test wangjun snapshot Read only file system chown changing ownership of home test wangjun Operation not permitted 试验发现主机权限是 RW 的情况下 chown chmod 是不行的 cat 可以 vi 也提示无权限 从这个目录向其它目录拷贝 文件是可以的 从其它目录向它拷贝文件不可以 删除其中的文件也不可以 看来主机权限是 RW 也只是可以 mount 上来 然后权限也就是只读的 2 试验以 192 168 0 103 这台机器 mount 上 vol vol1 挂接目录是 tan0 这台机器的主机权限是 root 可以 chown chmod 创建文件和目录 删除文件等 这样试验结果是在 192 168 0 103 上这台机器上主机权限是完全控制 可以针对连接到这台主机的不同用户分配不同的权限 而其它主机由于是 RW 权限 所以只能 copy 输出目录上的资源 或者查看 但不能修改 3 试验主机权限 RW 的实现 vol vol1 sec sys rw 192 168 0 210 root 192 168 0 103 192 168 0 210 nosuid 192 168 0 210 机器上 Root 用户要有读写权限 必须也要授予这台机器 root 权限 这样这台机器的 root 用户就可以修改 mount 点的权限 root linserver tan chmod 777 1 txt 这样这台机器的其它用户就可以修改这个文件了 也就是具有了读写权限 测试 6 修改了 etc exports 文件里面的设定 但没有 exportfs a 使其马上生效 那么客户端还是按以前的设定可以 mount 上资源 如果客户端正 mount 着 etc exports 文件里面让其无权限 mount 了 那么只有下次再 mount 的时候才会生效 另外如果 volume 被删除或改名了 etc exports 文件里面的条目也会自动修改 nfs 分主机权限和用户权限的 netapp 这边控制主机权限 主机端控制用户权限 1 61 6 exportfsexportfs 命令命令 exportfs aiuv I opton pathname exportfs a 输出 etc exports 文件里面的全部条目 exportfs av 显示过程 exportfs i o 相当于命令行输出资源 export fs i o ro host1 vol vol0 home exportfs u 不输出 etc exports 文件里面的条目 exports u vol vol0 sales exportfs ua 不输出 etc exports 文件里面的所有条目 tan exportfs p vol vol0 相当于在 etc exports 里面加上这个条目 vol vol0 sec sys rw 1 71 7 主机端如何 主机端如何 mountmount 输出的资源输出的资源 试验发现 linux 和 solaris 只允许 root 用户来 mount 网络资源 在 NFS 服务器设定好了之后 我们可以先测试一下 NFS 连接情况 就是利用 showmount 这个指令来查看 root linux showmount ae hostname IP 参数 a 显示目前主机与客户端的 NFS 连接分享的状态 e 显示某部主机的 etc exports 所分享的目录资料 bash 3 00 showmount e 192 168 0 170 export list for 192 168 0 170 vol vol0 home everyone vol vol0 192 168 0 103 vol vol1 everyone bash 3 00 mkdir test bash 3 00 mount tan vol vol0 home test bash 3 00 mkdir tan bash 3 00 mount tan vol vol0 tan bash 3 00 cd tan bash 3 00 ls l total 24 drwxr xr x 20 root root 8192 Dec 15 12 13 etc drwxrwxrwt 2 root root 4096 Aug 28 2008 home bash 3 00 rpcinfo p 192 168 0 170 看存储上面注册的端口信息 program vers proto port service 100011 1 udp 4049 rquotad 100024 1 tcp 4047 status 100024 1 udp 4047 status 100021 4 tcp 4045 nlockmgr 100021 3 tcp 4045 nlockmgr 100021 1 tcp 4045 nlockmgr 100021 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中考化学俗称试题及答案
- 煤层气固井工设备调试考核试卷及答案
- 酒钢网络大学试题及答案
- 聚甲醛装置操作工入职考核试卷及答案
- 煤气化备配煤工三级安全教育(公司级)考核试卷及答案
- 丙烯酰胺装置操作工数字化技能考核试卷及答案
- 农发行盘锦市盘山县2025秋招笔试行测高频题及答案
- 防锈处理工适应性考核试卷及答案
- 2025年保洁管理考试试题及答案
- 硬质合金精加工工晋升考核试卷及答案
- 烹饪之路:技艺与创新
- 【MOOC】中西文化鉴赏-郑州大学 中国大学慕课MOOC答案
- 建筑工程临水临电施工方案
- 设备操作员岗位培训
- 标识牌的制作与安装方案
- 拍毛挂网施工合同(2篇)
- 2024安全风险分级管控管理制度
- 2024年西安交通大学中国民族钢琴艺术鉴赏智慧树知到期末考试答案章节答案(自用更新版)
- 机器损坏赔偿协议书的模板
- 林下经济的开发与利用
- 2024年二婚婚前协议例文(三篇)
评论
0/150
提交评论