Создадим зеркалируемое между двумя машинами хранилище файлов на базе GlusterFS (www.glusterfs.com). В качестве операционной системы возьмём, к примеру, Ubuntu Server. Сервера используют адреса 192.168.1.2 и 192.168.1.3 соответственно.
1. Установим из репозитария серверную часть GlusterFS:
apt-get install glusterfs-server
Для организации хранилища будем использовать каталог /glusterfs/export. Теперь приведём файл конфигурации (/etc/glusterfs/glusterd.vol) к следующему виду:
volume posix
type storage/posix
option directory /glusterfs/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.1.2,192.168.1.3
subvolumes brick
end-volume
В качестве IP-адресов хостов клиентов не обязательно указывать точные адреса, можно использовать маски вида 192.168.1.* и перечислять сети и хосты через запятую.
Запускаем сервер GlusterFS:
/etc/init.d/glusterfs-server start
2. Установим из репозитария клиентскую часть GlusterFS:
aptitude install glusterfs-client
Файловое хранилище будем монтировать в каталог /glusterfs/samba& Теперь приведём файл конфигурации (/etc/glusterfs/glusterfs.vol) к следующему виду:
volume remote1
type protocol/client
option transport-type tcp
option remote-host 192.168.1.2 # ubuntu-samba1
option remote-subvolume brick
end-volume
volume remote2
type protocol/client
option transport-type tcp
option remote-host 192.168.1.3 # ubuntu-samba2
option remote-subvolume brick
end-volume
volume replicate
type cluster/replicate
subvolumes remote1 remote2
end-volume
volume writebehind
type performance/write-behind
option window-size 1MB
subvolumes replicate
end-volume
volume cache
type performance/io-cache
option cache-size 512MB
subvolumes writebehind
end-volume
3. Монтируем файловую систему GlusterFS в каталог /glusterfs/samba:
glusterfs -f /etc/glusterfs/glusterfs.vol /glusterfs/samba
или
mount -t glusterfs /etc/glusterfs/glusterfs.vol /glusterfs/samba
Чтобы автоматизировать процесс монтирования при загрузке добавим в /etc/fstab следующую строчку:
/etc/glusterfs/glusterfs.vol /glusterfs/samba glusterfs defaults 0 0
4. Установим из репозитария Samba:
apt-get install samba
Приведем файл конфигурации /etc/samba/smb.conf к следующему виду:
[global]
workgroup = samba-cluster
server string = Ubuntu-Samba1 (на втором сервере Samba2)
security = user
map to guest = bad user
hosts allow = 192.168.1. 127.
load printers = no
log file = /var/log/samba/log.%m
max log size = 50
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192 SO_SNDBUF=8192
interfaces = eth0 lo0
dns proxy = no
[netlogon]
comment = Network Logon Service
path = /etc/samba/netlogon
guest ok = yes
writable = no
browseable = no
posix locking = no
oplocks = no
level2 oplocks = no
[IPC$]
path = /etc/samba/tmp
writable = no
browseable = no
hosts allow = 192.168.1.0/24
hosts deny = 0.0.0.0/0
posix locking = no
oplocks = no
level2 oplocks = no
[Public]
path = /glusterfs/samba/Public
comment = Общее хранилище
public = yes
writeable = yes
read list = guest
write list = guest
posix locking = no
oplocks = no
level2 oplocks = no
guest ok = yes
read only = no
hosts allow = 192.168.1.0/24
hosts deny = 0.0.0.0/0
[Home]
path = /glusterfs/samba/Home
comment = Домашние каталоги
public = yes
writeable = yes
read list = guest
write list = guest
posix locking = no
oplocks = no
level2 oplocks = no
guest ok = yes
read only = no
hosts allow = 192.168.1.0/24
hosts deny = 0.0.0.0/0
Настройки доступа к Samba можно конфигурировать в соответствии со своими предпочтениями, но блокировки требуются именно такие, иначе некоторые приложения могут работать с хранилищем некорректно.
1. Установим из репозитария серверную часть GlusterFS:
apt-get install glusterfs-server
Для организации хранилища будем использовать каталог /glusterfs/export. Теперь приведём файл конфигурации (/etc/glusterfs/glusterd.vol) к следующему виду:
volume posix
type storage/posix
option directory /glusterfs/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.1.2,192.168.1.3
subvolumes brick
end-volume
В качестве IP-адресов хостов клиентов не обязательно указывать точные адреса, можно использовать маски вида 192.168.1.* и перечислять сети и хосты через запятую.
Запускаем сервер GlusterFS:
/etc/init.d/glusterfs-server start
2. Установим из репозитария клиентскую часть GlusterFS:
aptitude install glusterfs-client
Файловое хранилище будем монтировать в каталог /glusterfs/samba& Теперь приведём файл конфигурации (/etc/glusterfs/glusterfs.vol) к следующему виду:
volume remote1
type protocol/client
option transport-type tcp
option remote-host 192.168.1.2 # ubuntu-samba1
option remote-subvolume brick
end-volume
volume remote2
type protocol/client
option transport-type tcp
option remote-host 192.168.1.3 # ubuntu-samba2
option remote-subvolume brick
end-volume
volume replicate
type cluster/replicate
subvolumes remote1 remote2
end-volume
volume writebehind
type performance/write-behind
option window-size 1MB
subvolumes replicate
end-volume
volume cache
type performance/io-cache
option cache-size 512MB
subvolumes writebehind
end-volume
3. Монтируем файловую систему GlusterFS в каталог /glusterfs/samba:
glusterfs -f /etc/glusterfs/glusterfs.vol /glusterfs/samba
или
mount -t glusterfs /etc/glusterfs/glusterfs.vol /glusterfs/samba
Чтобы автоматизировать процесс монтирования при загрузке добавим в /etc/fstab следующую строчку:
/etc/glusterfs/glusterfs.vol /glusterfs/samba glusterfs defaults 0 0
4. Установим из репозитария Samba:
apt-get install samba
Приведем файл конфигурации /etc/samba/smb.conf к следующему виду:
[global]
workgroup = samba-cluster
server string = Ubuntu-Samba1 (на втором сервере Samba2)
security = user
map to guest = bad user
hosts allow = 192.168.1. 127.
load printers = no
log file = /var/log/samba/log.%m
max log size = 50
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192 SO_SNDBUF=8192
interfaces = eth0 lo0
dns proxy = no
[netlogon]
comment = Network Logon Service
path = /etc/samba/netlogon
guest ok = yes
writable = no
browseable = no
posix locking = no
oplocks = no
level2 oplocks = no
[IPC$]
path = /etc/samba/tmp
writable = no
browseable = no
hosts allow = 192.168.1.0/24
hosts deny = 0.0.0.0/0
posix locking = no
oplocks = no
level2 oplocks = no
[Public]
path = /glusterfs/samba/Public
comment = Общее хранилище
public = yes
writeable = yes
read list = guest
write list = guest
posix locking = no
oplocks = no
level2 oplocks = no
guest ok = yes
read only = no
hosts allow = 192.168.1.0/24
hosts deny = 0.0.0.0/0
[Home]
path = /glusterfs/samba/Home
comment = Домашние каталоги
public = yes
writeable = yes
read list = guest
write list = guest
posix locking = no
oplocks = no
level2 oplocks = no
guest ok = yes
read only = no
hosts allow = 192.168.1.0/24
hosts deny = 0.0.0.0/0
Настройки доступа к Samba можно конфигурировать в соответствии со своими предпочтениями, но блокировки требуются именно такие, иначе некоторые приложения могут работать с хранилищем некорректно.