Glusterfs là gì? Cấu hình Glusterfs như nào - Phần 2
FASTER - STRONGER - SAVER
sales@1hosting.com.vn   0915 54 99 22
Trang Chủ > Kiến thức dịch vụ > Tin tức công nghệ nổi bật >Glusterfs là gì? Cấu hình Glusterfs như nào – Phần 2

Glusterfs là gì? Cấu hình Glusterfs như nào – Phần 2

Cấu hình Glusterfs trong CentOS

bài trước ta đã tìm hiểu một vài khái niệm về Glusterfs, trong bài thứ 2 này ta sẽ xem cách thức cài đặt và cấu hình một hệ thống replicate storage để đảm bảo dữ liệu luôn sẵn sàng. Việc đồng bộ giữa 2 storage server sẽ được glusterfs thực hiện một cách tự động với cấu hình vô cùng đơn giản.

Bước 1: Chuẩn bị máy chủ

Ta cần chuẩn bị 02 server cài đặt glusterfs để làm storage server và 01 server để kết nối vào và đặt tên như sau:

. server1.1hosting.com.vn: IP address 192.168.0.100 (server)

. server2.1hosting.com.vn: IP address 192.168.0.101 (server)

. client1.1hosting.com.vn: IP address 192.168.0.102 (client)

Trên tất cả các máy server cũng như client ta đều khai báo sao cho các máy có thể nhìn thấy nhau như sau:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.0.100   server1.example.com     server1
192.168.0.101   server2.example.com     server2
192.168.0.102   client1.example.com     client1

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

Bước 2: Chuẩn bị Repository

Các lệnh như sau:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
rpm --import https://fedoraproject.org/static/0608B895.txt
cd /tmp
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
rpm -ivh epel-release-6-7.noarch.rpm
yum install yum-priorities

Edit file /etc/yum.repos.d/epel.repo và thêm vào dòng “priority=10”

