GNU/Linux >> Belajar Linux >  >> Linux

Pulihkan dari server yang gagal dalam array GlusterFS

Bagian sebelumnya

Tambahkan dan hapus server GlusterFS

Artikel ini menunjukkan cara-cara berikut untuk memulihkan ketika satu server gagal:

  • Tambahkan server baru, dengan alamat IP baru, untuk menggantikannya (perbaikan yang tidak terlalu menguras tenaga).

  • Tambahkan server baru tetapi pertahankan alamat IP dari server yang gagal (perbaikan yang lebih padat karya).

Setelah menyelesaikan artikel sebelumnya, Anda harus memiliki array GlusterFS dengan setidaknya dua node dan mengetahui cara menambah dan menghapus node.

Prasyarat

Untuk tujuan artikel ini, Anda harus menjalankan volume Gluster empat simpul yang sepenuhnya direplikasi.

Isi array GlusterFS Anda dengan data palsu untuk pengujian.

Tambahkan server pengganti

Dalam skenario ini, web03 gagal, tetapi Anda menambahkan simpul baru dengan alamat IP 192.168.0.5 untuk menggantikannya. Cara ini lebih mudah daripada menambahkan server baru dengan alamat IP yang sama dengan server yang gagal.

Artikel ini akan menunjukkan dua bentuk pemulihan bencana:

  1. Satu simpul mati, dan Anda menambahkan simpul baru untuk menggantikannya.
  2. Satu node rusak, dibangun kembali, dan mempertahankan IP - ternyata lebih banyak pekerjaan yang harus diperbaiki

Tambahkan simpul pengganti

Dalam skenario ini, web03 akan turun lagi, tetapi Anda akan menambahkan simpul baru di 192.168.0.5 untuk menggantikannya. Cara ini jauh lebih mudah.

  1. Menggunakan salah satu server yang berjalan, tambahkan server baru ke dalam cluster:

    root@matt:~# gluster peer probe 192.168.0.5
    peer probe: success
    
  2. Tukarkan batu bata yang gagal dengan yang baru:

    root@matt:~# gluster volume replace-brick www 192.168.0.3:/srv/.bricks/www 192.168.0.5:/srv/.bricks/www  commit force
    volume replace-brick: success: replace-brick commit successful
    
  3. Sembuhkan sistem:

    root@matt:~# gluster volume heal www full
    Launching Heal operation on volume www has been successful
    Use heal info commands to check status
    
  4. Dapatkan informasi tentang kemajuan heal operasi:

    root@matt:~# gluster volume heal www info
    Gathering Heal info on volume www has been successful  
    ...
    Brick 192.168.0.4:/srv/.bricks/www
    Number of entries: 23
    /wordpress/wp-admin/upload.php
    
  5. Jika Anda menjalankan sistem terdistribusi, jalankan perintah berikut:

    root@matt:~# gluster volume rebalance www fix-layout start
    volume rebalance: www: success: Starting rebalance on volume www has been successful.
    ID: 0a9719c1-cf04-4161-b3b0-cc6fd8dd9108
    root@matt:~# gluster volume rebalance www status
    
    Node      Rebalanced-files          size       scanned      failures       skipped         status run time in secs
    ---------      -----------   -----------   -----------   -----------   -----------   ------------   --------------
    localhost                0        0Bytes             0             0             0      completed             1.00
    
    localhost                0        0Bytes             0             0             0      completed             1.00
    
    192.168.0.2              0        0Bytes             0             0             0      completed             1.00
    
    192.168.0.4              0        0Bytes             0             0             0      completed             1.00
    
    192.168.0.4              0        0Bytes             0             0             0      completed             1.00
    
    192.168.0.5              0        0Bytes             0             0             0      completed             1.00
    
    volume rebalance: www: success:
    

Simpan alamat IP

Dalam skenario ini, server web03, dengan alamat IP 192.168.0.3, mogok dan sama sekali tidak dapat dipulihkan.

Untuk memulihkan, Anda membangun server baru, dengan alamat IP yang sama , sajikan ke GlusterFS sebagai server yang gagal, dan biarkan sembuh sendiri. Anda kemudian menyeimbangkan kembali volume ke GlusterFS.

Lihat artikel sebelumnya untuk informasi tentang membangun dan mengonfigurasi server pengganti.

Menyamarkan server web03 baru sebagai server yang gagal

  1. Bangun server baru, instal GlusterFS di dalamnya, dan siapkan disk untuk batanya.

  2. Berikan server UUID rekan dari server yang gagal. Untuk mendapatkan UUID, jalankan perintah berikut di salah satu server yang sedang berjalan (seperti web01):

    root@web01:~# grep 192.168.0.3 /var/lib/glusterd/peers/*/var/lib/glusterd/peers/ba502dc2-447f-466a-a732-df989e71b551:hostname1=192.168.0.3
    
  3. Salin nama file (yang merupakan UUID Web03 asli). Pada contoh sebelumnya adalah:ba502dc2-447f-466a-a732-df989e71b551 .

  4. Tetapkan UUID server yang gagal ke server baru.

    1. Hentikan daemon Gluster:

      root@web03:~# service glusterfs-server stop
      glusterfs-server stop/waiting
      
    2. Ganti UUID simpul yang dihasilkan dengan yang disalin di glusterd file konfigurasi:

      root@web03:~# UUID=ba502dc2-447f-466a-a732-df989e71b551
      root@web03:~# sed  -i "s/\(UUID\)=\(.*\)/\1=$UUID/g" /var/lib/glusterd/glusterd.info
      root@web03:~# cat /var/lib/glusterd/glusterd.info
      UUID=ba502dc2-447f-466a-a732-df989e71b551
      operating-version=2
      

    Catatan: ba502dc2-447f-466a-a732-df989e71b551 UUID adalah contoh UUID; Anda harus menggantinya dengan UUID dari server Anda yang gagal (seperti yang diingat oleh web01).

  5. Mulai server lagi:

    root@web03:~# service glusterfs-server start
    glusterfs-server start/running, process 10732
    

