Showing posts with label virtualbox. Show all posts
Showing posts with label virtualbox. Show all posts

Monday, March 20, 2017

Virtual Box - Start Modes, Snapshot dan Cloning


Haloo, ini merupakan postingan pertama saya untuk blog.nostratech.com and it’s a pleasure. Kali ini saya akan sharing mengenai beberapa tips untuk software virtualisasi Virtual Box. Apa yang akan saya sharing adalah start modes, snapshot dan cloning yang ada pada software ini.

Start Modes

Ada apa dengan start modes? Karena ketika mengakses UI VM melalui terminal dengan command ‘virtualbox’, UI akan tampil di host, namun ketika UI di close, setiap machine pada Virtual Box akan stop/abort. Terdapat 3 start modes yang disediakan pada VBox yaitu :

Normal Start (Starts a VM showing a GUI window. This is the default.)
Headless Start (Starts a VM without a window for remote display only.)
Detachable/Separate Start (Technically it is a headless VM with user interface in a separate process, but it still lack on functionality)
 
Nah, maka dari itu untuk start machine melalui terminal tanpa UI, kita bisa menggunakan Command :

VBoxManage startvm fmw-wcc1 --type headless


fmw-wcc1 = machine name
headless = start mode

Snapshot

Snapshot Ini merupakan fungsi yang digunakan untuk membuat ‘bookmark’ state (filesystem,config) dari suatu virtual machine yang nantinya dapat di roll-back (di restore kembali sesuai state yang tersimpan). Fungsi ini juga dapat digunakan untuk mengelompokkan state dari VM, misalnya , oracle-linux-7@fresh-install : Menandakan bahwa snapshot memiliki state saat selesai install VM dan belum ditambahi package lainnya. Command :

VBoxManage snapshot oracle-linux-7 take oracle-linux-7@fresh-install     (take snapshot)

VBoxManage snapshot  oracle-linux-7 restore oracle-linux-7@fresh-install    (restore)

VBoxManage snapshot  oracle-linux-7 delete oracle-linux-7@fresh-install    (delete) 

Cloning

Cloning digunakan untuk membuat VM baru tanpa melakukan setup dari awal dengan spesifikasi yang sama dan nantinya dapat dicustomize juga. Metode Cloning memudahkan menghemat waktu admin dikarenakan hanya butuh waktu yang singkat dan command yang simple.

VBoxManage clonevdi /path/to/existing.vdi new-machine.vdi

Dan selanjutnya dapat menginisialisasi UUID untuk VM yang telah di clone dengan command :

VBoxManage internalcommands sethduuid new-machine.vdi


Referensi :

Sunday, December 15, 2013

Migrating a WebLogic Domain from VirtualBox to Cloud


Beberapa minggu yang lalu kami butuh untuk menampilkan showcase WebCenter Portal ke salah satu klien kami. Pada waktu itu development server Nostratech (Bima) saat itu sedang proses maintenance, sehingga tidak dapat digunakan. Setelah mempertimbangkan faktor effort, waktu, biaya, dan bandwidth, akhirnya kami memutuskan untuk memanfaatkan cloud service seperti DigitalOcean untuk showcase tersebut. Prosedurnya yang dilakukan adalah dengan mempersiapkan deployment-nya di lingkungan VirtualBox, dan meng-upload deployment tersebut ke DigitalOcean. 

Sayangnya DigitalOcean tidak mendukung untuk konversi dari VirtualBox, sehingga WebLogic Domain yang di-deploy di VirtualBox harus se-portable mungkin agar dapat dipindah-pindahkan dengan mudah ke lingkungan yang lain tanpa harus melakukan banyak perubahan. Deployment yang saya lakukan di VirtualBox tidak akan didetilkan pada artikel ini karena sudah mengikuti dokumentasi Oracle dikombinasikan dengan konfigurasi Node Manager pada artikel saya sebelumnya.

