Tento tutoriál ukazuje, jak nastavit samostatný úložný server na Debian Squeeze. Místo NFS zde použiji GlusterFS. Klientský systém bude mít přístup k úložišti, jako by to byl místní souborový systém. GlusterFS je klastrovaný souborový systém schopný škálování na několik petabajtů. Sdružuje různé úložné bloky přes propojení Infiniband RDMA nebo TCP/IP do jednoho velkého paralelního síťového souborového systému. Úložné kostky mohou být vyrobeny z jakéhokoli běžného hardwaru, jako jsou servery x86_64 s SATA-II RAID a Infiniband HBA.
Neposkytuji žádnou záruku, že to pro vás bude fungovat!
1 předběžná poznámka
V tomto tutoriálu používám dva systémy, server a klienta:
- server1.example.com:IP adresa 192.168.0.100 (server)
- client1.example.com:IP adresa 192.168.0.101 (klient)
Oba systémy by měly být schopny přeložit název hostitele druhého systému. Pokud to nelze provést prostřednictvím DNS, měli byste upravit soubor /etc/hosts tak, aby v obou systémech vypadal následovně:
vi /etc/hosts
127.0.0.1 localhost.localdomain localhost192.168.0.100 server1.example.com server1192.168.0.101 klient1.example.com klient1# Následující řádky jsou žádoucí pro hostitele s podporou IPv6::1 localhost ip6-localhost ip6-loopbackfe00::0 ip6-localnetff00::0 ip6-mcastprefixff02::1 ip6-allnodesff02::2 ip6-allrouters |
(V následujícím nastavení je také možné použít IP adresy místo názvů hostitelů. Pokud dáváte přednost použití IP adres, nemusíte se starat o to, zda lze názvy hostitelů přeložit nebo ne.)
2 Nastavení serveru GlusterFS
server1.example.com:
GlusterFS je k dispozici jako balíček pro Debian Squeeze, takže jej můžeme nainstalovat následovně:
apt-get install glusterfs-server
Příkaz
glusterfs --version
by nyní měla zobrazovat verzi GlusterFS, kterou jste právě nainstalovali (v tomto případě 3.0.5):
[e-mail protected]:~# glusterfs --version
glusterfs 3.0.5 vytvořeno 13. července 2010 16:44:21
Revize úložiště:v3.0.5
Autorská práva (c) 2006-2009 Gluster Inc.
GlusterFS se dodává s ABSOLUTNĚ ŽÁDNOU ZÁRUKOU.
Můžete redistribuovat kopie GlusterFS za podmínek GNU General Public License.
[ e-mail chráněný]:~#
Dále vytvoříme několik adresářů:
mkdir /data/
mkdir /data/export
mkdir /data/export-ns
Nyní vytvoříme konfigurační soubor serveru GlusterFS /etc/glusterfs/glusterfsd.vol (nejprve vytvoříme zálohu původního souboru /etc/glusterfs/glusterfsd.vol), který definuje, který adresář se bude exportovat (/data/export) a jaký klient se může připojit (192.168.0.101 =klient1.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 typ storage/posix adresář možností /data/exportend-volumevolume locks type features/locks option required-locks on subvolumes posixend-volumevolume brick type performance /io-threads option thread-count 8 subvolumes locksend-volumevolume server type protocol/server option transport-type tcp option auth.addr.brick.allow 192.168.0.101 # Zde můžete upravit a přidat seznam povolených klientů oddělených IP adresami (jmény) subvolumes brickend-volume |
Upozorňujeme, že pro adresy IP je možné použít zástupné znaky (např. 192.168.*) a že můžete zadat více adres IP oddělených čárkou (např. 192.168.0.101, 192.168.0.102).
Poté spustíme server GlusterFS:
/etc/init.d/glusterfs-server start
3 Nastavení klienta GlusterFS
client1.example.com:
Na klienta můžeme nainstalovat klienta GlusterFS následovně:
apt-get install glusterfs-client
Poté vytvoříme následující adresář:
mkdir /mnt/glusterfs
Dále vytvoříme soubor /etc/glusterfs/glusterfs.vol (nejprve vytvoříme zálohu původního souboru /etc/glusterfs/glusterfs.vol):
cp /etc/glusterfs/glusterfs.vol /etc/glusterfs/glusterfs.vol_orig
cat /dev/null> /etc/glusterfs/glusterfs.vol
vi /etc/glusterfs/glusterfs.vol
volume remote type protocol/client option transport-type tcp option remote-host server1.example.com # může být IP nebo název hostitele volba remote-subvolume brickend -volumevolume writebehind type performance/write-behind option window-size 4 MB subvolumes remoteend-volumevolume cache type performance/io-cache option cache-size 512 MB subvolumes writebehindend-volume |
Ujistěte se, že používáte správný název hostitele serveru nebo IP adresu v řádku volby vzdáleného hostitele!
A je to! Nyní můžeme připojit souborový systém GlusterFS do /mnt/glusterfs jedním z následujících dvou příkazů:
glusterfs -f /etc/glusterfs/glusterfs.vol /mnt/glusterfs
nebo
mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs
Nyní byste měli vidět nový podíl ve výstupech...
mount
[email protected]:~# mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc na /proc typu proc (rw,noexec,nosuid,nodev)
sysfs na /sys typu sysfs (rw,noexec,nosuid,nodev)
udev na /dev typu tmpfs (rw,mode=0755)
tmpfs na /dev/shm typ tmpfs (rw,nosuid,nodev)
devpts na /dev/pts typ devpts (rw,noexec,nosuid,gid=5,mode =620)
fusectl na /sys/fs/fuse/connections type fusectl (rw)
/etc/glusterfs/glusterfs.vol na /mnt/glusterfs type fuse.glusterfs (rw,allow_other,default_permissions, max_read=131072)
[e-mail chráněný]:~#
... a...
df -h
[chráněno e-mailem]:~#df -h
Velikost souborového systému Používá se k dispozici /rw
udev 244m 100k 244m 1%/dev
tmpfs 249m 0 249m 0%/dev/shm
/etc/glusterfs/glusterfs.vol
29G 1,2G 27G 5% /mnt/glusterfs
[e-mail chráněn]:~#
Místo ručního připojování sdílené složky GlusterFS na klienta můžete upravit /etc/fstab tak, aby se sdílená složka připojila automaticky, když se klient zavede.
Otevřete /etc/fstab a připojte následující řádek:
vi /etc/fstab
[...]/etc/glusterfs/glusterfs.vol /mnt/glusterfs výchozí nastavení glusterfs,_netdev 0 0 |
Chcete-li otestovat, zda váš upravený /etc/fstab funguje, restartujte klienta:
restartovat
Po restartu byste měli najít podíl ve výstupech...
df -h
... a...
mount
Pokud úprava /etc/fstab nepomůže, zrušte změnu v /etc/fstab a přidejte tento řádek do /etc/rc.local (před řádek exit 0):
vi /etc/rc.local
[...]/bin/mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs[...] |
Tím je zajištěno, že se sdílená složka připojí po připojení sítě.
4 odkazy
- GlusterFS:http://www.gluster.org/
- Debian:http://www.debian.org/