[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
[...]

Bước 3: Cài đặt GlusterFS Servers

Các lệnh cài đặt như sau:

yum install glusterfs-server
chkconfig --levels 235 glusterd on
/etc/init.d/glusterd start

Sau đó kiểm tra phiên bản

glusterfsd --version

Kết quả như sau:

[root@server1 ~]# glusterfsd --version
glusterfs 3.2.7 built on Jun 11 2012 13:22:28
Repository revision: git://git.gluster.com/glusterfs.git
Copyright (c) 2006-2011 Gluster Inc. <http://www.gluster.com>
GlusterFS comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GlusterFS under the terms of the GNU General Public License.
[root@server1 ~]#

Glusterfs sử dụng các TCP port sau: 111, 24007, 24008, 24009 vì thế các port này cần mở trên cả server1.1hosting.com.vn và server2.1hosting.com.vn.

Trên server1.1hosting.com.vn ta chạy lệnh sau:

gluster peer probe server2.1hosting.com.vn

Kiểm tra lại

[root@server1 ~]# gluster peer probe server2.1hosting.com.vn
Probe successful

Xem trạng thái của pool như sau:

gluster peer status
[root@server1 ~]# gluster peer status
Number of Peers: 1

Hostname: server2.example.com
Uuid: 7cd93007-fccb-4fcb-8063-133e6ba81cd9
State: Peer in Cluster (Connected)
[root@server1 ~]#

Tiếp theo ta sẽ tạo một volume tên là Host với tính năng replicate trên 2 server storage, trong đó có brick /data

[root@server1 ~]# gluster volume create Host replica 2 transport tcp server1.1hosting.com.vn:/data server2.example.com:/data
 Creation of volume testvol has been successful. Please start the volume to access data.
[root@server1 ~]#

Khởi động Volume

gluster volume start Host

Nếu OK sẽ được như sau:

[root@server1 ~]# gluster volume start testvol
 Starting volume testvol has been unsuccessful
 [root@server1 ~]#

Kiểm tra lại trên cả 2 server như sau:

[root@server1 ~]# netstat -tap | grep glusterfsd
tcp        0      0 *:24009                     *:*                         LISTEN      1365/glusterfsd
tcp        0      0 localhost:1023              localhost:24007             ESTABLISHED 1365/glusterfsd
tcp        0      0 server1.example.com:24009   server1.example.com:1023    ESTABLISHED 1365/glusterfsd
[root@server1 ~]#

[root@server2 ~]# netstat -tap | grep glusterfsd
tcp        0      0 *:24010                 *:*                     LISTEN      1458/glusterfsd
tcp        0      0 localhost.localdom:1021 localhost.localdo:24007 ESTABLISHED 1458/glusterfsd
[root@server2 ~]#

Quay trở lại server1.1hosting.com.vn, check trạng thái của volume hiện tại

[root@server1 ~]# gluster volume info

Volume Name: Host
Type: Replicate
Status: Started
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: server1.1hosting.com.vn:/data
Brick2: server2.1hosting.com.vn:/data
[root@server1 ~]#

Mặc định, tất cả các máy đều có thể kết nối đến Volume này. Nếu muốn chỉ duy nhất client1.1hosting.com.vn (= 192.168.0.102) kết nối được, chạy lệnh sau:

gluster volume set Host auth.allow 192.168.0.102

Xem lại trạng thái volume

[root@server1 ~]# gluster volume info

Volume Name: Host
Type: Replicate
Status: Started
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: server1.1hosting.com.vn:/data
Brick2: server2.1hosting.com.vn:/data
Options Reconfigured:
auth.allow: 192.168.0.102
[root@server1 ~]#

Bước 4: Cài đặt GlusterFS Client

Trên client1.1hosting.com.vn, ta cài đặt GlusterFS client như sau:

yum install glusterfs-client

Sau đó tạo thư mục:

mkdir /mnt/glusterfs

Mount thư mục này vào GlusterFS filesystem:

mount.glusterfs server1.1hosting.com.vn:/Host /mnt/glusterfs

(ở đây sử dụng server1.1hosting.com.vn hay server2.1hosting.com.vn đều được )

[root@client1 ~]# df -h
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/mapper/vg_client1-LogVol00
 9.7G  1.7G  7.5G  19% /
 tmpfs                 499M     0  499M   0% /dev/shm
 /dev/sda1             504M   39M  440M   9% /boot
 server1.1hosting.com.vn:/Host
 29G  1.1G   27G  4% /mnt/glusterfs
 [root@client1 ~]#

Add vào file /etc/fstab để Centos tự động mount mỗi lần khởi động lại

vi /etc/fstab

[...]
server1.1hosting.com.vn:/Host /mnt/glusterfs glusterfs defaults,_netdev 0 0

Bước 5: Kiểm tra

Trước tiên ta tạo các files test trên client1.1hosting.com.vn

touch /mnt/glusterfs/test1
touch /mnt/glusterfs/test2

Kiểm tra thư mục /data trên server1.1hosting.com.vn và server2.1hosting.com.vn

[root@server1 ~]# ls -l /data
total 8
-rw-r--r-- 1 root root 0 2012-12-17 11:17 test1
-rw-r--r-- 1 root root 0 2012-12-17 11:17 test2
[root@server1 ~]#

OK, vậy là các file đã có ở 2 server. Giờ ta sẽ tắt server1.1hosting.com.vn và xóa 1 vài file trên máy client

shutdown -h now

Trên client1.1hosting.com.vn

touch /mnt/glusterfs/test3
touch /mnt/glusterfs/test4
rm -f /mnt/glusterfs/test2

Lúc này ta kiểm tra thư mục /data trên server2.1hosting.com.vn

[root@server2 ~]# ls -l /data
total 8
-rw-r--r-- 1 root root 0 2012-12-17 11:17 test1
-rw-r--r-- 1 root root 0 2012-12-17 11:38 test3
-rw-r--r-- 1 root root 0 2012-12-17 11:38 test4
[root@server2 ~]#

OK, server2 đã đồng bộ. Bật lại server1.1hosting.com.vn và kiểm tra

[root@server1 ~]# ls -l /data
total 8
-rw-r--r-- 1 root root 0 2012-12-17 11:17 test1
-rw-r--r-- 1 root root 0 2012-12-17 11:17 test2
[root@server1 ~]#

Lúc này, server1.1hosting.com.vn chưa nhận biết được sự thay đổi đã diễn ra trong quá trình nó offline. Ta chỉ cần 1 lệnh đơn giản ở phía client1.1hosting.com.vn để đồng bộ tiến trình này:

[root@client1 ~]# ls -l /mnt/glusterfs/
total 8
-rw-r--r-- 1 root root 0 2012-12-17 11:17 test1
-rw-r--r-- 1 root root 0 2012-12-17 11:38 test3
-rw-r--r-- 1 root root 0 2012-12-17 11:38 test4
[root@client1 ~]#

Check lại thư mục /data trên server1.1hosting.com.vn

[root@server1 ~]# ls -l /data
 total 4
 -rw-r--r-- 1 root root 0 2012-12-17 11:17 test1
 -rw-r--r-- 1 root root 0 2012-12-17 11:38 test3
 -rw-r--r-- 1 root root 0 2012-12-17 11:38 test4
 [root@server1 ~]#

Vậy là mọi thứ đã xong. Giờ ta có thể yên tâm rằng dữ liệu sẽ luôn sẵn sàng ngay cả khi có những vấn đề về server vật lý. Người dùng hoàn toàn có thể thuê vps và sử dụng Glusterfs để làm nơi lưu trữ dự phòng cho các hệ thống dữ liệu của mình. Giải pháp thuê vps sẽ vô cùng tiết kiệm không chỉ về mặt chi phí sử dụng mà còn tiết kiệm về chi phí giải pháp do glusterfs là miễn phí cũng như CentOS.

Nếu còn băn khoăn về quá trình triển khai, hay gọi Hotline 0915 54 99 22 để đội ngũ kỹ sư giàu kinh nghiệm của 1Hosting trợ giúp quý khách. Chúng tôi cam kết những dịch vụ online tốt nhất, giá trị nhất, hoàn hảo nhất đến với mọi khách hàng.

—————————————————————

MỌI THÔNG TIN CHI TIẾT VUI LÒNG LIÊN HỆ

CÔNG TY CỔ PHẦN GIẢI PHÁP DỮ LIỆU TRỰC TUYẾN ANZ

Địa chỉ: Biệt thự 11 ngõ 233 đường Xuân Thủy, quận Cầu Giấy, Hà Nội

Email: info@1hosting.com.vn

Hotline: 0915 54 99 22