Namun ada beberapa catatan yang penting agar proses migrasi dapat berjalan dengan mulus:
  1. OS yang digunakan adalah CentOS 5.8 (64-bit), karena OS tersebut adalah image OS yang disediakan oleh DigitalOcean dan OS yang paling dekat relasinya dengan Oracle Enterprise Linux 5.8 yang sudah disertifikasi oleh Oracle.
  2. Install paket RPM oracle-validated melalui Oracle Public Yum Server untuk mempermudah proses instalasi produk-produk Oracle.
  3. Instalasi Oracle Database server dan Oracle WebCenter Portal domain dilakukan pada instance VirtualBox yang berbeda.
  4. Install Oracle Database jangan menggunakan filesystem Oracle ASM, karena akan mempersulit proses migrasinya nanti.
  5. Selalu menggunakan FQDN dalam mereferensi hostname, seperti database host, WebLogic listen address, dan lain-lainnya. Berhubung nantinya akan di-deploy ke DigitalOcean, saya sudah menggunakan penamaan hostname menggunakan domain nostratech.com agar tidak perlu mengubah lagi. Praktik ini juga sangat saya sarankan di manapun, agar deployment yang kita lakukan dapat lebih portable.
  6. Pisahkan lokasi ORACLE_BASE antara Oracle Database (/u03/app/oracle) dengan Oracle WebCenter Portal (/u01/app/oracle).
  7. Sesuaikan rule firewall dengan level keamanan yang Anda inginkan, pada artikel ini tidak akan membahas mengenai rule firewall yang diperlukan.
  8. Pastikan bandwidth uplink yang memadai untuk proses upload DigitalOcean. :)

Proses Backup di VirtualBox


Setelah proses instalasi dan konfigurasi selesai, shutdown seluruh WebLogic Domain beserta proses Database instance-nya. Lakukan langkah-langkah berikut di instance Database:
  1. Catat semua hostname yang diperlukan.
  2. Backup ORACLE_BASE menggunakan user root.
    oracle@db-vbox:~ $ su -
    root@db-vbox:~ # cd /u03/app
    root@db-vbox:/u03/app # tar cvvzpf /home/oracle/MIGRATE/ORACLE_BASE.tar.gz oracle
    root@db-vbox:/u03/app # exit
  3. Backup ORACLE_INVENTORY.
    oracle@db-vbox:~ $ tar cvvzpf ~/MIGRATE/ORAINVENTORY.tar.gz oraIventory
  4. Backup ORADIAG.
    oracle@db-vbox:~ $ tar cvvzpf ~/MIGRATE/ORADIAG.tar.gz oradiag_oracle
  5. Backup oraInst.loc dan oratab.
    oracle@db-vbox:~ $ cp /etc/ora* ~/MIGRATE/

Sementara di instance WebLogic Domain, ikuti langkah-langkah berikut:
  1. Catat semua hostname yang diperlukan.
  2. Backup ORACLE_BASE.
    oracle@portal-vbox:~ $ cd /u01/app
    oracle@portal-vbox:/u01/app $ tar cvvzpf ~/MIGRATE/ORACLE_BASE.tar.gz oracle
    oracle@portal-vbox:/u01/app $ cd /u02/app
    oracle@portal-vbox:/u02/app $ tar cvvzpf ~/MIGRATE/ORACLE_BASE_PRIVATE.tar.gz oracle
  3. Backup ORAINVENTORY.
    oracle@portal-vbox:~ $ tar cvvzpf ~/MIGRATE/ORAINVENTORY.tar.gz oraInventory
  4. Backup ORADIAG.
    oracle@portal-vbox:~ $ tar cvvzpf ~/MIGRATE/ORADIAG.tar.gz oradiag_oracle
  5. Backup BEA_HOMES.
    oracle@portal-vbox:~ $ tar cvvzpf ~/MIGRATE/BEA_HOMES.tar.gz bea
  6. Backup oraInst.loc.
    oracle@portal-vbox:~ $ cp /etc/ora* ~/MIGRATE/

Upload backup tersebut ke masing-masing droplet di DigitalOcean. Kesabaran sangat dibutuhkan pada tahap ini, kemarin saya upload sekitar 4 jam baru selesai. :)

Proses Restore ke DigitalOcean


