Date: Januari 5, 2023
Tag: AWS
Membuat klaster server HA Oracle Database di AWS
pengantar Sebagai pengembang yang bertugas membuat POC untuk aplikasi bisnis penting yang memerlukan instans Oracle dengan ketersediaan tinggi (HA), saya perlu menyiapkan klaster Oracle EC2 HA di AWS EC2.Di mana Anda mulai?Jika Anda seperti kebanyakan dari kita, Anda akan menghabiskan waktu berjam-jam untuk mencari tugas berikutnya di Google, membaca artikel, panduan instalasi, dokumentasi, dan pertanyaan tentang stack overflow. Anda akan menemukan banyak jawaban yang hampir benar, tetapi tidak pernah sesuai dengan versi atau lingkungan Anda. Lebih buruk lagi Anda pergi ke lubang kelinci dan akhirnya menghabiskan hari-hari membangun lingkungan yang tidak akan berfungsi.
Saya akan menyusun serangkaian blog yang berfokus pada pengaturan lingkungan HA untuk mengembangkan Proof of Concepts menggunakan berbagai solusi SIOS HA seperti: DataKeeper, LifeKeeper, dan SIOS Protection Suite. Jika Anda memiliki kebutuhan mendesak yang belum saya bahas, beri tahu saya, dan saya akan menaikkan konfigurasi Anda di backlog saya.
Terima kasih telah membaca ini.Saya harap itu membuat hidup Anda lebih mudah. Saya memiliki daftar tugas di bawah ini yang dapat Anda jalankan jika Anda sudah terbiasa dengan cara menyelesaikan tugas tersebut. Kemudian di bawah ini adalah panduan langkah demi langkah untuk melakukan setiap tugas.
AWS HA Oracle database SIOS Protection Suite untuk Linux
- Luncurkan 2 contoh Oracle di Linux
- Dapatkan Xwindows bekerja
- Sambungkan ke instance dan pasang disk tambahan
- Instal kit cli AWS
- Konfigurasikan Keamanan/Akses
- Buat entri rute untuk IP virtual
- Nonaktifkan Pemeriksaan Sumber/Tujuan untuk ENI
- Sunting /etc/hosts
- Konfigurasikan Pendengar dengan nama host VIP
- Nonaktifkan SELinux
- Instal SIOS Protection Suite untuk Linux
- Mulai LifeKeeper
- Hubungkan ke server kedua
- Membangun jalur komunikasi
- Buat sumber daya DataKeeper
- Buat Hierarki dengan sumber daya Virtual IP
- Buat sumber daya pendengar Oracle
- Buat Hierarki dengan Oracle Database
- Buat Hirarki dengan EC2
- Ubah Perilaku Shutdown
- Uji Kegagalan
1. Luncurkan 2 instans Oracle di Linux
Di blog pertama ini kita akan menyiapkan lingkungan HA di AWS untuk Oracle Cluster menggunakan SIOS LifeKeeper untuk Linux.Ini berarti menyingkirkan semua prasyarat. Saya akan menggunakan aws-marketplace/Oracle Database 19.8.0 Enterprise Edition di Oracle Linux 8 AMI.Ini sering berubah dan mungkin sulit untuk menemukan yang tepat yang sesuai dengan kebutuhan Anda.AMI ini adalah upaya saya yang ketiga karena menginstal apa pun, terutama sesuatu seperti Oracle, di cloud sangat sulit karena masalah repositori, lisensi, pendaftaran, dan keamanan.AMI ini benar-benar berfungsi karena Oracle sudah diinstal pada image.Pastikan versi OS dan versi Oracle DB didukung oleh SIOS.Itu bisa diperiksa di sini .
Contoh saya memiliki:
- VPC tunggal
- Wilayah Tunggal
- Availability Zone yang berbeda untuk setiap server
- Drive tambahan untuk penyimpanan database
- 2 Antarmuka jaringan untuk setiap instance di subnet yang berbeda
- Buat 2 alamat IP Elastis dan lampirkan satu ke setiap server
Saya melampirkan disk tambahan ke instance untuk database dan NIC tambahan untuk jalur komunikasi yang berlebihan.Pastikan kedua NIC berada di subnet yang berbeda.Ini juga berarti Anda harus membuat dan menetapkan alamat Elastic IP secara manual untuk terhubung ke instans.
Sambungkan ke instance dan pasang disk tambahan. Saya menggunakan Putty dan Xming untuk terhubung dengan instans saya.Jika menggunakan Xming pastikan untuk menjalankan Xlaunch sebelum mencoba membuat koneksi.
Setelah meluncurkan instance, Anda perlu mempartisi disk baru.Paling mudah ditemukan oleh[ ls /dev/disk/by-path ] :
Sekarang Anda perlu mempartisi disk dengan fdisk :
Selanjutnya buat sistem file pada partisi baru dengan mkfs.xfs :
Kami sekarang akan memasang sistem file dengan gunung :
Akhirnya kami akan menambahkan entri untuk memasang disk secara otomatis di fstab:
Penting untuk diperhatikan bahwa Anda tidak perlu menjalankan penginstalan untuk Oracle.AMI telah melakukannya dan membuat database untuk Anda.Saya menghapus database yang telah dikonfigurasi sebelumnya dengan AMI ini dan membuat yang baru di disk/data menggunakan DBCA.Saya memulai database dan membuat skema dan menambahkan data menggunakan SQLPLUS.Ini semua mengharuskan Anda membuat Xwindows berfungsi.
2. Dapatkan Xwindows berfungsi
Xdisplay menggunakan Putty dapat diatur menggunakan Xming untuk Windows.Instal Xming terlebih dahulu.Kemudian pastikan Anda mengaktifkan penerusan X11, masukkan localhost:0.0 di lokasi tampilan x dan jalur dan xming.exe dapat dieksekusi di file otoritas x untuk tampilan lokal:
Itu menangani sisi Windows, tetapi Anda masih perlu memperbaiki sisi Linux.Edit pertama /etc/ssh/sshd_config dan batalkan komentar "X11Forwarding yes".Menemukan dan menambahkan kunci yang benar ke Xauthority adalah langkah selanjutnya.Anda mungkin harus memulai sesi baru jika telah melakukan peralihan pengguna.Setelah masuk sebagai pengguna ec2 dijalankan daftar xauth yang akan memberi Anda kunci hex yang perlu Anda tambahkan ke file Xauthority Anda.Beralih ke pengguna oracle: su – oracle.Lalu lari xauth tambahkan $DISPLAY . <hexkey disalin dari daftar xauth> .Ini menyimpan informasi ke dalam file /home/oracle/.Xauthority.KELUAR kembali ke pengguna ec2.
3. Sambungkan ke instans dan pasang disk tambahan
Saya menggunakan Putty dan Xming untuk terhubung dengan instans saya.Jika menggunakan Xming pastikan untuk menjalankan Xlaunch sebelum mencoba membuat koneksi.
Setelah meluncurkan instance, Anda perlu mempartisi disk baru.Paling mudah ditemukan oleh[ ls /dev/disk/by-path ] :
Sekarang Anda perlu mempartisi disk dengan fdisk :
Selanjutnya kita buat sistem file pada partisi baru dengan mkfs.xfs :
Pada titik ini kami ingin mengganti nama /u01 ke direktori /Oracle sehingga kami dapat memasang sistem file baru di /u01 yang merupakan tempat Oracle berada di server kami yang dibangun dengan AMI.
Buat titik mount dengan mkdir /u01 dan pasang volume dengan mount.Pindahkan file ke disk baru dengan mv /Oracle /u01. Ini akan memakan waktu lama karena kira-kira 11GB data.
Akhirnya kami akan menambahkan entri untuk memasang disk secara otomatis di fstab:
Penting untuk diperhatikan bahwa Anda tidak perlu menjalankan penginstalan untuk Oracle.AMI telah melakukannya dan membuat database untuk Anda.Saya memulai database, membuat skema, dan menambahkan data menggunakan SQLPLUS.
4. Instal kit cli AWS
Kami membutuhkan kit awscli; jadi, sementara kita root download file tersebut dengan curl “https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip” -o “awscliv2.zip”
Buka zip file dengan unzip awscliv2.zip
Instal aplikasi dengan sudo ./aws/install
Selanjutnya atur Access Key di AWS dengan mengklik akun Anda di kanan atas konsol lalu pilih Kredensial Keamanan
Klik Buat kunci akses:
Kemudian klik Unduh file .csv:
Transfer file ini ke server Anda dan konfigurasikan AWS menggunakan ID Kunci dan kunci akses dari file csv Anda dengan aws mengkonfigurasi memerintah:
Uji apakah itu berfungsi dengan sesuatu seperti: aws –no-paginate –no-cli-pager ec2 menjelaskan-contoh
5. Konfigurasi Keamanan/Akses
Pertama, saya menambahkan pengguna Oracle ke grup root dan wheel yang memberinya hak semu ( Usermod -aG wheel oracle) .Ini akan membuat hidup lebih mudah dengan menjadikan akun Oracle sebagai akun lkadmin.Saya mengunduh file sps.img dan lisensi ke kedua server.
Sebelum menginstal perangkat lunak ada beberapa langkah prasyarat yang perlu dilakukan.Pertama, konfigurasikan grup keamanan untuk server sehingga mereka dapat berkomunikasi dengan membuka port TCP 5900-59010. Buka juga port TCP 81 dan 82. Pastikan juga porta terbuka untuk IP Virtual.
6. Buat entri rute untuk IP virtual
Tabel rute perlu diperbarui agar IP Virtual cluster berfungsi.Dalam konfigurasi klaster multi-subnet ini, IP Virtual harus berada di luar jangkauan CIDR yang dialokasikan ke VPC Anda.Tentukan rute baru yang akan mengarahkan lalu lintas ke IP Virtual cluster (172.30.0.101) ke node cluster utama (Oracle1) Dari Dasbor VPC, pilih Tabel Rute, klik Edit.Tambahkan rute untuk "172.30.0.101/32" dengan tujuan Antarmuka Jaringan Elastis (ENI) utama di server utama:
7. Nonaktifkan Pemeriksaan Sumber/Tujuan untuk ENI
Di bawah Antarmuka Jaringan pilih setiap antarmuka satu per satu dan kemudian Di Bawah Tindakan pilih ubah sumber/tujuan.
Selama Anda tidak mendapatkan kesalahan autentikasi, itu diinstal dan dikonfigurasi dengan benar.
Hapus centang pada Memungkinkan kotak:
Ulangi untuk semua antarmuka.
8. Edit /etc/hosts
Kecuali Anda sudah memiliki pengaturan server DNS, Anda akan ingin membuat entri file host di kedua server sehingga mereka dapat menyelesaikan satu sama lain dengan benar berdasarkan nama.
9. Konfigurasikan Pendengar dengan nama host VIP
Edit atau buat file $ORACLE_HOME/network/admin/listener.ora untuk menunjuk ke oracle-vip:
10. Nonaktifkan SELinux
Edit file /etc/sysconfig/selinux dan atur "SELINUX=disabled"
Nyalakan ulang server.Jika pada titik ini server tidak muncul kembali, mungkin Anda membiarkan pengaturan SELINUX pada permisif dan menyetel SELINUXTYPE ke nonaktif, yang akan merusak instans.Putuskan saja volume di AWS dari instans Anda dan pasang dengan mount -o rw, nouuid {device} {mount directory} perintah ke instance kerja baru atau yang sudah ada.Edit file /{mount directory]/etc/sysconfig/selinux dan perbaiki kesalahannya.Simpan file, unmount dan pisahkan volume dengan instance ini dan pasang kembali ke instance lama.
11. Instal SIOS Protection Suite untuk Linux
Selanjutnya, sebagai root saya menginstal paket perlindungan SIOS dengan memasang file gambar dengan pasang /home/ec2-user/sps.img /mnt/ -t iso9660 -o loop . Jalankan pengaturan dengan /mnt/setup :
Di bawah Otentikasi LifeKeeper saya gulir ke bawah ke grup lkadmin, tekan enter dan tambahkan oracle ke grup 'lkadmin':
Pilih OK lalu tab ke Selesai dan tekan enter.Gulir Berikutnya untuk Menginstal File Kunci Lisensi dan tekan enter:
Dari sini ketik lokasi dan nama file lisensi Anda:
Selanjutnya saya pilih Menu Pilihan Kit Pemulihan dan tekan enter:
Di sini saya pilih Jaringan:
Tekan bilah spasi untuk memilih Kit Pemulihan LifeKeeper untuk EC2. Tab ke Selesai dan tekan enter.Selanjutnya saya memilih menu Database, gulir ke bawah dan tekan spasi pada LifeKeeper Oracle RDBMS Recovery Kit:
Tab ke Selesai atau tekan D dan gulir ke bawah ke Penyimpanan dan tekan enter.Selanjutnya saya menekan bilah spasi dan memilih DataKeeper untuk Linux:
Tab ke Selesai dan tekan enter atau tekan d mundur ke Pilihan Kit Pemulihan lalu tab ke Selesai atau tekan D untuk keluar dari menu Konfigurasi Utama:
Pastikan LifeKeeper Startup After Install dipilih dan akhirnya satu tab terakhir selesai atau tekan d dan kita mendapatkan layar konfirmasi Install:
Di sini tekan enter atau y dan penginstalan akan dimulai.
12. Mulai LifeKeeper
Mulai GUI LifeKeeper dengan /opt/LifeKeeper/bin/lkGUIapp jika gagal kemungkinan karena Anda tidak memiliki nomor ajaib untuk akun yang Anda masuki di file .Xauthority.Saya masuk sebagai oracle dan kemudian melakukan sudo -i untuk sampai ke akar.Jadi, jika gui saya tidak memuat, saya akan menyalin file /home/Oracle/.Xauthority ke /root :
Di sini saya login sebagai oracle:
13. Hubungkan ke server kedua
Dan kemudian klik tombol Cluster Connect
Masuk sebagai oracle:
14. Membangun jalur komunikasi
Klik pada tombol Create Comm Path :
Jika terjadi kegagalan, pastikan firewall dan iptables dinonaktifkan.Tekan selanjutnya:
Tekan selanjutnya:
Pilih alamat IP pertama Anda dan tekan berikutnya:
Pilih IP jarak jauh:
Tekan selanjutnya:
Tekan Buat:
Tekan selanjutnya:
Sekarang selesai: Selanjutnya kita perlu membuat jalur komunikasi kedua dengan mengulangi langkah 14 dengan alamat sekunder.
Setelah dua jalur berhasil dibuat, server harus menjadi hijau.
15. Buat sumber daya DataKeeper
Klik pada tombol Create Resource Hierarchies:
Pilih Replikasi Data dan tekan Berikutnya:
Hit berikutnya (Cerdas berarti bahwa setelah failover Anda perlu gagal kembali secara manual):
Tekan selanjutnya:
Pilih server utama Anda dan tekan berikutnya:
Pilih Replikasi Sistem File yang Ada dan tekan berikutnya:
Pilih titik pemasangan yang ada dan tekan berikutnya:
Membuat Replikasi Data Tag Sumber Daya dan tekan selanjutnya:
Pilih Tag Sumber Daya Sistem File dan tekan berikutnya:[1]
Untuk performa optimal, file bitmap harus ditempatkan pada volume sementara. Untuk tujuan pengujian, bitmap dapat ditempatkan pada disk OS seperti yang ditunjukkan di atas. Pilih lokasi file bitmap dan tekan berikutnya:
Pilih tidak untuk Mengaktifkan Replikasi Asinkron dan tekan berikutnya:
Pilih Server Target dan tekan selanjutnya:
Pilih Switchback Type dan tekan berikutnya:
Pilih Prioritas Template dan tekan selanjutnya:
Pilih Prioritas Target dan tekan berikutnya:
Tekan selanjutnya:
Pilih Target Disk dan tekan Next:
Tekan selanjutnya:
Tekan selanjutnya:
Pilih titik akhir jaringan mana yang ingin Anda gunakan untuk replikasi dan tekan berikutnya:
Pilih titik pemasangan dan tekan berikutnya:
Pilih tag sumber daya dan tekan selanjutnya:
Tekan Selesai:
Tekan Selesai:
Jika Anda mengklik /u01 Anda akan melihat sinkronisasi volume:
16. Buat Hirarki dengan sumber daya Virtual IP
Klik pada tombol buat sumber daya:
Pilih IP dan tekan berikutnya:
Pilih Switchback Type dan tekan berikutnya:
Pilih server Utama dan tekan selanjutnya:
Masukkan alamat IP Virtual dari langkah 6 dan tekan berikutnya:
Masukkan subnet mask untuk VIP dan tekan Next:
Masuk ke antarmuka jaringan dan tekan berikutnya
Masukkan tag sumber daya dan tekan selanjutnya:
Setelah pembuatan berhasil, klik berikutnya:
Pilih Server Target dan tekan selanjutnya:
Pilih jenis switchback dan tekan berikutnya:
Pilih prioritas dan tekan berikutnya:
Pilih prioritas dan tekan berikutnya:
Setelah selesai tekan berikutnya:
Tekan selanjutnya:
Pilih netmask yang sesuai dan tekan berikutnya:
Pilih antarmuka dan tekan berikutnya:
Pilih tag sumber daya dan tekan perpanjangan:
Tekan selesai setelah berhasil diselesaikan:
Tekan selesai setelah verifikasi.
17. Buat sumber daya Pendengar Oracle
Pastikan database dan pendengar berjalan sebelum mencoba mengonfigurasi sumber daya ini di LifeKeeper.Klik pada tombol buat sumber daya:
Pilih Pendengar Database Oracle dan tekan berikutnya:
Pilih server utama dan tekan berikutnya:
Masukkan jalur file konfigurasi Pendengar dan nama file dan tekan berikutnya:
Tekan selanjutnya:
Masukkan jalur untuk Listener Executables dan tekan berikutnya:
Pilih tingkat perlindungan dan tekan selanjutnya:
Pilih tingkat pemulihan dan tekan berikutnya:
Pilih Alamat IP yang terkait dengan Pendengar jika diperlukan dan tekan selanjutnya:
Masukkan nama tag pendengar dan tekan Buat:
Tekan selanjutnya:
Tekan terima default untuk membangun sumber daya di server kedua Anda:
Klik selesai:
Klik Selesai dan luaskan LSNR dan /u01:
18. Buat Hierarki dengan Oracle Database
Klik pada tombol Create Resource Hierarchy :
Pilih Oracle Database dan tekan Next:
Pilih jenis Switchback dan tekan selanjutnya:
Pilih Server dan tekan berikutnya:
Pilih nama Database dan tekan next (Jika Anda mendapatkan kesalahan tidak dapat menemukan direktori home, pastikan database sedang berjalan):
Masukkan nama pengguna sysdba dan tekan berikutnya:
Masukkan kata sandi untuk akun dan tekan selanjutnya:
Pilih Pendengar Oracle dan tekan berikutnya:
Tekan Buat:
Setelah pembuatan berhasil, pilih Berikutnya:
Pilih Terima Default:
Pilih Selesai:
Hit Selesai: Perluas pohon untuk melihat semua sumber daya:
19. Buat Hirarki dengan EC2
Klik pada tombol Create Resource Hierarchie :
Pilih Amazon EC2 dan tekan Next>
Pilih Cerdas dan tekan Berikutnya>
Pilih server utama Anda dan tekan Next>
Pilih jenis Sumber Daya EC2 (kami menggunakan cluster Backend untuk contoh ini) dan tekan Next>
Pilih sumber IP dan pilih Next>
Pilih nama Tag Sumber Daya EC2 dan tekan Buat
Setelah berhasil membuat sumber daya, tekan Next> setelah beberapa detik, wisaya pra-perpanjangan akan muncul.Tekan terima default:
Setelah pemeriksaan selesai, tekan Accept Defaults lagi dengan sukses:
Tekan Selesai dan setelah verifikasi tekan Selesai:
Konfigurasi selesai.Sekarang kita dapat menguji failover.
20. Ubah Perilaku Shutdown
Secara default, LifeKeeper tidak failover sumber daya jika Anda hanya mematikan atau mem-boot ulang server. Jika Anda ingin memindahkan beban kerja sebelum mematikan server, Anda harus memindahkan sumber daya secara manual ke server siaga sebelum mematikan node aktif. Namun, Anda mungkin ingin mengubah perilaku default untuk memfasilitasi pengujian. Itu dikendalikan dengan mengubah Strategi Shutdown seperti yang ditunjukkan di bawah ini.
Klik kanan pada Server Utama Anda dan Pilih Properti:
Di bawah Tab Umum, ubah Strategi Shutdown menjadi Pengalihan Sumber Daya, lalu tekan Terapkan:
Selanjutnya pilih server sekunder dari server pull down dan verifikasi perubahan pengaturan: Hit Ok:
21. Uji Kegagalan
Saya menjalankan lkGUIapp dari server sekunder.Jika Anda berada di server utama keluar dari LifeKeeper GUI dan jalankan dari server sekunder.
Luaskan semua Hierarki Sumber Daya dan buka sesi SSH ke server utama Anda.
Saya juga menjalankan ping -i 5 ke oracle-vip:
Matikan server utama:
Anda dapat melihat dalam kasus saya, IP berhenti merespons selama <25 detik.Saya melewatkan 4 ping 20-23 dengan interval 5 detik.Semuanya sekarang aktif di server cadangan.Karena primer kami masih turun, kami mendapat peringatan di hierarki.
Setelah Anda mengaktifkan server Utama jika Anda membiarkan peralihan kembali ke cerdas, Anda harus mengaktifkan layanan secara manual di server utama.Pastikan bahwa server Utama adalah InSync sebelum mencoba membawanya ke layanan:
Klik kanan pada tombol StandBy untuk cdb1 dan pilih In Service…
Klik Dalam Layanan
Tekan Selesai.
Butuh beberapa menit untuk menyinkronkan ulang disk, tetapi pada akhirnya akan.
Setelah memulihkan semuanya, kami sekarang memiliki database HA Oracle di AWS yang siap untuk dikembangkan.
Direproduksi dengan izin dari SIOS