PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Mengotomatiskan Barman dengan Wayang:it2ndq/barman (bagian satu)


Ini bukan pertama kalinya Kuadran ke-2 melihat Wayang. Gabriele Bartolini telah menulis artikel dalam dua bagian tentang cara cepat mengkonfigurasi server PostgreSQL melalui Wayang dan Gelandangan, disertai dengan rilis kode yang digunakan dalam contoh di GitHub (http://github.com/2ndquadrant-it/vagrant -puppet-postgresql).

Dibagi menjadi tiga bagian, tujuan artikel ini adalah untuk mendemonstrasikan otomatisasi penyiapan dan konfigurasi Barman untuk mencadangkan server pengujian PostgreSQL.

Artikel ini adalah pembaruan dari apa yang ditulis oleh Gabriele dengan ide membuat dua mesin virtual, bukan satu, server PostgreSQL dan server Barman.

it2ndq/barman adalah modul yang dirilis oleh 2ndQuadrant Italy untuk mengatur instalasi Barman melalui Puppet. Modul ini memiliki lisensi GPLv3 dan tersedia di GitHub dengan alamat http://github.com/2ndquadrant-it/puppet-barman. Prosedur berikut ditulis untuk Ubuntu 14.04 Trusty Tahr tetapi dapat dilakukan dengan cara yang sama pada distribusi lain.

Persyaratan

Untuk memulai modul untuk Barman di mesin virtual, kita memerlukan perangkat lunak berikut:

  • VirtualBox
  • Gelandang
  • Ruby>=1.9
  • Boneka
  • pustakawan-boneka

Gelang

Vagrant adalah manajer mesin virtual, yang mampu mendukung banyak perangkat lunak virtualisasi dengan VirtualBox sebagai default.

Kami menginstal VirtualBox dengan cara ini:

$ sudo apt-get install virtualbox virtualbox-dkms

Versi terbaru Vagrant dapat diunduh dari situs dan diinstal dengan perintah:

$ sudo dpkg -i /path/to/vagrant_1.7.2_x86_64.deb

Ruby

Mengenai Ruby, saran kami adalah menggunakan rbenv , yang menciptakan lingkungan pengembangan Ruby untuk menentukan versi untuk pengguna saat ini, sehingga menghindari kontaminasi lingkungan sistem. Untuk menginstal rbenv kami menyarankan untuk menggunakan rbenv-installer (http://github.com/fesplugas/rbenv-installer).

Ayo unduh dan jalankan skripnya:

$ curl https://raw.githubusercontent.com/fesplugas/rbenv-installer/master/bin/rbenv-installer | bash

Pada akhirnya, skrip akan meminta Anda untuk menambahkan baris berikut ke ~/.bash_profile berkas:

export RBENV_ROOT="${HOME}/.rbenv"

if [ -d "${RBENV_ROOT}" ]; then
  export PATH="${RBENV_ROOT}/bin:${PATH}"
  eval "$(rbenv init -)"
fi

Sekarang kita perlu memuat ulang ~/.bash_profile yang baru saja diubah :

$ exec bash -l

Pada titik ini, kami menginstal versi Ruby secara lokal (dalam hal ini, 2.1.5) dan mengatur pengguna untuk menjalankan versi ini daripada versi sistem:

$ rbenv install 2.1.5
$ rbenv global 2.1.5

Boneka

Wayang diperlukan tidak hanya pada VM tetapi juga pada mesin yang menjalankannya. Oleh karena itu kita perlu menginstal permata Wayang.

$ gem install puppet

Pustakawan-boneka

Terakhir, librarian-puppet adalah alat untuk mengotomatisasi manajemen modul Wayang. Seperti Wayang, librarian-puppet dapat diinstal sebagai permata:

$ gem install librarian-puppet

Vagrant:konfigurasi

Sekarang setelah kita memiliki dependensi, kita dapat mulai menulis konfigurasi Vagrant dan Puppet untuk sistem cadangan kita.

Kita mulai dengan membuat direktori kerja:

$ mkdir ~/vagrant_puppet_barman
$ cd ~/vagrant_puppet_barman

Vagrant membutuhkan kita untuk menulis file bernama Vagrantfile di mana ia mencari konfigurasi VM.

Berikut Vagrantfile memulai dua VM Terpercaya Ubuntu, yang disebut pg dan backup , dengan alamat ip 192.168.56.221 dan 192.168.56.222 . Pada kedua mesin, penyediaan akan dilakukan melalui skrip shell inline.

Script ini meluncurkan puppet-bootstrap (http://github.com/hashicorp/puppet-bootstrap), sebuah skrip yang secara otomatis menginstal dan mengkonfigurasi Wayang pada berbagai jenis mesin. Karena tidak perlu dijalankan lebih dari sekali, dalam skrip tes dimasukkan untuk mencegah eksekusi lebih lanjut.

Vagrant.configure("2") do |config|
  {
    :pg => {
      :ip      => '192.168.56.221',
      :box     => 'ubuntu/trusty64'
    },
    :backup => {
      :ip      => '192.168.56.222',
      :box     => 'ubuntu/trusty64'
    }
  }.each do |name,cfg|
    config.vm.define name do |local|
      local.vm.box = cfg[:box]
      local.vm.hostname = name.to_s + '.local.lan'
      local.vm.network :private_network, ip: cfg[:ip]
      family = 'ubuntu'
      bootstrap_url = 'http://raw.github.com/hashicorp/puppet-bootstrap/master/' + family + '.sh'

      # Run puppet-bootstrap only once
      local.vm.provision :shell, :inline => <<-eos
        if [ ! -e /tmp/.bash.provision.done ]; then
          curl -L #{bootstrap_url} | bash
          touch /tmp/.bash.provision.done
        fi
      eos
    end
  end
end

Menampilkan VM

Kami telah mendefinisikan dua VM Ubuntu Trusty yang berisi Wayang. Ini bukan Vagrantfile terakhir tapi sudah memungkinkan pembuatan dua mesin. Jika Anda penasaran, Anda dapat memverifikasi bahwa kedua mesin telah dibuat dengan perintah:

$ vagrant up

dan kemudian menghubungkan menggunakan perintah berikut:

$ vagrant ssh pg
$ vagrant ssh backup

Akhirnya, mesin dapat dihancurkan dengan:

$ vagrant destroy -f

Kesimpulan

Di bagian pertama tutorial ini, kita telah melihat cara mengonfigurasi dependensi dan berakhir dengan dua mesin virtual yang akan kita instal, melalui Puppet, PostgreSQL, dan Barman. Menulis manifes Wayang untuk instalasi sebenarnya akan menjadi pokok bahasan artikel berikutnya.

Sampai jumpa!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menghitung karakter secara berurutan melalui SQL

  2. Cara Menyebarkan Teamcity dengan PostgreSQL untuk Ketersediaan Tinggi

  3. Instal Postgres.app di Mac

  4. Fungsi jendela Postgres dan kelompokkan dengan pengecualian

  5. Impor dump SQL ke database PostgreSQL