Buat dan distribusikan initial ring

Buat dan distribusikan initial ring

Sebelum memulai layanan Object Storage, Anda harus membuat initial akun, container, dan object ring. Pembangun ring membuat file konfigurasi dimana setiap node berguna untuk menentukan dan mengerahkan arsitektur penyimpanan. Untuk mempermudah, panduan ini menggunakan satu wilayah dan dua zona dengan 2 ^ 10 (1024) partisi maksimum, 3 replika setiap objek, dan 1 jam waktu minimum antara pergerakan satu partisi lebih dari sekali. Untuk Object Storage, partisi menunjukkan direktori pada perangkat penyimpanan bukan pada tabel partisi konvensional. Untuk informasi lebih lanjut, lihat ``Deployment Guide <http://docs.openstack.org/developer/swift/deployment_guide.html>`__.

Catatan

Lakukan langkah ini pada controller node.

Buat akun ring

Server akun menggunakan akun ring untuk mempertahankan daftar kontainer.

  1. Ubah ke directory /etc/swift.

  2. Buat file basis account.builder:

    # swift-ring-builder account.builder create 10 3 1
    

    Catatan

    Command ini tidak memberikan output.

  3. Tambah setiap node penyimpanan untuk ring:

    # swift-ring-builder account.builder \
      add --region 1 --zone 1 --ip STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS --port 6002 \
      --device DEVICE_NAME --weight DEVICE_WEIGHT
    

    Ganti STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS dengan alamat IP dari jaringan manajemen pada node penyimpanan. Ganti DEVICE_NAME dengan nama perangkat penyimpanan pada node penyimpanan yang sama. Misalnya, menggunakan node penyimpanan pertama di Instal dan mengkonfigurasi node penyimpanan ganti dengan perangkat penyimpanan ``/dev/sdb``dan bobot 100 (weight of 100):

    # swift-ring-builder account.builder add \
      --region 1 --zone 1 --ip 10.0.0.51 --port 6002 --device sdb --weight 100
    

    Ulangi command ini untuk setiap perangkat penyimpanan pada setiap node penyimpanan. Pada arsitektur contoh gunakan command dalam empat variasi:

    # swift-ring-builder account.builder add \
      --region 1 --zone 1 --ip 10.0.0.51 --port 6002 --device sdb --weight 100
    Device d0r1z1-10.0.0.51:6002R10.0.0.51:6002/sdb_"" with 100.0 weight got id 0
    # swift-ring-builder account.builder add \
      --region 1 --zone 1 --ip 10.0.0.51 --port 6002 --device sdc --weight 100
    Device d1r1z2-10.0.0.51:6002R10.0.0.51:6002/sdc_"" with 100.0 weight got id 1
    # swift-ring-builder account.builder add \
      --region 1 --zone 2 --ip 10.0.0.52 --port 6002 --device sdb --weight 100
    Device d2r1z3-10.0.0.52:6002R10.0.0.52:6002/sdb_"" with 100.0 weight got id 2
    # swift-ring-builder account.builder add \
      --region 1 --zone 2 --ip 10.0.0.52 --port 6002 --device sdc --weight 100
    Device d3r1z4-10.0.0.52:6002R10.0.0.52:6002/sdc_"" with 100.0 weight got id 3
    
  4. Lakukan verifikasi ring content:

    # swift-ring-builder account.builder
    account.builder, build version 4
    1024 partitions, 3.000000 replicas, 1 regions, 2 zones, 4 devices, 100.00 balance, 0.00 dispersion
    The minimum number of hours before a partition can be reassigned is 1
    The overload factor is 0.00% (0.000000)
    Devices:    id  region  zone      ip address  port  replication ip  replication port      name weight partitions balance meta
                 0       1     1       10.0.0.51  6002       10.0.0.51              6002      sdb  100.00          0 -100.00
                 1       1     1       10.0.0.51  6002       10.0.0.51              6002      sdc  100.00          0 -100.00
                 2       1     2       10.0.0.52  6002       10.0.0.52              6002      sdb  100.00          0 -100.00
                 3       1     2       10.0.0.52  6002       10.0.0.52              6002      sdc  100.00          0 -100.00
    
  5. Menyeimbangkan kembali cincin (rebalance ring):

    # swift-ring-builder account.builder rebalance
    Reassigned 1024 (100.00%) partitions. Balance is now 0.00.  Dispersion is now 0.00
    

