GNU/Linux >> Belajar Linux >  >> Debian

Penyimpanan Ketersediaan Tinggi Dengan GlusterFS 3.0.x Pada Debian Squeeze - Replikasi File Otomatis Di Dua Server Penyimpanan

Tutorial ini menunjukkan cara menyiapkan penyimpanan ketersediaan tinggi dengan dua server penyimpanan (Debian Squeeze) yang menggunakan GlusterFS. Setiap server penyimpanan akan menjadi cermin dari server penyimpanan lainnya, dan file akan direplikasi secara otomatis di kedua server penyimpanan. Sistem klien (Debian Squeeze juga) akan dapat mengakses penyimpanan seolah-olah itu adalah sistem file lokal. GlusterFS adalah sistem file berkerumun yang mampu menskalakan hingga beberapa peta-byte. Ini menggabungkan berbagai bata penyimpanan melalui Infiniband RDMA atau TCP/IP interkoneksi ke dalam satu sistem file jaringan paralel yang besar. Bata penyimpanan dapat dibuat dari perangkat keras komoditas apa pun seperti server x86_64 dengan RAID SATA-II dan HBA Infiniband.

Saya tidak memberikan jaminan apa pun bahwa ini akan berhasil untuk Anda!

1 Catatan Awal

Dalam tutorial ini saya menggunakan tiga sistem, dua server dan satu klien:

  • server1.example.com:alamat IP 192.168.0.100 (server)
  • server2.example.com:alamat IP 192.168.0.101 (server)
  • client1.example.com:alamat IP 192.168.0.102 (klien)

Ketiga sistem harus dapat menyelesaikan nama host sistem lain. Jika ini tidak dapat dilakukan melalui DNS, Anda harus mengedit file /etc/hosts sehingga terlihat seperti berikut pada ketiga sistem:

vi /etc/hosts
127.0.0.1 localhost.localdomain localhost192.168.0.100 server1.example.com server1192.168.0.101 server2.example.com server2192.168.0.102 client1.example.com client1# Baris berikut diinginkan untuk host yang mendukung IPv6::1 localhost ip6-localhost ip6-loopbackfe00::0 ip6-localnetff00::0 ip6-mcastprefixff02::1 ip6-allnodesff02::2 ip6-allroutersff02 ::3 ip6-allhosts

(Dimungkinkan juga untuk menggunakan alamat IP alih-alih nama host dalam pengaturan berikut. Jika Anda lebih suka menggunakan alamat IP, Anda tidak perlu peduli apakah nama host dapat diselesaikan atau tidak.)

2 Menyiapkan Server GlusterFS

server1.example.com/server2.example.com:

GlusterFS tersedia sebagai paket untuk Debian Squeeze, oleh karena itu kita dapat menginstalnya sebagai berikut:

apt-get install glusterfs-server

Perintah

glusterfs --version

sekarang harus menunjukkan versi GlusterFS yang baru saja Anda instal (3.0.5 dalam hal ini):

[dilindungi email]:~# glusterfs --version
glusterfs 3.0.5 dibuat pada 13 Juli 2010 16:44:21
Revisi repositori:v3.0.5
Hak Cipta (c) 2006-2009 Gluster Inc.
GlusterFS hadir dengan TANPA JAMINAN BENAR-BENAR.
Anda dapat mendistribusikan kembali salinan GlusterFS di bawah persyaratan Lisensi Publik Umum GNU.
[ email dilindungi]:~#

Selanjutnya kita buat beberapa direktori:

mkdir /data/
mkdir /data/ekspor
mkdir /data/ekspor-ns

