GlusterFS · 2 min read · Feb 07, 2026
Создание автономного сервера хранения, похожего на NFS, с GlusterFS на Debian Lenny
Этот учебник показывает, как настроить автономный сервер хранения на Debian Lenny. Вместо 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| 127.0.0.1 localhost.localdomain localhost 192.168.0.100 server1.example.com server1 192.168.0.101 client1.example.com client1 # Следующие строки желательны для хостов, поддерживающих IPv6 ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts |
(Также возможно использовать IP-адреса вместо имен хостов в следующей настройке. Если вы предпочитаете использовать IP-адреса, вам не нужно беспокоиться о том, могут ли быть разрешены имена хостов или нет.)
2 Настройка сервера GlusterFS
server1.example.com:
GlusterFS недоступен в виде пакета Debian для Debian Lenny, поэтому нам нужно собрать его самостоятельно. Сначала мы устанавливаем необходимые пакеты:
aptitude install sshfs build-essential flex bison byacc libdb4.6 libdb4.6-devЗатем мы загружаем последнюю версию GlusterFS с http://www.gluster.org/download.php и собираем ее следующим образом:
cd /tmp
wget http://ftp.gluster.com/pub/gluster/glusterfs/2.0/LATEST/glusterfs-2.0.1.tar.gz
tar xvfz glusterfs-2.0.1.tar.gz
cd glusterfs-2.0.1
./configure --prefix=/usr > /dev/nullserver1:/tmp/glusterfs-2.0.1# ./configure --prefix=/usr > /dev/null
GlusterFS configure summary
===========================
FUSE client : no
Infiniband verbs : no
epoll IO multiplex : yes
Berkeley-DB : yes
libglusterfsclient : yes
mod_glusterfs : no ()
argp-standalone : no
server1:/tmp/glusterfs-2.0.1#make && make install
ldconfigКоманда
glusterfs --versionдолжна теперь показать версию GlusterFS, которую вы только что скомпилировали (в данном случае 2.0.1):
server1:/tmp/glusterfs-2.0.1# glusterfs --version
glusterfs 2.0.1 built on May 29 2009 17:23:10
Repository revision: 5c1d9108c1529a1155963cb1911f8870a674ab5b
Copyright (c) 2006-2009 Z RESEARCH Inc.
GlusterFS comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GlusterFS under the terms of the GNU General Public License.
server1:/tmp/glusterfs-2.0.1# Затем мы создаем несколько директорий:
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 # Отредактируйте и добавьте список разрешенных клиентов, разделенных запятыми, IP-адресов (имен) здесь subvolumes brick end-volume |
Пожалуйста, обратите внимание, что возможно использовать подстановочные знаки для IP-адресов (например, 192.168.*) и что вы можете указать несколько IP-адресов, разделенных запятыми (например, 192.168.0.101,192.168.0.102).
После этого мы создаем системные ссылки для инициализационного скрипта glusterfsd…
update-rc.d glusterfsd defaults… и запускаем glusterfsd:
/etc/init.d/glusterfsd startGet new posts in your inbox
No spam. Unsubscribe anytime.