GNU/Linux >> Znalost Linux >  >> Cent OS

Vytvoření samostatného úložného serveru podobného NFS s GlusterFS na CentOS 5.4

Tento tutoriál ukazuje, jak nastavit samostatný úložný server na CentOS 5.4. 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 na obou systémech obsahoval následující dva řádky:

vi /etc/hosts
[...]192.168.0.100 server1.example.com server1192.168.0.101 klient1.example.com klient1[...] 

(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 není k dispozici jako balíček pro CentOS 5.4, proto si jej musíme vytvořit sami. Nejprve nainstalujeme předpoklady:

yum groupinstall 'Development Tools'
yum groupinstall 'Development Libraries'
yum install libibverbs-devel fuse-devel

Poté si stáhneme nejnovější verzi GlusterFS z http://www.gluster.org/download.php a sestavíme ji následovně:

cd /tmp
wget http://ftp.gluster.com/pub/gluster/glusterfs/2.0/LATEST/glusterfs-2.0.9.tar.gz
tar xvfz glusterfs-2.0.9.tar .gz
cd glusterfs-2.0.9
./configure

Na konci příkazu ./configure byste měli vidět něco takového:

[...]
Přehled konfigurace GlusterFS
============================
Klient FUSE         :yes
Infiniband slovesa   : ano
epoll IO multiplex : yes
Berkeley-DB        : ano
libglusterfsclient : ano
argp-samostatný      : ne
[[email protected] glusterfs-2.0.9]#

make &&make install
ldconfig

Poté zkontrolujte verzi GlusterFS (měla by být 2.0.9):

glusterfs --version

[[email protected] glusterfs-2.0.9]# glusterfs --version
glusterfs 2.0.9 vytvořeno 1. března 2010 15:34:50
Revize úložiště:v2.0.9
Autorská práva ( c) 2006-2009 Gluster Inc.
GlusterFS se dodává NAPROSTO ŽÁDNÁ ZÁRUKA.
Můžete redistribuovat kopie GlusterFS za podmínek GNU General Public License.
[[email protected] glusterfs-2.0.9]#

Dále vytvoříme několik adresářů:

mkdir /data/
mkdir /data/export
mkdir /data/export-ns
mkdir /etc/glusterfs

Nyní vytvoříme konfigurační soubor serveru GlusterFS /etc/glusterfs/glusterfsd.vol, který definuje, který adresář bude exportován (/data/export) a jaký klient se smí připojit (192.168.0.101 =client1.example.com):

vi /etc/glusterfs/glusterfsd.vol
volume posix typ úložiště/adresář voleb posix /data/exportend-volumevolume typ zámků funkce/volba zámků povinné-zámky na dílčích svazcích výkon typu cihla posixend-volumevolume /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é vytvoříme následující symbolický odkaz...

ln -s /usr/local/sbin/glusterfsd /sbin/glusterfsd

... a poté odkazy pro spuštění systému pro server GlusterFS a spusťte jej:

chkconfig --levels 35 glusterfsd na
/etc/init.d/glusterfsd start

3 Nastavení klienta GlusterFS

client1.example.com:

GlusterFS není k dispozici jako balíček pro CentOS 5.4, proto si jej musíme vytvořit sami. Nejprve nainstalujeme předpoklady:

yum groupinstall 'Development Tools'
yum groupinstall 'Development Libraries'
yum install libibverbs-devel fuse-devel

Poté načteme modul fuse kernel...

pojistka modprobe

... a vytvořte soubor /etc/rc.modules s následujícím obsahem, aby se modul fuse kernel automaticky načetl při každém spuštění systému:

vi /etc/rc.modules
pojistka modprobe

Nastavte soubor jako spustitelný:

chmod +x /etc/rc.modules 

Poté si stáhneme zdrojové kódy GlusterFS 2.0.9 (upozorňujeme, že se jedná o stejnou verzi, která je nainstalována na serveru!) a sestavíme GlusterFS následovně:

cd /tmp
wget http://ftp.gluster.com/pub/gluster/glusterfs/2.0/LATEST/glusterfs-2.0.9.tar.gz
tar xvfz glusterfs-2.0.9.tar .gz
cd glusterfs-2.0.9
./configure

Na konci příkazu ./configure byste měli vidět něco takového:

[...]
Přehled konfigurace GlusterFS
============================
Klient FUSE         :yes
Infiniband slovesa   : ano
epoll IO multiplex : yes
Berkeley-DB        : ano
libglusterfsclient : ano
argp-standalone    : ne

make &&make install
ldconfig

Poté zkontrolujte verzi GlusterFS (měla by být 2.0.9):

glusterfs --version

[[email protected] glusterfs-2.0.9]# glusterfs --version
glusterfs 2.0.9 vytvořeno 1. března 2010 15:58:06
Revize úložiště:v2.0.9
Autorská práva ( c) 2006-2009 Gluster Inc.
GlusterFS se dodává NAPROSTO ŽÁDNÁ ZÁRUKA.
Můžete redistribuovat kopie GlusterFS za podmínek GNU General Public License.
[[email protected] glusterfs-2.0.9]#

Poté vytvoříme následující dva adresáře:

mkdir /mnt/glusterfs
mkdir /etc/glusterfs

Dále vytvoříme soubor /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

[[e-mail chráněno] ~]# připojení
/dev/mapper/VolGroup00-LogVol00 na / typ ext3 (rw)
proc na /proc typ proc (rw)
sysfs na /sys typ sysfs (rw)
devpts na /dev/pts typu devpts (rw,gid=5,mode=620)
/dev/sda1 na /boot typu ext3 (rw)
tmpfs na / dev/shm typ tmpfs (rw)
žádný na /proc/sys/fs/binfmt_misc typ binfmt_misc (rw)
sunrpc na /var/lib/nfs/rpc_pipefs typ rpc_pipefs (rw)
glusterfs#/etc/glusterfs/glusterfs.vol na pojistce typu /mnt/glusterfs (rw,allow_other,default_permissions,max_read=131072)
[[email protected] ~]#

... a...

df -h

[[email protected] ~]# df -h
Systém souborů             Velikost  Použitá Využití % Připevněno na
/dev/mapper/VolGroup00-LogVol00 
 G9 9 G 9 9       2   %                                                    /dev/sda1 99m 13m 82m 14%/boot
tmpfs 187m 0 187m 0%/dev/shm
glusterfs#/etc/glusterfs/glusterfs.vol
28g 2,3g 25g 9%/ mnt/glusterfs
[[email protected] ~]#

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 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

  • GlusterFS:http://www.gluster.org/
  • CentOS:http://www.centos.org/

Cent OS
  1. Vytvoření samostatného úložného serveru podobného NFS pomocí GlusterFS 3.2.x na Ubuntu 12.10

  2. Vytvoření samostatného úložného serveru podobného NFS s GlusterFS na Debianu Lenny

  3. Vytvoření samostatného úložného serveru podobného NFS pomocí GlusterFS 3.0.x na Debian Squeeze

  1. Vytvoření samostatného úložného serveru podobného NFS s GlusterFS na CentOS 5.4

  2. Distribuované replikované úložiště napříč čtyřmi uzly úložiště s GlusterFS na CentOS 5.4

  3. Distribuované úložiště mezi čtyřmi uzly úložiště s GlusterFS na CentOS 5.4

  1. Pruhování přes čtyři uzly úložiště s GlusterFS na CentOS 5.4

  2. Vytvoření samostatného úložného serveru typu NFS pomocí GlusterFS 3.2.x na CentOS 6.3

  3. Pruhování přes čtyři uzly úložiště s GlusterFS 3.2.x na CentOS 6.3