Glusterfs 文件系统

时间:2022-05-03
本文章向大家介绍Glusterfs 文件系统,主要内容包括Glusterfs、1. Host、2. Storage bricks、3. Server、4. Check brick nodes、5. Client、6. Other、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

Glusterfs

我的系列文档

Netkiller Architect 手札

Netkiller Developer 手札

Netkiller PHP 手札

Netkiller Python 手札

Netkiller Testing 手札

Netkiller Cryptography 手札

Netkiller Linux 手札

Netkiller Debian 手札

Netkiller CentOS 手札

Netkiller FreeBSD 手札

Netkiller Shell 手札

Netkiller Security 手札

Netkiller Web 手札

Netkiller Monitoring 手札

Netkiller Storage 手札

Netkiller Mail 手札

Netkiller Docbook 手札

Netkiller Project 手札

Netkiller Database 手札

Netkiller PostgreSQL 手札

Netkiller MySQL 手札

Netkiller NoSQL 手札

Netkiller LDAP 手札

Netkiller Network 手札

Netkiller Cisco IOS 手札

Netkiller H3C 手札

Netkiller Multimedia 手札

Netkiller Perl 手札

Netkiller Amateur Radio 手札

Netkiller DevOps 手札

您可以使用iBook阅读当前文档


Table of Contents

  • 1. Host
  • 2. Storage bricks
  • 3. Server
  • 4. Check brick nodes
  • 5. Client
    • 5.1. /etc/fstab
  • 6. Other

1. Host

# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.6.12	client1.example.com client1
192.168.6.13	server.example.com server

192.168.6.1	brick1.example.com brick1
192.168.2.1	brick2.example.com brick2		

2. Storage bricks

brick1, brick2

Install Gluster packages on both nodes

wget http://download.gluster.org/pub/gluster/glusterfs/3.5/3.5.2/CentOS/glusterfs-epel.repo -P /etc/yum.repos.d/
yum install -y glusterfs-server
chkconfig glusterd on
service glusterd start
service iptables stop		
mkdir /opt/export		

3. Server

Install Gluster packages on server nodes

wget http://download.gluster.org/pub/gluster/glusterfs/3.5/3.5.2/CentOS/glusterfs-epel.repo -P /etc/yum.repos.d/
yum install -y glusterfs-server
chkconfig glusterd on
service glusterd start		

Run the gluster peer probe command

# gluster peer probe brick1.example.com
peer probe: success. 
# gluster peer probe brick2.example.com
peer probe: success. 
# gluster peer status
Number of Peers: 2

Hostname: brick1.example.com
Uuid: c8acab33-ed6a-4aa5-8b77-5be84695ffce
State: Peer in Cluster (Connected)

Hostname: brick2.example.com
Uuid: bf309355-7444-48e4-a7ea-25223c771160
State: Peer in Cluster (Connected)		

Configure your Gluster volume

# gluster volume create testvol replica 2 transport tcp brick1.example.com:/opt/export brick2.example.com:/opt/export
volume create: testvol: success: please start the volume to access data		
# gluster volume start testvol
volume start: testvol: success		
# gluster volume info
 
Volume Name: testvol
Type: Replicate
Volume ID: cd4cdf2f-178b-4160-9ee9-c579266753de
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: brick1.example.com:/opt/export
Brick2: brick2.example.com:/opt/export		
# gluster volume set testvol auth.allow client.example.com
volume set: success		
# gluster volume info
 
Volume Name: testvol
Type: Replicate
Volume ID: cd4cdf2f-178b-4160-9ee9-c579266753de
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: brick1.example.com:/opt/export
Brick2: brick2.example.com:/opt/export
Options Reconfigured:
auth.allow: client.example.com		

4. Check brick nodes

netstat -tap | grep glusterfsd

# netstat -tap | grep glusterfsd
tcp        0      0 *:49152                     *:*                         LISTEN      13841/glusterfsd    
tcp        0      0 brick1.example.com:49152     brick1.example.com:1014      ESTABLISHED 13841/glusterfsd    
tcp        0      0 brick1.example.com:exp1      brick1.example.com:24007     ESTABLISHED 13841/glusterfsd    
tcp        0      0 brick1.example.com:49152     brick2.example.com:1011      ESTABLISHED 13841/glusterfsd    
tcp        0      0 brick1.example.com:49152     brick2.example.com:1012      ESTABLISHED 13841/glusterfsd    
tcp        0      0 brick1.example.com:49152     server.example.com:1017     ESTABLISHED 13841/glusterfsd    
tcp        0      0 brick1.example.com:49152     brick1.example.com:1020      ESTABLISHED 13841/glusterfsd   

5. Client

Install Gluster packages on client nodes

wget http://download.gluster.org/pub/gluster/glusterfs/3.5/3.5.2/CentOS/glusterfs-epel.repo -P /etc/yum.repos.d/
yum install -y glusterfs-client		

Test using the volume

mkdir /mnt/glusterfs
mount.glusterfs server.example.com:/testvol /mnt/glusterfs		

Add an entry to /etc/fstab

server1.example.com:/testvol /mnt/glusterfs glusterfs defaults,_netdev 0 0		
# mount
/dev/vda1 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)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
server.example.com:/testvol on /mnt/glusterfs type fuse.glusterfs (rw,default_permissions,allow_other,max_read=131072)		

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/vda1              38G  2.3G   34G   7% /
tmpfs                 939M     0  939M   0% /dev/shm
server.example.com:/testvol
                      477G  359G  101G  79% /mnt/glusterfs		
# touch /mnt/glusterfs/hello
# ll /mnt/glusterfs/
total 0
-rw-r--r-- 1 root root 0 Sep 23 14:31 hello		

brick1

# ll /opt/export/
total 0
-rw-r--r-- 2 root root 0 Sep 23 14:31 hello		

brick2

# ll /opt/export/
total 0
-rw-r--r-- 2 root root 0 Sep 23 14:31 hello		

5.1. /etc/fstab

Add an entry to /etc/fstab

server1.example.com:/testvol /mnt/glusterfs glusterfs defaults,_netdev 0 0			

6. Other

stop volume

# gluster volume stop testvol
Stopping volume will make its data inaccessible. Do you want to continue? (y/n) y
volume stop: testvol: success		

delete volume

# gluster volume delete testvol
Deleting volume will erase all information about the volume. Do you want to continue? (y/n) y
volume delete: testvol: success		
# gluster peer datach brick1.example.com		
# gluster volume remove-brick testvol brick1.example.com:/export/u01