Portal kami menggunakan cookies untuk meningkat serta memberikan pengalaman personalisasi kepada anda . Dengan melayari portal ini, anda bersetuju dengan penggunaan cookies. Kami telah mengemas kini Dasar Privasi kami. Klik pada butang untuk memeriksa Dasar Privasi kami.

Blog Post

KEPERLUAN MEMBINA TAHAP KETERSEDIAAN YANG TINGGI (HA) KE ATAS SERVER VIRTUAL

KEPERLUAN MEMBINA TAHAP KETERSEDIAAN YANG TINGGI (HA) KE ATAS SERVER VIRTUAL

Sumber Artikel dari Buletin PERJASA 2019 oleh :
Mohd Rizal Kadis | Jabatan Kemajuan Islam Malaysia (JAKIM)

Keselamatan Maklumat terdiri daripada tiga ciri-ciri asas iaitu Kerahsiaan, Integriti dan Ketersediaan. Ini telah dinyatakan di dalam Dasar Keselamatan ICT setiap agensi Kerajaan dan Standard ISO/IEC 27001:2013 Information Security Management Sistem (ISMS). Artikel ini menyentuh tentang bagaimana “Ketersediaan” harus dikekalkan ke atas server kerana server merupakan tempat di mana data-data penting anda disimpan. Jika kita sudah melaksanakan Pensijilan ISMS, sudah tentu kita dapat melihat di antara salah satu kawalan standard adalah perkara A.17.2 Redundancies iaitu berkaitan dengan kemampuan kita untuk menyediakan fasiliti sekunder seperti server bagi menjamin tahap ketersediaan yang tinggi. Oleh kerana data disimpan di dalam server, maka perlindungan terhadap server mestilah mendapat keutamaan agensi berbanding perlindungan yang lain.
Sememangnya banyak elemen yang perlu dilihat untuk melindungi server daripada ancaman terutama serangan penggodam. Misalnya, di antara perlindungan yang biasa diambil adalah dengan memasang firewall atau Intrusion Detection Sistem (IDS) dan sebagainya. Namun, ancaman yang jarang diambil perhatian adalah datang daripada sistem pengoperasian itu sendiri iaitu “Pincang Tugas”. Biasanya ancaman seperti ini akan mengakibatkan tempoh gendala (downtime) yang panjang dan sukar untuk dipulihkan.

Dengan kemunculan teknologi server hypervisor secara komersial hampir sedekad yang lalu, ianya telah banyak memberi manfaat dalam bidang ICT khususnya Pusat Data dimana keperluan terhadap server fizikal telah dapat dikurangkan secara mendadak dan sumber komputer dapat digunakan dengan lebih cekap dan berkesan dengan kebolehan mewujudkan server virtual di dalamnya mengikut permintaan. Ditambah pula dengan ciri-cirinya yang sofistikated dan maju seperti fungsi “Pindah Alih” secara automatik, ia mampu menyediakan keperluan server yang mempunyai tahap ketersediaan yang tinggi. Ini bermaksud, perkhidmatan server virtual tidak terganggu sekiranya berlaku kerosakan terhadap unit server fizikal kerana dengan adanya fungsi “Pindah Alih”, kesemua server virtual yang berada dalam server fizikal yang rosak dapat dialihkan ke server fizikal yang masih berfungsi dengan baik secara automatik. Ini secara tidak langsung telah dapat memenuhi salah satu daripada komponen asas Keselamatan Maklumat iaitu Ketersediaan.

Kerajaan telah memanfaatkan teknologi ini sepenuhnya dengan menyediakan perkhidmatan Virtual Server Hosting di Pusat Data Sektor Awam (PDSA) dimana agensi-agensi Kerajaan hanya perlu memohon server virtual yang diperlukan tanpa mengeluarkan sebarang kos tambahan. Kemudahan yang disediakan oleh PDSA ini sedikit sebanyak telah berjaya mengurangkan kos perolehan server yang tinggi di agensi hanya untuk menempatkan sistem atau laman web yang tidak memerlukan sumber komputer yang tinggi.

Namun begitu, adakah dengan menyediakan satu unit server virtual bagi sistem kritikal agensi sudah mencukupi bagi mencapai tahap ketersediaan yang tinggi (High-Availability)? Sebagai contoh, sekiranya berlaku kerosakan terhadap sistem pengoperasian seperti Kernel Panic atau Blue Screen of Death (BSoD), sudah tentu fungsi “Pindah Alih” seperti yang dinyatakan di atas tidak akan dapat membantu. Mungkin juga terdapat kaedah alternatif lain yang boleh digunakan iaitu memulihkan semula server virtual daripada fail sandaran (backup) atau snapshot, namun kaedah ini pasti akan melibatkan tempoh gendala. Tempoh gendala mungkin akan menjadi lebih panjang sekiranya kerosakan tersebut berlaku diluar waktu bekerja seperti pada waktu tidur, cuti umum/perayaan, atau pemilik server virtual tersebut tidak dapat dihubungi untuk mendapatkan maklum balas dan persetujuan. Tidak kurang juga jika kerja-kerja penyelenggaraan server perlu dilaksanakan seperti menaik taraf perisian, mengemaskini patches, troubleshooting, reboot dan sebagainya pasti akan melibatkan waktu gendala. Ini belum lagi jika terdapat kegagalan pada server selepas kerja-kerja penyelenggaraan dilaksanakan.