Buat ‘container ring’

Server kontainer menggunakan ‘container ring’ untuk mempertahankan daftar objek. Namun, itu tidak melacak lokasi objek.

  1. Ubah ke directory /etc/swift.

  2. Buat file dasar container.builder:

    # swift-ring-builder container.builder create 10 3 1
    

    Catatan

    Command ini tidak memberikan output.

  3. Tambah setiap node penyimpanan untuk ring:

    # swift-ring-builder container.builder \
      add --region 1 --zone 1 --ip STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS --port 6001 \
      --device DEVICE_NAME --weight DEVICE_WEIGHT
    

    Ganti STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS dengan alamat IP dari jaringan manajemen pada node penyimpanan. Ganti DEVICE_NAME dengan nama perangkat penyimpanan pada node penyimpanan yang sama. Misalnya, menggunakan node penyimpanan pertama di Instal dan mengkonfigurasi node penyimpanan ganti dengan perangkat penyimpanan ``/dev/sdb``dan bobot 100 (weight of 100):

    # swift-ring-builder container.builder add \
      --region 1 --zone 1 --ip 10.0.0.51 --port 6001 --device sdb --weight 100
    

    Ulangi command ini untuk setiap perangkat penyimpanan pada setiap node penyimpanan. Pada arsitektur contoh gunakan command dalam empat variasi:

    # swift-ring-builder container.builder add \
      --region 1 --zone 1 --ip 10.0.0.51 --port 6001 --device sdb --weight 100
    Device d0r1z1-10.0.0.51:6001R10.0.0.51:6001/sdb_"" with 100.0 weight got id 0
    # swift-ring-builder container.builder add \
      --region 1 --zone 1 --ip 10.0.0.51 --port 6001 --device sdc --weight 100
    Device d1r1z2-10.0.0.51:6001R10.0.0.51:6001/sdc_"" with 100.0 weight got id 1
    # swift-ring-builder container.builder add \
      --region 1 --zone 2 --ip 10.0.0.52 --port 6001 --device sdb --weight 100
    Device d2r1z3-10.0.0.52:6001R10.0.0.52:6001/sdb_"" with 100.0 weight got id 2
    # swift-ring-builder container.builder add \
      --region 1 --zone 2 --ip 10.0.0.52 --port 6001 --device sdc --weight 100
    Device d3r1z4-10.0.0.52:6001R10.0.0.52:6001/sdc_"" with 100.0 weight got id 3
    
  4. Lakukan verifikasi ring content:

    # swift-ring-builder container.builder
    container.builder, build version 4
    1024 partitions, 3.000000 replicas, 1 regions, 2 zones, 4 devices, 100.00 balance, 0.00 dispersion
    The minimum number of hours before a partition can be reassigned is 1
    The overload factor is 0.00% (0.000000)
    Devices:    id  region  zone      ip address  port  replication ip  replication port      name weight partitions balance meta
                 0       1     1       10.0.0.51  6001       10.0.0.51              6001      sdb  100.00          0 -100.00
                 1       1     1       10.0.0.51  6001       10.0.0.51              6001      sdc  100.00          0 -100.00
                 2       1     2       10.0.0.52  6001       10.0.0.52              6001      sdb  100.00          0 -100.00
                 3       1     2       10.0.0.52  6001       10.0.0.52              6001      sdc  100.00          0 -100.00
    
  5. Menyeimbangkan kembali cincin (rebalance ring):

    # swift-ring-builder container.builder rebalance
    Reassigned 1024 (100.00%) partitions. Balance is now 0.00.  Dispersion is now 0.00
    

