Хранилище · 2 min read · Jan 27, 2026
Высокодоступное хранилище с GlusterFS на Ubuntu 10.04 - Автоматическая репликация файлов (зеркало) между двумя серверами хранения
Высокодоступное хранилище с GlusterFS на Ubuntu 10.04 - Автоматическая репликация файлов (зеркало) между двумя серверами хранения
Версия 1.0
Автор: Фалко Тимме
Следите за мной в Twitter
Этот учебник показывает, как настроить высокодоступное хранилище с двумя серверами хранения (Ubuntu 10.04), которые используют GlusterFS. Каждый сервер хранения будет зеркалом другого сервера хранения, и файлы будут автоматически реплицироваться между обоими серверами хранения. Клиентская система (также Ubuntu 10.04) сможет получить доступ к хранилищу так, как если бы это была локальная файловая система. GlusterFS - это кластерная файловая система, способная масштабироваться до нескольких петабайт. Она агрегирует различные хранилищные блоки через Infiniband RDMA или TCP/IP соединение в одну большую параллельную сетевую файловую систему. Хранилищные блоки могут быть сделаны из любого стандартного оборудования, такого как серверы x86_64 с SATA-II RAID и Infiniband HBA.
Я не даю никаких гарантий, что это сработает для вас!
1 Предварительная заметка
В этом учебнике я использую три системы, два сервера и клиента:
- server1.example.com: IP адрес 192.168.0.100 (сервер)
- server2.example.com: IP адрес 192.168.0.101 (сервер)
- client1.example.com: IP адрес 192.168.0.102 (клиент)
Поскольку мы будем выполнять все шаги из этого учебника с правами root, мы можем либо предварить все команды в этом учебнике строкой sudo, либо стать root прямо сейчас, набрав
sudo suВсе три системы должны иметь возможность разрешать имена хостов других систем. Если это невозможно сделать через 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 server2.example.com server2 192.168.0.102 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/server2.example.com:
GlusterFS доступен как пакет для Ubuntu 10.04, поэтому мы можем установить его следующим образом:
aptitude install glusterfs-serverКоманда
glusterfs --versionдолжна теперь показать версию GlusterFS, которую вы только что установили (в данном случае 3.0.2):
root@server1:~# glusterfs --version
glusterfs 3.0.2 built on Mar 23 2010 00:24:16
Repository revision: v3.0.2
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:~# Затем мы создаем несколько директорий:
mkdir /data/
mkdir /data/export
mkdir /data/export-nsТеперь мы создаем файл конфигурации сервера GlusterFS /etc/glusterfs/glusterfsd.vol (сначала мы делаем резервную копию оригинального файла /etc/glusterfs/glusterfsd.vol), который определяет, какая директория будет экспортирована (/data/export) и какой клиент может подключаться (192.168.0.102 = client1.example.com):
cp /etc/glusterfs/glusterfsd.vol /etc/glusterfs/glusterfsd.vol_orig
cat /dev/null > /etc/glusterfs/glusterfsd.vol
vi /etc/glusterfs/glusterfsd.vol| volume posix type storage/posix option directory /data/export end-volume volume locks type features/locks 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.102 subvolumes brick end-volume |
Пожалуйста, обратите внимание, что возможно использовать подстановочные знаки для IP-адресов (например, 192.168.*) и что вы можете указать несколько IP-адресов, разделенных запятой (например, 192.168.0.102,192.168.0.103).
После этого мы запускаем сервер GlusterFS:
/etc/init.d/glusterfs-server startGet new posts in your inbox
No spam. Unsubscribe anytime.