Сервер хранения · 2 min read · Feb 05, 2026

Создание автономного сервера хранения, подобного NFS, с GlusterFS на CentOS 5.4

Этот учебник показывает, как настроить автономный сервер хранения на CentOS 5.4. Вместо NFS я буду использовать GlusterFS. Клиентская система сможет получить доступ к хранилищу так, как если бы это была локальная файловая система. GlusterFS — это кластерная файловая система, способная масштабироваться до нескольких петабайт. Она агрегирует различные хранилища по Infiniband RDMA или TCP/IP в одну большую параллельную сетевую файловую систему. Хранилища могут состоять из любого стандартного оборудования, такого как серверы x86_64 с SATA-II RAID и Infiniband HBA.

Я не даю никаких гарантий, что это сработает для вас!

1 Предварительная заметка

В этом учебнике я использую две системы, сервер и клиент:

  • server1.example.com: IP-адрес 192.168.0.100 (сервер)
  • client1.example.com: IP-адрес 192.168.0.101 (клиент)

Обе системы должны иметь возможность разрешать имена хостов другой системы. Если это невозможно сделать через DNS, вам следует отредактировать файл /etc/hosts, чтобы он содержал следующие две строки на обеих системах:

vi /etc/hosts

| [...] 192.168.0.100 server1.example.com server1 192.168.0.101 client1.example.com client1 [...] |

(Также возможно использовать IP-адреса вместо имен хостов в следующей настройке. Если вы предпочитаете использовать IP-адреса, вам не нужно беспокоиться о том, могут ли имена хостов быть разрешены или нет.)

2 Настройка сервера GlusterFS

server1.example.com:

GlusterFS недоступен в виде пакета для CentOS 5.4, поэтому нам нужно собрать его самостоятельно. Сначала мы устанавливаем предварительные условия:

yum groupinstall 'Development Tools'
yum groupinstall 'Development Libraries'
yum install libibverbs-devel fuse-devel

Затем мы загружаем последнюю версию GlusterFS с http://www.gluster.org/download.php и собираем ее следующим образом:

cd /tmp  
wget http://ftp.gluster.com/pub/gluster/glusterfs/2.0/LATEST/glusterfs-2.0.9.tar.gz  
tar xvfz glusterfs-2.0.9.tar.gz  
cd glusterfs-2.0.9  
./configure

В конце команды ./configure вы должны увидеть что-то вроде этого:

[...]  
GlusterFS configure summary  
===========================  
FUSE client        : yes  
Infiniband verbs   : yes  
epoll IO multiplex : yes  
Berkeley-DB        : yes  
libglusterfsclient : yes  
argp-standalone    : no  
  
[root@server1 glusterfs-2.0.9]#
make && make install  
ldconfig

Проверьте версию GlusterFS после этого (должна быть 2.0.9):

glusterfs --version
[root@server1 glusterfs-2.0.9]# glusterfs --version  
glusterfs 2.0.9 built on Mar 1 2010 15:34:50  
Repository revision: v2.0.9  
Copyright (c) 2006-2009 Gluster Inc.   
GlusterFS comes with ABSOLUTELY NO WARRANTY.  
You may redistribute copies of GlusterFS under the terms of the GNU General Public License.  
[root@server1 glusterfs-2.0.9]#

Затем мы создаем несколько каталогов:

mkdir /data/  
mkdir /data/export  
mkdir /data/export-ns  
mkdir /etc/glusterfs

Теперь мы создаем файл конфигурации сервера GlusterFS /etc/glusterfs/glusterfsd.vol, который определяет, какой каталог будет экспортироваться (/data/export) и какой клиент может подключаться (192.168.0.101 = client1.example.com):

vi /etc/glusterfs/glusterfsd.vol

| volume posix type storage/posix option directory /data/export end-volume volume locks type features/locks option mandatory-locks on subvolumes posix end-volume volume brick type performance/io-threads option thread-count 8 subvolumes locks end-volume volume server type protocol/server option transport-type tcp option auth.addr.brick.allow 192.168.0.101 # Отредактируйте и добавьте список разрешенных клиентов, разделенных запятыми, здесь subvolumes brick end-volume |

Обратите внимание, что возможно использовать подстановочные знаки для IP-адресов (например, 192.168.*) и что вы можете указать несколько IP-адресов, разделенных запятыми (например, 192.168.0.101,192.168.0.102).

После этого мы создаем следующую символическую ссылку…

ln -s /usr/local/sbin/glusterfsd /sbin/glusterfsd

… а затем создаем системные ссылки для запуска сервера GlusterFS и запускаем его:

chkconfig --levels 35 glusterfsd on  
/etc/init.d/glusterfsd start
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.