Tutorial ini menunjukkan cara menyiapkan server penyimpanan mandiri di Debian Squeeze. Alih-alih NFS, saya akan menggunakan GlusterFS di sini. Sistem klien 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 dua sistem, server dan klien:
- server1.example.com:alamat IP 192.168.0.100 (server)
- client1.example.com:Alamat IP 192.168.0.101 (klien)
Kedua 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 di kedua sistem:
vi /etc/hosts
127.0.0.1 localhost.localdomain localhost192.168.0.100 server1.example.com server1192.168.0.101 client1.example.com client1# Baris berikut diinginkan untuk host berkemampuan IPv6::1 localhost ip6-localhost ip6-loopbackfe00::0 ip6-localnetff00::0 ip6-mcastprefixff02::1 ip6-allnodesff02::2 ip6-allrouters |
(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:
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.101 =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
penyimpanan tipe posix volume/direktori opsi posix /data/ekspor-volumevolume kunci jenis fitur/opsi kunci wajib-penguncian pada subvolume kinerja tipe bata posixend-volumevolume /io-threads option thread-count 8 subvolume locksend-volumevolume server type protocol/server option transport-type tcp option auth.addr.brick.allow 192.168.0.101 # Edit dan tambahkan daftar klien yang diizinkan yang dipisahkan koma alamat IP (nama) di sini 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.101,192.168.0.102).
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 remote type protocol/client option transport-type tcp option remote-host server1.example.com # dapat berupa IP atau opsi hostname remote-subvolume brickend -volumevolume writebehind type performance/write-behind option ukuran jendela 4MB subvolumes remoteend-volumevolume cache type performance/io-cache option ukuran cache 512MB subvolume writebehindend-volume |
Pastikan Anda menggunakan nama host server atau alamat IP yang benar di baris opsi remote-host!
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
29g 1.2g 27g 5% /mnt/glusterfs
[dilindungi email]:~#
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 pembagian dipasang setelah jaringan menyala.
4 Tautan
- GlusterFS:http://www.gluster.org/
- Debian:http://www.debian.org/