• gluster 安装配置基本指南


     基于网络上的多篇文章,做了一些调整。

    gluster安装

    ###  Installing Gluster
    wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo
    yum install glusterfs{-fuse,-server}


    启动服务

    service glusterd start

    chkconfig glusterd on

    add rule into iptables file on each gluster server: 

    vi /etc/sysconfig/iptables:

        -A INPUT -m state --state NEW -m tcp -p tcp --dport 24007:24008 -j ACCEPT

        -A INPUT -m state --state NEW -m tcp -p tcp --dport 49152:49162 -j ACCEPT

    service iptables restart


    建立peer关系

    gluster peer probe bluejoe6

    gluster peer probe bluejoe7

    gluster peer status

    创建并启动volume

    gluster volume create gv0 bluejoe6:/data/gfs bluejoe7:/data/gfs force

    # 启动卷
    gluster volume start gv0
    # 查看卷
    gluster volume info gv0

    客户端挂载

    mount -t glusterfs bluejoe0:/gv0 /mnt/gfs


    ===================================

    部分命令

    volume create <NEW-VOLNAME> [stripe <COUNT>] [replica <COUNT>] [transport <tcp|rdma|tcp,rdma>] <NEW-BRICK>?<vg_name>... [force]


    # 五种类型的volume可以被创建:
        Distributed:分布式卷,文件通过hash算法随机的分布到由bricks组成的卷上。
        Replicated:复制式卷,类似raid1,replica数必须等于volume中brick所包含的存储服务器数,可用性高。
        Striped:条带式卷,类似与raid0,stripe数必须等于volume中brick所包含的存储服务器数,文件被分成数据块,以Round Robin的方式存储在bricks中,并发粒度是数据块,大文件性能好。
        Distributed Striped:分布式的条带卷,volume中brick所包含的存储服务器数必须是stripe的倍数(>=2倍),兼顾分布式和条带式的功能。
        Distributed Replicated:分布式的复制卷,volume中brick所包含的存储服务器数必须是 replica 的倍数(>=2倍),兼顾分布式和复制式的功能。
    # 创建分布卷
    gluster volume create gv0 fs-server-1:/data/gfs fs-server-2:/data/gfs
    # 创建复制卷
    gluster volume create gv0 replica 2 fs-server-1:/data/gfs fs-server-2:/data/gfs
    # 创建条带卷
    gluster volume create gv0 stripe 2 fs-server-1:/data/gfs fs-server-2:/data/gfs


    gluster volume create volume2 stripe 3 replica 2 bluejoe6:/data/gfs-rep1 bluejoe6:/data/gfs-rep2 bluejoe7:/data/gfs-rep1 bluejoe7:/data/gfs-rep2 bluejoe8:/data/gfs-rep1 bluejoe8:/data/gfs-rep2 force


    # gluster volume info gluster-volume1
     
    Volume Name: gluster-volume1
    Type: Distributed-Replicate
    Volume ID: 7bed32e1-3ec1-4d67-975e-5ac07f99f481
    Status: Created
    Number of Bricks: 3 x 2 = 6
    Transport-type: tcp
    Bricks:
    Brick1: bluejoe6:/data/brick1
    Brick2: bluejoe7:/data/brick1
    Brick3: bluejoe6:/data/brick2
    Brick4: bluejoe8:/data/brick1
    Brick5: bluejoe7:/data/brick2
    Brick6: bluejoe8:/data/brick2


    查看volume列表

    gluster volume list

    查看volume的具体信息(包含bricks的信息)

    # gluster volume info
     
    Volume Name: gv0
    Type: Distribute
    Volume ID: 8bde2ba4-7777-49ff-8b2b-763089017759
    Status: Started
    Number of Bricks: 3
    Transport-type: tcp
    Bricks:
    Brick1: bluejoe6:/data/gfs
    Brick2: bluejoe7:/data/gfs
    Brick3: bluejoe8:/data/gfs


    #如果以后要添加服务器,可以使用add-brick命令:
    gluster volume add-brick gv0 fs-server-3:/data/gfs fs-server-4:/data/gfs
    gluster volume remove-brick VOLNAME BRICK
        注意:当你给分布式复制卷和分布式条带卷中增加bricks时,你增加的bricks的数目必须是复制或者条带数目的倍数,例如:你给一个分布式复制卷的replica为2,你在增加bricks的时候数量必须为2、4、6、8等。
        当移除分布式复制卷或者分布式条带卷的时候,移除的bricks数目必须是replica或者stripe的倍数。例如:一个分布式条带卷的stripe是2,当你移除bricks的时候必须是2、4、6、8等。

    ============================

    常见故障解决方案

    问题1

    [root@localhost ~]# gluster peer status
    Connection failed. Please check if gluster daemon is operational.

    原因:未开启glusterd服务

    解决方法:开启glusterd服务

    /etc/init.d/glusterd start


    问题2

    [root@localhost ~]# gluster peer probe 192.168.230.130

    peer probe: failed: Probe returned with unknown errno 107

    原因:日志中打印[2014-05-15 15:55:25.929461] I [glusterd-handler.c:2836:glusterd_probe_begin] 0-glusterd:Unable to find peerinfo for host: 192.168.230.130 (24007)

    防火墙没开启24007端口

    解决方法:开启24007端口或者关掉防火墙

    /sbin/iptables -I INPUT -p tcp --dport 24007 -j ACCEPT   # 开启24007端口

    /etc/init.d/iptables stop     # 关掉防火墙


    注:

    也可以使用主机名来代替IP,修改/etc/hosts文件实现

    gluster peer probe server-130


    问题3

    volume create volume1 192.168.230.135:/tmp/brick1
    volume create: volume2: failed

    不能只使用一个server上的brick创建volume,需要至少两个brick,或者在client主机(这里为192.168.230.134)上使用一个brick创建volume。

    1. gluster> volume create volume1 192.168.230.134:/tmp/brick1 force  
    2. volume create: volume1: success: please start the volume to access data  
    3. gluster> volume info  
    4.   
    5. Volume Name: volume1  
    6. Type: Distribute  
    7. Volume ID: b01a2c29-09a6-41fd-a94e-ea834173a6a3  
    8. Status: Created  
    9. Number of Bricks: 1  
    10. Transport-type: tcp  
    11. Bricks:  
    12. Brick1: 192.168.230.134:/tmp/brick1  
    13.   
    14. gluster>  
    15.   
    16. gluster> volume create volume2 192.168.230.134:/tmp/brick2  192.168.230.135:/tmp/brick2 force  
    17. volume create: volume2: success: please start the volume to access data  
    18. gluster> volume info  
    19.    
    20. Volume Name: volume1  
    21. Type: Distribute  
    22. Volume ID: b01a2c29-09a6-41fd-a94e-ea834173a6a3  
    23. Status: Created  
    24. Number of Bricks: 1  
    25. Transport-type: tcp  
    26. Bricks:  
    27. Brick1: 192.168.230.134:/tmp/brick1  
    28.    
    29. Volume Name: volume2  
    30. Type: Distribute  
    31. Volume ID: 4af2e260-70ce-49f5-9663-9c831c5cf831  
    32. Status: Created  
    33. Number of Bricks: 2  
    34. Transport-type: tcp  
    35. Bricks:  
    36. Brick1: 192.168.230.134:/tmp/brick2  
    37. Brick2: 192.168.230.135:/tmp/brick2  

    问题4

    创建一个volume后删除,再使用同名的brick创建volume失败。

    gluster> volume create test 192.168.230.134:/tmp/brick1 force  
    volume create: test: success: please start the volume to access data  
    gluster> volume info   
       
    Volume Name: test  
    Type: Distribute  
    Volume ID: c29f75d2-c9f5-4d6f-90c5-c562139ab9cd  
    Status: Created  
    Number of Bricks: 1  
    Transport-type: tcp  
    Bricks:  
    Brick1: 192.168.230.134:/tmp/brick1  
    gluster> volume delete test force  
    Usage: volume delete <VOLNAME>  
    gluster> volume delete test  
    Deleting volume will erase all information about the volume. Do you want to continue? (y/n) y  
    volume delete: test: success  
    gluster> volume create test 192.168.230.134:/tmp/brick1 force  
    volume create: test: failed: /tmp/brick1 or a prefix of it is already part of a volume


    因为volume delete时并未删掉create时创建的目录,需要手动删除后再使用。


  • 相关阅读:
    Oracle 不走索引
    Oracle不等值链接
    查看统计信息是否过期
    JavaScript利用append添加元素报错
    Subversion Native Library Not Available & Incompatible JavaHL library loaded
    Oracle并行查询出错
    Oracle连接出错(一)
    Linux下Subclipse的JavaHL
    Java生成文件夹
    Java生成文件
  • 原文地址:https://www.cnblogs.com/bluejoe/p/5115952.html
Copyright © 2020-2023  润新知