码迷,mamicode.com
首页 > 其他好文 > 详细

NFS部署流程

时间:2018-06-12 12:54:29      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:NFS部署

  • 什么是nfs?
    nfs是网络文件系统主要功能是通过网络(一般是局域网)让不同主机系统之间可以共享文件或目录
    主要存储用户上传的视屏,音频,图片这些。
    NFS网络文件系统使用于处理量级小的业务
    用于中小企业网站集群机构后端常用nfs进行数据共享
  • 说明:nfs服务只能用于在linux系统之上,如果windows系统和 linux系统共存的情况下用ftp服务、sambe服务均支持linux和windows

    • NFS网络文件的意义
      nfs是一个共享存储服务,为什么要有共享存储?
      1>实现数据信息的共享
      2>实现数据信息的一致

    • NFS的系统原理
      1>在nfs服务端创建共享目录(服务端提供被挂载的磁盘空间)
      2>通过mount网络挂载,将nfs客户端本地目录挂载到nfs服务端共享目录上
      3>nfs客户端挂载目录上创建、删除、查看数据操作,等价于在服务端进行的创建、删除、查看操作

    说明:mount -t (指定挂载的文件系统的类型) 挂在类型 源 目标
    mount -t nfs10.0.0.7:/data /mnt

    • nfs工作流程:
      1>先启动RPC服务
      2>启动nfs服务
      3>客户端请求nfs服务
      4>rpc服务返回端口到客户端
      5>客户端用地址端口请求传输数据

    • NFS的服务端部署流程
      1.检查服务器上是否已经安装了rpcbind和nfs-utils软件。
      命令:
      rpm -qa rpcbind nfs-utils
      或rpm -qa |egrep “rpcbind|nfs-utils”

    2.安装nfs和rpcbind
    yum install -y rpcbind nfs-utils

    3.编写NFS服务配置文件
    NFS服务默认的配置文件为/etc/exports,并且里面初始没有内容,是个空文件,需要用户自行配置。
    可以使用vim命令来编辑此文件,在其内添加如下内容:
    格式:
    #共享目录 允许连接的网段(参数)----中间加一个空格做分隔符
    /data/ 172.16.1.0/24(rw,sync)
    也可以使用echo或cat命令来实现:

    echo ‘/data/ 172.16.1.0/24(rw,sync)’ /etc/exports
    或
    cat > /etc/exports << EOF
    ##########config NFS server start by wang 2018-05-21##########
    /data/ 172.16.1.0/24(rw,sync)
    ##########config NFS server end by wang 2018-05-21##########
    EOF

    4.创建服务端共享目录
    服务端共享目录一定要确保存在,不存在的话务必要事先创建,否则在应用时会出错。
    命令:
    mkdir -p /data/

    5.设置服务端共享目录的属主和属组
    NFS服务默认使用的用户和用户组是nfsnobody,所以需要将本地同步目录属主和属组为相应的用户。
    命令:

    grep NFS /etc/passwd   ####----在/etc/passwd中查看NFS的用户和用户组
    chown -R nfsnobody.nfsnobody /data/

    6.启动及检查rpcbind服务
    因为NFS及其辅助程序都是基于RPC协议的(端口为111),所以首先要确保系统中运行了rpcbind服务。
    命令:
    /etc/init.d/rpcbind start
    检查端口:
    lsof -i:111
    检查rpcbind服务状态:
    /etc/init.d/rpcbind status

    7.启动及检查nfs服务
    注意,一定要确保rpcbind服务已经启动正常,再启动nfs服务。
    命令:
    /etc/init.d/nfs start
    检查nfs服务状态:
    /etc/init.d/nfs status
    查看nfs服务向rpc服务注册的端口信息的命令:

    rpcinfo -p localhost
    或rpcinfo -p 127.0.0.1

    8.重启nfs服务
    如果修改了nfs的配置文件/etc/exports的话,需要重启服务才能使修改生效。
    为了提供比较友好的用户体验,建议使用nfs服务平滑重启的参数reload,而不是直接使用restart参数。
    命令:
    /etc/init.d/nfs reload===== exportfs -r

    9.检查NFS服务端共享目录信息
    可以使用showmount命令检查NFS服务端共享目录的信息。
    命令:

    showmount -e localhost
    或showmount -e 127.0.0.1
    或showmount -e 172.16.1.31

    10.服务端设置开机自启动rpcbind和nfs
    想要让rpcbind和nfs服务开机自启动,可以使用chkconfig命令来实现。
    命令:

    chkconfig rpcbind on
    chkconfig nfs on

    检查:

    chkconfig --list | egrep -i “rpcbind|nfs”

    11.服务端查看NFS默认自带的参数
    配置并启动好NFS服务后,通过cat /var/lib/nfs/etab命令可以看到NFS配置的参数及默认自带的参数。
    命令:
    cat /var/lib/nfs/etab

    • NFS客户端部署流程
      NFS所有客户端需要做的准备工作都是一样的。客户端需要安装rpcbind和nfs-utils,但只需要启动rpcbind即可,不需要启动nfs。

    1.服务器环境检查
    无论做什么操作,都应该养成一个好的习惯,那就是先进行检查,再上手操作。
    所以第一步应该先检查服务器上是否已经安装了rpcbind和nfs-utils软件。

    命令:

    rpm -qa rpcbind nfs-utils
    或
    rpm -qa |egrep “rpcbind|nfs-utils”

    2.安装NFS和rpcbind
    命令:
    yum install -y rpcbind nfs-utils

    3.启动及检查rpcbind服务
    因为NFS及其辅助程序都是基于RPC协议的(端口为111),所以首先要确保系统中运行了rpcbind服务。

    命令:
    /etc/init.d/rpcbind start
    检查端口:
    lsof -i:111
    检查rpcbind服务状态:
    /etc/init.d/rpcbind status

    4.客户端设置开机自启动rpcbind
    想要让rpcbind服务开机自启动,可以使用chkconfig命令来实现。

    命令:
    chkconfig rpcbind on
    检查:
    chkconfig --list | egrep -i rpcbind

    5.创建客户端本地挂载目录
    想要挂载NFS服务端的共享目录,在客户端必须要有一个用于挂载的目录。

    创建一个目录的命令:
    mkdir -p /nfs_dir

    6.客户端挂载NFS服务端共享目录
    以上步骤全部操作完毕后,就可以在客户端挂载NFS服务端的共享目录了。

    挂载命令:
    mount -t nfs 172.16.1.31:/data/ /nfs_dir/

    可以使用df或mount命令结合grep来检查是否挂载成功。
    命令:

    df -h | grep ‘172.16.1.31‘
    或mount | grep ‘172.16.1.31‘

    7.客户端设置开机自动挂载NFS服务端的共享目录
    如果需要让客户端开机自动挂载NFS服务端的共享目录,有两种方法。

    方法一:将挂载命令放在/etc/rc.local文件里。
    缺点:可能会出现偶尔开机挂载不上的情况,工作中如果使用这种方法,除了开启自启动的配置以外,还有对是否挂载成功做监控。
    配置/etc/rc.local文件的命令:

    echo ‘# mount NFS server by wang 2018-05-21 #’ >> /etc/rc.local
    echo ‘mount -t nfs 172.16.1.31:/data/ /video/’ >> /etc/rc.local

    方法二:将挂载信息放在/etc/fstab文件里。
    这种方法有一个需要特殊注意的地方:fstab会优于网络被linux系统加载。
    网络没启动时执行fstab里配置的远程挂载会导致连接不上NFS服务端,无法实现开机正常挂载NFS远程共享目录。
    但是,这个问题是可以被解决的,解决方法就是,在客户端启动netfs服务,并且让这个服务开机自启动。
    即:/etc/init.d/netfs start;chkconfig netfs on
    配置/etc/fstab文件的命令:
    echo ’172.16.1.31:/data/ /nfs_dir nfs default 0 0’ &gt;&gt; /etc/fstab

    8.客户端查看mount挂载NFS的参数
    NFS客户端挂载好服务端的共享目录后,通过grep ‘172.16.1.31‘ /proc/mounts命令可以看到mount的详细参数。
    命令:
    grep ‘172.16.11‘ /proc/mounts

    NFS部署流程

    标签:NFS部署

    原文地址:http://blog.51cto.com/13729984/2128385

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!