Tento tutoriál ukazuje, jak nastavit samostatný úložný server na Debian Wheezy. 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 localhost 192.168.0.100 server1.example.com server1 192.168.0.101 client1.example.com client1 # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::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 Wheezy, takže jej můžeme nainstalovat následovně:
apt-get install glusterfs-server
Příkaz
glusterfsd --version
by nyní měla zobrazovat verzi GlusterFS, kterou jste právě nainstalovali (v tomto případě 3.2.7):
[e-mail protected]:~# glusterfsd --version
glusterfs 3.2.7 vytvořeno 12. listopadu 2012 19:30:08
Revize úložiště:git://git.gluster.com/glusterfs.git
Autorská práva (c) 2006-2011 Gluster Inc.
GlusterFS se nevztahuje ABSOLUTNĚ ŽÁDNÁ ZÁRUKA.
Můžete redistribuovat kopie GlusterFS za podmínek GNU General Public License.
[e-mail chráněn]:~#
Pokud používáte bránu firewall, ujistěte se, že jsou na server1.example.com otevřené porty TCP 111, 24007, 24008, 24009-(24009 + počet bloků na všech svazcích).
Dále vytvoříme sdílenou složku s názvem testvol na localhost (=server1) v adresáři /data (bude vytvořen, pokud neexistuje):
gluster volume create testvol server1.example.com:/data
[email protected]:~# gluster volume create testvol server1.example.com:/data
Vytvoření svazku testvol bylo úspěšné. Pro přístup k datům spusťte svazek.
[e-mail chráněn]:~#
Spusťte hlasitost:
gluster volume start testvol
Je možné, že výše uvedený příkaz vám říká, že akce nebyla úspěšná:
[email protected]:~# gluster volume start testvol
Spuštění objemu testvol se nezdařilo
[email protected]:~#
Stav svazku můžete zkontrolovat příkazem
gluster volume info
[email protected]:~# gluster volume info
Název svazku:testvol
Typ:Distribuovat
Stav:Spuštěno
Počet cihel:1
Typ dopravy:tcp
Kombiny:
Brick1:server1. example.com:/data
[e-mail chráněný]:~#
Pokud vám hlásí, že je hlasitost spuštěna, je vše v pořádku, jinak jej spusťte znovu.
Ve výchozím nastavení se ke svazku mohou připojit všichni klienti. Pokud chcete udělit přístup pouze k client1.example.com (=192.168.0.101), spusťte:
gluster volume set testvol auth.allow 192.168.0.101
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).
Informace o svazku by nyní měly zobrazovat aktualizovaný stav:
gluster volume info
[email protected]:~# gluster volume info
Název svazku:testvol
Typ:Distribuovat
Stav:Spuštěno
Počet cihel:1
Typ dopravy:tcp
Kombiny:
Brick1:server1. example.com:/data
Překonfigurované možnosti:
auth.allow:192.168.0.101
[e-mail chráněný]:~#
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
A je to! Nyní můžeme připojit souborový systém GlusterFS do /mnt/glusterfs pomocí následujícího příkazu:
mount.glusterfs server1.example.com:/testvol /mnt/glusterfs
Nyní byste měli vidět nový podíl ve výstupech...
mount
[email protected]:~# mount
sysfs na /sys typu sysfs (rw,nosuid,nodev,noexec,relatime)
proc na /proc typu proc (rw,nosuid,nodev,noexec,relatime)
udev na /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=126813,mode=755)
devpts na /dev/pts typu devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs na /spuštění typu tmpfs (rw,nosuid,noexec,relatime,size=102704k,mode=755)
/dev/mapper/server1-root on / zadejte ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs na /run/lock typ tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k )
tmpfs na /run/shm typu tmpfs (rw,nosuid,nodev,noexec,relatime,size=205400k)
/dev/sda1 na /boot typu ext2 (rw,relatime,errors=continue)
rpc_pipefs na /var/lib/nfs/rpc_pipefs typu rpc_pipefs (rw,relatime)
server1.example.com:/testvol na /mnt/glusterfs typu fuse.glusterfs (rw,relatime,user_id=0 ,group_id=0,default_permissions,allow_other,max_read=131072)
fusectl na /sys/fs/fu typ se/connections fusectl (rw,relatime)
[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 TMPFS 101M 240K 101M 1%/RUN
/Dev/Mapper/Server1-Root 29G 1,2G 26G 5%/
TMPFS 5,0M 0 5,0M 0%/RUN/LOCK
TMPFS 201M 0 201 mil. 0 % /běh/shm
/dev/sda1 228 M 18 mil. 199 mil. 9 % /spouštěcí
server1.example.com:/testvol 1 , 29G G nt /5 %br 29G G > chráněno]:~#
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
[...] server1.example.com:/testvol /mnt/glusterfs glusterfs defaults,_netdev 0 0 |
Chcete-li otestovat, zda váš upravený /etc/fstab funguje, restartujte klienta:
reboot
Po restartu byste měli najít podíl ve výstupech...
df -h
... a...
mount
4 odkazy
- GlusterFS:http://www.gluster.org/
- Dokumentace GlusterFS 3.2:http://download.gluster.com/pub/gluster/glusterfs/3.2/Documentation/AG/html/index.html
- Debian:http://www.debian.org/