Database

Database

Upgrade dari database layanan Networking diimplementasikan dengan Alembic migration chain. Migrasi di alembic/versions berisi perubahan yang dibutuhkan untuk bermigrasi dari layanan Networking rilis tua ke yang lebih baru.

Sejak Liberty, Networking mempertahankan dua cabang migrasi Alembic paralel.

Cabang pertama disebut memperluas dan digunakan untuk menyimpan aturan migrasi ekspansi-satunya. Aturan-aturan ini secara ketat aditif dan dapat diterapkan selagi server Neutron berjalan.

Cabang kedua disebut kontrak dan digunakan untuk menyimpan aturan-aturan migrasi yang tidak aman untuk menerapkan sementara Neutron server berjalan.

Maksud dari cabang terpisah adalah untuk memungkinkan memohon mereka migrasi yang aman dari masalah perluasan cabang selagi server Neutron berjalan dan karena itu mengurangi downtime yang dibutuhkan untuk meng-upgrade layanan.

Sebuah alat command-line manajemen database menggunakan perpustakaan Alembic untuk mengelola migrasi.

Database management command-line tool

Alat command-line manajemen database disebut neutron-db-manage. Melulus opsi :option: –help ke alat untuk informasi penggunaan.

Alat ini mengambil beberapa pilihan yang diikuti oleh beberapa commands:

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

Alat ini perlu mengakses string koneksi database, yang disediakan dalam file konfigurasi neutron.conf di instalasi. Alat ini secara otomatis membaca dari /etc/neutron/neutron.conf jika hadir. Jika konfigurasi ini berada di lokasi yang berbeda, gunakan command berikut:

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

Beberapa opsi :option: –config-file dapat dilalui jika diperlukan.

Sebagai ganti membaca koneksi DB dari file konfigurasi, Anda dapat menggunakan: opsi: opsi –database-connection:

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

Semua command branches,`current`, dan history menerima opsi --verbose, ketika melewati, yang akan menginstruksikan: command: neutron-db-manage untuk menampilkan output yang lebih verbose untuk command yang ditentukan:

$ neutron-db-manage current --verbose

Catatan

Contoh penggunaan alat di bawah ini tidak menunjukkan pilihan. Hal ini diasumsikan bahwa Anda menggunakan pilihan yang Anda butuhkan untuk lingkungan Anda.

Dalam pengerahan baru, Anda mulai dengan database kosong dan kemudian meng-upgrade ke versi terbaru database menggunakan command berikut:

$ neutron-db-manage upgrade heads

Setelah menginstal versi baru dari server Neutron, meng-upgrade database menggunakan command berikut:

$ neutron-db-manage upgrade heads

Dalam pengerahan yang ada, periksa versi database saat menggunakan command berikut:

$ neutron-db-manage current

Untuk menerapkan aturan migrasi ekspansi, gunakan command berikut:

$ neutron-db-manage upgrade --expand

Untuk menerapkan aturan non-expansive migration, gunakan command berikut:

$ neutron-db-manage upgrade --contract

Untuk memeriksa apakah ada migrasi kontrak yang tertunda dan jika migrasi secara offline diperlukan, gunakan command berikut:

$ neutron-db-manage has_offline_migrations

Catatan

Migrasi Offline memerlukan semua instance Neutron server dalam cluster untuk shutdown sebelum Anda menerapkan script kontrak.

Untuk menghasilkan script command dari pada operasi segera pada database, gunakan command berikut:

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

Untuk bermigrasi antar versi migrasi tertentu, gunakan command berikut:

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

Untuk meng-upgrade database secara bertahap, gunakan command berikut:

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

Catatan

Database downgrade tidak didukung.

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.