PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

कठपुतली के साथ बर्मन को स्वचालित करना:it2ndq/barman (भाग एक)


यह पहली बार नहीं है जब 2ndQuadrant ने Puppet को देखा है। गैब्रिएल बार्टोलिनी ने पहले ही दो भागों में एक लेख लिखा है कि कैसे पपेट और वैग्रांट के माध्यम से पोस्टग्रेएसक्यूएल सर्वर को तेजी से कॉन्फ़िगर किया जाए, साथ ही गिटहब (http://github.com/2ndquadrant-it/vagrant) पर उदाहरण में उपयोग किए गए कोड को जारी किया जाए। कठपुतली-postgresql).

तीन भागों में विभाजित, इस लेख का उद्देश्य एक PostgreSQL परीक्षण सर्वर का बैकअप लेने के लिए बर्मन के सेटअप और कॉन्फ़िगरेशन के स्वचालन को प्रदर्शित करना है।

यह लेख गैब्रिएल द्वारा एक के बजाय दो वर्चुअल मशीन, एक पोस्टग्रेएसक्यूएल सर्वर और एक बर्मन सर्वर बनाने के विचार के साथ जो लिखा गया था, उसका अपडेट है।

it2ndq/barman कठपुतली के माध्यम से बर्मन की स्थापना का प्रबंधन करने के लिए 2ndQuadrant इटली द्वारा जारी किया गया मॉड्यूल है। मॉड्यूल के पास GPLv3 लाइसेंस है और यह http://github.com/2ndquadrant-it/puppet-barman पते पर GitHub पर उपलब्ध है। निम्नलिखित प्रक्रिया एक Ubuntu 14.04 भरोसेमंद तहर के लिए लिखी गई थी, लेकिन अन्य वितरणों पर समान तरीके से की जा सकती है।

आवश्यकताएं

वर्चुअल मशीन पर बर्मन के लिए मॉड्यूल शुरू करने के लिए, हमें निम्नलिखित सॉफ़्टवेयर की आवश्यकता है:

  • वर्चुअलबॉक्स
  • आवारा
  • रूबी>=1.9
  • कठपुतली
  • लाइब्रेरियन कठपुतली

आवारा

Vagrant एक वर्चुअल मशीन प्रबंधक है, जो VirtualBox के डिफ़ॉल्ट के साथ कई वर्चुअलाइजेशन सॉफ़्टवेयर का समर्थन करने में सक्षम है।

हम VirtualBox को इस तरह स्थापित करते हैं:

$ sudo apt-get install virtualbox virtualbox-dkms

वैग्रांट का नवीनतम संस्करण साइट से डाउनलोड किया जा सकता है और कमांड के साथ स्थापित किया जा सकता है:

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

रूबी

रूबी के संबंध में, हमारी सलाह है कि rbenv . का उपयोग करें , जो एक रूबी विकास वातावरण बनाता है जिसमें वर्तमान उपयोगकर्ता के लिए संस्करण निर्दिष्ट करना है, जिससे सिस्टम पर्यावरण को दूषित होने से बचा जा सके। rbenv स्थापित करने के लिए हम rbenv-installer . का उपयोग करने का सुझाव देते हैं (http://github.com/fesplugas/rbenv-installer)।

आइए स्क्रिप्ट को डाउनलोड और निष्पादित करें:

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

अंत में, स्क्रिप्ट आपको निम्न पंक्तियों को ~/.bash_profile में जोड़ने के लिए कहेगी फ़ाइल:

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

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

अब हमें हाल ही में बदले गए ~/.bash_profile . को पुनः लोड करने की आवश्यकता है :

$ exec bash -l

इस बिंदु पर, हम स्थानीय रूप से एक रूबी संस्करण स्थापित करते हैं (इस मामले में, 2.1.5) और उपयोगकर्ता को सिस्टम संस्करण के बजाय इस संस्करण को चलाने के लिए सेट करते हैं:

$ rbenv install 2.1.5
$ rbenv global 2.1.5

कठपुतली

कठपुतली न केवल वीएम पर बल्कि उन्हें चलाने वाली मशीन पर भी आवश्यक है। इसलिए हमें कठपुतली रत्न स्थापित करने की आवश्यकता है।

$ gem install puppet

लाइब्रेरियन कठपुतली

अंत में, librarian-puppet कठपुतली मॉड्यूल प्रबंधन को स्वचालित करने के लिए एक उपकरण है। कठपुतली की तरह, librarian-puppet रत्न के रूप में स्थापित किया जा सकता है:

$ gem install librarian-puppet

आवारा:विन्यास

अब जबकि हमारे पास निर्भरताएं हैं, हम अपने बैकअप सिस्टम के लिए वैग्रांट और पपेट कॉन्फ़िगरेशन लिखना शुरू कर सकते हैं।

हम एक कार्यशील निर्देशिका बनाकर शुरू करते हैं:

$ mkdir ~/vagrant_puppet_barman
$ cd ~/vagrant_puppet_barman

Vagrant हमें Vagrantfile . नामक फ़ाइल लिखने की आवश्यकता है जहां यह VMs के कॉन्फ़िगरेशन की तलाश करता है।

निम्नलिखित Vagrantfile pg . नामक दो Ubuntu भरोसेमंद VMs प्रारंभ करता है और backup , आईपी पते के साथ 192.168.56.221 और 192.168.56.222 . दोनों मशीनों पर इनलाइन शेल स्क्रिप्ट के माध्यम से प्रावधान किया जाएगा।

यह स्क्रिप्ट puppet-bootstrap लॉन्च करती है (http://github.com/hashicorp/puppet-bootstrap), एक स्क्रिप्ट जो स्वचालित रूप से कठपुतली को विभिन्न प्रकार की मशीनों पर स्थापित और कॉन्फ़िगर करती है। चूंकि इसे एक से अधिक बार चलाने की आवश्यकता नहीं है, इसलिए आगे के निष्पादन को रोकने के लिए स्क्रिप्ट में एक परीक्षण डाला गया था।

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

VMs को ऊपर लाना

हमने कठपुतली वाले दो उबंटू भरोसेमंद वीएम को परिभाषित किया है। यह अंतिम नहीं है Vagrantfile लेकिन पहले से ही दो मशीनों के निर्माण की अनुमति देता है। यदि आप उत्सुक हैं, तो यह सत्यापित करना संभव है कि दो मशीनें कमांड के साथ बनाई गई हैं:

$ vagrant up

और फिर निम्न आदेशों का उपयोग करके कनेक्ट करना:

$ vagrant ssh pg
$ vagrant ssh backup

अंत में, मशीनों को नष्ट किया जा सकता है:

$ vagrant destroy -f

निष्कर्ष

ट्यूटोरियल के इस पहले भाग में हमने देखा है कि निर्भरता को कैसे कॉन्फ़िगर किया जाए और कठपुतली, पोस्टग्रेएसक्यूएल और बर्मन के माध्यम से दो वर्चुअल मशीनों के साथ समाप्त किया, जिन पर हम स्थापित करेंगे। वास्तविक स्थापना के लिए कठपुतली मेनिफेस्ट लिखना अगले लेख का विषय होगा।

अभी के लिए अलविदा!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Psql का उपयोग करके PostgreSQL में डेटाबेस और तालिकाओं को कैसे सूचीबद्ध करें

  2. PostgreSQL दिनांक () समय क्षेत्र के साथ

  3. जेपीए और हाइबरनेट के साथ पोस्टग्रेएसक्यूएल एनम को कैसे मैप करें?

  4. Postgres 9.1 में किसी तालिका का OID निर्धारित करना?

  5. pgadmin 4 . का उपयोग करके linux में postgresql में शेपफाइल्स आयात करना