Selagi menunggu proses upload ke droplet, jangan lupa untuk menginstalasi paket RPM oracle-validated pada kedua droplet tersebut. Setelah proses upload selesai, lakukan langkah-langkah berikut untuk me-restore Database:
  1. Sesuaikan hostname dengan IP yang terkonfigurasi pada droplet.
  2. Restore ORACLE_BASE menggunakan user root.
    oracle@db-droplet:~ $ su -
    root@db-droplet:~ # mkdir -p /u03/app
    root@db-droplet:~ # chown -R oracle:oinstall /u03/app
    root@db-droplet:~ # cd /u03/app
    root@db-droplet:/u03/app # tar xvvzpf /home/oracle/MIGRATE/ORACLE_BASE.tar.gz
    root@db-droplet:/u03/app # exit
  3. Restore ORAINVENTORY.
    oracle@db-droplet:~ $ tar xvvzpf ~/MIGRATE/ORAINVENTORY.tar.gz
  4. Restore ORADIAG.
    oracle@db-droplet:~ $ tar xvvzpf ~/MIGRATE/ORADIAG.tar.gz
  5. Restore oraInst.loc dan oratab.
    oracle@db-droplet:~ $ su
    root@db-droplet:/home/oracle # cp ~/MIGRATE/ora* /etc/
    root@db-droplet:/home/oracle # exit
  6. Reinstall Oracle scripts.
    oracle@db-droplet:~ $ su -
    root@db-droplet:~ # /u03/app/oracle/product/11.2.0/dbhome_1/root.sh
    root@db-droplet:~ # exit
  7. Validasi instalasi dengan startup Database.
    oracle@db-droplet:~ $ . oraenv
    oracle@db-droplet:~ $ lsnrctl start
    oracle@db-droplet:~ $ sqlplus / as sysdba
    SQL> startup
    
Setelah Database sudah valid pada droplet, WebLogic Domain dapat di-restore dengan mengikuti langkah-langkah berikut:
  1. Sesuaikan hostname dengan IP yang terkonfigurasi pada droplet.
  2. Restore ORACLE_BASE.
    oracle@portal-droplet:~ $ su -
    root@portal-droplet:~ # mkdir -p /u01/app
    root@portal-droplet:~ # chown -R oracle:oinstall /u01/app
    root@portal-droplet:~ # mkdir -p /u02/app
    root@portal-droplet:~ # chown -R oracle:oinstall /u02/app
    root@portal-droplet:~ # exit
    oracle@portal-droplet:~ $ cd /u01/app
    oracle@portal-droplet:/u01/app $ tar xvvzpf ~/MIGRATE/ORACLE_BASE.tar.gz
    oracle@portal-droplet:~ $ cd /u02/app
    oracle@portal-droplet:/u02/app $ tar xvvzpf ~/MIGRATE/ORACLE_BASE_PRIVATE.tar.gz
  3. Restore ORAINVENTORY.
    oracle@portal-droplet:~ $ tar xvvzpf ~/MIGRATE/ORAINVENTORY.tar.gz
  4. Restore ORADIAG.
    oracle@portal-droplet:~ $ tar xvvzpf ~/MIGRATE/ORADIAG.tar.gz
  5. Restore BEA_HOMES.
    oracle@portal-droplet:~ $ tar xvvzpf ~/MIGRATE/BEA_HOMES.tar.gz
  6. Restore oraInst.loc menggunakan user root.
    oracle@portal-droplet:~ $ su -
    root@portal-droplet:~ # cp /home/oracle/MIGRATE/ora* /etc/
    root@portal-droplet:~ # exit
  7. Validasi deployment dengan startup WebLogic Domain.
    oracle@portal-droplet:~ $ cd /u02/app/oracle/admin/nodemanager
    oracle@portal-droplet:/u02/app/oracle/admin/nodemanager $ export JAVA_OPTIONS="-DDomainRegistrationEnabled=true"
    oracle@portal-droplet:/u02/app/oracle/admin/nodemanager $ java weblogic.WLST NodeManager.py
    oracle@portal-droplet:/u02/app/oracle/admin/nodemanager $ java weblogic.WLST AdminServer.py

Demikian langkah-langkah sederhana yang saya lakukan untuk berhasil memindahkan deployment WebLogic Domain beserta Database-nya dari lingkungan VirtualBox ke cloud service. Selamat mencoba!