Buat object ring

Server objek menggunakan ‘object ring’ untuk mempertahankan daftar lokasi objek pada perangkat lokal.

  1. Ubah ke directory /etc/swift.

  2. Buat file dasar object.builder:

    # swift-ring-builder object.builder create 10 3 1
    

    Catatan

    Command ini tidak memberikan output.

  3. Tambah setiap node penyimpanan untuk ring:

    # swift-ring-builder object.builder \
      add --region 1 --zone 1 --ip STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS --port 6000 \
      --device DEVICE_NAME --weight DEVICE_WEIGHT
    

    Ganti STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS dengan alamat IP dari jaringan manajemen pada node penyimpanan. Ganti DEVICE_NAME dengan nama perangkat penyimpanan pada node penyimpanan yang sama. Misalnya, menggunakan node penyimpanan pertama di Instal dan mengkonfigurasi node penyimpanan ganti dengan perangkat penyimpanan ``/dev/sdb``dan bobot 100 (weight of 100):

    # swift-ring-builder object.builder add \
      --region 1 --zone 1 --ip 10.0.0.51 --port 6000 --device sdb --weight 100
    

    Ulangi command ini untuk setiap perangkat penyimpanan pada setiap node penyimpanan. Pada arsitektur contoh gunakan command dalam empat variasi:

    # swift-ring-builder object.builder add \
      --region 1 --zone 1 --ip 10.0.0.51 --port 6000 --device sdb --weight 100
    Device d0r1z1-10.0.0.51:6000R10.0.0.51:6000/sdb_"" with 100.0 weight got id 0
    # swift-ring-builder object.builder add \
      --region 1 --zone 1 --ip 10.0.0.51 --port 6000 --device sdc --weight 100
    Device d1r1z2-10.0.0.51:6000R10.0.0.51:6000/sdc_"" with 100.0 weight got id 1
    # swift-ring-builder object.builder add \
      --region 1 --zone 2 --ip 10.0.0.52 --port 6000 --device sdb --weight 100
    Device d2r1z3-10.0.0.52:6000R10.0.0.52:6000/sdb_"" with 100.0 weight got id 2
    # swift-ring-builder object.builder add \
      --region 1 --zone 2 --ip 10.0.0.52 --port 6000 --device sdc --weight 100
    Device d3r1z4-10.0.0.52:6000R10.0.0.52:6000/sdc_"" with 100.0 weight got id 3
    
  4. Lakukan verifikasi ring content:

    # swift-ring-builder object.builder
    object.builder, build version 4
    1024 partitions, 3.000000 replicas, 1 regions, 2 zones, 4 devices, 100.00 balance, 0.00 dispersion
    The minimum number of hours before a partition can be reassigned is 1
    The overload factor is 0.00% (0.000000)
    Devices:    id  region  zone      ip address  port  replication ip  replication port      name weight partitions balance meta
                 0       1     1       10.0.0.51  6000       10.0.0.51              6000      sdb  100.00          0 -100.00
                 1       1     1       10.0.0.51  6000       10.0.0.51              6000      sdc  100.00          0 -100.00
                 2       1     2       10.0.0.52  6000       10.0.0.52              6000      sdb  100.00          0 -100.00
                 3       1     2       10.0.0.52  6000       10.0.0.52              6000      sdc  100.00          0 -100.00
    
  5. Menyeimbangkan kembali cincin (rebalance ring):

    # swift-ring-builder object.builder rebalance
    Reassigned 1024 (100.00%) partitions. Balance is now 0.00.  Dispersion is now 0.00
    

Lakukan distribusi file konfigurasi ring

  • Salin file account.ring.gz, container.ring.gz, dan object.ring.gz ke direktori /etc/swift pada setiap node penyimpanan dan setiap node tambahan yang menjalankan layanan proxy.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.