Veritabanı

Veritabanı

Ağ servisi veritabanının yükseltilmesi Alembic geçiş zincirleriyle gerçekleştirildi.``alembic/versions``in geçişlerinde eski Ağ Hizmeti sürümlerinden yeni sürümlere geçiş yapmak için gereken değişiklikler var.

Liberty’den bu yana, Ağ iki paralel Alembic göç dalını tutar.

İlk dala genişletme adı verilir ve yalnızca genişleme geçiş kurallarını depolamak için kullanılır. Bu kurallar kesinlikle ilavedir ve Neutron sunucusu çalışırken uygulanabilir.

İkinci dala sözleşme denir ve Neutron sunucusu çalışırken uygulanması güvenli olmayan bu geçiş kurallarını saklamaya yarar.

Ayrı dalların amacı, Neutron sunucusu çalışırken genişletme dalından bu güvenli geçişlerin başlatılmasına ve dolayısıyla hizmeti yükseltmek için gereken kesintilerin azaltılmasına izin vermektir.

Bir veritabanı yönetimi komut satırı aracı, taşıma işlemini yönetmek için Alembic kitaplığını kullanır.

Komut satırı veritabanı yönetim aracı

Bu, admin_state_up tekrar True olarak ayarlanıncaya kadar ciddi güney-kuzey bağlantılarına neden olur. Veritabanı yönetim komut satırı aracı neutron-db-manage olarak adlandırılır. Kullanım bilgisi için aracı --help seçeneği ile çalıştırın.

Araç, bazı komutları takiben bazı seçenekler alıyor:

$ neutron-db-manage <options> <commands>

Araç, bir kurulumda neutron.conf yapılandırma dosyasında sağlanan veritabanı bağlantı dizesine erişmek zorundadır. Araç, varsa otomatik olarak /etc/neutron/neutron.conf dan okur. Yapılandırma farklı bir konumdaysa, aşağıdaki komutu kullanın:

$ neutron-db-manage --config-file /path/to/neutron.conf <commands>

Eğer gerekliyse birden fazla --config-file seçeneği verilebilir.

DB bağlantısını yapılandırma dosyalarından okumak yerine --database-connection seçeneğini kullanabilirsiniz:

$ neutron-db-manage --database-connection
  mysql+pymysql://root:secret@127.0.0.1/neutron?charset=utf8 <commands>

branches, current ve history komutlarının hepsi bir --verbose seçeneği kabul eder; bu seçenek geçildiğinde belirtilen komut için daha detaylı sonuç göstermek için neutron-db-manage komutu çalıştırılacaktır:

$ neutron-db-manage current --verbose

Not

Aşağıdaki araç kullanımı örneklerinde seçenekleri gösterilmez. Ortamınız için ihtiyaç duyduğunuz seçenekleri kullandığınız varsayılmıştır.

Yeni kurulumlarda, boş bir veritabanıyla başlar ve sonra aşağıdaki komutu kullanarak en yeni veritabanı sürümüne geçersiniz:

$ neutron-db-manage upgrade heads

Neutron sunucusunun yeni bir sürümünü yükledikten sonra, aşağıdaki komutu kullanarak veritabanını yükseltin:

$ neutron-db-manage upgrade heads

Varolan dağıtımlarda şu komutu kullanarak geçerli veritabanı sürümünü kontrol edin:

$ neutron-db-manage current

Genişletme taşıma kurallarını uygulamak için aşağıdaki komutu kullanın:

$ neutron-db-manage upgrade --expand

Genişletme dışı geçiş kurallarını uygulamak için aşağıdaki komutu kullanın:

$ neutron-db-manage upgrade --contract

Herhangi bir sözleşme geçiş işleminin beklemede olup olmadığını kontrol etmek ve dolayısıyla çevrimdışı geçiş yapılması gerekiyorsa aşağıdaki komutu kullanın:

$ neutron-db-manage has_offline_migrations

Not

Çevrimdışı göç, herhangi bir sözleşme komut dosyasını uygulamadan önce kümedeki tüm Neutron sunucu örneklerinin kapanmasını gerektirir.

Veritabanında hemen çalıştırmak yerine komut betiğini oluşturmak için aşağıdaki komutu kullanın:

$ neutron-db-manage upgrade heads --sql

.. note::

   The `--sql` option causes the command to generate a script.  The script
   can be run later (online or offline), perhaps after verifying and/or
   modifying it.

Belirli taşıma sürümleri arasında taşımak için aşağıdaki komutu kullanın:

$ neutron-db-manage upgrade <start version>:<end version>

Veritabanını aşamalı olarak yükseltmek için aşağıdaki komutu kullanın:

$ neutron-db-manage upgrade --delta <# of revs>

Not

Veritabanı sürüm düşürme desteklenmiyor.

Yükseltme komutu tarafından oluşturulan şema ile modeller tarafından tanımlanan şema arasındaki farklara bakmak için revision --autogenerate komutunu kullanın:

neutron-db-manage revision -m REVISION_DESCRIPTION --autogenerate

Not

Bu, veritabanı durumunu modellerle eşleştirmek için gereken değişiklikleri içeren önceden doldurulmuş bir şablon oluşturur.

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.