首页 > 代码库 > GlusterFS in CentOS 6.5的实现和配置
GlusterFS in CentOS 6.5的实现和配置
- Gluster的几种实现
- 1.striped volume 条带卷的实现
- 如左图,条带卷内部的每一个文件都被分成4份用来保存,称为条带式存储。
- 2、Replication
- 如左图,条带卷内部的每一个文件在不同的server中各存一份。
- 3、Distributed Volume
- 如左图,条带卷内的各个文件被分散到各节点进行存储。
- 4、DHT
- 安装Gluster
- 安装环境,三个节点分别是
- 172.16.24.100 node1.libincla.com
- 172.16.24.101 node2.libincla.com
- 172.16.24.102 node3.libincla.com
- 在此的环境下已经准备好了Gluster需要的rpm包
- 这里使用的如下方式
lftp 172.16.0.1:/pub/Sources/6.x86_64/glusterfs> cd ..
lftp 172.16.0.1:/pub/Sources/6.x86_64> mirror glusterfs
Total: 2 directories, 20 files, 0 symlinks
New: 20 files, 0 symlinks
10241416 bytes transferred in 2 seconds (4.07M/s)
lftp 172.16.0.1:/pub/Sources/6.x86_64> - 因为这个目录内含有repodata,可以编辑新的yum源来指向这个repodata。
- 如:[root@node1 glusterfs]# vim /etc/yum.repos.d/glusterfs.repo
[glfs]
name=glfs
baseurl=file:///root/glusterfs/
gpgcheck=0 - 使用yum repolist,列出repo查看是否生效
- 果然能够被读取出来。
- [root@node1 glusterfs]# yum install glusterfs-server 安装gluster的服务器包
- 这些需要依赖的包
- 安装完成以后,将目录分别scp到其他两个节点上去,此处不再赘述。
- 如:
[root@node1 ~]# scp -r glusterfs/ node2:/root
The authenticity of host ‘node2 (172.16.24.101)‘ can‘t be established.
RSA key fingerprint is a4:8b:0f:37:a4:a0:31:59:6d:bb:56:52:23:f1:fc:4c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘node2,172.16.24.101‘ (RSA) to the list of known hosts.
root@node2‘s password:
glusterfs-libs-3.5.2-1.el6.x86_64.rpm 100% 250KB 250.2KB/s 00:00
glusterfs-extra-xlators-3.5.2-1.el6.x86_64.rpm 100% 46KB 45.6KB/s 00:00
glusterfs-devel-3.5.2-1.el6.x86_64.rpm 100% 122KB 122.4KB/s 00:00
glusterfs-server-3.5.2-1.el6.x86_64.rpm 100% 563KB 563.3KB/s 00:00
glusterfs-fuse-3.5.2-1.el6.x86_64.rpm 100% 92KB 92.3KB/s 00:00
glusterfs-3.5.2-1.el6.x86_64.rpm 100% 1241KB 1.2MB/s 00:00
be1304a9b433e6427e2bbb7e1749c5005d7454e8f7a6731da1217e2f45a2d1da-primary.sqlite.bz2 100% 12KB 11.7KB/s 00:00
40b9dab11d26eb746c553eb57e6aa60d0ba9d1b66a935cb04c782815c05bf7c3-primary.xml.gz 100% 3785 3.7KB/s 00:00
repomd.xml 100% 2985 2.9KB/s 00:00
da5ee38acf32e0f9445a11d057b587634b874ce5a6dc3b900512f6afc133351f-filelists.xml.gz 100% 11KB 10.6KB/s 00:00
4e933e2701d32eac68670eeb53104b107bc8eac9879a199a1050852d7cf5994e-other.sqlite.bz2 100% 4417 4.3KB/s 00:00
5a4290490160367cedd0d349fb8719fb7485d6cd1c7fb03e0a9caace98a5610c-other.xml.gz 100% 1475 1.4KB/s 00:00
f9d4a1d6bfb573f34706f9cd84767959ec15599856f85b9d07a9310fda96b140-filelists.sqlite.bz2 100% 18KB 17.6KB/s 00:00
glusterfs-rdma-3.5.2-1.el6.x86_64.rpm 100% 49KB 49.5KB/s 00:00
glusterfs-geo-replication-3.5.2-1.el6.x86_64.rpm 100% 155KB 155.0KB/s 00:00
glusterfs-regression-tests-3.5.2-1.el6.x86_64.rpm 100% 114KB 114.1KB/s 00:00
glusterfs-api-3.5.2-1.el6.x86_64.rpm 100% 69KB 69.0KB/s 00:00
glusterfs-api-devel-3.5.2-1.el6.x86_64.rpm 100% 29KB 29.3KB/s 00:00
glusterfs-cli-3.5.2-1.el6.x86_64.rpm 100% 122KB 122.5KB/s 00:00
glusterfs-debuginfo-3.5.2-1.el6.x86_64.rpm 100% 7095KB 6.9MB/s 00:01 - 各节点分别创建所需要的目录,这里就叫gdata代表glusterfs的目录。
- mkdir -pv /gdata/brick
- 然后就开始在各节点启动服务
- service glusterd start
- 然后ss -tnlp查看哪个端口监听?
[root@node1 ~]# ss -ntlp | grep glusterd
LISTEN 0 128 *:24007 *:* users:(("glusterd",35476,9))
[root@node1 ~]# - 24007这个端口监听。
- 可以用gluster peer probe <yourservername>可以探测各节点。
- [root@node1 ~]# gluster peer probe node2
peer probe: success.
[root@node1 ~]# gluster peer probe node3
peer probe: success.
[root@node1 ~]#显示都是成功的。
- 另外还可以使用命令 gluster peer status查看各状态
[root@node1 ~]# gluster peer status
Number of Peers: 2Hostname: node2
Uuid: 01f4c256-21a7-4b9b-a9ef-735182618bc6
State: Peer in Cluster (Connected)Hostname: node3
Uuid: 70cd5f4e-e3db-401b-8849-ced76ac3f6c8
State: Peer in Cluster (Connected)
- 准备工作已然完成,需要创建GlusterFS的卷
- 分别在各节点上创建gv0
- mkdir /usr/gdata/brick/gv0 -pv
- 在任意节点上使用命令
[root@node1 ~]# gluster volume create gv0 replica 3 node1:/data/brick/gv0/ node2:/data/brick/gv0/ node3:/data/brick/gv0/ force
volume create: gv0: success: please start the volume to access data - 这里我加了一个force,这里提醒大家如果想做Glusterfs最好在每个节点都提前准备好一个空闲的磁盘。
- 此时使用Gluster volume start gv0启动卷[root@node1 ~]# gluster volume start gv0
volume start: gv0: success - 这里使用mount命令,随便找一个主机目录挂到此节点,看看效果。
[root@node1 ~]# mount -t glusterfs node2:/gv0 /mnt/gluster/
[root@node1 ~]#随便存个文件试试
使用命令,能够看到gv0信息
[root@node1 gluster]# gluster volume info gv0
Volume Name: gv0
Type: Replicate
Volume ID: 44a87154-fc05-449b-bc98-266bc7673b23
Status: Started
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: node1:/data/brick/gv0
Brick2: node2:/data/brick/gv0
Brick3: node3:/data/brick/gv0
[root@node1 gluster]#
- 现在我们三个节点等于都有了此设备的副本,如果再其中一个节点存储数据,其他节点应该就能收到同样的数据。
GlusterFS in CentOS 6.5的实现和配置