SIOS SANless clusters

SIOS SANless clusters High-availability Machine Learning monitoring

  • Home
  • Produk
    • SIOS DataKeeper for Windows
    • SIOS Protection Suite for Linux
  • Berita dan acara
  • Cluster server penyederhanaan
  • Kisah sukses
  • Hubungi kami
  • English
  • 中文 (中国)
  • 中文 (台灣)
  • 한국어
  • Bahasa Indonesia
  • ไทย

Cara Memasang Suite Perlindungan SIOS untuk Kunci Lisensi Linux

Februari 23, 2022 by Jason Aw Leave a Comment

Cara Memasang Suite Perlindungan SIOS untuk Kunci Lisensi Linux

Cara Memasang Suite Perlindungan SIOS untuk Kunci Lisensi Linux

Setelah Anda menginstal Suite Perlindungan SIOS untuk perangkat lunak Linux dan telah mengaktifkan lisensi Anda, Anda perlu menginstal kunci lisensi Anda sebelum Anda dapat mulai menjalankannya. Video berdurasi 4 menit ini akan mengulas cara menginstal perangkat lunak SIOS Protection Suite for Linux dan mendemonstrasikan cara mengaktifkan lisensi Anda untuk mulai menggunakan perangkat lunak SIOS Protection Suite for Linux.

Tonton sebagai perwakilan dukungan SIOS menunjukkan kepada Anda cara memeriksa apakah file gambar SPS Anda sudah terpasang, untuk memastikan Anda memiliki file lisensi, dan cara menginstal dan memasukkan nama jalur lengkap. Gunakan manajer kunci lisensi sederhana kami untuk memvalidasi lisensi yang diaktifkan dari kepemilikan yang dibeli, unduh dan terapkan kunci lisensi dan mulai perangkat lunak SIOS Protection Suite untuk Linux Anda.

Video ini juga menjelaskan proses bagaimana mengakses kami Portal Dokumentasi SIOS , di mana Anda dapat menemukan catatan rilis, panduan penginstalan, dokumentasi teknis, dan informasi yang merinci SIOS Protection Suite untuk Linux serta berbagai topik tentang semua SIOS.

Lihat kiat dan wawasan praktis tentang cara menyelesaikan langkah dengan cepat dan sederhana.Sekarang Anda dapat mulai melindungi aplikasi penting Anda dengan SIOS Protection Suite untuk Linux.

Cara Memasang Suite Perlindungan SIOS untuk Kunci Lisensi Linux

Direproduksi dengan izin dari SIOS

Filed Under: Cluster server penyederhanaan Tagged With: Linux

Memahami dan Menghindari Skenario Otak Terpisah

September 23, 2021 by Jason Aw Leave a Comment

Memahami dan Menghindari Skenario Otak Terpisah

 

 

Memahami dan Menghindari Skenario Otak Terpisah

Membelah otak. Sebagian besar pembaca blog kami pasti pernah mendengar istilah tersebut, dalam konteks komputasi, namun kami tidak bisa tidak bersimpati dengan mereka yang citra mental pertamanya adalah kekacauan yang akan terjadi jika seseorang memiliki dua otak, keduanya sama-sama memegang kendali pada saat itu. waktu yang sama.

Apa itu Skenario Failover Cluster Split Brain?

Dalam skenario failover cluster split brain, tidak ada node yang dapat berkomunikasi dengan yang lain, dan server siaga dapat mempromosikan dirinya sendiri untuk menjadi server aktif karena diyakini bahwa node aktif telah gagal. Hal ini menyebabkan kedua node menjadi ‘aktif’ karena masing-masing akan melihat yang lain gagal. Akibatnya, integritas dan konsistensi data terganggu karena data pada kedua node akan berubah. Ini disebut sebagai otak terbelah.

Ada dua jenis skenario split-brain yang mungkin terjadi untuk hierarki sumber daya SAP HANA jika langkah-langkah yang tepat tidak diambil untuk menghindarinya.

  • Otak Pemisahan Sumber Daya HANA: Sumber daya HANA Aktif (ISP) pada beberapa node cluster. Situasi ini biasanya disebabkan oleh pemadaman jaringan sementara yang mempengaruhi jalur komunikasi antara node cluster.
  • Replikasi Sistem SAP HANA Split Brain: Sumber daya HANA Aktif (ISP) pada node utama dan Siaga (OSU) pada node cadangan, tetapi database berjalan dan terdaftar sebagai situs replikasi utama pada kedua node. Situasi ini biasanya disebabkan oleh kegagalan untuk menghentikan database pada node utama sebelumnya selama failover, mengaktifkan Autostart untuk database, atau administrator database secara manual menjalankan “hdbnsutil -sr_takeover” di situs replikasi sekunder di luar lingkungan perangkat lunak pengelompokan .

Menghindari Masalah Otak Terbelah

Rekomendasi untuk menghindari atau menyelesaikan setiap jenis skenario otak terbelah dalam Suite Perlindungan SIOS lingkungan pengelompokan diberikan di bawah ini.

Saat dalam skenario split-brain, pesan yang mirip dengan berikut ini dicatat dan disiarkan ke semua konsol terbuka setiap interval quickCheck (default 2 menit) hingga masalah teratasi.

EMERG:hana:quickCheck:HANA-SPS_HDB00:136363:WARNING: Terjadi kegagalan komunikasi sementara antara server hana2-1 dan hana2-2. Intervensi manual diperlukan untuk meminimalkan risiko kehilangan data. 
Untuk mengatasi situasi ini, harap hentikan salah satu hierarki sumber daya berikut: HANA-SPS_HDB00 pada hana2-1 atau HANA-SPS_HDB00 pada hana2-2. 
Server tempat hierarki sumber daya dihentikan layanannya akan menjadi situs Replikasi Sistem SAP HANA sekunder.

Rekomendasi untuk resolusi:

  1. Selidiki database pada setiap node cluster untuk menentukan instance mana yang berisi data paling mutakhir atau relevan. Penentuan ini harus dilakukan oleh administrator database yang memenuhi syarat yang akrab dengan data.
  2. Sumber daya HANA pada simpul yang berisi data yang perlu dipertahankan akan tetap Aktif (ISP) di LifeKeeper, dan hierarki sumber daya HANA pada simpul yang akan didaftarkan ulang sebagai situs replikasi sekunder akan ditiadakan sepenuhnya di Penjaga Kehidupan. Klik kanan pada setiap sumber daya daun dalam hierarki sumber daya HANA pada simpul di mana hierarki harus dihentikan dan klik Sedang dalam perbaikan …
  3. Setelah hierarki sumber daya SAP HANA berhasil dihentikan, LifeKeeper akan mendaftarkan ulang node Siaga sebagai situs replikasi sekunder selama interval quickCheck berikutnya (default 2 menit). Setelah replikasi dilanjutkan, semua data pada node Siaga yang tidak ada pada node Aktif akan hilang. Setelah node Siaga didaftarkan ulang sebagai situs replikasi sekunder, hierarki SAP HANA telah kembali ke status sangat tersedia.

Replikasi Sistem SAP HANA Resolusi Otak Split

Saat dalam skenario split-brain ini, pesan yang mirip dengan yang berikut ini dicatat dan disiarkan ke semua konsol yang terbuka setiap saat. Periksa interval (default 2 menit) hingga masalah teratasi.

EMERG:hana:quickCheck:HANA-SPS_HDB00:136364:PERINGATAN: Basis data SAP HANA HDB00 berjalan dan terdaftar sebagai master utama pada hana2-1 dan hana2-2. Intervensi manual diperlukan untuk meminimalkan risiko kehilangan data. Untuk mengatasi situasi ini, harap hentikan instance database HDB00 pada hana2-2 dengan menjalankan perintah 'su – spsadm -c “sapcontrol -nr 00 -function Stop”' di server tersebut. Setelah dihentikan, itu akan menjadi situs Replikasi Sistem SAP HANA sekunder.

Rekomendasi untuk resolusi:

  1. Selidiki database pada setiap node cluster untuk menentukan apakah ada data penting di node siaga yang tidak ada di node aktif. Jika data penting telah dikomit ke database pada node Standby saat dalam keadaan split-brain, data perlu disalin secara manual ke node Aktif. Penentuan ini harus dilakukan oleh administrator database yang memenuhi syarat yang akrab dengan data.
  2. Setelah data yang hilang telah disalin dari database pada node Siaga ke node Aktif, hentikan database pada node Siaga dengan menjalankan perintah yang diberikan dalam pesan peringatan LifeKeeper:

    su – adm -c “sapcontrol -nr <Inst#> -function Stop” di mana ID Sistem SAP huruf kecil untuk instalasi HANA dan <Inst#> adalah nomor instans untuk instans HDB (misalnya, nomor instans, misalnya, HDB00 adalah 00)

  3. Setelah database berhasil dihentikan, LifeKeeper akan mendaftarkan ulang node Siaga sebagai situs replikasi sekunder selama interval quickCheck berikutnya (default 2 menit). Setelah replikasi dilanjutkan, semua data pada node Siaga yang tidak ada pada node Aktif akan hilang. Setelah node Siaga didaftarkan ulang sebagai situs replikasi sekunder, hierarki SAP HANA telah kembali ke status sangat tersedia.

