Unify模式简介:
多台server目前空余的硬盘空间利用起来。这就是glusterfsUnify模式的功能,多存储空间的聚合。
本文环境:二台服务器,一台测试机均为CentOS-5.2操作系统,
服务器1的ip为:192.168.10.252,共享目录/home/gluterfs和/data3
服务器2的Ip为:192.168.10.253 , 共享目录是/data和/data2
测试机的ip为192.168.10.14 , 挂载点为/mnt
一 服务器1的安装和配置
1.首先安装fuse扩展
[root@test-1 ~]# tar zvxf fuse-2.8.3.tar.gz
[root@test-1 ~]# cd fuse-2.8.3
[root@test-1 ~]# ./configure --enable-dependency-tracking --enable-lib --enable-util
[root@test-1 ~]# make
[root@test-1 ~]# make install
2. 检查fuse是否安装正确,如果不正确后面启动和挂载glusterfs时候都会报错
[root@test-1 ~]# ll /dev/fuse
crw-rw-rw- 1 root root 10, 229 Apr 23 14:08 /dev/fuse
3. 安装服务器端
[root@test-1 ~]# cd ..
[root@test-1 ~]# tar zvxf glusterfs-2.0.0rc1.tar.gz
[root@test-1 ~]# cd glusterfs-2.0.0rc1
[root@test-1 ~]# ./configure
[root@test-1 ~]# make
[root@test-1 ~]# make install
4. 创建本地的共享点1
[root@test-1 ~]# mkdir /data
[root@test-1 ~]# chmod 777 /data
5. 创建本地输出目录2
[root@test-1 ~]#touch /data2
[root@test-1 ~]# chmod 777 /data2
6. 开始配置服务器端配置文件,首先先备份示例文件
[root@test-1 ~]#cd /usr/local/etc/glusterfs
[root@test-1 ~]# mkdir bak
[root@test-1 ~]# mv *.sample bak
[root@test-1 ~]# vi glusterfsd.vol(配置如下)
volume brick
type storage/posix # POSIX FS translator
option directory /home/gluster # Export this directory
end-volume
volume brick-ns
type storage/posix
option directory /data3
end-volume
### Add network serving capability to above brick.
volume server
type protocol/server
option transport-type tcp/server
subvolumes brick brick-ns
option auth.addr.brick.allow *
option auth.addr.brick-ns.allow *
end-volume
7. 启动服务器端
[root@test-1 glusterfs]# glusterfsd -l /var/log/glusterfs.log -f /usr/local/etc/glusterfs/glusterfsd.vol -p /var/run/glusterfs.pid
启动的过程中指定了pid文件位置和日志文件位置
8. 验证服务启动是否正常,端口监听
[root@test-1 glusterfs]# netstat -nltp |grep 6996 |grep -v grep
tcp 0 0 0.0.0.0:6996 0.0.0.0:* LISTEN 27698/glusterfsd
[root@test-1 glusterfs]#
二 服务器端2的安装和配置
1.首先安装fuse扩展
[root@test-2~]# tar zvxf fuse-2.8.3.tar.gz
[root@test-2~]# cd fuse-2.8.3
[root@test-2~]# ./configure --enable-dependency-tracking --enable-lib --enable-util
[root@test-2~]# make
[root@test-2~]# make install
2. 检查fuse是否安装正确,如果不正确后面启动和挂载glusterfs时候都会报错
[root@test-2~]# ll /dev/fuse
crw-rw-rw- 2root root 10, 229 Apr 23 14:08 /dev/fuse
3. 安装服务器端
[root@test-2~]# cd ..
[root@test-2~]# tar zvxf glusterfs-2.0.0rc1.tar.gz
[root@test-2~]# cd glusterfs-2.0.0rc1
[root@test-2~]# ./configure
[root@test-2~]# make
[root@test-2~]# make install
4. 创建本地的共享点1同时挂载硬盘分区
[root@test-2~]# mkdir /home/gluster
[root@test-2~]# mount /dev/sdb1 /home/gluster/
[root@test-2~]# chmod 777 /home/gluster/
5. 创建本地输出目录2
[root@test-2~]#touch /data3
[root@test-2~]# chmod 777 /data3
6. 查看挂载是否正常
[root@test-2~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
7.0G 3.4G 3.2G 52% /
/dev/sda1 99M 12M 83M 13% /boot
tmpfs 125M 0 125M 0% /dev/shm
/dev/sdb1 4.0G 8.0M 3.8G 1% /home/gluster
7. 开始配置服务器端配置文件,首先先备份示例文件
[root@test-2~]#cd /usr/local/etc/glusterfs
[root@test-2~]# mkdir bak
[root@test-2~]# mv *.sample bak
[root@test-2~]# vi glusterfsd.vol(配置如下)
volume brick
type storage/posix # POSIX FS translator
option directory /data # Export this directory
end-volume
volume brick-ns
type storage/posix
option directory /data2
end-volume
### Add network serving capability to above brick.
volume server
type protocol/server
option transport-type tcp/server
subvolumes brick brick-ns
option auth.addr.brick.allow *
option auth.addr.brick-ns.allow *
end-volume
8. 启动服务器端
[root@test-2glusterfs]# glusterfsd -l /var/log/glusterfs.log -f /usr/local/etc/glusterfs/glusterfsd.vol -p /var/run/glusterfs.pid
启动的过程中指定了pid文件位置和日志文件位置
9. 验证服务启动是否正常,端口监听
[root@test-2glusterfs]# netstat -nltp |grep 6996 |grep -v grep
tcp 0 0 0.0.0.0:6996 0.0.0.0:* LISTEN 27698/glusterfsd
[root@test-2glusterfs]#
三 客户端的安装和配置
1. 和服务器端同样的安装操作此处不多说了,接下来配置客户端配置文件
[root@localhost glusterfs]#cd /usr/local/etc/glusterfs
[root@localhost glusterfs]# mkdir bak
[root@localhost glusterfs]# mv *.sample bak
[root@localhost glusterfs]# vi glusterfs.vol
volume client1
type protocol/client
option transport-type tcp/client
option remote-host 192.168.10.252 #//server ip
option remote-port 6996
option remote-subvolume brick
end-volume
volume client2
type protocol/client
option transport-type tcp/client
option remote-host 192.168.10.253 #//server ip
option remote-port 6996
option remote-subvolume brick
end-volume
volume client1-ns
type protocol/client
option transport-type tcp/client
option remote-host 192.168.10.252
option remote-subvolume brick-ns
end-volume
volume unify
type cluster/unify
subvolumes client1 client2
option namespace client1-ns
option scheduler rr
end-volume
2. 开始客户端的挂载,把服务器端对文件系统挂载到本地的/mnt目录
[root@localhost glusterfs]#glusterfs -l /var/log/glusterfs.log -f /usr/local/etc/glusterfs/glusterfsd.vol -p /var/run/glusterfs.pid
同样指定了pid文件和日志文件
3. 看看是否挂载成了本地文件系统
[root@localhost glusterfs]# df �Ch
Filesystem Size Used Avail Use% Mounted on
/dev/hda2 5.7G 2.1G 3.4G 39% /
/dev/hda1 99M 12M 83M 12% /boot
tmpfs 252M 0 252M 0% /dev/shm
glusterfs 11G 3.2G 7.2G 31% /mnt
[root@localhost glusterfs]# mount | tail -1
glusterfs#/usr/local/etc/glusterfs/glusterfs.vol on /data type fuse (rw,allow_other,default_permissions,max_read=131072)
[root@localhost glusterfs]#
三 测试部分
1. 在服务器1的共享点上创建文件
[root@test-1 ~]# cd /data3
[root@test-1 data3]# touch data3
[root@test-1 data3]# cd /home/gluster/
[root@test-1 gluster]# touch gluster
[root@test-1 gluster]#
2. 在服务器2的共享点上创建文件
[root@test-2 data]# cd /data
[root@test-2 data]# touch data
[root@test-2 data]# cd /data2
[root@test-2 data2]# touch data2
3. 在客户记得挂载点上查看
[root@localhost mnt]# ls
data data3 gluster data2
[root@localhost mnt]#