• Linux下搭建 NFS


    一、NFS简介

    NFS是Network File System的缩写,即网络文件系统。一种使用于分散式文件协定,有SUN公司开发。功能是通过网络让不同的机器、不同的操作系统能够分享个人数据,让应用程序通过网络可以访问位于服务器磁盘中的数据。

    NFS在文件传送或信息传送的过过程中,依赖于RPC协议。RPC,远程过程调用(Remote Procedure Call),是使客户端能够执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,就是因为NFS使用了RPC提供的传输协议,可以说NFS就是使用PRC的一个程序。

    环境说明:
    系统 :CentOS release 6.7 (Final)
    NFS IP :10.219.24.22
    web IP :10.219.24.25
    iptables:未运行防火墙

    操作流程:
    1、软件安装,NFS只需要安装两个软件,在通常情况下是作为系统默认软件安装的
    [root@mysql01 ~]# rpm -qa|grep rpcbind*
    rpcbind-0.2.0-11.el6.x86_64
    [root@mysql01 ~]# rpm -qa|grep nfs-utils
    nfs-utils-1.2.3-64.el6.x86_64
    nfs-utils-lib-1.1.5-11.el6.x86_64

    说明:
    [root@mysql01 ~]# yum install rpcbind nfs-utils (如果没有安装就yum安装)
    rpcbind包 :centos 下面RPC主程序
    nfs-utils包 :NFS服务主程序,包括NFS的基本命令和监控程序

    2、开启RCP服务
    [root@mysql01 ~]# /etc/init.d/rpcbind start
    查看rpcbind服务端口
    [root@mysql01 ~]# netstat -antlp|grep rpcbind
    tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1462/rpcbind
    tcp 0 0 :::111 :::* LISTEN 1462/rpcbind
    [root@mysql01 ~]# rpcinfo -p localhost
    program vers proto port service
    100000 4 tcp 111 portmapper
    100000 3 tcp 111 portmapper
    100000 2 tcp 111 portmapper
    100000 4 udp 111 portmapper
    100000 3 udp 111 portmapper
    100000 2 udp 111 portmapper
    100024 1 udp 41757 status
    100024 1 tcp 42661 status

    3、开启NFS服务
    [root@mysql01 ~]# /etc/init.d/nfs start
    Starting NFS services: [ OK ]
    Starting NFS quotas: [ OK ]
    Starting NFS mountd: [ OK ]
    Starting NFS daemon: [ OK ]
    Starting RPC idmapd: [ OK ]
    [root@mysql01 ~]# rpcinfo -p localhost
    program vers proto port service
    ......
    100005 3 tcp 59454 mountd
    100003 2 tcp 2049 nfs
    100003 3 tcp 2049 nfs
    100003 4 tcp 2049 nfs
    100227 2 tcp 2049 nfs_acl
    100227 3 tcp 2049 nfs_acl
    100003 2 udp 2049 nfs
    100003 3 udp 2049 nfs
    100003 4 udp 2049 nfs
    100227 2 udp 2049 nfs_acl
    100227 3 udp 2049 nfs_acl
    ....
    100021 4 tcp 42905 nlockmgr

    说明: rpc上应该能看到好多新被注册的nfs端口

    两个服务开机自启动
    [root@mysql01 ~]# chkconfig rpcbind on
    [root@mysql01 ~]# chkconfig nfs on

    4、服务端配置共享目录(/oradata)

    4.1 配置前确认rpcbind、nfs服务进程正常

    [root@nfs01 ~]# /etc/init.d/nfs status
    [root@nfs01 ~]# /etc/init.d/rpcbind status
    [root@nfs01 ~]# ps -ef|egrep "rpc|nfs"

    4.2 创建共享目录并授权("nfsnobody")
    #nfsnobody 用户是开启rpc、nfs进程后系统自动创建的
    [root@mysql01 ~]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/sda3 35G 8.9G 25G 27% /
    tmpfs 491M 76K 491M 1% /dev/shm
    /dev/sda1 2.9G 4.5M 2.7G 1% /tmp
    /dev/sr0 3.7G 3.7G 0 100% /media/CentOS_6.7_Final
    [root@mysql01 ~]# mkdir /oradata
    [root@mysql01 ~]# chown -R nfsnobody.nfsnobody /oradata
    [root@mysql01 ~]# chmod 777 /oradata
    4.3 修改服务端配置文件(/etc/exports)
    [root@mysql01 ~]# cat /etc/exports
    #share /data by andy for XXXX at 20170812
    /oradata 10.219.24.0/8(rw,sync)
    [root@mysql01 ~]#
    4.3 查看系统加载的配置
    [root@mysql01 ~]# cat /var/lib/nfs/etab
    /oradata 10.219.24.0/8(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,no_all_squash)
    4.4 重新平滑加载服务
    [root@mysql01 ~]# showmount -e localhost

    5、客户端配置
    [root@mysql02 ~]# /etc/init.d/rpcbind status
    rpcbind (pid 1469) is running...
    [root@mysql02 ~]# /etc/init.d/rpcbind start

    挂载nfs共享目录
    [root@mysql02 ~]# mount -t nfs 10.219.24.22:/oradata /mnt
    [root@mysql02 ~]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/sda3 35G 8.7G 25G 26% /
    tmpfs 491M 76K 491M 1% /dev/shm
    /dev/sda1 2.9G 4.5M 2.7G 1% /tmp
    /dev/sr0 3.7G 3.7G 0 100% /media/CentOS_6.7_Final
    10.219.24.22:/oradata
    35G 8.9G 25G 27% /mnt
    6、开机自动挂载
    方法一:
    [root@mysql02 ~]# echo "mount -t nfs 10.219.24.22:/oradata /mnt">>/etc/rc.local

    方法二:
    开启netfs服务
    [root@mysql02 ~]# chkconfig netfs on
    [root@mysql02 ~]# vi /etc/fstab
    [root@mysql02 ~]# cat /etc/fstab
    10.219.24.22:/oradata /mnt nfs defaults 0 0

    7、检验
    -- nfs server
    [root@mysql01 ~]# touch /oradata/aa
    -- client
    [root@mysql02 ~]# cd /mnt
    [root@mysql02 mnt]# ll
    total 0
    -rw-r--r--. 1 root root 0 Aug 13 04:31 aa

  • 相关阅读:
    jquery效果,多个div,点击任何一个div,那么这个div会切换文字,变换背景颜色,再次点击其他的div ,这个div会发生刚才的变化,之前点击的div的颜色会变回来
    用js动态的改变img标签里面的src属性实现图片的循环切换
    清除浮动
    清除浮动clearfix
    转移符 个人工作中使用记录一下
    12.Django数据库操作(执行原生SQL)
    11.Django数据库操作(查)
    10.Django数据库操作(增删改)
    9.Django里的数据同步migrations命令
    8.Django模型类例子
  • 原文地址:https://www.cnblogs.com/andy6/p/7351457.html
Copyright © 2020-2023  润新知