Artikel ini menjelaskan cara menambahkan dan menghapus server GlusterFS dari larik server Anda.
Buat server baru
Gunakan nova boot
perintah dari artikel sebelumnya untuk membuat server bernama web3:
nova boot --image bb02b1a3-bc77-4d17-ab5b-421d89850fca --flavor performance1-4 web3
Anda juga dapat menggunakan Panel Kontrol Cloud Rackspace untuk membuat server baru.
Tambahkan server ke jaringan kustom Rackspace
Di artikel sebelumnya, Anda menambahkan jaringan kustom Rackspace.
-
Dapatkan Universal Unique Identifer (UUID) jaringan dengan menggunakan
nova
berikut perintah:nova network-list
-
Setelah Anda memiliki UUID, kaitkan host baru dengannya.
Ganti
UUID
dalam perintah berikut dengan UUID yang sebenarnya (misalnya,5492de89-1497-4aa0-96eb-bcdd55e1195c1
).web03
adalah nama host dari server yang ingin Anda tambahkan.nova network-associate-host UUID web03
Anda juga dapat menggunakan panel Rackspace Cloud Control untuk mengaitkan server dengan jaringan yang ada.
Setelah selesai, server baru harus memiliki alamat IP 192.168.0.3 pada antarmuka /dev/eth3
. Itu adalah alamat yang digunakan GlusterFS untuk berkomunikasi dengan server lain.
Format partisi dan instal GlusterFS
Gunakan langkah-langkah berikut untuk memformat partisi server dan menginstal GlusterFS:
-
Gunakan Secure Shell (SSH) untuk masuk ke server.
-
Dengan menggunakan instruksi dari artikel sebelumnya, instal GlusterFS dan format
bricks
partisi sebagai berikut:apt-get update apt-get install -y glusterfs-server glusterfs-client apt-get install -y xfsprogs mkfs.xfs /dev/xvde1 mkdir /srv/.bricks echo /dev/xvde1 /srv/.bricks xfs rw 0 1 >> /etc/fstab mount /srv/.bricks ufw allow in on eth2
Masukkan bata baru ke dalam volume Gluster
-
Gunakan SSH untuk masuk ke salah satu
web01
atauweb02
. -
Perintah berikut menginstruksikan volume GlusterFS untuk mempercayai server baru:
root@web02 :~# gluster peer probe 192.168.0.3 peer probe: success
-
Tambahkan batu bata ke dalam volume dengan menggunakan perintah berikut:
root@web02 :~# gluster volume add-brick www replica 3 192.168.0.3:/srv/.bricks/www volume add-brick: success
Perintah tersebut mencakup bagian-bagian berikut:
gluster
- Perintahnya adalah untuk GlusterFS.volume
- Perintah terkait dengan volume.add-brick
- Anda menambahkan batu bata ke volume.www
- Ini adalah nama volumenya.replica 3
- Setelah Anda menambahkan bata ini, volume menyimpan setidaknya tiga salinan dari setiap file, satu salinan per bata, dan dalam hal ini, satu salinan per server (karena hanya satu bata yang ada di setiap server).192.168.0.3:/srv/.bricks/www
- Bagian dari perintah ini adalah alamat IP server Gluster, diikuti dengan jalur absolut ke tempat penyimpanan data bata.
Strategi penyimpanan volume
GlusterFS menawarkan jenis strategi penyimpanan volume berikut:
- Didistribusikan - Satu file ada di satu bata, dan file berikutnya ada di bata berikutnya. Strategi ini memberi Anda lebih banyak ruang karena volume Anda adalah jumlah dari semua batu bata.
- Direplikasi (Direkomendasikan ) - Setiap file disalin ke setiap server.
- Bergaris - File dipotong menjadi potongan-potongan, dan satu potongan ditulis ke bata pertama, satu potongan ditulis ke bata kedua, dan seterusnya.
Anda juga dapat menggabungkan strategi, misalnya direplikasi dan didistribusikan, seperti yang diilustrasikan dalam contoh berikut:
gluster volume create www replica 2 transport tcp
192.168.0.1:/srv/.bricks/www 192.168.0.2:/srv/.bricks/www
192.168.0.3:/srv/.bricks/www 192.168.0.4:/srv/.bricks/www
Nomor replika adalah jumlah batu bata yang membentuk satu set replika, yaitu, menyimpan salinan lengkap file. Pada contoh sebelumnya 192.168.0.1
dan 192.168.0.2
simpan salinan lengkap file, seperti halnya 192.168.0.3
dan 192.168.0.4
. Urutan bata itu penting. Jika Anda memesannya 1,3,2,4, maka 1 dan 3 dan 2 dan 4 akan menyimpan file lengkap. Jika 1 dan 2 turun, Anda akan kehilangan setengah dari file Anda dan memiliki dua salinan dari setengah lainnya.
Menggabungkan volume yang direplikasi dan didistribusikan memberi Anda sedikit kecepatan ekstra, dan lebih banyak ruang sebagai ganti keamanan data.
Kombinasi volume bergaris dan volume yang direplikasi direkomendasikan hanya jika Anda memiliki file yang lebih besar dari batu bata, atau banyak file besar yang menjalani banyak operasi IO.
Melihat status server
Perintah berikut membantu Anda mengetahui lebih lanjut tentang apa yang terjadi di cluster Anda. Anda akan menggunakan perintah ini di artikel GlusterFS selanjutnya.
status rekan
Jika Anda menjalankan perintah berikut dari server mana pun, ini menunjukkan semua server rekan yang diketahuinya:
root@web01:~# gluster peer status
Number of Peers: 2
Hostname: 192.168.0.3
Uuid: ba502dc2-447f-466a-a732-df989e71b551
State: Peer in Cluster (Connected)
Hostname: 192.168.0.2
Uuid: 56e02356-d2c3-4787-ae25-6b46e867751a
State: Peer in Cluster (Connected)
status volume
Perintah berikut adalah perintah pemecahan masalah yang berguna. Ini memberikan informasi tentang semua volume dan tugas GlusterFS yang diantrekan dan sedang berlangsung.
root@web03:~# gluster volume status
Status of volume: www
Gluster process Port Online Pid
------------------------------------------------------------------------------
Brick 192.168.0.2:/srv/.bricks/www 49152 Y 13673
Brick 192.168.0.1:/srv/.bricks/www 49152 Y 10249
Brick 192.168.0.3:/srv/.bricks/www 49153 Y 13783
NFS Server on localhost 2049 Y 13793
Self-heal Daemon on localhost N/A Y 13800
NFS Server on 192.168.0.2 2049 Y 13900
Self-heal Daemon on 192.168.0.2 N/A Y 13907
NFS Server on 192.168.0.1 2049 Y 10286
Self-heal Daemon on 192.168.0.1 N/A Y 10293
There are no active volume tasks
Lepaskan bata
Anda dapat mengecilkan volume sesuai kebutuhan saat cluster sedang online dan tersedia. Gunakan perintah berikut untuk menghapus bata:
# gluster volume remove-brick <volName> <brickName> start
Menjalankan remove-brick
dengan start
opsi secara otomatis memicu operasi penyeimbangan ulang untuk memigrasikan data dari bata yang dihapus ke volume lainnya.
Contoh berikut menghilangkan bata 2:
root@web01:~# gluster volume remove-brick www replica 2 192.168.0.2:/srv/.bricks/www start
Removing brick(s) can result in data loss. Do you want to Continue? (y/n) y
volume remove-brick commit force: success
Perintah ini memberitahu GlusterFS bahwa www
volume sekarang hanya akan menyimpan 2 salinan dari setiap file. Ini memperingatkan Anda bahwa Anda mungkin kehilangan data dan meminta Anda untuk melanjutkan.
Jika Anda ingin menghapus batu bata pada volume terdistribusi, Anda harus menjalankan perintah berikut sebagai gantinya:
root@web01:~# gluster volume remove-brick www 192.168.0.2:/srv/.bricks/www start
Anda dapat melihat status remove-brick
operasi dengan menggunakan perintah berikut:
root@web01:~# watch gluster volume remove-brick www replica 2 192.168.0.2:/srv/.bricks/www status
Tambahkan kembali bata
Bagian ini menjelaskan cara menambahkan kembali bata.
Coba tambahkan web02 kembali ke volume, sebagai berikut:
root@web02:~# gluster volume add-brick www replica 3 192.168.0.2:/srv/.bricks/www
volume add-brick: failed:
Itu gagal. Lihat log di web02 untuk melihat mengapa perintah gagal:
root@web02:/srv/.bricks# tail /var/log/glusterfs/*log -f | grep E
[2014-05-25 00:19:04.954410] I [input.c:36:cli_batch] 0-: Exiting with: 0
[2014-05-25 00:19:12.958620] I [input.c:36:cli_batch] 0-: Exiting with: 0
[2014-05-25 00:40:46.923747] E [glusterd-utils.c:5377:glusterd_is_path_in_use] 0-management: /srv/.bricks/www or a prefix of it is already part of a volume
[2014-05-25 00:40:46.923789] E [glusterd-op-sm.c:3719:glusterd_op_ac_stage_op] 0-management: Stage failed on operation 'Volume Add brick', Status : -1
Masalahnya adalah /srv/.bricks/www
masih berisi data saat web02 menjadi anggota volume.
Anda membutuhkan tempat yang bersih untuk menyimpan data. Cara termudah untuk membersihkannya adalah dengan menghapus semua data dengan menggunakan perintah berikut:
root@web02:~# rm -rf /srv/.bricks/www
Peringatan :Berhati-hatilah untuk melakukan tindakan ini pada host yang benar (web02, yang saat ini volumenya keluar). Jika Anda membuat kesalahan, artikel berikutnya menunjukkan cara memulihkan. Tindakan alternatif adalah memindahkan www
menyingkir, atau menambahkan bata menggunakan direktori lain, seperti www2
.
Sekarang setelah Anda memiliki lokasi yang bersih untuk menyimpan batu bata, penambahan batu bata berhasil:
root@web01:/srv# gluster volume add-brick www replica 3 192.168.0.2:/srv/.bricks/www
volume add-brick: success
Langkah selanjutnya
- Cara memulihkan dari server yang gagal dalam larik GlusterFS