下面的例子演示3节点:server1、server2、server3。

卷作为可信存储池中节点上的发布目录的一个逻辑集合。在创建卷之前,需要配置好相应的bricks。
推荐:/data/glusterfs/volume_name/brick/brick,该处brick是指挂载路径所在的文件系统。
在所有节点创建目录和挂载:

在其中一个节点执行:
gluster volume create myvol1 replica 2 server{1..4}:/data/glusterfs/myvol1/brick1/brick
在4个节点均执行:
mkdir -p /data/glusterfs/myvol2/brick{1,2}
mount /dev/sdb1 /data/glusterfs/myvol2/brick1
mount /dev/sdc1 /data/glusterfs/myvol2/brick2
在其中一个节点执行:
gluster volume create myvol2 replica 2 \
server{1..4}:/data/glusterfs/myvol2/brick1/brick \
server{1..4}:/data/glusterfs/myvol2/brick2/brick
如果是执行如下命令:
gluster volume create myvol2 replica 2 server{1..4}:/data/glusterfs/myvol2/brick{1,2}/brick
注: 由于bash对{}的解释是优先解释最后一个,这个会导致你的副本是在同一台的两个brick之间而不是节点的两个brick之间。
pvcreate --dataalignment 128K /dev/sdb
vgcreate --physicalextentsize 128K gfs_vg /dev/sdb
lvcreate -L 16776960K --name gfs_pool_meta gfs_vg
b. 创建LV存储data
lvcreate -L 536870400K --name gfs_pool gfs_vg
c. 通过LV metadata和data创建thin-pool
lvconvert --chunksize 1280K --thinpool gfs_vg/gfs_pool --poolmetadata gfs_vg/gfs_pool_meta
默认情况下,thin-pool中新分配的数据块将被置零,以防止不同块设备之间的数据泄露。
示例:
lvchange --zero n gfs_vg/gfs_pool
lvcreate -V 1G -T gfs_vg/gfs_pool -n gfs_lv
建议在一个thin-pool中只创建一个逻辑卷。
mkfs.xfs -f -i size=512 -n size=8192 -d su=128k,sw=10 DEVICE
格式化brick以支持xfs文件系统:
创建挂载点:mkdir /mountpoint
/etc/fstab添加访问点:
/dev/gfs_vg/gfs_lv /mountpoint xfs rw,inode64,noatime,nouuid
mount /mountpoint
想要实现发布的目录支持ACL的控制,执行命令:
# mount -o acl /dev/sda1 /export1
若分区写入在/etc/fstab文件中,添加ACL的相关参数:
LABEL=/work /export1 ext3 rw, acl 14
# mount -t glusterfs -o acl 198.192.198.234:glustervolume /mnt/gluster
使用setfacl进行实现,该处不做进一步的解释。