Konfigurasi ulang server rekan

  1. Di server baru, periksa apakah server lain terlihat:

    root@web03:~# gluster peer status
    peer status: No peers present
    
  2. Jika server rekan tidak terlihat, Anda harus menambahkannya secara eksplisit:

    root@web03:~# gluster peer probe 192.168.0.1
    peer probe: success
    root@web03:~# gluster peer probe 192.168.0.2
    peer probe: success
    root@web03:~# gluster peer probe 192.168.0.4
    peer probe: success
    
  3. Jalankan gluster peer status perintah lagi di web03. Responsnya harus:State: Accepted peer request (Connected)

  4. Mulai ulang daemon sekali lagi, dan server rekan akan terlihat:

    root@web03:~# service glusterfs-server restart
    glusterfs-server stop/waiting
    glusterfs-server start/running, process 9123
    root@web03:~# gluster peer status
    Number of Peers: 3
    Hostname: 192.168.0.2
    Uuid: 177cd473-9421-4651-8d6d-18be3a7e1990
    State: Peer in Cluster (Connected)
    
    Hostname: 192.168.0.1
    Uuid: 8555eac6-de14-44f6-babe-f955ebc16646
    State: Peer in Cluster (Connected)
    
    Hostname: 192.168.0.4
    Uuid: 1681b266-dc31-42e1-ab82-4e220906eda1
    State: Peer in Cluster (Connected)
    

Sinkronkan volume

  1. Periksa status volume:

    root@web03:~# gluster volume status
    No volumes present
    
  2. Dapatkan volume dari server rekan:

    root@web03:~# gluster volume sync 192.168.0.2 all
    Sync volume may make data inaccessible while the sync is in progress. Do you want to continue? (y/n) y
    volume sync: success
    
  3. Atur sistem file untuk batu bata ke dalam urutan. Pada contoh berikut, batu bata disimpan di /srv/.bricks/www :

    root@web03:~# mkdir /srv/.bricks/www
    
  4. Buka salah satu server yang sedang berjalan, instal attr dan dapatkan ID volume yang benar.

    root@web02:~# apt-get install attr -y
    ...
    root@web02:~# getfattr  -n trusted.glusterfs.volume-id /srv/.bricks/www
    getfattr: Removing leading '/' from absolute path names
    # file: srv/.bricks/www
    trusted.glusterfs.volume-id=0s42V5HW+LSuyzqotW1jgAhA==
    
  5. Salin string ID volume ke clipboard Anda. Dalam contoh, ini adalah 0s42V5HW+LSuyzqotW1jgAhA== .

  6. Di server pengganti, terapkan atribut yang diperluas itu:

    root@web03:~# apt-get install attr -y
    ...
    root@web03:~# setfattr -n trusted.glusterfs.volume-id -v '0s42V5HW+LSuyzqotW1jgAhA==' /srv/.bricks/www
    
  7. Mulai ulang server, lalu pulihkan sistem:

    root@matt:~# service glusterfs-server restart
    glusterfs-server stop/waiting
    glusterfs-server start/running, process 13318
    root@matt:~# gluster volume heal www full
    Launching Heal operation on volume www has been successful
    Use heal info commands to check status
    
  8. Dapatkan informasi tentang kemajuan heal operasi. Server baru akan berjalan seperti yang diharapkan.

    root@matt:~# gluster volume heal www info
    Gathering Heal info on volume www has been successful
    
    Brick 192.168.0.1:/srv/.bricks/www
    Number of entries: 0
    
    Brick 192.168.0.2:/srv/.bricks/www
    Number of entries: 0
    
    Brick 192.168.0.3:/srv/.bricks/www
    Number of entries: 0
    
    Brick 192.168.0.4:/srv/.bricks/www
    Number of entries: 0
    

Kesimpulan

Anda sekarang telah mempelajari cara memulihkan dari server yang gagal dalam larik GlusterFS.


Linux
  1. Yang Perlu Diketahui Tentang Debi a Volume Server Linux

  2. Menghentikan server database MySQL:mysqld gagal

  3. Mengirim email dari server saya

  1. Membuat Server Penyimpanan Mandiri Seperti NFS Dengan GlusterFS 3.2.x Di Ubuntu 12.10

  2. Cara SSH di Linux dari Android

  3. Ekstrak jalur yang hilang dari bash array jalur

  1. Membuat Server Penyimpanan Mandiri Seperti NFS Dengan GlusterFS 3.2.x Pada Debian Wheezy

  2. Bagaimana meningkatkan dari openSUSE 13.1 ke openSUSE 13.2

  3. Ubuntu 14 Server Dan Xrdp?