从知道Gluster到现在,其实时间不短,当时单位用gluster对外提供网盘的服务,搜狗拼音,算是国内最大的Gluster用户,不过现在好像都在做迁移。
这次测试安装,其实遇到很多恶心的问题,估计都是软件的bug。Gluster的安装配置,倒是非常简单,简单到你基本没啥可做的,我就把安装和测试过程记录一下,没啥技术含量。
参考文档 原文
准备
我的实验环境是2个节点,一个客户端,gluster群集设置
- 关闭selinux
- 关闭iptables,避免各种端口访问的麻烦
- 网卡绑定,我使用mode=0,交换机不做任何设置
- 使用epel源,目前源里的gluster版本是3.2.7
- 采用FQDN 访问,你需要自己搞定,设置hosts文件,所有节点包括客户端
- 硬盘有一个单独的分区 /data 作为gluster数据存储空间
安装
在群集节点g132上
[root@g132 ~]# hostname
g132.chenshake.com
yum -y install glusterfs-server
chkconfig --levels 235 glusterd on
/etc/init.d/glusterd start
在另外节点g132 也是相同操作
配置
Gluster的配置非常简单
添加节点,我是从g132节点进行添加其他节点
gluster peer probe g133
查看节点情况
# gluster peer status
Number of Peers: 1
Hostname: g133
Uuid: ad311d76-1d72-4950-b1e7-191291c0ab17
State: Peer in Cluster (Connected)
添加volume
为了方便测试,我们在两个节点的 /data 目录下,创建 data01目录
数据存放一份
gluster volume create testvol g132:/data/data01 g133:/data/data01
数据存放2份,这就需要你添加volume的时候是双数
gluster volume create testvol replica 2 g132:/data/data01 g133:/data/data01
条带化,看你希望条带化到几个节点,你自己调整 (我没测试)
gluster volume create testvol stripe 2 g132:/data/data01 g133:/data/data01
创建完volume后,会提示你启动volume,这个经常会忘记
gluster volume start testvol
查看gluster运行情况
netstat -tap | grep glusterfsd
查看volume情况
gluster volume info
查看节点
gluster peer status
客户端
其实服务器端,也可以当客户端,不过我还是专门找了一台机器作为客户端
yum -y install glusterfs-client
mount gluster目录
mkdir /test
mount.glusterfs g132:/testvol /test
你也可以用这个命令
mount -t glusterfs g132:/testvol /test
查看情况
[root@g140 ~]# mount
/dev/sda5 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/sda2 on /data type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
g132:/testvol on /test type fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072)
df查看
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 93G 1.5G 87G 2% /
tmpfs 16G 0 16G 0% /dev/shm
/dev/sda1 194M 33M 152M 18% /boot
/dev/sda2 394G 199M 374G 1% /data
g132:/testvol 788G 83G 666G 11% /test
测试
dd测试,不过不算是太准确.
cd /test
dd if=/dev/zero of=/mnt/glusterfs/test.img bs=1024k count=1000
iozone 进行压力测试
如果你直接使用DD,不见得可以测试出真实带宽,估计是和多线程有关。
安装
wget http://www.iozone.org/src/current/iozone3_414.tar
tar xvf iozone3_414.tar -C /usr/local/src/
cd /usr/local/src/iozone3_414/src/curren
make linux-AMD64
cp iozone /usr/bin/
测试
cd /test/
mkdir n140
cd n140
iozone -t 250 -i 0 -r 512k -s 500M -+n -w
附注
查看命令帮助,这个非常有用,gluster很多命令和别的软件有区别
gluster help
gluster peer help
gluster volume help
删除节点
gluster peer help
gluster peer datach g133
删除birck
gluster volume info
gluster volume remove-brick testvol g132:/data/data01
如果你要删除volume,那么你需要停止volume服务
gluster volume stop testvol
gluster volume delete testvol