zoukankan      html  css  js  c++  java
  • 两台linux服务器之间实现挂载

    https://blog.csdn.net/lpp_dd/article/details/78743862

    两台linux服务器之间实现挂载: 
    服务端: 
    1、首先需要在主机上设置允许挂载的目录 
    (1)修改 /etc/exports,增加共享目录 
    这里主机是指服务端(要共享的目录) 

    /srv/www/app/wtcms/webroot/upload 10.10.10.*(ro,sync,no_root_squash) 

    /home/abcd/share *(insecure,rw,async,no_root_squash)

    这里的rw表示 读写权限 * 表示将当前的目录共享给任何ip上

    /srv/www/app/wtcms/webroot/main 10.10.10.*(ro,sync,no_root_squash) 
    其中 /srv/www/app/wtcms/webroot/upload  /srv/www/app/wtcms/webroot/main是指要共享的目录  10.10.10.* 客户端的ip(允许访问的ip) 
    3、关闭服务端的防火墙 
    4、启动服务:执行 
    service nfs restart 


    客户端: 
    挂载  执行命令: 
    1、启动服务: 
    service nfs restart 
    service portmap restart 
    2、 mount 172.16.203.246:/srv/www/app/wtcms/webroot/main /srv/ww 
    w/app/wtweb/webroot/main -nolock -t nfs其中172.16.203.246 是服务端的ip    
    /srv/www/app/wtcms/webroot/main  服务端共享的目录 
    /srv/www/app/wtweb/webroot/main  客户端目录(一定要有此目录) 

    3、取消挂载: 

    umount  /srv/www/app/wtweb/webroot/main   客户端目录(一定要有此目录)

    最近由于项目原因需要和其他两家公司对接,需要取对方服务器中的图像数据,原本约定是三方都通过http协议来进行通讯,奈何对接方不配合,说文件就在他们服务器放着,怎么取他们不管。所以采取将对方服务器磁盘挂载到本地的方法来获取。

    NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。本文的两个linux环境分别为CentOSUbuntu,其他版本类似。将Ubuntu下的/home/dhcc/nfs挂载到CentOS下/home/shao/nfs。
     
    Ubuntu:
    1.安装配置NFS服务器
    sudo apt-get install nfs-kernel-server nfs-common
    2.配置参数
    vim /etc/exports 
    文件最后加入一行,注意不要加到注释
    /home/dhcc/nfs *(rw,sync,no_root_squash)      #该目录为nfs服务根目录,*表示允许所有的网段访问,也可以使用具体的IP,参数详解在最后
    3.建立nfs目录(如果配置了已存在的目标可跳过此步)
    sudo mkdir /home/dhcc/nfs
    4.查看配置是否生效
    exportfs -r  #更新配置
    showmount -e
    如果生效会显示
    Export list for Ubuntu:
    home/dhcc/nfs
    5.重启nfs服务
    /etc/init.d/nfs-kernel-server restart 
     
    CentOS:
    1.创建挂载目录(如果已存在请跳过)
    mkdir /home/shao/nfs
    2.安装nfs-utils
    yum install nfs-utils
    2.mount挂载
    mount -t nfs 10.18.105.116:/home/dhcc/nfs /home/shao/nfs      #Ubuntu的ip为10.18.105.116
    3.开机自动挂载
    vim /etc/rc.local 
    添加一行
    sudo mount -t nfs 10.18.105.116:/home/dhcc/nfs /home/shao/nfs
     
    如果出现mount.nfs:access denied by server while mounting问题,可通过以下几种途径尝试解决:
    1.修改需挂载的nfs目录权限
    chmod 755 /home/dhcc/nfs
    2.如果端口号大于1024,则需要将 insecure 选项加入到配置文件(/etc/exports):
    vim /etc/exports 
    文件最后加入一行
    /home/dhcc/nfs *(insecure,rw,sync,no_root_squash)  
    3.修改/etc/sysconfig/nfs文件
    # Turn off v2 and v3 protocol support 
    #  RPCNFSDARGS="-N 2 -N 3" 
    # Turn off v4 protocol support 
    #RPCNFSDARGS="-N 4"    /*把这句话的#号去掉*/
     NFS分为三个版本,即NFS-2 NFS-3 NFS-4,该配置文件默认关闭了这三个的NFS版本,我们只需要打开NFS-4即可。
     
     
    附录:NFS常用参数如下:
    ro 只读访问
    rw 读写访问sync 所有数据在请求时写入共享
    async nfs在写入数据前可以响应请求
    secure nfs通过1024以下的安全TCP/IP端口发送
    insecure nfs通过1024以上的端口发送
    wdelay 如果多个用户要写入nfs目录,则归组写入(默认)
    no_wdelay 如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置。
    hide 在nfs共享目录中不共享其子目录
    no_hide 共享nfs目录的子目录
    subtree_check 如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)
    no_subtree_check 和上面相对,不检查父目录权限
    all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
    no_all_squash 保留共享文件的UID和GID(默认)
    root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
    no_root_squas root用户具有根目录的完全管理访问权限
    anonuid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的UID
    anongid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的GID

  • 相关阅读:
    HashMap
    Linux安装JDK步骤
    CentOS修改Tomcat端口号
    centos 如何关闭防火墙?
    redhat linux/CentOS 6/7 如何关闭防火墙?
    CentOS6.7 常用操作命令
    java 表现层:jsp、freemarker、velocity
    存储的瓶颈(1)
    Monkey测试:启动adb shell失败
    HTTP学习记录:四、头信息(请求和响应)
  • 原文地址:https://www.cnblogs.com/yelongsan/p/9705676.html
Copyright © 2011-2022 走看看