Tutorial ini menunjukkan cara menyiapkan server penyimpanan mandiri di Debian Wheezy. 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 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 |
(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 Wheezy, oleh karena itu kita dapat menginstalnya sebagai berikut:
apt-get install glusterfs-server
Perintah
glusterfsd --version
sekarang harus menunjukkan versi GlusterFS yang baru saja Anda instal (3.2.7 dalam hal ini):
[dilindungi email]:~# glusterfsd --version
glusterfs 3.2.7 dibuat pada 12 Nov 2012 19:30:08
Revisi repositori:git://git.gluster.com/glusterfs.git
Hak Cipta (c) 2006-2011 Gluster Inc.
GlusterFS BENAR-BENAR TIDAK ADA JAMINAN.
Anda dapat mendistribusikan kembali salinan GlusterFS berdasarkan persyaratan Lisensi Publik Umum GNU.
[dilindungi email]:~#
Jika Anda menggunakan firewall, pastikan port TCP 111, 24007, 24008, 24009-(24009 + jumlah brick di semua volume) terbuka di server1.example.com.
Selanjutnya kita buat share bernama testvol pada localhost (=server1) di direktori /data (ini akan dibuat jika belum ada):
gluster volume create testvol server1.example.com:/data
[email protected]:~# gluster volume create testvol server1.example.com:/data
Pembuatan volume testvol telah berhasil. Harap mulai volume untuk mengakses data.
[email protected]:~#
Mulai volume:
gluster volume start testvol
Ada kemungkinan bahwa perintah di atas memberitahu Anda bahwa tindakan itu tidak berhasil:
[email protected]:~# gluster volume start testvol
Memulai volume testvol tidak berhasil
[email protected]:~#
Anda dapat memeriksa status volume dengan perintah
gluster volume info
[email protected]:~# gluster volume info
Nama Volume:testvol
Jenis:Distribusikan
Status:Dimulai
Jumlah Batu Bata:1
Jenis Pengangkutan:tcp
Batu Bata:
Brick1:server1. example.com:/data
[email protected]:~#
Jika itu memberi tahu Anda bahwa volume dimulai, semuanya baik-baik saja, jika tidak, mulai lagi.
Secara default, semua klien dapat terhubung ke volume. Jika Anda hanya ingin memberikan akses ke client1.example.com (=192.168.0.101), jalankan:
gluster volume set testvol auth.allow 192.168.0.101
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).
Info volume sekarang harus menunjukkan status yang diperbarui:
gluster volume info
[email protected]:~# gluster volume info
Nama Volume:testvol
Jenis:Distribusikan
Status:Dimulai
Jumlah Batu Bata:1
Jenis Pengangkutan:tcp
Batu Bata:
Brick1:server1. example.com:/data
Opsi Dikonfigurasi Ulang:
auth.allow:192.168.0.101
[email protected]:~#
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
Itu dia! Sekarang kita dapat me-mount filesystem GlusterFS ke /mnt/glusterfs dengan perintah berikut:
mount.glusterfs server1.example.com:/testvol /mnt/glusterfs
Anda sekarang akan melihat bagian baru di output...
mount
[dilindungi email]:~# pasang
sysfs di /sys ketik sysfs (rw,nosuid,nodev,noexec,relatime)
proc di /proc ketik proc (rw,nosuid,nodev,noexec,relatime)
udev di /dev ketik devtmpfs (rw,relatime,size=10240k,nr_inodes=126813,mode=755)
devpts di /dev/pts ketik devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs aktif /jalankan ketik tmpfs (rw,nosuid,noexec,relatime,size=102704k,mode=755)
/dev/mapper/server1-root aktif / ketik ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs on /run/lock ketik tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k )
tmpfs pada /run/shm ketik tmpfs (rw,nosuid,nodev,noexec,relatime,size=205400k)
/dev/sda1 pada /boot ketik ext2 (rw,relatime,errors=continue)
rpc_pipefs pada /var/lib/nfs/rpc_pipefs ketik rpc_pipefs (rw,relatime)
server1.example.com:/testvol pada /mnt/glusterfs ketik fuse.glusterfs (rw,relatime,user_id=0 ,group_id=0,default_permissions,allow_other,max_read=131072)
fusectl aktif /sys/fs/fu se/connections type fusectl (rw,relatime)
[email protected]:~#
... dan...
df -h
[Email Dilindungi]:~#df -h
Ukuran sistem file digunakan tersedia%dipasang pada
rootfs 29g 1.2g 26g 5% /
udev 10m 0 10m 0% /dev
TMPFS 101M 240K 101M 1%/Jalankan
/dev/mapper/server1-root 29g 1.2g 26g 5%/
tmpfs 5.0m 0 5.0m 0%/run/lock
TMPFS 201m 0 201M 0% /run/shm
/dev/sda1 228M 18M 199M 9% /boot
server1.example.com:/testvol 29G 1.2G > /m dilindungi]:~#
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
[...] server1.example.com:/testvol /mnt/glusterfs glusterfs defaults,_netdev 0 0 |
Untuk menguji apakah /etc/fstab Anda yang dimodifikasi berfungsi, reboot klien:
reboot
Setelah reboot, Anda akan menemukan share di output...
df -h
... dan...
mount
4 Tautan
- GlusterFS:http://www.gluster.org/
- Dokumentasi GlusterFS 3.2:http://download.gluster.com/pub/gluster/glusterfs/3.2/Documentation/AG/html/index.html
- Debian:http://www.debian.org/