Menyadari skenario otak terbelah yang umum dan mengambil langkah-langkah ini untuk menguranginya dapat menghemat waktu Anda dan melindungi integritas data.

Direproduksi dengan izin dari SIOS

Filed Under: Cluster server penyederhanaan Tagged With: Linux

Tujuh Keterampilan Yang Dibutuhkan Tim Anda jika Anda Menggunakan Sumber Terbuka dengan Ketersediaan Tinggi

Maret 31, 2021 by Jason Aw Leave a Comment

Tujuh Keterampilan Yang Dibutuhkan Tim Anda jika Anda Menggunakan Sumber Terbuka dengan Ketersediaan Tinggi

Tujuh Keterampilan Yang Dibutuhkan Tim Anda jika Anda Menggunakan Sumber Terbuka dengan Ketersediaan Tinggi

Di ranah Ketersediaan Tinggi (HA) ada keterampilan penting tertentu yang dibutuhkan tim Anda jika Anda memutuskan untuk menggunakan sumber terbuka. Sumber terbuka menurut definisi menunjukkan perangkat lunak yang tersedia secara bebas untuk digunakan.

Saat ini, ada banyak implementasi komersial dari cluster ketersediaan tinggi untuk banyak sistem operasi yang disediakan oleh vendor seperti Microsoft dan SIOS Technology Corp. Solusi komersial ini menyediakan pemantauan sumber daya, manajemen ketergantungan, kebijakan failover dan cluster, dan beberapa bentuk manajemen yang telah dikemas dan diberi harga.Alternatif untuk implementasi komersial adalah beberapa opsi open source yang juga memberi perusahaan kesempatan untuk menyediakan ketersediaan tinggi untuk perusahaan mereka.

Karena perusahaan terus mencari pengoptimalan, penghematan biaya, dan potensi kontrol yang lebih ketat, semakin banyak perusahaan dan pelanggan juga mempertimbangkan untuk pindah ke solusi ketersediaan sumber terbuka.

Berikut tujuh keterampilan yang mungkin dibutuhkan tim Anda untuk pindah ke Open Source HA:

1. Keterampilan coding

Dalam banyak kasus, kurangnya dukungan yang dikemas dan dipaketkan untuk aplikasi perusahaan berarti bahwa tim Anda harus dapat mengembangkan solusi untuk melindungi komponen, memperbaiki masalah dengan komponen yang dibundel, atau menulis konektor aplikasi untuk memastikan kesadaran aplikasi ditangani dengan benar.Banyak orang dapat menulis skrip, tetapi tim Anda perlu mengetahui cara membuat dan mematuhi praktik dan standar pengembangan yang baik.Dasar-dasar ini mencakup hal-hal seperti:

  • Persyaratan Desain dan Arsitektur
  • Ulasan Desain
  • Tinjauan Kode / Kode dan Tes Unit (lebih disukai otomatis)

2. Pengetahuan tentang lingkungan teknologi

Banyak aplikasi perusahaan memerlukan integrasi dengan beberapa sistem untuk menyediakan ketersediaan tinggi yang memenuhi Perjanjian Tingkat Layanan (SLA) dan Sasaran Tingkat Layanan (SLO).Tim Anda akan membutuhkan kesadaran aplikasi yang mendalam dan pengetahuan tentang lingkungan teknologi untuk membangun perlindungan dan solusi untuk integrasi ini dengan beberapa sistem perusahaan.Anda membutuhkan orang-orang yang mengetahui seluk beluk aplikasi kritis, lingkungan teknologi untuk aplikasi tersebut, jaringan, perangkat keras, hypervisor, dan pemahaman tentang ketergantungan lingkungan dan aplikasi.Anda juga memerlukan anggota tim yang memahami arsitektur, fitur, dan batasan dari rangkaian teknologi HA yang ingin Anda gunakan dari komunitas Open Source. Pertimbangkan seberapa banyak dari area berikut yang diketahui dan dipahami oleh tim Anda:

  • Pengiriman data dan komunikasi node
  • Kegagalan node
  • Manajemen aplikasi
  • Pemulihan sistem dan mulai ulang
  • Logging dan pesan
  • Ketahanan dan perlindungan data

3. Pengetahuan proses bisnis

Anda membutuhkan seseorang untuk memahami kebutuhan bisnis Anda, dan proses bisnisnya.Tim Anda membutuhkan profesional yang memahami bisnis perusahaan dan proses yang mendorongnya.Tim Anda perlu mengetahui dan memahami berapa banyak anggaran yang tersedia untuk dibelanjakan untuk mengembangkan solusi, seberapa besar risiko yang bersedia diambil oleh bisnis, dan cara mengumpulkan persyaratan tambahan yang mungkin tidak terucapkan atau tidak ditentukan.

Tim juga perlu mengetahui, atau mempekerjakan seseorang yang tahu bagaimana mengubah persyaratan bisnis tersebut menjadi persyaratan perangkat lunak dan bagaimana mengelola proses yang menghasilkan solusi ketersediaan tinggi minimum yang layak untuk membuahkan hasil yang memenuhi kebutuhan bisnis, kecepatan bisnis, dan cocok dengan proses bisnis.

4. Pengalaman dengan OS, Aplikasi dan Infrastruktur

Jika Anda ingin semuanya terbuka, tim Anda akan membutuhkan pengalaman memahami Sistem Operasi, Aplikasi, dan Infrastruktur.Anda perlu memahami berbagai siklus rilis OS, termasuk versi kernel untuk Linux, pembaruan, dan perbaikan terbaru untuk Windows.Anda memiliki aplikasi internal yang perlu didukung, tetapi Anda juga harus rajin memahami siklus pembaruan aplikasi, ketergantungannya, dan titik temu antara aplikasi dan matriks dukungan OS.Jika lingkungan Anda homogen, bagus.Jika tidak, tim Anda perlu mengetahui perbedaan antara RHEL, turunan RHEL, dan SUSE.Jika Anda adalah Linux dan Windows, Anda juga perlu mengetahuinya.Anda juga perlu memahami perbedaan yang akan dihasilkan infrastruktur pada aplikasi dan kombinasi OS.AWS dan Azure menghadirkan perbedaan untuk ketersediaan tinggi yang berbeda dari GCP, on-premise, dan hypervisor lainnya.

5. Ubah kemampuan manajemen

Bayangkan Anda memiliki tim pengembangan untuk membuat solusi, dengan pengetahuan teknis dan bisnis bersama dengan pemahaman yang kuat tentang OS, Infrastruktur, dan Aplikasi.Tapi, menyatukan skrip hanyalah permulaan.Tim Anda juga membutuhkan kemampuan manajemen perubahan.Bagaimana tim Anda akan melacak perubahan kode dan versi, paket, dan lokasi paket?Bagaimana tim Anda akan mengelola rilis pembaruan dan perubahan?Tim Anda harus berpengalaman dalam repositori sumber, seperti git, alat manajemen proyek, seperti Jira, dan keahlian rilis kereta.Anda akan membutuhkan tim yang memahami cara memperbarui kode, mengirimkan tambalan dan perbaikan, sambil menghindari dampak yang tidak diinginkan.

6. Pengalaman analitik data dan pemecahan masalah

