GNU/Linux >> Belajar Linux >  >> Linux

Tambahkan dan hapus server GlusterFS

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.

  1. Dapatkan Universal Unique Identifer (UUID) jaringan dengan menggunakan nova berikut perintah:

    nova network-list
    
  2. 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:

  1. Gunakan Secure Shell (SSH) untuk masuk ke server.

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

  1. Gunakan SSH untuk masuk ke salah satu web01 atau web02 .

  2. Perintah berikut menginstruksikan volume GlusterFS untuk mempercayai server baru:

    root@web02 :~# gluster peer probe 192.168.0.3
    peer probe: success
    
  3. 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

Linux
  1. FAQ Server Cloud

  2. Fitur baru di Server Cloud Tujuan Umum dan yang dioptimalkan untuk pekerjaan

  3. Pulihkan dari server yang gagal dalam array GlusterFS

  1. Xorg, X11, Wayland? Server Tampilan Linux Dan Protokol Dijelaskan

  2. Cara menambah dan menghapus domain di Plesk

  3. arsitektur server NTP

  1. 16 Server Syslog Terbaik untuk Linux dan Windows

  2. Cara Membuat dan Menambahkan Volume EBS di AWS Instance (EC2)

  3. Menambah dan menghapus peran dan fitur di Windows Server