Linux-设置共享目录

目前在Linux中共享目录的方式,常见的有三种:nfs、GlusterFS、samba。

nfs:  即网络文件系统(Network File System)分布式文件系统协议,我们可以将不同的VPS主机的目录实现远程挂载,这样拷贝复制文件就方便多了。NFS在文件传送或信息传送过程中依赖于RPC协议。

GlusterFS: 是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS一般用作企业级的文件存储方案,但是我们也可以利用GlusterFS在不同的VPS主机之间共享存储。GlusterFS借助TCP/IP或InfiniBandRDMA网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。它是一个完全的无中心的系统。GlusterFS借助TCP/IP或InfiniBandRDMA网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。

samba: 最初发展的主要目就是要用来沟通Windows 与 Unix Like 这两个不同的操作平台之间的共享,Samba配置简单,操作直观。NFS远程挂载、GlusterFS共享存储和samba共享服务器还可以用于文件协作、服务器镜像等,总之可扩展性非常强。跨平台网络文件共享协议:SMB/CIFS。

-------------------------------------------------------------------------------------------------------------------------------------------------------------

nfs文件挂载:

1、安装nfs(以centos7为例)

        yum install rpcbind.x86_64

        yum install nfs-utils.x86_64

        如果找不到相应的安装包,使用 yum list *rpc*bind*yum list -y *nfs*utils*查看

        配置nfs

        /etc/exports文件内容格式:
        <输出目录> 客户端(选项:访问权限,用户映射,其他]
        输出目录是指NFS系统中所定义的共享给客户端使用的文件系统
        客户端是定义网络中可以访问这个NFS共享目录的IP地址或网段或域名等
            客户端常用的指定方式
                指定ip地址的主机:192.168.100.1
                指定一个子网:192.168.100.0/24 也可以写成:192.168.100.0/255.255.255.0
                指定域名的主机:david.bsmart.cn
                指定域中的所有主机:*.bsmart.cn
                所有主机:*
        选项用来设置输出目录的访问权限、用户映射等。
            NFS主要有3类选项:
                设置输出目录只读:ro
                设置输出目录读写:rw
            用户映射选项
                all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
                no_all_squash:与all_squash取反(默认设置);
                root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
                no_root_squash:与rootsquash取反;
                anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
                anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);
            其它选项
                secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
                insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
                sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
                async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
                wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
                no_wdelay:若有写操作则立即执行,应与sync配合使用;
                subtree:若输��目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);

                no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

    例如:

      

       启动nfs服务:

systemctl enable nfs
systemctl start nfs
systemctl enable rpcbind
systemctl start rpcbind
systemctl status nfs

Linux-设置共享目录_第1张图片

    客户端挂载共享目录:

        mount 192.168.186.138:/soft /share/

异常处理

mount: wrong fs type, bad option, bad superblock on 192.168.0.66:/opt/data,

    安装yum install nfs-utils.x86_64


--------------------------------------------------------------------------------------------------------------------------

Glusterfs特点
    扩展性和高性能
    GlusterFS利用双重特性来提供几TB至数PB的高扩展存储解决方案。Scale-Out架构允许通过简单地增加资源来提高存储容量和性能,磁盘、计算和I/O资源都可以独立增加,支持10GbE和InfiniBand等高速网络互联。Gluster弹性哈希(ElasticHash)解除了GlusterFS对元数据服务器的需求,消除了单点故障和性能瓶颈,真正实现了并行化数据访问。
    高可用性
    GlusterFS可以对文件进行自动复制,如镜像或多次复制,从而确保数据总是可以访问,甚至是在硬件故障的情况下也能正常访问。自我修复功能能够把数据恢复到正确的状态,而且修复是以增量的方式在后台执行,几乎不会产生性能负载。GlusterFS没有设计自己的私有数据文件格式,而是采用操作系统中主流标准的磁盘文件系统(如EXT3、ZFS)来存储文件,因此数据可以使用各种标准工具进行复制和访问。
    弹性卷管理

    数据储存在逻辑卷中,逻辑卷可以从虚拟化的物理存储池进行独立逻辑划分而得到。存储服务器可以在线进行增加和移除,不会导致应用中断。逻辑卷可以在所有配置服务器中增长和缩减,可以在不同服务器迁移进行容量均衡,或者增加和移除系统,这些操作都可在线进行。文件系统配置更改也可以实时在线进行并应用,从而可以适应工作负载条件变化或在线性能调优。

#安装依赖工具  
yum install xfsprogs wget  
yum install fuse fuse-libs  
#格式化磁盘并创建GFS分区  
fdisk /dev/sdb  
mkfs.xfs -i size=512 /dev/sdb1  
mount /dev/sdb1 /mnt/sdb1  
#安装gluster  
wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/gluster-epel.repo -O /etc/yum.repo.d/glusterfs.repo  
yum install glusterfs{,-server,-fuse,-geo-replication}  
#启动glusterfs  
/etc/init.d/glusterd start  
/etc/init.d/glusterd stop  
#如果需要在系统启动时开启glusterd  

chkconfig glusterd on  

-----------------------------------------------------------------------------------------------------------------------------------------------------------

Samba

Windows与Linux共享:目前比较流行的方式就是通过一个跨平台网络文件共享协议:SMB/CIFS。Windows原生的支持SMB/CIFS,Linux也通过开源的软件Samba实现了SMB/CIFS协议。

相对比较简单,请参考其他资料


你可能感兴趣的:(Linux-设置共享目录)