Sekarang kita membuat file konfigurasi server GlusterFS /etc/glusterfs/glusterfsd.vol (kita membuat backup dari file /etc/glusterfs/glusterfsd.vol asli terlebih dahulu) yang menentukan direktori mana yang akan diekspor (/data/ekspor) dan apa klien diizinkan untuk terhubung (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 penyimpanan/direktori opsi posix /data/ekspor-volumevolume kunci jenis fitur/kunci subvolume posixend-volumevolume bata opsi kinerja/io-utas thread-count 8 subvolume locksend-volumevolume jenis server protokol/opsi server jenis transport opsi tcp auth.addr.brick.allow 192.168.0.102 subvolume brickend-volume

Harap dicatat bahwa dimungkinkan untuk menggunakan wildcard untuk alamat IP (seperti 192.168.*) dan Anda dapat menentukan beberapa alamat IP yang dipisahkan dengan koma (misalnya 192.168.0.102,192.168.0.103).

Setelah itu kita mulai server GlusterFS:

/etc/init.d/glusterfs-server start

3 Menyiapkan Klien GlusterFS

client1.example.com:

Pada klien, kita dapat menginstal klien GlusterFS sebagai berikut:

apt-get install glusterfs-client

Kemudian kita buat direktori berikut:

mkdir /mnt/glusterfs

Selanjutnya kita buat file /etc/glusterfs/glusterfs.vol (kita backup dulu file /etc/glusterfs/glusterfs.vol yang asli):

cp /etc/glusterfs/glusterfs.vol /etc/glusterfs/glusterfs.vol_orig
cat /dev/null> /etc/glusterfs/glusterfs.vol
vi /etc/glusterfs/glusterfs.vol

volume remote1 tipe protokol/opsi klien opsi transport-type tcp opsi remote-host server1.example.com opsi remote-subvolume brickend-volume volume remote2 tipe protokol/ opsi klien tipe transport opsi tcp server host jarak jauh2.example.com opsi subvolume brickend-volume volume replika tipe cluster/replika subvolume jarak jauh1 remote2end-volume volume writebehind type performance/write-behind option ukuran jendela subvolume 1MB subvolume replicaend-volumevolume tipe cache opsi kinerja/io-cache ukuran cache 512MB subvolume writebehindend-volume

Pastikan Anda menggunakan nama host server atau alamat IP yang benar pada opsi baris host jarak jauh!

Itu dia! Sekarang kita dapat memasang sistem file GlusterFS ke /mnt/glusterfs dengan salah satu dari dua perintah berikut:

glusterfs -f /etc/glusterfs/glusterfs.vol /mnt/glusterfs

atau

mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs

Anda sekarang akan melihat bagian baru di output...

pasang

[dilindungi email]:~# mount
/dev/sda1 on / ketik ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw ketik tmpfs (rw,nosuid,mode=0755)
proc di /proc ketik proc (rw,noexec,nosuid,nodev)
sysfs di /sys ketik sysfs (rw,noexec,nosuid,nodev)
udev di /dev ketik tmpfs (rw,mode=0755)
tmpfs aktif /dev/shm ketik tmpfs (rw,nosuid,nodev)
devpts aktif /dev/pts ketik devpts (rw,noexec,nosuid,gid=5,mode =620)
fusectl aktif /sys/fs/fuse/connections ketik fusectl (rw)
/etc/glusterfs/glusterfs.vol on /mnt/glusterfs ketik fuse.glusterfs (rw,allow_other,default_permissions, max_read=131072)
[dilindungi email]:~#

... dan...

df -h

[email protected]:~# df -h
Filesystem           Ukuran  Digunakan Avail Use% Dipasang di
/dev/sda1            29G  778M   27G     2     2f    3% /rw
udev 244m 100k 244m 1%/dev
tmpfs 249m 0 249m 0%/dev/shm
/etc/glusterfs/glusterfs.vol
18g 848m 16g 5%/ mnt/glusterfs
[dilindungi email]:~#

(server1.example.com dan server2.example.com masing-masing memiliki ruang 18GB untuk sistem file GlusterFS, tetapi karena data dicerminkan, klien tidak melihat 36GB (2 x 18GB), tetapi hanya 18GB.)

Alih-alih memasang bagian GlusterFS secara manual pada klien, Anda dapat memodifikasi /etc/fstab sehingga bagian tersebut dipasang secara otomatis saat klien melakukan booting.

Buka /etc/fstab dan tambahkan baris berikut:

vi /etc/fstab 
[...]/etc/glusterfs/glusterfs.vol /mnt/glusterfs glusterfs default,_netdev 0 0

Untuk menguji apakah /etc/fstab Anda yang dimodifikasi berfungsi, reboot klien:

boot ulang 

Setelah reboot, Anda akan menemukan share di output...

df -h 

... dan...

pasang

Jika memodifikasi /etc/fstab tidak membantu, batalkan perubahan Anda ke /etc/fstab dan tambahkan baris ini ke /etc/rc.local sebagai gantinya (sebelum baris exit 0):

vi /etc/rc.local
[...]/bin/mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs[...] 

Ini memastikan share dipasang setelah jaringan menyala.

4 Pengujian

Sekarang mari kita buat beberapa file uji pada share GlusterFS:

client1.example.com:

sentuh /mnt/glusterfs/test1
sentuh /mnt/glusterfs/test2

Sekarang mari kita periksa direktori /data/export di server1.example.com dan server2.example.com. File test1 dan test2 harus ada di setiap node:

server1.example.com/server2.example.com:

ls -l /data/ekspor 

[dilindungi email]:~# ls -l /data/export
total 0
-rw-r--r-- 1 root root 0 29-03-29 14:51 test1
-rw-r--r-- 1 root root 0 29-03-2012 14:51 test2
[email protected]:~#

Sekarang kita mematikan server1.example.com dan menambahkan/menghapus beberapa file pada share GlusterFS di client1.example.com.

server1.example.com:

shutdown -h sekarang

client1.example.com:

sentuh /mnt/glusterfs/test3
sentuh /mnt/glusterfs/test4
rm -f /mnt/glusterfs/test2

Perubahan harus terlihat di direktori /data/export di server2.example.com:

server2.example.com:

ls -l /data/ekspor

[dilindungi email]:~# ls -l /data/export
total 0
-rw-r--r-- 1 root root 0 29-03-29 14:51 test1
-rw-r--r-- 1 root root 0 29-03-2012 14:52 test3
-rw-r--r-- 1 root root 0 29-03-2012 14:52 test4
[dilindungi email]:~#

Mari kita boot server1.example.com lagi dan lihat direktori /data/export:

server1.example.com:

ls -l /data/ekspor

[dilindungi email]:~# ls -l /data/export
total 0
-rw-r--r-- 1 root root 0 29-03-29 14:51 test1
-rw-r--r-- 1 root root 0 29-03-2012 14:51 test2
[email protected]:~#

Seperti yang Anda lihat, server1.example.com tidak melihat perubahan yang terjadi saat down. Ini mudah diperbaiki, yang perlu kita lakukan hanyalah menjalankan perintah baca pada bagian GlusterFS di client1.example.com, mis.:

client1.example.com:

ls -l /mnt/glusterfs/

[dilindungi email]:~# ls -l /mnt/glusterfs/
total 8
-rw-r--r-- 1 root root 0 29-03-2012 14:51 test1
-rw-r--r-- 1 root root 0 29-03-2012 14:52 test3
-rw-r--r-- 1 root root 0 29-03-2012 14:52 test4
[dilindungi email]:~#

Sekarang lihat kembali direktori /data/export di server1.example.com, dan Anda akan melihat bahwa perubahan telah direplikasi ke node tersebut:

server1.example.com:

ls -l /data/ekspor 

[dilindungi email]:~# ls -l /data/export
total 8
-rw-r--r-- 1 root root 0 29-03-29 14:51 test1
-rw-r--r-- 1 root root 0 29-03-2012 14:52 test3
-rw-r--r-- 1 root root 0 29-03-2012 14:52 test4
[dilindungi email]:~#

  • GlusterFS:http://www.gluster.org/
  • Debian:http://www.debian.org/

Debian
  1. Replikasi File Otomatis (Cermin) Di Dua Server Penyimpanan Dengan GlusterFS 3.2.x Di Ubuntu 12.10

  2. Penyimpanan Ketersediaan Tinggi Dengan GlusterFS Di Debian Lenny - Replikasi File Otomatis Di Dua Server Penyimpanan

  3. Penyimpanan Terdistribusi Di Empat Node Penyimpanan Dengan GlusterFS Di Debian Lenny

  1. Penyimpanan Replika Terdistribusi Di Empat Node Penyimpanan Dengan GlusterFS Di Debian Lenny

  2. Striping Di Empat Node Penyimpanan Dengan GlusterFS Di Debian Lenny

  3. Membuat Server Penyimpanan Mandiri Seperti NFS Dengan GlusterFS Di Debian Lenny

  1. Membuat Server Penyimpanan Mandiri Seperti NFS Dengan GlusterFS 3.0.x Pada Debian Squeeze

  2. Penyimpanan Ketersediaan Tinggi Dengan GlusterFS 3.0.x Pada Debian Squeeze - Replikasi File Otomatis Di Dua Server Penyimpanan

  3. Penyimpanan Ketersediaan Tinggi Dengan GlusterFS Pada CentOS 5.4 - Replikasi File Otomatis (Mirror) Di Dua Server Penyimpanan