Sekiranya perkara ini terjadi, sudah tentu ia akan mengakibatkan kekecewaan kepada pengguna yang sedang menggunakan sistem pada masa tersebut kerana komponen asas keselamatan iaitu ketersediaan tidak dapat dipenuhi. 

Ketersediaan Yang Tinggi (HA) boleh dibina kepada dua cara iaitu Active-Passive HA atau Active-Active HA bergantung kepada kesesuaian produk dan teknologi yang digunakan. Active-Passive HA terdiri daripada primary dan failover server dimana primary server adalah server yang aktif manakala failover server adalah sandaran kepada primary server tersebut. Sekiranya berlaku kerosakan kepada primary server, failover server akan mengambil alih peranan primary server tersebut sebagai aktif. Manakalan Active-Active HA pula, setiap server adalah aktif dan load-balancing boleh dimanfaatkan bagi mengimbangkan trafik rangkaian setiap server. Load balancing membolehkan setiap server mempunyai trafik yang sekata sekaligus mempercepatkan capaian sekiranya jumlah trafik adalah tinggi.

Adakah kos untuk membina HA tinggi? Sebenarnya kos untuk membina HA tidak tinggi dan boleh saja menggunakan teknologi sumber terbuka (open source) seperti Linux. Tambahan lagi, server virtual boleh dipohon secara percuma daripada PDSA. Cuma yang diperlukan adalah sedikit masa dan tenaga untuk membuatnya.

Untuk memahami konsep HA ini, konsep Active-Passive HA yang paling asas boleh dibina daripada teknologi yang biasa dan banyak digunakan oleh agensi kerajaan seperti berikut:-
Sistem dibangunkan menggunakan bahasa pengaturcaraan PHP.
Menggunakan perisian Apache Web Server.
Platform Linux.

Gambarajah 1: Topologi Server berteraskan Active-Passive HA.

Asas Infrastruktur Active-Passive HA

Gambarajah 1 adalah asas infrastruktur server virtual yang perlu dibangunkan bagi membentuk sekurang-kurangnya tahap ketersediaan server yang minimum. Fungsi bagi setiap server adalah seperti berikut:-

  • Apache Web Server – Mengandungi perisian sumber terbuka HTTP server dan engine PHP. Ia juga mempunyai perisian HAProxy yang menggunakan Virtual Router Redundancy Protocol (VRRP) untuk mengawal floating IP.
  • MySQL Master – Pangkalan data MySQL yang bertindak sebagai master.

MySQL Slave – Pangkalan data MySQL yang bertindak sebagai slave.

Apakah Floating IP?

Floating IP adalah bersamaan dengan alamat IP fizikal yang ditetapkan secara kekal pada Network Interface Card (NIC) server bagi membolehkan server dikenal pasti dalam rangkaian. Perbezaan floating IP dengan alamat IP fizikal adalah ianya tidak akan kekal pada satu server sekiranya server yang menyimpan IP tersebut rosak. Sebaliknya, ia akan dipindahkan ke server lain yang masih baik keadaannya. Kerana itulah ia dinamakan floating IP. Sudah tentu Domain Name sistem perlu dilekapkan bersama dengan floating IP.

Daripada topologi yang ditunjukkan dalam Gambarajah 1, terdapat dua jenis server iaitu Apache Web Server dan MySQL yang masing-masing mempunyai lebih daripada satu server (redundancy) yang berfungsi secara Active-Passive HA. Di dalam persekitaran Active-Passive HA tersebut, Apache Web Server 1 dan MySQL Master berfungsi sebagai primary (active) manakala Apache Web Server 2 dan MySQL Slave berfungsi sebagai failover (passive). Server failover bertindak sebagai sandaran kepada server primary dimana server tersebut akan bertukar menjadi aktif sekiranya berlaku kerosakan kepada server primary. 

Gambarajah 2: Kerosakan berlaku kepada Apache Web Server 1 dan MySQL Master.

Sekiranya kegagalan berlaku pada Apache Web Server 1, floating IP akan berpindah ke Apache Web Server 2 secara automatic. Ini membolehkan sistem masih boleh dicapai oleh pengguna tanpa gendala dan mereka langsung tidak menyedari kerosakan yang telah berlaku seperti pada Gambarajah 2.

Walau bagaimanapun, senibina yang ditunjukkan masih mempunyai beberapa kelemahan seperti berikut:-
1) Failover server tidak akan digunakan sehinggalah primary server rosak, ini akan menyebabkan pembaziran sumber.
2) Terdapat dua set kod sumber masing-masing dalam Apache Web Server 1 dan 2, ini menyebabkan Pentadbir Sistem perlu memuat naik kod sumber kepada dua lokasi berlainan.
3) Oleh kerana fail session disimpan di primary server sahaja, pengguna akan terkeluar daripada sistem secara tiba-tiba dan perlu login semula (bayangkan jika beliau sedang memasukkan data).
4) Connection ke pangkalan data MySQL perlu ditetapkan secara manual, ini bermakna pertukaran IP host perlu dibuat dalam kod sumber dan akan menyebabkan waktu gendala.
5) Pertukaran connection ke pangkalan data MySQL Slave mungkin menyebabkan sistem tidak berfungsi terutama jika melibatkan operasi Insert/Update/Delete.

Namun begitu, meskipun dengan kelemahan-kelemahan yang masih ada, ianya adalah lebih baik berbanding daripada menggunakan hanya satu server virtual tunggal sahaja.

Artikel seterusnya akan membincangkan penambahbaikan kepada senibina di atas.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Related Posts