Chinaunix首页 | 论坛 | 博客
  • 博客访问: 81266
  • 博文数量: 33
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 217
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-24 17:05
文章分类
文章存档

2016年(2)

2015年(31)

我的朋友

分类: LINUX

2015-07-24 13:52:29

gluster安装
###  Installing Gluster
wget -P /etc/yum.repos.d /> 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


  1. # gluster volume info gluster-volume1  
  2.    
  3. Volume Name: gluster-volume1  
  4. Type: Distributed-Replicate  
  5. Volume ID: 7bed32e1-3ec1-4d67-975e-5ac07f99f481  
  6. Status: Created  
  7. Number of Bricks: 3 x 2 = 6  
  8. Transport-type: tcp  
  9. Bricks:  
  10. Brick1: bluejoe6:/data/brick1  
  11. Brick2: bluejoe7:/data/brick1  
  12. Brick3: bluejoe6:/data/brick2  
  13. Brick4: bluejoe8:/data/brick1  
  14. Brick5: bluejoe7:/data/brick2  
  15. 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失败。


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



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

阅读(2124) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~