Saat Anda memasuki ruang penyampaian solusi HA Anda sendiri, tim Anda akan membutuhkan analitik dan pengalaman pemecahan masalah.Anda harus memiliki sumber daya yang memahami persimpangan kode aplikasi, pesan sistem, dan log kesalahan aplikasi serta file pelacakan.Saat terjadi kerusakan sistem, Anda harus menggali log lebih dalam untuk memecahkan masalah dan menemukan akar penyebabnya, menganalisis data untuk membuat rekomendasi, dan bersiap untuk meluncurkan perubahan (lihat # 5 di atas).Jangan lupa, tim Anda juga perlu mengetahui dan memahami apa yang dapat diberitahukan oleh data dari log dan file pelacakan ini kepada Anda tentang kesehatan lingkungan Anda meskipun tidak ada kesalahan, kegagalan, atau kerusakan sistem.

7. Koneksi (Dev, QA, Partners, Community)

Jujur saja, bisnis Anda bukan tentang memberikan ketersediaan tinggi, tetapi jika Anda memutuskan untuk terjun ke dunia HA open source, Anda akan membutuhkan lebih banyak bantuan daripada hanya kecemerlangan dalam tim Anda.Kunci untuk mendapatkan bantuan tambahan tersebut adalah memahami dari mana harus memulai dan kemudian membuat koneksi yang tepat dengan pengembang komunitas, orang-orang yang ahli dalam pengujian, HA dan mitra aplikasi, dan komunitas sumber terbuka.Forum terbuka sangat membantu, tetapi Anda harus memeriksa ulang apakah waktu respons sesuai dengan SLA dan SLO Anda.

Menggunakan solusi Open Source adalah pilihan yang dipilih banyak perusahaan untuk mengejar masalah biaya dan persepsi tentang fleksibilitas, biaya lebih rendah, dan risiko lebih sedikit.Namun, pembeli berhati-hatilah, mungkin ada biaya tersembunyi dalam bentuk keterampilan dan manajemen baru, dan risiko tersembunyi dalam hal program sumber terbuka yang Anda gunakan yang akan diperlukan untuk setiap solusi "roll your own HA".

– Cassius Rhue, VP, Pengalaman Pelanggan

Direproduksi dari SIOS

Filed Under: Cluster server penyederhanaan Tagged With: Linux

Cara Memberikan Ketersediaan Tinggi untuk SQL Server di Lingkungan Linux

September 10, 2020 by Jason Aw Leave a Comment

Cara Memberikan Ketersediaan Tinggi untuk SQL Server di Lingkungan Linux

Cara Memberikan Ketersediaan Tinggi untuk SQL Server di Lingkungan Linux

Jika organisasi Anda menjalankan Microsoft SQL Server yang penting bagi bisnis di Linux, tim TI Anda pasti tahu betapa sulitnya mempertahankan ketersediaan, kinerja, dan keamanan yang tinggi. Yang paling sulit adalah cara memastikan ketersediaan tinggi dengan replikasi yang kuat dan failover otomatis. Menggunakan perangkat lunak sumber terbuka dan solusi klaster HA SANless yang mudah dikonfigurasi dapat menawarkan pendekatan pemeliharaan yang lebih sederhana tanpa mengorbankan keselamatan dan kinerja yang dibutuhkan organisasi Anda.

Opsi Ketersediaan Tinggi Terbatas untuk Linux

Sebagian besar distribusi Linux memberi departemen TI dua pilihan lebih rendah untuk ketersediaan tinggi: membayar lebih untuk SQL Server Enterprise Edition untuk mengimplementasikan Always On Availability Groups, atau berjuang untuk membuat konfigurasi Linux HA sendiri yang rumit berfungsi dengan baik — sesuatu yang bisa sangat luar biasa sulit dilakukan.

Masalah dengan menggunakan Edisi Perusahaan adalah bahwa hal itu merusak strategi penghematan biaya untuk menggunakan sistem operasi sumber terbuka pada perangkat keras komoditas. Untuk sejumlah aplikasi SQL Server kecil yang terbatas, mungkin saja ada alasan untuk membenarkan biaya tambahan. Tapi itu terlalu mahal untuk banyak aplikasi database dan tidak akan melakukan apa pun untuk menyediakan HA tujuan umum untuk Linux.

Menyediakan HA di semua aplikasi yang berjalan di lingkungan Linux dimungkinkan menggunakan perangkat lunak sumber terbuka, seperti Pacemaker dan Corosync, atau Ekstensi Ketersediaan Tinggi SUSE Linux Enterprise. Tetapi membuat tumpukan perangkat lunak lengkap berfungsi seperti yang diinginkan memerlukan pembuatan (dan pengujian) skrip khusus untuk setiap aplikasi, dan skrip ini sering kali perlu diuji ulang dan diperbarui bahkan setelah perubahan kecil dilakukan pada perangkat lunak atau perangkat keras yang digunakan. Kemampuan terkait ketersediaan yang tidak didukung di SQL Server Standard Edition dan Linux dapat membuat upaya ini lebih menantang.

Menemukan Solusi Ketersediaan Tinggi Alternatif untuk SQL Server di Linux

Untuk membuat HA hemat biaya dan mudah diterapkan, Anda mungkin ingin mempertimbangkan dua pendekatan tujuan umum yang berbeda.

Salah satunya adalah menggunakan sistem berbasis penyimpanan yang melindungi data dengan mereplikasinya dalam jaringan area penyimpanan (SAN) yang redundan dan tangguh. Pendekatan ini agnostik sehubungan dengan sistem operasi host, tetapi memerlukan bahwa seluruh infrastruktur SAN diperoleh dari satu vendor dan bergantung pada ketentuan failover terpisah untuk memberikan ketersediaan tinggi.

Pendekatan lainnya adalah berbasis host dan melibatkan pembuatan kluster SANless agnostik penyimpanan di seluruh instance server Linux. Sebagai hamparan HA, cluster ini mampu beroperasi di LAN dan WAN di cloud pribadi, publik, dan hybrid. Hamparan tersebut juga bersifat aplikasi-agnostik, memungkinkan organisasi memiliki solusi HA universal tunggal di semua aplikasi. Meskipun pendekatan ini menghabiskan sumber daya host, ini relatif murah dan mudah diskalakan di lingkungan Linux.

Sebagian besar opsi cluster HA SANless menyediakan kombinasi replikasi data level blok waktu nyata, pemantauan aplikasi berkelanjutan, dan kebijakan pemulihan failover / failback yang dapat dikonfigurasi untuk melindungi semua aplikasi bisnis penting, termasuk yang menggunakan Mesin Virtual Cluster Always On Failover yang tersedia dalam Edisi Standar dari SQL Server.

SIOS Technology Corp. menawarkan solusi cluster HA SANless yang lebih kuat untuk Linux dengan kemampuan canggih yang dirancang untuk membebaskan TI dari kerumitan dan tantangan sehari-hari dalam mendukung dan mengoptimalkan infrastruktur komputasi. Solusi SIOS Protection Suite dengan LifeKeeper menyediakan:

  • Pemantauan berkelanjutan dari seluruh tumpukan aplikasi Linux
  • Perlindungan Sadar Aplikasi Lengkap dengan kit pemulihan aplikasinya (ARK) untuk pemulihan yang cepat dan aman atau kegagalan aplikasi dan database yang kompleks
  • Penyiapan yang digerakkan oleh wizard untuk pengelompokan Linux
  • Fleksibilitas konfigurasi, seperti menggunakan cluster penyimpanan bersama tradisional atau perangkat lunak untuk menyinkronkan penyimpanan lokal dalam konfigurasi cluster tanpa SAN

Misalnya, cluster SANless dapat menangani dua kegagalan bersamaan. Operasi dasarnya sama di LAN dan WAN, serta di cloud pribadi, publik, dan hybrid.

Dalam server cluster dua-node tipikal # 1 pada awalnya adalah yang utama yang mereplikasi data ke server #. Ini mengalami masalah, secara otomatis memicu failover ke server # 2, yang sekarang menjadi yang utama.

Dalam situasi ini, departemen TI kemungkinan akan mulai mendiagnosis dan memperbaiki masalah apa pun yang menyebabkan server # 1 gagal. Setelah diperbaiki, ini bisa mengambil alih sebagai server utama atau # 2 dapat melanjutkan dalam kapasitas mereplikasi data ke server # 1.

Dengan sebagian besar konfigurasi pengelompokan tanpa HA SAN, pengalihan terjadi secara otomatis, dan pengalihan serta pengalihan dapat dikontrol oleh konsol berbasis browser.

Untuk informasi lebih lanjut tentang solusi SIOS LifeKeeper dan Protection Suite, kunjungi SIOS SAN dan SANless High Availability Clusters untuk Cluster Server Environments.

Direproduksi dengan izin dari SIOS

Filed Under: Cluster server penyederhanaan Tagged With: Linux

Langkah-demi-Langkah: Cara mengonfigurasi klaster failover SANless MySQL Linux di Amazon EC2

Agustus 18, 2020 by Jason Aw Leave a Comment

Langkah-demi-Langkah: Cara mengonfigurasi klaster failover SANless MySQL Linux di Amazon EC2

Langkah-demi-Langkah: Cara mengonfigurasi klaster failover SANless MySQL Linux di Amazon EC2

Dalam panduan langkah demi langkah ini, saya akan memandu Anda melalui semua langkah yang diperlukan untuk mengonfigurasi klaster MySQL 2-node yang sangat tersedia (plus server saksi) di Amazon Elastic Compute Cloud (Amazon EC2). Panduan ini mencakup tangkapan layar, perintah shell, dan cuplikan kode yang sesuai. Saya berasumsi bahwa Anda agak akrab dengan Amazon EC2 dan sudah memiliki akun. Jika tidak, Anda dapat mendaftar hari ini. Saya juga akan berasumsi bahwa Anda memiliki pemahaman dasar tentang administrasi sistem Linux dan konsep pengelompokan failover seperti IP Virtual, dll.

Pengelompokan failover telah ada selama bertahun-tahun. Dalam konfigurasi umum, dua atau lebih node dikonfigurasikan dengan penyimpanan bersama untuk memastikan bahwa jika terjadi failover pada node utama, node sekunder atau target akan mengakses data paling terbaru. Menggunakan penyimpanan bersama tidak hanya memungkinkan tujuan titik pemulihan mendekati nol, ini juga merupakan persyaratan wajib untuk sebagian besar perangkat lunak pengelompokan. Namun, penyimpanan bersama menghadirkan beberapa tantangan. Pertama, ini adalah satu titik risiko kegagalan. Jika penyimpanan bersama – biasanya SAN – gagal, semua node di cluster gagal. Kedua, SAN bisa mahal dan rumit untuk dibeli, disiapkan, dan dikelola. Ketiga, penyimpanan bersama di cloud publik, termasuk Amazon EC2 tidak mungkin, atau tidak praktis bagi perusahaan yang ingin mempertahankan ketersediaan tinggi (waktu aktif 99,99%), waktu pemulihan dan tujuan titik pemulihan mendekati nol, dan perlindungan pemulihan bencana.

Berikut ini menunjukkan betapa mudahnya membuat cluster SANless di cloud untuk menghilangkan tantangan ini sambil memenuhi HA / DR SLA yang ketat. Langkah-langkah di bawah ini menggunakan database MySQL dengan Amazon EC2, tetapi langkah yang sama dapat disesuaikan untuk membuat klaster 2-node di AWS untuk melindungi SQL, SAP, Oracle, atau aplikasi lainnya.

CATATAN: Tampilan fitur, layar, dan tombol Anda mungkin sedikit berbeda dari screenshot yang disajikan di bawah ini

1. Buat Virtual Private Cloud (VPC)
2. Buat Gateway Internet
3. Buat Subnet (Zona Ketersediaan)
4. Konfigurasi Tabel Rute
5. Konfigurasikan Grup Keamanan
6. Luncurkan Instance
7. Buat IP Elastis
8. Buat Entri Rute untuk IP Virtual
9. Nonaktifkan Pemeriksaan Sumber / Tujuan untuk ENI
10. Dapatkan ID Kunci Akses dan Kunci Akses Rahasia
11. Konfigurasi OS Linux
12. Instal Alat API EC2
13. Instal dan Konfigurasi MySQL
14. Instal dan Konfigurasi Cluster
15. Konektivitas Cluster Uji

Gambaran

Artikel ini akan menjelaskan cara membuat cluster dalam satu wilayah Amazon EC2. Node cluster (node1, node2 dan server saksi) akan berada di Availability Zone yang berbeda untuk ketersediaan maksimum. Ini juga berarti bahwa node akan berada di subnet yang berbeda.

Alamat IP berikut akan digunakan:

  • node1: 10.0.0.4
  • node2: 10.0.1.4
  • saksi: 10.0.2.4
  • virtual / "mengambang" IP: 10.1.0.10

Langkah 1: Buat Virtual Private Cloud (VPC)

Pertama, buat Virtual Private Cloud (alias VPC). VPC adalah jaringan terisolasi dalam cloud Amazon yang didedikasikan untuk Anda. Anda memiliki kendali penuh atas hal-hal seperti blok dan subnet alamat IP, tabel rute, grup keamanan (mis. Firewall), dan banyak lagi. Anda akan meluncurkan mesin virtual (VM) Azure Iaas Anda ke Jaringan Virtual Anda.

Dari dasbor AWS utama, pilih "VPC"

Di bawah "VPC Anda", pastikan Anda telah memilih region yang tepat di kanan atas layar. Dalam panduan ini wilayah "AS Barat (Oregon)" akan digunakan, karena merupakan wilayah yang memiliki 3 Availability Zone. Untuk informasi lebih lanjut tentang Region dan Availability Zone, klik di sini.

Beri nama VPC, dan tentukan blok IP yang ingin Anda gunakan. 10.0.0.0/16 akan digunakan dalam panduan ini:

Anda sekarang akan melihat VPC yang baru dibuat di layar "VPC Anda":

Langkah 2: Buat Gateway Internet

Selanjutnya, buat Gateway Internet. Ini diperlukan jika Anda ingin Instance (VM) Anda dapat berkomunikasi dengan internet.

Di menu sebelah kiri, pilih Gateway Internet dan klik tombol Buat Gateway Internet. Beri nama, dan buat:

Selanjutnya, pasang gateway internet ke VPC Anda:

Pilih VPC Anda, dan klik Lampirkan:

 

Langkah 3: Buat Subnet (Zona Ketersediaan)

Selanjutnya, buat 3 subnet. Setiap subnet akan berada di Availability Zone itu sendiri. 3 Mesin Virtual (VM: node1, node2, saksi) akan diluncurkan ke subnet terpisah (dan oleh karena itu, Availability Zone) sehingga kegagalan Availability Zone tidak akan menghilangkan beberapa node cluster.

Wilayah AS Barat (Oregon), alias us-west-2, memiliki 3 zona ketersediaan (us-west-2a, us-west-2b, us-west-2c). Buat 3 subnet, satu di masing-masing dari 3 zona ketersediaan.

Di bawah Dasbor VPC, buka Subnet, lalu Buat Subnet:

Beri nama subnet pertama ("Subnet1)", pilih zona ketersediaan us-west-2a, dan tentukan blok jaringan (10.0.0.0/24):

Ulangi untuk membuat zona ketersediaan subnet kedua us-west-2b:

Ulangi untuk membuat subnet ketiga di zona ketersediaan us-west-2c:

Setelah selesai, verifikasi bahwa 3 subnet telah dibuat, masing-masing dengan blok CIDR yang berbeda, dan di Availability Zone yang terpisah, seperti yang terlihat di bawah ini:

Langkah 4: Konfigurasikan Tabel Rute

Perbarui tabel rute VPC sehingga lalu lintas ke dunia luar dikirim ke Gerbang Internet yang dibuat pada langkah sebelumnya. Dari Dasbor VPC, pilih Tabel Rute. Buka tab Rute, dan secara default hanya akan ada satu rute yang mengizinkan lalu lintas hanya dalam VPC.

Klik Edit:

Tambahkan rute lain:

Tujuan dari rute baru ini adalah "0.0.0.0/0" (internet) dan untuk Target, pilih Gateway Internet Anda. Kemudian klik Simpan:

Selanjutnya, kaitkan 3 subnet dengan Tabel Rute. Klik tab "Asosiasi Subnet", dan Edit:

Centang kotak di samping 3 subnet, dan Simpan:

Verifikasi bahwa 3 subnet terkait dengan tabel rute utama:

Nanti, kami akan kembali dan memperbarui Tabel Rute sekali lagi, menentukan rute yang akan memungkinkan lalu lintas untuk berkomunikasi dengan IP Virtual cluster, tetapi ini perlu dilakukan SETELAH Linux Instances (VM) telah dibuat.

Langkah 5: Konfigurasikan Grup Keamanan

Edit Grup Keamanan (firewall virtual) untuk mengizinkan lalu lintas SSH dan VNC yang masuk. Keduanya nantinya akan digunakan untuk mengkonfigurasi instance linux serta instalasi / konfigurasi software cluster.

Di menu sebelah kiri, pilih "Grup Keamanan" lalu klik tab "Aturan Masuk". Klik Edit:

Tambahkan aturan untuk SSH (port 22) dan VNC. VNC umumnya menggunakan port di 5900, tergantung pada cara Anda mengkonfigurasinya, jadi untuk keperluan panduan ini, kami akan membuka kisaran port 5900-5910. Konfigurasi yang sesuai berdasarkan penyiapan VNC Anda:

Langkah 6: Luncurkan Instans

Kami akan menyediakan 3 Mesin Virtual (Mesin Virtual) dalam panduan ini. Dua VM pertama (disebut "node1" dan "node2") akan berfungsi sebagai node cluster dengan kemampuan untuk menghadirkan database MySQL dan resource terkaitnya secara online. VM ke-3 akan bertindak sebagai server saksi cluster untuk perlindungan tambahan terhadap otak yang terbelah.

Untuk memastikan ketersediaan maksimum, ketiga VM akan di-deploy ke Availability Zone yang berbeda dalam satu region. Ini berarti setiap instance akan berada di subnet yang berbeda.

Buka dasbor AWS utama, dan pilih EC2:

 

Buat "node1"

Buat instance pertama Anda ("node1"). Klik Luncurkan Instance:

Pilih distribusi linux Anda. Perangkat lunak cluster yang digunakan nanti mendukung RHEL, SLES, CentOS, dan Oracle Linux. Dalam panduan ini kita akan menggunakan RHEL 7.X:

Ukuran instans Anda sesuai. Untuk tujuan panduan ini dan untuk meminimalkan biaya, ukuran t2.micro digunakan karena memenuhi syarat tingkat gratis. Lihat di sini untuk informasi lebih lanjut tentang ukuran dan harga instans.

Selanjutnya, konfigurasikan detail instance. PENTING: pastikan untuk meluncurkan instance pertama (VM) ini ke dalam "Subnet1", dan tentukan alamat IP yang valid untuk subnet (10.0.0.0/24) – di bawah 10.0.0.4 dipilih karena ini adalah IP gratis pertama di subnet.
CATATAN: .1 / .2 / .3 di subnet mana pun di AWS sudah dipesan dan tidak dapat digunakan.

Selanjutnya, tambahkan disk ekstra ke node cluster (ini akan dilakukan pada "node1" dan "node2"). Disk ini akan menyimpan database MySQL kami dan nantinya akan direplikasi antar node.

CATATAN: Anda TIDAK perlu menambahkan disk ekstra ke node "saksi". Hanya "node1" dan "node2". Tambahkan Volume Baru, dan masukkan ukuran yang diinginkan:

Tentukan Tag untuk instance, Node1:

Kaitkan instance dengan grup keamanan yang ada, sehingga aturan firewall yang dibuat sebelumnya akan aktif:

Klik Luncurkan:

PENTING: Jika ini adalah contoh pertama di lingkungan AWS Anda, Anda harus membuat pasangan kunci baru. File kunci pribadi perlu disimpan di lokasi yang aman karena akan diperlukan saat Anda melakukan SSH ke dalam instance linux.

Buat "node2"

Ulangi langkah-langkah di atas untuk membuat instance linux kedua Anda (node2). Konfigurasikan persis seperti Node1. Namun, pastikan Anda menerapkannya ke "Subnet2" (zona ketersediaan us-west-2b). Rentang IP untuk Subnet2 adalah 10.0.1.0/24, jadi IP 10.0.1.4 digunakan di sini:

Pastikan untuk menambahkan disk ke-2 ke Node2 juga. Ini harus berukuran persis sama dengan disk yang Anda tambahkan ke Node1:

Berikan tag pada contoh kedua…. “Node2”:

Buat "saksi"

Ulangi langkah-langkah di atas untuk membuat instance linux ketiga Anda (saksi). Konfigurasikan persis seperti Node1 & Node2, KECUALI Anda TIDAK perlu menambahkan disk ke-2, karena instance ini hanya akan bertindak sebagai saksi cluster, dan tidak akan membuat MySQL online.

Pastikan Anda menerapkannya ke "Subnet3" (zona ketersediaan us-west-2c). Rentang IP untuk Subnet2 adalah 10.0.2.0/24, jadi IP 10.0.2.4 digunakan di sini:

CATATAN: konfigurasi disk default baik-baik saja untuk node saksi. Disk ke-2 TIDAK diperlukan:

Tandai node saksi:

Mungkin perlu sedikit waktu untuk menyediakan 3 instans Anda. Setelah selesai, Anda akan melihat kemudian terdaftar sebagai berjalan di konsol EC2 Anda:

Langkah 7: Buat IP Elastis

Selanjutnya, buat Elastic IP, yang merupakan alamat IP publik yang akan digunakan untuk terhubung ke instans Anda dari dunia luar. Pilih Elastic IPs di menu sebelah kiri, lalu klik “Allocate New Address”:

 

Pilih Elastic IP yang baru dibuat, klik kanan, dan pilih "Associate Address":

Kaitkan IP Elastis ini dengan Node1:

Ulangi ini untuk dua contoh lainnya jika Anda ingin mereka memiliki akses internet atau dapat menggunakan SSH / VNC secara langsung.

Langkah 8: buat Route Entry untuk Virtual IP

Pada titik ini, ketiga instance telah dibuat, dan tabel rute perlu diperbarui sekali lagi agar IP Virtual cluster berfungsi. Dalam konfigurasi kluster multi-subnet ini, IP Virtual harus berada di luar rentang CIDR yang dialokasikan ke VPC Anda.

Tentukan rute baru yang akan mengarahkan lalu lintas ke IP Virtual cluster (10.1.0.10) ke node cluster utama (Node1)

Dari Dasbor VPC, pilih Tabel Rute, klik Edit. Tambahkan rute untuk "10.1.0.10/32" dengan tujuan Node1:

Langkah 9: Nonaktifkan Pemeriksaan Sumber / Tujuan untuk ENI

Selanjutnya, nonaktifkan Pemeriksaan Sumber / Tujuan untuk Antarmuka Jaringan Elastis (ENI) dari node cluster Anda. Ini diperlukan agar instance menerima paket jaringan untuk alamat IP virtual cluster.

Lakukan ini untuk semua ENI.

Pilih “Network Interfaces”, klik kanan pada ENI, dan pilih “Change Source / Dest Check”.

Pilih "Disabled":

Langkah 10: Dapatkan ID Kunci Akses dan Kunci Akses Rahasia

Nanti di panduan, perangkat lunak klaster akan menggunakan AWS Command Line Interface (CLI) untuk memanipulasi entri tabel rute untuk IP Virtual klaster untuk mengarahkan lalu lintas ke simpul klaster aktif. Agar ini berfungsi, Anda perlu mendapatkan ID Kunci Akses dan Kunci Akses Rahasia agar AWS CLI dapat mengautentikasi dengan benar.

Di kanan atas Dasbor EC2, klik nama Anda, dan di bawahnya pilih "Kredensial Keamanan" dari drop-down:

Perluas bagian "Access Keys (Access Key ID and Secret Access Key)" pada tabel, dan klik "Create New Access Key". Unduh File Kunci dan simpan file di lokasi yang aman.

Langkah 11: Konfigurasi OS Linux

Hubungkan ke instance linux:

Untuk terhubung ke instance linux yang baru Anda buat (melalui SSH), klik kanan pada instance tersebut dan pilih "Hubungkan". Ini akan menampilkan instruksi untuk menghubungkan ke instance. Anda akan membutuhkan File Kunci Pribadi yang Anda buat / unduh pada langkah sebelumnya:

Contoh:

Di sinilah kita akan meninggalkan Dasbor EC2 sebentar dan mengotori baris perintah, yang sebagai administrator Linux Anda harus terbiasa sekarang.

Anda tidak diberi kata sandi root untuk VM Linux Anda di AWS (atau akun "pengguna ec2" default juga), jadi setelah Anda terhubung, gunakan perintah "sudo" untuk mendapatkan hak akses root:

$ sudo su –

Kecuali Anda sudah memiliki penyiapan server DNS, Anda pasti ingin membuat entri file host di ketiga server tersebut sehingga keduanya dapat menyelesaikan satu sama lain dengan benar menggunakan nameEdit / etc / hosts

Tambahkan baris berikut ke akhir file / etc / hosts Anda:

10.0.0.4 node1
10.0.1.4 node2
10.0.2.4 saksi
10.1.0.10 mysql-vip

Nonaktifkan SELinux

Edit / etc / sysconfig / linux dan setel “SELINUX = disabled”:

# Vi / etc / sysconfig / selinux

 

# File ini mengontrol status SELinux pada sistem. # SELINUX = dapat mengambil salah satu dari tiga nilai berikut:

# Menegakkan – kebijakan keamanan SELinux diterapkan.

# Permissive – SELinux mencetak peringatan, bukan menegakkan.

# dinonaktifkan – Tidak ada kebijakan SELinux yang dimuat.

SELINUX = dinonaktifkan

# SELINUXTYPE = dapat mengambil salah satu dari dua nilai ini:

# Target – Proses yang ditargetkan dilindungi, # ml – Perlindungan Keamanan Multi Level.

SELINUXTYPE = ditargetkan

Setel Nama Inang

Secara default, instance Linux ini akan memiliki nama host yang didasarkan pada alamat IP server, seperti "ip-10-0-0-4.us-west-2.compute.internal"

Anda mungkin memperhatikan bahwa jika Anda mencoba mengubah nama host dengan cara "normal" (yaitu mengedit / etc / sysconfig / network, dll), setelah setiap boot ulang, itu akan kembali ke aslinya !! Saya menemukan utas bagus di forum diskusi AWS yang menjelaskan cara mendapatkan nama host agar tetap statis setelah reboot.

Detail di sini: https://forums.aws.amazon.com/message.jspa?messageID=560446

Beri komentar pada modul yang menyetel nama host di file “/etc/cloud/cloud.cfg”. Modul berikut dapat dikomentari menggunakan #.

# – set_hostname

# – update_hostname

Selanjutnya, ubah juga nama host Anda di / etc / hostname.

Mulai Ulang Node Kluster

Reboot semua 3 instance sehingga SELinux dinonaktifkan, dan perubahan nama host berlaku.

Instal dan Konfigurasi VNC (dan paket terkait)

Untuk mengakses GUI server linux kami, dan untuk kemudian menginstal dan mengkonfigurasi cluster kami, instal server VNC, serta beberapa paket lain yang diperlukan (software cluster memerlukan redhat-lsb dan patch rpms).

# Yum groupinstall "X Window System"

# Yum groupinstall “Server dengan GUI”

# Yum install tigervnc-server xterm wget unzip patch redhat-lsb

# Vncpasswd

URL berikut adalah panduan hebat untuk menjalankan Server VNC di RHEL 7 / CentOS 7: Untuk RHEL 7.x / CentOS7.x:

https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-remote-access-for-the- gnome-desktop-on-centos-7

CATATAN: Contoh konfigurasi ini menjalankan VNC pada tampilan 2 (: 2, alias port 5902) dan sebagai root (tidak aman). Sesuaikan seperlunya!

# Cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.serv

# Vi /etc/systemd/system/vncserver@:2.service

[Service]

Ketik = garpu

# Bersihkan semua file yang ada di lingkungan /tmp/.X11-unix ExecStartPre = / bin / sh -c ‘/ usr / bin / vncserver -kill% i> / dev / null 2> & 1 || : '

ExecStart = / sbin / runuser -l root –c “/ usr / bin / vncserver% i –geometry 1024 × 768” PIDFile = / root / .vnc /% H% i.pid

ExecStop = / bin / sh -c ‘/ usr / bin / vncserver -kill% i> / dev / null 2> & 1 || : '

# Systemctl daemon-reload

# Systemctl aktifkan vncserver @: 2.service

# Vncserver: 2 -geometri 1024 × 768

Untuk sistem RHEL / CentOS 6.x:

# Vi / etc / sysconfig / vncservers

 

VNCSERVERS = ”2: root” VNCSERVERARGS =[2] ”- geometri 1024 × 768 ″

 

# Layanan vncserver mulai

# Chkconfig vncserver aktif

Buka klien VNC, dan sambungkan ke <ElasticIP: 2>. Jika Anda tidak bisa mendapatkannya, kemungkinan firewall linux Anda menghalangi. Buka port VNC yang kami gunakan di sini (port 5902), atau untuk saat ini, nonaktifkan firewall (TIDAK DIANJURKAN UNTUK LINGKUNGAN PRODUKSI):

# Systemctl hentikan firewalld

# Systemctl nonaktifkan firewalld

Partisi dan Format disk "data"

Saat instans linux diluncurkan, dan disk ekstra ditambahkan ke setiap node cluster untuk menyimpan data aplikasi yang akan kami lindungi. Dalam hal ini, ini adalah database MySQL.

Disk kedua akan muncul sebagai / dev / xvdb. Anda dapat menjalankan perintah "fdisk -l" untuk memverifikasi. Anda akan melihatnya
/ dev / xvda (OS) sudah digunakan.

# Fdisk -l

# Mulai Ukuran Akhir Jenis Nama Disk / dev / xvda: 10,7 GB, 10737418240 byte, 20971520 sektor Unit = sektor 1 * 512 = 512 byte
Ukuran sektor (logis / fisik): 512 byte / 512 byte Ukuran I / O (minimum / optimal): 512 byte / 512 byte Jenis label disk: gpt

1 2048 4095 1M Bagian boot BIOS
2 4096 20971486 10G Microsoft dasar
Disk / dev / xvdb: 2147 MB, 2147483648 byte, 4194304 sektor Unit = sektor 1 * 512 = 512 byte
Ukuran sektor (logis / fisik): 512 byte / 512 byte Ukuran I / O (minimum / optimal): 512 byte / 512 byte

Di sini saya akan membuat partisi (/ dev / xvdb1), memformatnya, dan memasangnya di lokasi default untuk MySQL, yaitu
/ var / lib / mysql. Lakukan langkah-langkah berikut pada KEDUA "node1" dan "node2":

# Fdisk / dev / xvdb

Selamat datang di fdisk (util-linux 2.23.2).

 

Perubahan hanya akan tetap ada di memori, sampai Anda memutuskan untuk menulisnya. Hati-hati sebelum menggunakan perintah tulis.

 

Perangkat tidak berisi tabel partisi yang dikenali

Membangun label disk DOS baru dengan pengenal disk 0x8c16903a.

 

Perintah (m untuk bantuan): n

Jenis partisi:

p primer (0 primer, 0 diperpanjang, 4 gratis) e diperpanjang

Pilih (p default): hal

Nomor partisi (1-4, default 1): 1

Sektor pertama (2048-4194303, default 2048): <enter>

Menggunakan nilai default 2048

Sektor terakhir, + sektor atau + ukuran {K, M, G} (2048-4194303, default 4194303): <enter>

Menggunakan nilai default 4194303

Partisi 1 tipe Linux dan ukuran 2 GiB telah diatur

 

Perintah (m untuk bantuan): w

Tabel partisi telah diubah!

Memanggil ioctl () untuk membaca kembali tabel partisi. Menyinkronkan disk.

# mkfs.ext4 / dev / xvdb1
# mkdir / var / lib / mysql

Pada node1, pasang sistem file:

# Mount / dev / xvdb1 / var / lib / mysql

Alat API EC2 (EC2 CLI) harus diinstal di setiap node cluster, sehingga perangkat lunak cluster nantinya dapat memanipulasi Tabel Rute, yang memungkinkan konektivitas ke IP Virtual.

Langkah 12: Instal Alat API EC2

URL berikut adalah panduan terbaik untuk menyiapkannya:

http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/set-up-ec2-cli-linux.html

Berikut langkah-langkah utamanya:
Unduh, unzip, dan pindahkan alat CLI ke lokasi standar (/ opt / aws):

# Wget http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip

# Unzip ec2-api-tools.zip

# Mv ec2-api-tools-1.7.5.1 / / opt / aws /

# Ekspor EC2_HOME = ”/ opt / aws”

Jika java belum diinstal (jalankan "java yang mana" untuk diperiksa), instal:

# yum install java-1.8.0-openjdk

# Ekspor JAVA_HOME = ”/ usr / lib / jvm / java-1.8.0-openjdk-1.8.0.71-

Contoh (Berdasarkan konfigurasi default sistem RHEL 7.2. Sesuaikan seperlunya)

Anda akan membutuhkan Kunci Akses AWS dan Kunci Rahasia AWS. Simpan nilai-nilai ini berguna, karena mereka akan dibutuhkan nanti selama pengaturan cluster juga! Lihat URL berikut untuk informasi lebih lanjut:

https://console.aws.amazon.com/iam/home?#security_credential

# Ekspor AWS_ACCESS_KEY = id-kunci-akses-aws-Anda

# Ekspor AWS_SECRET_KEY = kunci-rahasia-aws-Anda

Uji fungsionalitas utilitas CLI:

# / opt / aws / bin / ec2-deskripsikan-region
REGION eu-west-1 ec2.eu-west-1.amazonaws.com
REGION ap-Southeast-1 ec2.ap-southeast-1.amazonaws.com
REGION ap-Southeast-2 ec2.ap-southeast-2.amazonaws.com
REGION eu-central-1 ec2.eu-central-1.amazonaws.com
REGION ap-east-2 ec2.ap-northeast-2.amazonaws.com
REGION ap-northeast-1 ec2.ap-northeast-1.amazonaws.com
REGION us-east-1 ec2.us-east-1.amazonaws.com
REGION sa-east-1 ec2.sa-east-1.amazonaws.com
REGION us-west-1 ec2.us-west-1.amazonaws.com
REGION us-west-2 ec2.us-west-2.amazonaws.com

Langkah 13: Instal dan Konfigurasi MySQL

Selanjutnya, instal paket MySQL, inisialisasi database sampel, dan setel kata sandi "root" untuk MySQL. Di RHEL7.X, paket MySQL telah diganti dengan paket MariaDB.

Di "node1":

# Yum install mariadb mariadb-server

# Mount / dev / xvdb1 / var / lib / mysql

# / Usr / bin / mysql_install_db –datadir = ”/ var / lib / mysql /” –user = mysql

# Mysqld_safe –user = root –socket = / var / lib / mysql / mysql.sock –port = 3306 –datadi

#

# # CATATAN: Perintah selanjutnya ini memungkinkan koneksi jarak jauh dari host APAPUN.  BUKAN # echo “update user set Host =’% ’where Host =’ node1 ′; hak istimewa flush | mysql mys #

# #Setel kata sandi root MySQL ke 'SIOS'

# Echo “perbarui set pengguna Password = PASSWORD (‘ SIOS ’) di mana Pengguna =’ root ’; menyiram

Buat file konfigurasi MySQL. Kami akan menempatkan ini di disk data (yang nanti akan direplikasi –
/var/lib/mysql/my.cnf). Contoh:

# Vi /var/lib/mysql/my.cnf

 

[mysqld] datadir = / var / lib / mysql

socket = / var / lib / mysql / mysql.sock

pid-file = / var / run / mariadb / mariadb.pid user = root

port = 3306

# Menonaktifkan tautan simbolik disarankan untuk mencegah berbagai risiko keamanan symbolic-links = 0

[mysqld_safe]

log-error = / var / log / mariadb / mariadb.log pid-file = / var / run / mariadb / mariadb.pid

 

[client] pengguna = kata sandi root = SIOS

Pindahkan file konfigurasi MySQL asli ke samping, jika ada:

# Mv /etc/my.cnf /etc/my.cnf.orig

Pada "node2", Anda HANYA perlu menginstal paket MariaDB / MySQL. Langkah lain tidak diperlukan: Di "node2":

[root@node2 ~]# Yum install mariadb mariadb-server

Langkah 14: Instal dan Konfigurasi Cluster

Pada titik ini, kami siap untuk menginstal dan mengkonfigurasi cluster kami. SIOS Protection Suite for Linux (alias SPS-Linux) akan digunakan dalam panduan ini sebagai teknologi clustering. Ini menyediakan fitur pengelompokan failover ketersediaan tinggi (LifeKeeper) serta replikasi data tingkat blok waktu nyata (DataKeeper) dalam satu solusi terintegrasi. SPS-Linux memungkinkan Anda menerapkan cluster "SANLess", alias cluster "tidak berbagi apa-apa" yang berarti bahwa node cluster tidak memiliki penyimpanan bersama, seperti halnya dengan Instans EC2.

Instal SIOS Protection Suite untuk Linux

Lakukan langkah-langkah berikut pada SEMUA 3 VM (node1, node2, saksi):

Unduh file gambar instalasi SPS-Linux (sps.img) dan dapatkan lisensi uji coba atau beli lisensi permanen. Hubungi SIOS untuk informasi lebih lanjut.

Anda akan me-mount loopback dan menjalankan skrip "setup" di dalamnya, sebagai root (atau "sudo su -" pertama untuk mendapatkan shell root) Misalnya:

# Mkdir / tmp / install

# Mount -o loop sps.img / tmp / install

# Cd / tmp / install

# ./mempersiapkan

Selama skrip penginstalan, Anda akan diminta untuk menjawab sejumlah pertanyaan. Anda akan menekan Enter di hampir setiap layar untuk menerima nilai default. Perhatikan pengecualian berikut:

  • Pada layar berjudul "NFS Ketersediaan Tinggi" Anda dapat memilih "n" karena kami tidak akan membuat server NFS yang sangat tersedia
  • Menjelang akhir skrip penyiapan, Anda dapat memilih untuk menginstal kunci lisensi uji coba sekarang, atau nanti. Kami akan menginstal kunci lisensi nanti, sehingga Anda dapat dengan aman memilih "n" pada saat ini
  • Di layar terakhir dari "pengaturan" pilih ARK (Kit Pemulihan Aplikasi, yaitu "agen cluster") yang ingin Anda instal dari daftar yang ditampilkan di layar.
    • ARK HANYA diperlukan di "node1" dan "node2". Anda tidak perlu menginstal pada "saksi". Arahkan daftar dengan panah atas / bawah, dan tekan spasi untuk memilih berikut ini:
        • lkDR – DataKeeper untuk Linux
        • lkSQL – LifeKeeper MySQL RDBMS Recovery Kit
      • Ini akan menghasilkan RPM tambahan berikut yang diinstal di "node1" dan "node2":
        • steeleye-lkDR-9.0.2-6513.noarch.rpm steeleye-lkSQL-9.0.2-6513.noarch.rpm

Instal paket Saksi / Kuorum

Paket Dukungan Server Kuorum / Saksi untuk LifeKeeper (steeleye-lkQWK) yang digabungkan dengan proses failover yang ada dari inti LifeKeeper memungkinkan terjadinya kegagalan sistem dengan tingkat kepercayaan yang lebih tinggi dalam situasi di mana kegagalan jaringan total dapat terjadi. Ini secara efektif berarti bahwa kegagalan dapat dilakukan sekaligus sangat mengurangi risiko situasi "otak terbelah".

Instal RPM Saksi / Kuorum pada semua 3 node (node1, node2, saksi):

# Cd / tmp / install / quorum

# Rpm -Uvh steeleye-lkQWK-9.0.2-6513.noarch.rpm

Pada SEMUA 3 node (node1, node2, saksi), edit / etc / default / LifeKeeper, atur NOBCASTPING = 1
HANYA server Saksi ("saksi"), edit / etc / default / LifeKeeper, set WITNESS_MODE = off / tidak ada

Instal Paket Kit Pemulihan EC2

SPS-Linux menyediakan fitur khusus yang memungkinkan sumber daya untuk melakukan failover antar node di berbagai zona dan wilayah ketersediaan. Di sini, EC2 Recovery Kit (yaitu agen cluster) digunakan untuk memanipulasi Tabel Rute sehingga koneksi ke IP Virtual dirutekan ke node cluster aktif.

Instal EC2 rpm (node1, node2):

# Cd / tmp / install / amazon

# Rpm -Uvh steeleye-lkECC-9.0.2-6513.noarch.rpm

Instal kunci Lisensi

Pada ketiga node tersebut, gunakan perintah "lkkeyins" untuk menginstal file lisensi yang Anda peroleh dari SIOS:

# / Opt / LifeKeeper / bin / lkkeyins <path_to_file> / <filename> .lic

Mulai LifeKeeper

Pada ketiga node tersebut, gunakan perintah "lkstart" untuk memulai software cluster:

# / Opt / LifeKeeper / bin / lkstart

Atur Izin Pengguna untuk GUI LifeKeeper

Pada ketiga node tersebut, buat akun pengguna linux baru (misalnya, "tony" dalam contoh ini). Edit / etc / group dan tambahkan pengguna "tony" ke grup "lkadmin" untuk memberikan akses ke GUI LifeKeeper. Secara default, hanya "root" yang merupakan anggota grup, dan kami tidak memiliki sandi root di sini:

 

# Useradd tony

# Passwd tony

# Vi / etc / group

 

lkadmin: x: 1001: root, tony

Buka GUI LifeKeeper

Buat koneksi VNC ke alamat Elastic IP (IP Publik) node1. Berdasarkan konfigurasi VNC di atas, Anda akan terhubung ke <Public_IP>: 2 menggunakan sandi VNC yang Anda tentukan sebelumnya. Setelah masuk, buka jendela terminal dan jalankan GUI LifeKeeper menggunakan perintah berikut:

# / Opt / LifeKeeper / bin / lkGUIapp &

Anda akan diminta untuk terhubung ke node cluster pertama Anda ("node1"). Masukkan userid dan kata sandi linux yang ditentukan selama pembuatan VM:

Selanjutnya, sambungkan ke "node2" dan "saksi" dengan mengklik tombol "Sambungkan ke Server" yang disorot di screenshot berikut:

Anda sekarang harus melihat ketiga server di GUI, dengan ikon tanda centang hijau yang menunjukkan mereka sedang online dan sehat:

Buat Jalur Komunikasi

Klik kanan pada "node1" dan pilih Create Comm Path

Pilih KEDUA "node2" dan "saksi" lalu ikuti wizard. Ini akan membuat jalur komunikasi antara:


node1 & node2 node1 & saksi


Jalur komunikasi masih perlu dibuat antara node2 & saksi. Klik kanan pada "node2" dan pilih Buat Jalur Kom. Ikuti wizard dan pilih "saksi" sebagai server jarak jauh:


Pada titik ini jalur komunikasi berikut telah dibuat:

node1 <—> node2 node1 <—> saksi node2 <—> saksi

Ikon di depan server telah berubah dari "tanda centang" hijau menjadi "tanda bahaya" kuning. Ini karena kami hanya memiliki satu jalur komunikasi antar node.

Jika VM memiliki beberapa NIC (informasi tentang pembuatan VM Azure dengan beberapa NIC dapat ditemukan di sini, tetapi tidak akan dibahas dalam artikel ini), Anda akan membuat jalur komunikasi yang berlebihan di antara setiap server.


Untuk menghapus ikon peringatan, buka menu View dan batalkan pilihan "Comm Path Redundancy Warning":


Hasil:

 

Verifikasi Jalur Komunikasi

Gunakan perintah "lcdstatus" untuk melihat status sumber daya cluster. Jalankan perintah berikut untuk memverifikasi bahwa Anda telah membuat jalur komunikasi dengan benar pada setiap node ke dua server lain yang terlibat:

# / opt / LifeKeeper / bin / lcdstatus -q -d node1
MACHINE NETWORK ADDRESSES / DEVICE STATE PRIO node2 TCP 10.0.0.4/10.0.1.4

HIDUP 1 saksi TCP 10.0.0.4/10.0.2.4 HIDUP 1
# / opt / LifeKeeper / bin / lcdstatus -q -d node2
MACHINE NETWORK ADDRESSES / DEVICE STATE PRIO node1 TCP 10.0.1.4/10.0.0.4

HIDUP 1 saksi TCP 10.0.1.4/10.0.2.4 HIDUP 1
# / opt / LifeKeeper / bin / lcdstatus -q -d saksi

MACHINE NETWORK ADDRESSES / DEVICE STATE PRIO node1 TCP 10.0.2.4/10.0.0.4
HIDUP 1 node2 TCP 10.0.2.4/10.0.1.4 HIDUP 1

Buat sumber daya klaster Replikasi Data (mis. Cermin)

Selanjutnya, buat sumber Replikasi Data untuk mereplikasi partisi / var / lib / mysql dari node1 (sumber) ke node2 (target). Klik ikon "plus hijau" untuk membuat sumber daya baru:


Ikuti wizard dengan pilihan ini:

Silakan Pilih Kit Pemulihan: Jenis Pengalihan Replikasi Data: cerdas

Server: node1

Jenis Hierarki: Replikasi Sistem File yang Keluar

Mount Point yang Ada: / var / lib / mysql

Tag Sumber Daya Replikasi Data: datarep-mysql

Tab Sumber Daya Sistem File: / var / lib / mysql

File Bitmap: (nilai default)

Aktifkan Replikasi Asinkron: Tidak

Setelah sumber daya dibuat, wizard "Perpanjang" (yaitu tentukan server cadangan) akan muncul.

Gunakan pilihan berikut:

Server Target: node2 Jenis Pengalihan: Prioritas Template Cerdas: 1

Prioritas Target: 10 Disk Target: / dev / xvdb1

Tag Sumber Daya Replikasi Data: datarep-mysql File Bitmap: (nilai default)

Jalur Replikasi: 10.0.0.4/10.0.1.4 Mount Point: / var / lib / mysql

Tag Root: / var / lib / mysql

Cluster akan terlihat seperti ini:

Buat IP Virtual

Selanjutnya, buat sumber cluster Virtual IP. Klik ikon "plus hijau" untuk membuat sumber daya baru:


Ikuti wizard untuk membuat sumber daya IP dengan pilihan berikut:

Pilih Recovery Kit: IP Switchback Type: Intelligent IP Resource: 10.1.0.10

Netmask: 255.255.255.0

Antarmuka Jaringan: eth0

Tag Sumber Daya IP: ip-10.1.0.10

Perluas sumber daya IP dengan pilihan ini:

Jenis Pengalihan: Prioritas Template Cerdas: 1

Prioritas Sasaran: 10

Sumber Daya IP: 10.1.0.10

Netmask: 255.255.255.0

Antarmuka Jaringan: eth0

Tag Sumber Daya IP: ip-10.1.0.10

Cluster sekarang akan terlihat seperti ini, dengan sumber daya Mirror dan IP dibuat:

Konfigurasikan Daftar Ping untuk sumber daya IP

Secara default, SPS-Linux memantau kesehatan sumber daya IP dengan melakukan ping siaran. Di banyak lingkungan virtual dan cloud, ping siaran tidak berfungsi. Pada langkah sebelumnya, kami menyetel "NOBCASTPING = 1" di
/ etc / default / LifeKeeper untuk mematikan pemeriksaan ping siaran. Sebagai gantinya, kami akan menentukan daftar ping.

Ini adalah daftar alamat IP yang akan di-ping selama pemeriksaan kesehatan IP untuk sumber daya IP ini.

Dalam panduan ini, kami akan menambahkan server saksi (10.0.2.4) ke daftar ping kami.

Klik kanan pada sumber IP (ip-10.1.0.10) dan pilih Properties:

Anda akan melihat bahwa awalnya, tidak ada daftar ping yang dikonfigurasi untuk subnet 10.1.0.0 kami. Klik "Ubah Daftar Ping":

Masukkan "10.0.2.4" (alamat IP server saksi kami), klik "Tambahkan alamat" dan terakhir klik "Simpan Daftar":


Anda akan kembali ke panel properti IP, dan dapat memverifikasi bahwa 10.0.2.4 telah ditambahkan ke daftar ping. Klik OK untuk menutup jendela:

Buat hierarki sumber daya MySQL

Selanjutnya, buat sumber daya cluster MySQL. Sumber daya MySQL bertanggung jawab untuk menghentikan / memulai / memantau database MySQL Anda.

Sebelum membuat sumber daya MySQL, pastikan database sudah berjalan. Jalankan “ps -ef | grep sql ”untuk memeriksa.

Jika berjalan, bagus – tidak ada yang bisa dilakukan. Jika tidak, mulai database kembali:

# Mysqld_safe –user = root –socket = / var / lib / mysql / mysql.sock –port = 3306 –datadi

Ikuti wizard dengan untuk membuat sumber daya IP dengan pilihan ini: Untuk membuat, klik ikon "plus hijau" untuk membuat sumber daya baru:

Pilih Recovery Kit: MySQL Database Switchback Type: Intelligent Server: node1

Lokasi my.cnf: / var / lib / mysql

Lokasi MySQL dapat dieksekusi: / usr / bin

Tag Database: mysql

Perluas sumber daya IP dengan pilihan berikut:

Server Target: node2 Jenis Switchback: cerdas Prioritas Templat: 1

Prioritas Sasaran: 10

Hasilnya, cluster Anda akan terlihat seperti berikut. Perhatikan bahwa sumber Replikasi Data dipindahkan secara otomatis di bawah database (ketergantungan dibuat secara otomatis) untuk memastikannya selalu online sebelum database:

Buat sumber daya EC2 untuk mengelola tabel rute setelah failover

SPS-Linux menyediakan fitur khusus yang memungkinkan sumber daya untuk melakukan failover antar node di berbagai zona dan wilayah ketersediaan. Di sini, EC2 Recovery Kit (yaitu agen cluster) digunakan untuk memanipulasi Tabel Rute sehingga koneksi ke IP Virtual dirutekan ke node cluster aktif.

Untuk membuat, klik ikon "plus hijau" untuk membuat sumber daya baru:


Ikuti wizard untuk membuat sumber daya EC2 dengan pilihan berikut:

Pilih Recovery Kit: Amazon EC2 Switchback Type: Intelligent Server: node1

Beranda EC2: / opt / aws

URL EC2: ec2.us-west-2.amazonaws.com

AWS Access Key: (masukkan Access Key yang diperoleh sebelumnya) AWS Secret Key: (masukkan Secret Key yang diperoleh sebelumnya) EC2 Resource Type: RouteTable (Backend cluster)

Sumber Daya IP: ip-10.1.0.10

Tag Sumber Daya EC2: ec2-10.1.0.10

Perluas sumber daya IP dengan pilihan berikut:

Server Target: node2 Jenis Switchback: cerdas Prioritas Templat: 1

Prioritas Sasaran: 10

Tag Sumber Daya EC2: ec2-10.1.0.10

Cluster akan terlihat seperti ini. Perhatikan bagaimana sumber daya EC2 berada di bawah sumber daya IP:

Buat Ketergantungan antara sumber daya IP dan sumber daya Database MySQL

Buat ketergantungan antara sumber daya IP dan sumber daya Database MySQL sehingga mereka gagal bersama sebagai satu grup. Klik kanan pada resource "mysql" dan pilih "Create Dependency":

Pada layar berikut, pilih sumber daya "ip-10.1.0.10" sebagai ketergantungan. Klik Berikutnya dan lanjutkan melalui wizard:

Pada titik ini konfigurasi cluster SPS-Linux selesai. Hierarki sumber daya akan terlihat sebagai berikut:

Langkah 15: Uji Konektivitas Cluster

Pada titik ini, semua konfigurasi Amazon EC2 dan Cluster kami sudah selesai! Sumber daya cluster saat ini aktif di node1:

Uji konektivitas ke cluster dari server saksi (atau contoh linux lain jika Anda memilikinya) SSH ke server saksi, "sudo su -" untuk mendapatkan akses root. Instal klien mysql jika diperlukan:

[root@witness ~]# Yum -y instal mysql

Uji konektivitas MySQL ke cluster:

[root@witness ~]# Mysql –host = 10.1.0.10 mysql -u root -p

Jalankan kueri MySQL berikut untuk menampilkan nama host dari node cluster aktif:

MariaDB>[mysql] pilih @@ nama host;

++

| @@ nama host |

++

| node1 |

++

1 baris dalam set (0,00 dtk) MariaD[mysql]B>

Menggunakan GUI LifeKeeper, failover dari Node1 -> Node2 ″. Klik kanan pada sumber daya mysql di bawah node2, dan pilih "Dalam Layanan …":

Setelah failover selesai, jalankan kembali kueri MySQL. Anda akan melihat bahwa klien MySQL telah mendeteksi bahwa sesi tersebut hilang (selama failover) dan secara otomatis terhubung kembali:

Jalankan kueri MySQL berikut untuk menampilkan nama host dari node cluster aktif, memverifikasi bahwa sekarang "node2" aktif:

MariaDB>[mysql] pilih @@ nama host;

ERROR 2006 (HY000): Server MySQL telah hilang Tidak ada koneksi. Mencoba menyambung kembali…

ID koneksi: 12

Database saat ini: mysql

++

| @@ nama host |

++

| node2 |

++

1 baris dalam set (0,53 dtk) MariaD[mysql]B>

Direproduksi dengan izin dari SIOS

 

Filed Under: Cluster server penyederhanaan Tagged With: amazon, AWS, Linux

  • 1
  • 2
  • Next Page »

Tulisan Terbaru

  • Demo Penjaga Data SIOS Untuk Klaster Tiga Node Di AWS
  • Prediksi 2023: Demokratisasi Data Untuk Mendorong Permintaan Ketersediaan Tinggi
  • Memahami Kompleksitas Ketersediaan Tinggi untuk Aplikasi Penting Bisnis
  • Epicure Melindungi SQL Server Bisnis Penting dengan Amazon EC2 dan SIOS SANLess Clustering Software
  • SIOS DataKeeper Clustering Software Memungkinkan Gulliver International untuk Memindahkan Sistem IT Internal ke Amazon Web Services dengan Aman

Posting Terpopuler

Bergabunglah dengan Milis Kami

Copyright © 2023 · Enterprise Pro Theme on Genesis Framework · WordPress · Log in