zoukankan      html  css  js  c++  java
  • DNS

    NFS系统应用的优缺点说明
    NFS服务可以让不同的客户端挂载使用同一个共享目录,也就是将其作为共享存储使用,这样可以保证不同节点客户端数据的一致性,
    在集群架构环境中经常会用到。如果是windows和Linux混合环境的集群系统,可以用samba来实现。

    优点:
    简单,容易上手,容易掌握
    NFS 文件系统内数据是在文件系统之上的,即数据是能看得见的。
    部署快速,维护简单方便,且可控,满足需求的就是最好的。
    可靠,从软件层面上看,数据可靠性高,经久耐用。数据是在文件系统之上的。
    服务非常稳定

    最重要的缺点是:不能扩容和单点问题
    缺点:
    读写性能问题
    存在单点故障,如果NFS Server荡机了,所有客户端都不能访问共享目录。这个需要负载均衡及高可用来弥补
    在大数据高并发的场合,NFS效率,性能有限(2千万/日以下PV(page view)的网站不是瓶颈,除非网站架构设计太差。)
    客户端认证是基于IP和主机名的,权限要根据ID识别,安全性一般(用于内网则问题不大)。
    NFS数据是明文的,NFS本身不对数据完整性做验证。
    多台客户机器挂载一个NFS服务器时,连接管理维护麻烦(耦合度高)。尤其NFS服务端出问题后,所有NFS客户端都处于挂掉状态
    (测试环境可使用autofs自动挂载解决,正式环境可修复NFS服务或强制卸载)
    涉及了同步(实时等待)和异步(解耦)的概念,NFS服务端和客户端相对来说就是耦合度有些高。网站程序也是一样,尽量不要耦合度太高
    ,系统及程序架构师的重要职责就是为程序及架构解耦,让网站的扩展性变得更好。


    yum -y install nfs-utils rpcbind 安装yum包,这是需要的包
    rpm -qf /usr/sbin/rpcinfo #查询某个命令属于已经安装的哪个rpm包
    service iptables start 打开防火墙
    stop 关闭防火墙
    不关防火墙成功不了

    服务端配置过程:
    启动rpcbind
    /etc/init.d/rpcbind status #检查rpcbind服务状态
    rpcbind 已停

    /etc/init.d/rpcbind start #启动rpcbind服务
    正在启动 rpcbind:

    rpcinfo -p localhost #查看NFS服务向rpc服务注册的端口信息,因为NFS还没有启动,因此,没有太多注册的端口影射信息。

    /etc/init.d/nfs start #启动nfs服务
    如果不启动rpcbind服务直接启动nfs服务的会启动时失败

    ps -ef | egrep "rpc|nfs" 可以通过执行如下命令查看启动NFS后,系统中运行的NFS相关进程

    NFS服务的主要任务是共享文件系统数据,而文件系统数据的共享离不开权限问题。所以NFS服务器启动时最少需要两个不同的进程,
    一个是管理NFS客户端是否能够登入的rpc.nfsd主进程,另一个用于管理NFS客户端是否能够取得对应权限的rpc.mountd进程。如果还需要管理磁盘配额,
    则NFS还要再加载rpc.rquotad进程。

    NFS服务的默认配置文件路径为:/etc/exports,并且默认是空的。
    NFS默认配置文件/etc/exports其实是存在的,但是没有内容,需要用户自行配置

    vim /etc/exports文件位置格式为:
    NFS共享的目录 NFS客户端地址1(参1,参2...)客户端地址2(参1,参2...)
    NFS共享的目录 NFS客户端地址(参1,参2...)
    [root@nfs01 ~]# cat /etc/exports
    /data 172.16.1.0/24(rw,sync)
    命令说明:
    /data :nfs的共享目录路径
    172.16.1.0/24:允许挂载我的共享目录的IP地址段
    (rw):可读可写

    修改配置文件以后,必须重启nfs服务
    /etc/init.d/nfs reload #启动nfs服务
    showmount -e #查看生效的nfs配置文件规则 后面需要加IP不然容易卡顿

    给共享目录更改属主属组为nfsnobady

    grep nfs /etc/passwd #在这个文件里看有没有nfs
    nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

    chown -R nfsnobody.nfsnobody /data #更改他的属主和属组

    ll -d /data #查看data的属主和属组
    drwxr-xr-x. 2 nfsnobody nfsnobody 4096 3月 9 09:43 /data

    特别提示:
    如果不授权属主属组,那么共享目录挂载以后将不遵循配置文件exports的设定好的读写规则。虽然也能正常挂载,但是会导致写入文件时提示没有权限。

    进行本地挂载
    mount 你的IP地址:/data /mnt 两个目录之间可以共享

    chkconfig 查看开机启动的文件
    不论是服务端和客户端都需要创建共享目录 例如:data

    客户端配置过程:

    客户端必须安装nfs-utils软件 yum -y install nfs-utils

    启动network
    service network start

    /etc/init.d/nfs start #启动nfs服务

    mount 服务端IP地址:/data /mnt


    权限下降 在配置文件里用 vim /etc/exports
    不降它的权限 容易无法写入

    root_squash 如果访问目录的是root,则它的权限将被压缩成匿名用户。
    all_squash 不管访问共享目录的用户身份如何,它的权限都被压缩成匿名用户。

  • 相关阅读:
    晶振故障原因
    国外被疯赞的一篇神文:你该增加人生技能了(转)
    Python学习笔记-Day27-正则表达式
    Python学习笔记-Day25-模块(hashlib、configpaser,logging)
    Python学习笔记-Day24-collections模块
    Python学习笔记-Day23-模块(时间、随机数、sys、os)
    Python学习笔记-Day22-内置方法及序列化模块
    Python学习笔记-Day21-反射、__str__、__repr__
    @classmethod 与 @staticmethod
    @property(setter、deleter)将类中的方法伪装成属性
  • 原文地址:https://www.cnblogs.com/lv3322/p/9959648.html
Copyright © 2011-2022 走看看