zoukankan      html  css  js  c++  java
  • 一台linux服务器挂载另外一台linux服务器文件系统

    目标:在服务器A上访问服务器B上指定的文件系统

    服务器B配置步骤:

    1、编辑/etc/exports 

    格式:共享目录     指定共享对象(共享参数)

    例: /data/nfs   192.168.1.240(rw,sync)

    将 /data/nfs 目录 共享给192.168.1.240 ,客户端权限rw

    其中共享对象可以用通配符,比如 * 代表所有地址。

    配置参数:

    rw: 读写

    ro :只读

    sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;

    async:是大数据时使用,是先写到缓存区,必要时再写到磁盘里。

    all_squash:所有访问用户都映射为匿名用户或用户组;
    no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组;

    root_squash(默认):将来访的root用户映射为匿名用户或用户组;
    no_root_squash:来访的root用户保持root帐号权限;
     
    wdelay(默认):检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率;
    no_wdelay:若有写操作则立即执行,应与sync配合使用;
     
    subtree_check :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限;
    no_subtree_check(默认):即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

    2、查看是否安装rpcbind 和 nfs

    rpm -qa |grep nfs

    rpm -qa |grep rpcbind

    Linux安装配置NFS方法

     3、使用yum -y install nfs-utils rpcbind命令进行安装 nfs 和 rpcbind

     Linux安装配置NFS方法

     4、关闭防火墙

     5、启动服务,一定要先启动rpc再启动nfs

    nfs需要向rpc注册,rpc一旦重启,所以注册的文件都丢失,其他向注册的服务都需要重启

    启动rpc服务:

    systemctl start rpcbind.service      

    启动nfs服务: 

    systemctl start nfs.service

    Linux安装配置NFS方法

    查询nfs挂载,showmount  -e  192.168.1.240 后面可以接ip来查看。

    [root@localhost data]# showmount -e
    Export list for localhost:
    /data/nfs 192.168.1.240

    NFS服务开启后,查看共享目录参数

    [root@localhost data]# cat /var/lib/nfs/etab
    /data/nfs   192.168.1.240(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)

    让nfs服务开机启动

    [root@localhost ~]# chkconfig rpcbind on
    [root@localhost ~]# chkconfig nfs on
     
    [root@localhost ~]# chkconfig --list rpcbind
    rpcbind 0:off   1:off   2:on    3:on    4:on    5:on    6:off
    [root@localhost ~]# chkconfig --list nfs
    nfs 0:off   1:off   2:on    3:on    4:on    5:on    6:off

     服务器A配置步骤:

    1、查看是否安装rpcbind 和 nfs

    2、使用yum -y install nfs-utils rpcbind命令进行安装 nfs 和 rpcbind

    3、启动rpcbind,nfs可以不启动

    4、客户端挂载nfs共享目录

    mount -t nfs4 192.168.1.240:/data/nfs  /nfs    #挂载服务器B的/data/nfs 目录到服务器A的 /nfs

    5、查看磁盘

    1
    2
    3
    4
    5
    6
    7
    8
    [root@centos68 ~]# df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda2             9.5G  2.0G  7.1G  22% /
    tmpfs                 491M     0  491M   0% /dev/shm
    /dev/sda1             190M   33M  147M  19% /boot
    /dev/sdb1             4.8G   11M  4.6G   1% /data
    192.168.1.240:/data/nfs
                          2.9G  2.7G  126M  96% /nfs  # nfs挂载信息

     注:一般不将nfs挂载信息写入fstab,因为nfs依赖于rpc服务,rpc服务启动晚于fstab时会出错。可以将挂载信息写入 /etc/rc.local

     vim  /etc/rc.local

    mount -t nfs 192.168.1.240:/data/nfs  /data/nfs
     
    参考以上配置,在服务器A中可以查看到服务器B目录;
    若 docker 容器挂载服务器A目录且docker 容器在mount之前先启动,这时候进入容器内部无法在挂载的目录下查看到文件;重启容器在进入可以查看到远程目录文件
    若在docker 容器内部执行mount -t nfs4 192.168.1.240:/data/nfs /data/nfs ,这时候是可以在容器内部可以查看到远程目录文件;在宿主机上无法看到远程目录文件。
    卸载挂载目录命令:umount /data/nfs
     
    注:还需注意,此容器需添加--privileged参数表示容器的用户有SYS_ADMIN权限,此时才可顺利的执行mount命令。
     
     
  • 相关阅读:
    PowerDNS简单教程(4):优化篇
    PowerDNS简单教程(3):管理篇
    PowerDNS简单教程(2):功能篇
    PowerDNS简单教程(1):安装篇
    【转】Linux vmstat命令实战详解
    折腾apt源的时候发生的错误
    Ubuntu14.04安装PowerDNS踩坑实录
    Ubuntu14.04.3,apt-get出现dpkg: error processing package xxx (--configure)和cups-daemon错误的解决方案
    Python解析配置文件模块:ConfigPhaser
    SSH异常处理(一)
  • 原文地址:https://www.cnblogs.com/burro/p/10444087.html
Copyright © 2011-2022 走看看