Date: มกราคม 5, 2023
ป้ายกำกับ:AWS
การสร้างคลัสเตอร์เซิร์ฟเวอร์ HA Oracle Database ใน AWS
บทนำ ในฐานะนักพัฒนาที่ได้รับมอบหมายให้สร้าง POC สำหรับแอปพลิเคชันที่สำคัญทางธุรกิจซึ่งต้องการอินสแตนซ์ Oracle ที่พร้อมใช้งานสูง (HA) ฉันจำเป็นต้องตั้งค่าคลัสเตอร์ Oracle EC2 HA ใน AWS EC2คุณจะเริ่มต้นที่ไหนถ้าคุณเป็นเหมือนพวกเราส่วนใหญ่ คุณจะใช้เวลาหลายชั่วโมงไปกับการค้นหางานต่อไป อ่านบทความ คู่มือการติดตั้ง เอกสารประกอบ และคำถามเกี่ยวกับ stack overflow คุณจะพบคำตอบที่เกือบจะถูกต้องมากมาย แต่คำตอบเหล่านั้นไม่เหมาะกับเวอร์ชันหรือสภาพแวดล้อมของคุณเลย ที่แย่กว่านั้นคือคุณลงหลุมกระต่ายและจบลงด้วยการเสียเวลาสร้างสภาพแวดล้อมที่ไม่ได้ผล
ฉันจะจัดโครงสร้างชุดบล็อกที่เน้นการตั้งค่าสภาพแวดล้อม HA สำหรับการพัฒนา Proof of Concepts โดยใช้ โซลูชั่น SIOS HA เช่น DataKeeper, LifeKeeper และ SIOS Protection Suite หากคุณมีความต้องการเร่งด่วนที่เรายังไม่ได้กล่าวถึง โปรดแจ้งให้เราทราบ แล้วเราจะย้ายการกำหนดค่าของคุณขึ้นไปใน Backlog
ขอบคุณที่อ่านสิ่งนี้ฉันหวังว่ามันจะทำให้ชีวิตคุณง่ายขึ้น ฉันมีรายการงานด้านล่างที่คุณสามารถดำเนินการได้หากคุณคุ้นเคยกับวิธีทำงานเหล่านั้นให้สำเร็จแล้ว ด้านล่างเป็นคำแนะนำทีละขั้นตอนสำหรับการทำงานแต่ละอย่าง
ฐานข้อมูล AWS HA Oracle SIOS Protection Suite สำหรับ Linux
- เปิดใช้ Oracle 2 อินสแตนซ์บน Linux
- ทำให้ Xwindows ทำงาน
- เชื่อมต่อกับอินสแตนซ์และติดตั้งดิสก์เพิ่มเติม
- ติดตั้งชุด AWS cli
- กำหนดค่าความปลอดภัย/การเข้าถึง
- สร้างรายการเส้นทางสำหรับ IP เสมือน
- ปิดใช้งานการตรวจสอบต้นทาง/ปลายทางสำหรับ ENI
- แก้ไข /etc/hosts
- กำหนดค่า Listener ด้วยชื่อโฮสต์ VIP
- ปิดใช้งาน SELinux
- ติดตั้ง SIOS Protection Suite สำหรับ Linux
- เริ่ม LifeKeeper
- เชื่อมต่อกับเซิร์ฟเวอร์ที่สอง
- สร้างเส้นทางการสื่อสาร
- สร้างทรัพยากร DataKeeper
- สร้างลำดับชั้นด้วยทรัพยากร Virtual IP
- สร้างทรัพยากรผู้ฟังของ Oracle
- สร้างลำดับชั้นด้วย Oracle Database
- สร้างลำดับชั้นด้วย EC2
- เปลี่ยนพฤติกรรมการปิดเครื่อง
- ทดสอบความล้มเหลว
1. เปิดใช้ Oracle 2 อินสแตนซ์บน Linux
ในบล็อกแรกนี้ เราจะตั้งค่าสภาพแวดล้อม HA ใน AWS สำหรับ Oracle Cluster โดยใช้ SIOS LifeKeeper สำหรับ Linuxซึ่งหมายถึงการนำข้อกำหนดเบื้องต้นทั้งหมดออกไปให้พ้นทาง ฉันจะใช้ aws-marketplace/Oracle Database 19.8.0 Enterprise Edition บน Oracle Linux 8 AMIการเปลี่ยนแปลงเหล่านี้บ่อยครั้งและอาจเป็นเรื่องยากที่จะค้นหาสิ่งที่ถูกต้องซึ่งตรงกับความต้องการของคุณAMI นี้เป็นความพยายามครั้งที่ 3 ของฉันเพราะการติดตั้งอะไรก็ตาม โดยเฉพาะอย่างยิ่งบางอย่างเช่น Oracle ในระบบคลาวด์นั้นทำได้ยากมาก เนื่องจากปัญหาเกี่ยวกับพื้นที่เก็บข้อมูล การออกใบอนุญาต การลงทะเบียน และความปลอดภัยAMI นี้ใช้งานได้จริงเพราะติดตั้ง Oracle บนอิมเมจแล้วตรวจสอบว่าเวอร์ชันของระบบปฏิบัติการและเวอร์ชัน Oracle DB ได้รับการสนับสนุนโดย SIOSที่สามารถตรวจสอบได้ ที่นี่ .
ตัวอย่างของฉันมี:
- VPC เดียว
- ภาคเดียว
- Availability Zone ที่แตกต่างกันสำหรับแต่ละเซิร์ฟเวอร์
- ไดรฟ์เพิ่มเติมสำหรับการจัดเก็บฐานข้อมูล
- 2 อินเทอร์เฟซเครือข่ายสำหรับแต่ละอินสแตนซ์ในเครือข่ายย่อยต่างๆ
- สร้างที่อยู่ IP แบบยืดหยุ่น 2 รายการและแนบหนึ่งรายการกับแต่ละเซิร์ฟเวอร์
ฉันกำลังแนบดิสก์เพิ่มเติมกับอินสแตนซ์สำหรับฐานข้อมูลและ NIC เพิ่มเติมสำหรับเส้นทางการสื่อสารที่ซ้ำซ้อนตรวจสอบให้แน่ใจว่า NIC ทั้งสองอยู่บนเครือข่ายย่อยที่แตกต่างกันนอกจากนี้ยังหมายความว่าคุณจะต้องสร้างและกำหนดที่อยู่ IP ของ Elastic ด้วยตนเองเพื่อเชื่อมต่อกับอินสแตนซ์
เชื่อมต่อกับอินสแตนซ์และติดตั้งดิสก์เพิ่มเติม ฉันใช้ Putty และ Xming เพื่อเชื่อมต่อกับอินสแตนซ์ของฉันหากใช้ Xming อย่าลืมเรียกใช้ Xlaunch ก่อนที่จะพยายามเชื่อมต่อ
หลังจากเปิดตัวอินสแตนซ์ คุณจะต้องแบ่งพาร์ติชันดิสก์ใหม่ง่ายที่สุดที่จะหาได้จาก[ ls /dev/disk/by-path ] :
![](https://us.sios.com/wp-content/uploads/2023/01/dev-disk-by-path.png)
ตอนนี้คุณต้องแบ่งพาร์ติชันดิสก์ด้วย fdisk :
![](https://us.sios.com/wp-content/uploads/2023/01/fdisk.png)
จากนั้นสร้างระบบไฟล์ในพาร์ติชันใหม่ด้วย mkfs.xfs :
![](https://us.sios.com/wp-content/uploads/2023/01/mfdisk.png)
ตอนนี้เราจะเมานต์ระบบไฟล์ด้วย ภูเขา :
![](https://us.sios.com/wp-content/uploads/2023/01/mount.png)
ในที่สุดเราจะเพิ่มรายการเพื่อเมานต์ดิสก์โดยอัตโนมัติใน fstab:
![](https://us.sios.com/wp-content/uploads/2023/01/fstab.png)
โปรดทราบว่าคุณไม่จำเป็นต้องเรียกใช้การติดตั้งสำหรับ OracleAMI ได้ดำเนินการดังกล่าวและสร้างฐานข้อมูลให้กับคุณฉันลบฐานข้อมูลที่กำหนดค่าไว้ล่วงหน้าด้วย AMI นี้ และสร้างฐานข้อมูลใหม่บนดิสก์ /data โดยใช้ DBCAฉันเริ่มต้นฐานข้อมูลและสร้างสคีมาและเพิ่มข้อมูลโดยใช้ SQLPLUSทั้งหมดนี้ต้องการให้ Xwindows ทำงาน
2. ทำให้ Xwindows ทำงาน
Xdisplay โดยใช้ Putty สามารถตั้งค่าได้โดยใช้ Xming สำหรับ Windowsติดตั้ง Xming ก่อนจากนั้นตรวจสอบให้แน่ใจว่าคุณเปิดใช้งานการส่งต่อ X11 ป้อน localhost:0.0 ในตำแหน่ง x display และพาธและ xming.exe executable ในไฟล์ x Authority สำหรับการแสดงผลในเครื่อง:
![](https://us.sios.com/wp-content/uploads/2023/01/xming.png)
ที่ดูแลด้าน Windows แต่คุณยังต้องแก้ไขด้าน Linuxก่อนอื่นให้แก้ไข /etc/ssh/sshd_config และยกเลิกการแสดงความคิดเห็น “X11Forwarding yes”การค้นหาและเพิ่มคีย์ที่ถูกต้องใน Xauthority เป็นเรื่องถัดไปคุณอาจต้องเริ่มเซสชันใหม่หากคุณเปลี่ยนผู้ใช้แล้วหลังจากเข้าสู่ระบบในฐานะผู้ใช้ ec2 รายการ xauth ซึ่งจะให้คีย์ hex ที่คุณต้องเพิ่มในไฟล์ Xauthority ของคุณเปลี่ยนเป็นผู้ใช้ oracle: ซู – ออราเคิลจากนั้นเรียกใช้ xauth เพิ่ม $DISPLAY <hexkey คัดลอกมาจากรายการ xauth>ซึ่งเก็บข้อมูลไว้ในไฟล์ /home/oracle/.Xauthorityทางออก กลับไปที่ผู้ใช้ ec2
3. เชื่อมต่อกับอินสแตนซ์และติดตั้งดิสก์เพิ่มเติม
ฉันใช้ Putty และ Xming เพื่อเชื่อมต่อกับอินสแตนซ์ของฉันหากใช้ Xming อย่าลืมเรียกใช้ Xlaunch ก่อนที่จะพยายามเชื่อมต่อ
หลังจากเปิดตัวอินสแตนซ์ คุณจะต้องแบ่งพาร์ติชันดิสก์ใหม่ง่ายที่สุดที่จะหาได้จาก[ ls /dev/disk/by-path ] :
![](https://us.sios.com/wp-content/uploads/2023/01/instance.png)
ตอนนี้คุณต้องแบ่งพาร์ติชันดิสก์ด้วย fdisk :
![](https://us.sios.com/wp-content/uploads/2023/01/fdisk2.png)
ต่อไปเราจะสร้างระบบไฟล์ในพาร์ติชันใหม่ด้วย mkfs.xfs :
![](https://us.sios.com/wp-content/uploads/2023/01/mkfs2.png)
ณ จุดนี้ เราต้องการเปลี่ยนชื่อ /u01 เป็นไดเร็กทอรี /oracle เพื่อให้เราสามารถติดตั้งระบบไฟล์ใหม่บน /u01 ซึ่งเป็นตำแหน่งที่ Oracle อยู่บนเซิร์ฟเวอร์ของเราที่สร้างด้วย AMI
![](https://us.sios.com/wp-content/uploads/2023/01/u01.png)
สร้างจุดเมานต์ด้วย mkdir /u01 และเมานต์โวลุ่มด้วยเมานต์ย้ายไฟล์ไปยังดิสก์ใหม่ด้วย mv /oracle /u01 การดำเนินการนี้จะใช้เวลาสักครู่เนื่องจากมีข้อมูลประมาณ 11GB
![](https://us.sios.com/wp-content/uploads/2023/01/mkdiru01.png)
![](https://us.sios.com/wp-content/uploads/2023/01/rootip.png)
ในที่สุดเราจะเพิ่มรายการเพื่อเมานต์ดิสก์โดยอัตโนมัติใน fstab:
![](https://us.sios.com/wp-content/uploads/2023/01/fstab2.png)
โปรดทราบว่าคุณไม่จำเป็นต้องเรียกใช้การติดตั้งสำหรับ OracleAMI ได้ดำเนินการดังกล่าวและสร้างฐานข้อมูลให้กับคุณฉันเริ่มต้นฐานข้อมูล สร้างสคีมา และเพิ่มข้อมูลโดยใช้ SQLPLUS
4. ติดตั้งชุด AWS cli
เราต้องการชุด awscli ดังนั้นในขณะที่เรารูทดาวน์โหลดไฟล์ด้วย ขด “https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip” -o “awscliv2.zip”
![](https://us.sios.com/wp-content/uploads/2023/01/awscli-kit.png)
แตกไฟล์ด้วย เปิดเครื่องรูด awscliv2.zip
![](https://us.sios.com/wp-content/uploads/2023/01/unzip.png)
ติดตั้งแอพพลิเคชั่นด้วย sudo ./aws/install
![](https://us.sios.com/wp-content/uploads/2023/01/sudo-aws.png)
ตั้งค่าคีย์การเข้าถึงใน AWS ถัดไปโดยคลิกที่บัญชีของคุณที่ด้านบนขวาของคอนโซล จากนั้นเลือก ข้อมูลรับรองความปลอดภัย
![](https://us.sios.com/wp-content/uploads/2023/01/iam-dash.jpg)
คลิกที่สร้างคีย์การเข้าถึง:
![](https://us.sios.com/wp-content/uploads/2023/01/create-access-key-1.jpg)
จากนั้นคลิกที่ดาวน์โหลดไฟล์ .csv:
![](https://us.sios.com/wp-content/uploads/2023/01/download-csv.jpg)
ถ่ายโอนไฟล์นี้ไปยังเซิร์ฟเวอร์ของคุณและกำหนดค่า AWS โดยใช้ ID คีย์และคีย์การเข้าถึงจากไฟล์ csv ของคุณด้วย aws กำหนดค่า สั่งการ:
![](https://us.sios.com/wp-content/uploads/2023/01/aws-configure.png)
ทดสอบว่ามันใช้งานได้กับสิ่งต่อไปนี้: aws –no-paginate –no-cli-pager ec2 อธิบายอินสแตนซ์
5. กำหนดค่าความปลอดภัย/การเข้าถึง
อันดับแรก ฉันเพิ่มผู้ใช้ Oracle ในกลุ่มรูทและวงล้อโดยให้สิทธิ์หลอก ( Usermod -aG ล้อ oracle) .สิ่งนี้จะทำให้ชีวิตง่ายขึ้นโดยทำให้บัญชี Oracle เป็นบัญชี lkadminฉันดาวน์โหลด sps.img และไฟล์ลิขสิทธิ์ลงบนเซิร์ฟเวอร์ทั้งสองเครื่อง
ก่อนติดตั้งซอฟต์แวร์ มีขั้นตอนที่จำเป็นเพิ่มเติมอีกสองสามขั้นตอนที่ต้องทำขั้นแรกให้กำหนดค่ากลุ่มความปลอดภัยสำหรับเซิร์ฟเวอร์เพื่อให้สามารถสื่อสารได้โดยเปิดพอร์ต TCP 5900-59010 เปิดพอร์ต TCP 81 และ 82 ด้วย ตรวจสอบให้แน่ใจว่าพอร์ตเปิดอยู่สำหรับ Virtual IP
![](https://us.sios.com/wp-content/uploads/2023/01/aws-configure-1.png)
6. สร้างรายการเส้นทางสำหรับ IP เสมือน
ตารางเส้นทางจะต้องได้รับการอัพเดตเพื่อให้ Virtual IP ของคลัสเตอร์ทำงานได้ในการกำหนดค่าคลัสเตอร์หลายเครือข่ายย่อยนี้ Virtual IP จำเป็นต้องอยู่นอกช่วงของ CIDR ที่จัดสรรให้กับ VPC ของคุณกำหนดเส้นทางใหม่ที่จะส่งทราฟฟิกไปยัง Virtual IP ของคลัสเตอร์ (172.30.0.101) ไปยังโหนดคลัสเตอร์หลัก (Oracle1) จากแดชบอร์ด VPC เลือกตารางเส้นทาง คลิกแก้ไขเพิ่มเส้นทางสำหรับ “172.30.0.101/32” โดยมีปลายทางของ Elastic Network Interface (ENI) หลักบนเซิร์ฟเวอร์หลัก:
7. ปิดใช้งานการตรวจสอบต้นทาง/ปลายทางสำหรับ ENI's
ภายใต้ Network Interfaces ให้เลือกทีละอินเทอร์เฟซ จากนั้นภายใต้ Actions ให้เลือก change source/dest
ตราบใดที่คุณไม่ได้รับข้อผิดพลาดในการรับรองความถูกต้อง แสดงว่ามีการติดตั้งและกำหนดค่าอย่างถูกต้อง
![](https://us.sios.com/wp-content/uploads/2023/01/disable-source-destination.png)
ยกเลิกการเลือก เปิดใช้งาน กล่อง:
![](https://us.sios.com/wp-content/uploads/2023/01/enable-box.jpg)
ทำซ้ำสำหรับอินเทอร์เฟซทั้งหมด
8. แก้ไข /etc/hosts
เว้นแต่คุณจะมีการตั้งค่าเซิร์ฟเวอร์ DNS อยู่แล้ว คุณจะต้องสร้างรายการไฟล์โฮสต์บนเซิร์ฟเวอร์ทั้งสองเพื่อให้สามารถแก้ไขชื่อซึ่งกันและกันได้อย่างถูกต้อง
![](https://us.sios.com/wp-content/uploads/2023/01/etc-hosts.png)
9. กำหนดค่า Listener ด้วยชื่อโฮสต์ VIP
แก้ไขหรือสร้างไฟล์ $ORACLE_HOME/network/admin/listener.ora เพื่อชี้ไปที่ oracle-vip:
![](https://us.sios.com/wp-content/uploads/2023/01/vip-hostname.png)
10. ปิดใช้งาน SELinux
แก้ไขไฟล์ /etc/sysconfig/selinux และตั้งค่า “SELINUX=disabled”
![](https://us.sios.com/wp-content/uploads/2023/01/disable-selinux.png)
รีบูทเซิร์ฟเวอร์หาก ณ จุดนี้เซิร์ฟเวอร์ไม่สำรองข้อมูล เป็นไปได้ว่าคุณปล่อยการตั้งค่า SELINUX ไว้ที่อนุญาตและตั้งค่า SELINUXTYPE เป็นปิดใช้งาน ซึ่งจะทำให้อินสแตนซ์หยุดทำงานเพียงยกเลิกการเชื่อมโยงไดรฟ์ข้อมูลใน AWS จากอินสแตนซ์ของคุณแล้วติดตั้งด้วย เมานต์ -o rw, nouuid {อุปกรณ์} {เมานต์ไดเร็กทอรี} คำสั่งไปยังอินสแตนซ์การทำงานใหม่หรือที่มีอยู่แก้ไขไฟล์ /{mount directory]/etc/sysconfig/selinux และแก้ไขข้อผิดพลาดบันทึกไฟล์ ยกเลิกการต่อเชื่อมและยกเลิกการเชื่อมโยงไดรฟ์ข้อมูลกับอินสแตนซ์นี้ และแนบกลับเข้าไปใหม่กับอินสแตนซ์เก่า
11. ติดตั้ง SIOS Protection Suite สำหรับ Linux
ต่อไป ในฐานะรูท ฉันได้ติดตั้งชุดป้องกัน SIOS โดยการเมานต์ไฟล์อิมเมจด้วย เมานต์ /home/ec2-user/sps.img /mnt/ -t iso9660 -o วนซ้ำ . เรียกใช้การตั้งค่าด้วย /mnt/ตั้งค่า :
![](https://us.sios.com/wp-content/uploads/2023/01/ec2-user.png)
![](https://us.sios.com/wp-content/uploads/2023/01/ec-2user-2.png)
ภายใต้ LifeKeeper Authentication ฉันเลื่อนลงไปที่กลุ่ม lkadmin กด Enter และเพิ่ม oracle ลงในกลุ่ม 'lkadmin':
![](https://us.sios.com/wp-content/uploads/2023/01/oracle-lifekeeper.png)
เลือกตกลงแล้วแท็บเสร็จสิ้นและกด Enterเลื่อนถัดไปเพื่อติดตั้งไฟล์รหัสใบอนุญาตและกด Enter:
![](https://us.sios.com/wp-content/uploads/2023/01/oracle-lifekeeper2.png)
จากที่นี่ พิมพ์ตำแหน่งและชื่อไฟล์ใบอนุญาตของคุณ:
![](https://us.sios.com/wp-content/uploads/2023/01/oracel-lifekeeper3.png)
ต่อไป ฉันเลือก Recovery Kit Selection Menu และกด Enter:
![](https://us.sios.com/wp-content/uploads/2023/01/recovery-kit.png)
ที่นี่ฉันเลือกเครือข่าย:
![](https://us.sios.com/wp-content/uploads/2023/01/recovery-kit2.png)
กดปุ่มสเปซบาร์เพื่อเลือก LifeKeeper Recovery Kit สำหรับ EC2 แท็บเสร็จสิ้นแล้วกด Enterต่อไป ฉันเลือกเมนูฐานข้อมูล เลื่อนลงและกดสเปซบาร์บน LifeKeeper Oracle RDBMS Recovery Kit:
![](https://us.sios.com/wp-content/uploads/2023/01/redms-recovery-kit.png)
แท็บเสร็จสิ้นหรือกด D แล้วเลื่อนลงไปที่ Storage แล้วกด Enterต่อไปฉันกดสเปซบาร์แล้วเลือก DataKeeper สำหรับ Linux:
![](https://us.sios.com/wp-content/uploads/2023/01/datakeeper-for-linux.png)
แท็บเสร็จสิ้นแล้วกด Enter หรือกด d เพื่อสำรองข้อมูลไปที่ Recovery Kit Selection จากนั้นกดแท็บเสร็จสิ้นหรือกด D เพื่อถอยออกจากเมนูการกำหนดค่าหลัก:
![](https://us.sios.com/wp-content/uploads/2023/01/recovery-kit-selection-menu.png)
ตรวจสอบให้แน่ใจว่าได้เลือก LifeKeeper Startup After Install แล้วเลือกแท็บสุดท้ายเสร็จหรือกด d แล้วเราจะได้หน้าจอยืนยันการติดตั้ง:
![](https://us.sios.com/wp-content/uploads/2023/01/lifekeeper-startup0after-install.png)
ที่นี่กด Enter หรือ y และการติดตั้งจะเริ่มขึ้น
12. เริ่ม LifeKeeper
เริ่มต้น LifeKeeper GUI ด้วย /opt/LifeKeeper/bin/lkGUIapp หากล้มเหลว อาจเป็นเพราะคุณไม่มีหมายเลขวิเศษสำหรับบัญชีที่คุณลงชื่อเข้าใช้ไฟล์ .Xauthorityฉันเข้าสู่ระบบด้วย oracle แล้วทำ sudo -i เพื่อไปที่รูทดังนั้นหาก gui ของฉันไม่โหลด ฉันจะคัดลอกไฟล์ /home/oracle/.Xauthority ไปที่ /root :
![](https://us.sios.com/wp-content/uploads/2023/01/start-lifekeeper.jpg)
ที่นี่ฉันเข้าสู่ระบบในฐานะ oracle:
![](https://us.sios.com/wp-content/uploads/2023/01/login-as-oracle.png)
13. เชื่อมต่อกับเซิร์ฟเวอร์ที่สอง
จากนั้นคลิกที่ปุ่มเชื่อมต่อคลัสเตอร์
![](https://us.sios.com/wp-content/uploads/2023/01/connect-to-second-server.png)
เข้าสู่ระบบด้วย oracle:
![](https://us.sios.com/wp-content/uploads/2023/01/login-as-oracle2.png)
14. สร้างเส้นทางการสื่อสาร
คลิกที่ปุ่มสร้างเส้นทางการสื่อสาร :
![](https://us.sios.com/wp-content/uploads/2023/01/create-comm-path-button.jpg)
![](https://us.sios.com/wp-content/uploads/2023/01/create-comm-path.jpg)
หากเกิดข้อผิดพลาด ตรวจสอบให้แน่ใจว่าไฟร์วอลล์และ iptables ถูกปิดใช้งานตีต่อไป:
![](https://us.sios.com/wp-content/uploads/2023/01/firewall-iptable-disabled.png)
ตีต่อไป:
![](https://us.sios.com/wp-content/uploads/2023/01/tcp.png)
เลือกที่อยู่ IP แรกของคุณแล้วกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/local-ip-address.png)
เลือก IP ระยะไกล:
![](https://us.sios.com/wp-content/uploads/2023/01/remote-ip.png)
ตีต่อไป:
![](https://us.sios.com/wp-content/uploads/2023/01/local-server.png)
กดสร้าง:
![](https://us.sios.com/wp-content/uploads/2023/01/create.png)
ตีต่อไป:
![](https://us.sios.com/wp-content/uploads/2023/01/initialize-comm-path.png)
ตีเสร็จแล้ว: ต่อไปเราต้องสร้างเส้นทางการสื่อสารที่สองโดยทำซ้ำขั้นตอนที่ 14 กับที่อยู่สำรอง
![](https://us.sios.com/wp-content/uploads/2023/01/create-2-comm-path.png)
เมื่อสร้างเส้นทางทั้งสองสำเร็จแล้ว เซิร์ฟเวอร์ควรเป็นสีเขียว
15. สร้างทรัพยากร DataKeeper
คลิกที่ปุ่มสร้างลำดับชั้นของทรัพยากร:
![](https://us.sios.com/wp-content/uploads/2023/01/create-datakeeper-resource.png)
เลือกการจำลองข้อมูลและกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/select-data-replication-1.png)
กดปุ่มถัดไป (Intelligent หมายความว่าหลังจากเกิดข้อผิดพลาด คุณต้องดำเนินการย้อนกลับด้วยตนเอง):
![](https://us.sios.com/wp-content/uploads/2023/01/intelligent-failover.png)
ตีต่อไป:
![](https://us.sios.com/wp-content/uploads/2023/01/create-resource-wizard-1.png)
เลือกเซิร์ฟเวอร์หลักของคุณและกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/select-primary-server.png)
เลือกจำลองระบบไฟล์ที่มีอยู่แล้วกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/select-replicate-existing-filesystem.png)
เลือกจุดเชื่อมต่อที่มีอยู่แล้วกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/select-existing-mount-point.png)
สร้าง การจำลองข้อมูล แท็กทรัพยากร และกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/create-data-rep-resource-tag.png)
เลือกแท็กทรัพยากรระบบไฟล์และกดถัดไป:[1]
![](https://us.sios.com/wp-content/uploads/2023/01/select-file-system-resource-tag.png)
เพื่อประสิทธิภาพสูงสุด ควรวางไฟล์บิตแมปไว้บนวอลุ่มชั่วคราว เพื่อวัตถุประสงค์ในการทดสอบ สามารถวางบิตแมปบนดิสก์ OS ดังที่แสดงไว้ด้านบน เลือกตำแหน่งไฟล์บิตแมปและกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/create-data-rep-resource-hierarchy.png)
เลือกไม่สำหรับ เปิดใช้งานการจำลองแบบอะซิงโครนัส และกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/oracle2.png)
เลือกเซิร์ฟเวอร์เป้าหมายและกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/target-server.png)
เลือกประเภท Switchback และกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/switchback-type.png)
เลือกลำดับความสำคัญของเทมเพลตแล้วกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/template-priority.png)
เลือก Target Priority แล้วกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/target-priority.png)
ตีต่อไป:
![](https://us.sios.com/wp-content/uploads/2023/01/next.png)
เลือก Target Disk แล้วกด Next:
![](https://us.sios.com/wp-content/uploads/2023/01/target-disk-1.png)
ตีต่อไป:
![](https://us.sios.com/wp-content/uploads/2023/01/extend-data-replication-resource.png)
ตีต่อไป:
![](https://us.sios.com/wp-content/uploads/2023/01/extend-data-replication-resource-2.png)
![](https://us.sios.com/wp-content/uploads/2023/01/extend-data-replication-resource-3.png)
เลือกปลายทางเครือข่ายที่คุณต้องการใช้สำหรับการจำลองแบบและกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/network-endpoints.png)
เลือกจุดเมานต์แล้วกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/mount-point.png)
เลือกแท็กทรัพยากรและกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/resource-tag.png)
ตีเสร็จ:
![](https://us.sios.com/wp-content/uploads/2023/01/finish.png)
ตีเสร็จ:
![](https://us.sios.com/wp-content/uploads/2023/01/done.png)
หากคุณคลิกที่ /u01 คุณจะเห็นปริมาณการซิงค์:
![](https://us.sios.com/wp-content/uploads/2023/01/gui-syncing.png)
16. สร้างลำดับชั้นด้วยทรัพยากร Virtual IP
คลิกที่ปุ่มสร้างทรัพยากร:
![](https://us.sios.com/wp-content/uploads/2023/01/create-resource-wizard2.png)
เลือก IP และกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/2.png)
เลือกประเภท Switchback และกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/switchback.png)
เลือกเซิร์ฟเวอร์หลักและกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/primary-server.png)
ป้อนที่อยู่ IP เสมือนจากขั้นตอนที่ 6 และกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/virtual-ip.png)
ป้อน subnet mask สำหรับ VIP แล้วกด Next:
![](https://us.sios.com/wp-content/uploads/2023/01/subnet-mask.png)
ป้อนอินเทอร์เฟซเครือข่ายและกดถัดไป
![](https://us.sios.com/wp-content/uploads/2023/01/network-interface.png)
ป้อนแท็กทรัพยากรและกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/resource-tag2.png)
หลังจากสร้างสำเร็จให้กดต่อไป:
![](https://us.sios.com/wp-content/uploads/2023/01/successful-creation.png)
เลือกเซิร์ฟเวอร์เป้าหมายและกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/target-server2.png)
เลือกประเภทการสลับกลับและกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/switchback-type2.png)
เลือกลำดับความสำคัญและกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/priority.png)
เลือกลำดับความสำคัญและกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/priority2.png)
เมื่อเสร็จสิ้นให้กดต่อไป:
![](https://us.sios.com/wp-content/uploads/2023/01/completion.png)
ตีต่อไป:
![](https://us.sios.com/wp-content/uploads/2023/01/next2.png)
เลือกเน็ตมาสก์ที่เหมาะสมแล้วกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/netmask.png)
เลือกอินเทอร์เฟซและกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/interface.png)
เลือกแท็กทรัพยากรและขยายการกด:
![](https://us.sios.com/wp-content/uploads/2023/01/resource-tag3.png)
ตีเสร็จเมื่อสำเร็จ:
![](https://us.sios.com/wp-content/uploads/2023/01/finish-success-complete.png)
กดเสร็จสิ้นหลังจากการตรวจสอบ
![](https://us.sios.com/wp-content/uploads/2023/01/done-verification.png)
17. สร้างทรัพยากร Oracle Listener
ตรวจสอบให้แน่ใจว่าฐานข้อมูลและผู้ฟังกำลังทำงานก่อนที่จะพยายามกำหนดค่าทรัพยากรเหล่านี้ใน LifeKeeperคลิกที่ปุ่มสร้างทรัพยากร:
![](https://us.sios.com/wp-content/uploads/2023/01/oracle-listener.png)
เลือก Oracle Database Listener แล้วกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/database-listener-1.png)
เลือกเซิร์ฟเวอร์หลักและกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/primary-server2.png)
![](https://us.sios.com/wp-content/uploads/2023/01/create-oracle-listening-resource-3.png)
ป้อนเส้นทางไฟล์การกำหนดค่า Listener และชื่อไฟล์ แล้วกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/listener-config-file-path-1.png)
ตีต่อไป:
![](https://us.sios.com/wp-content/uploads/2023/01/next3.png)
ป้อนเส้นทางสำหรับ Listener Executables และกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/listener-executables.png)
เลือกระดับการป้องกันและกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/protection-level.png)
เลือกระดับการกู้คืนและกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/recovery-level.png)
เลือกที่อยู่ IP ที่เชื่อมโยงกับ Listener หากจำเป็น และกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/select-ip-address.png)
ป้อนชื่อแท็กผู้ฟังและกดสร้าง:
![](https://us.sios.com/wp-content/uploads/2023/01/listener-tag-name.png)
ตีต่อไป:
![](https://us.sios.com/wp-content/uploads/2023/01/next4.png)
กดยอมรับค่าเริ่มต้นเพื่อสร้างทรัพยากรบนเซิร์ฟเวอร์ที่สองของคุณ:
![](https://us.sios.com/wp-content/uploads/2023/01/accept-defaults.png)
คลิกที่เสร็จสิ้น:
![](https://us.sios.com/wp-content/uploads/2023/01/finish2.png)
คลิกที่เสร็จสิ้นและขยาย LSNR และ /u01:
![](https://us.sios.com/wp-content/uploads/2023/01/done2.png)
18. สร้างลำดับชั้นด้วยฐานข้อมูล Oracle
คลิกที่ปุ่มสร้างลำดับชั้นของทรัพยากร :
![](https://us.sios.com/wp-content/uploads/2023/01/create-resource-wizard-3-1.png)
เลือก Oracle Database แล้วกด Next:
![](https://us.sios.com/wp-content/uploads/2023/01/switchback-type3.png)
เลือกประเภท Switchback และกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/oracle3.png)
เลือกเซิร์ฟเวอร์และกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/select-server-2.png)
เลือกชื่อฐานข้อมูลและกดถัดไป (หากคุณได้รับข้อผิดพลาดไม่พบโฮมไดเร็กทอรี ตรวจสอบให้แน่ใจว่าฐานข้อมูลกำลังทำงานอยู่):
![](https://us.sios.com/wp-content/uploads/2023/01/select-database-name.png)
ป้อนชื่อผู้ใช้ sysdba และกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/sysda-username.png)
ป้อนรหัสผ่านสำหรับบัญชีและกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/enter-password.png)
เลือก Oracle Listener และกดถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/select-oracle-listener.png)
กดสร้าง:
![](https://us.sios.com/wp-content/uploads/2023/01/hit-create.png)
เมื่อสร้างสำเร็จให้เลือก ถัดไป:
![](https://us.sios.com/wp-content/uploads/2023/01/creation-next.png)
เลือกยอมรับค่าเริ่มต้น:
![](https://us.sios.com/wp-content/uploads/2023/01/accept-defaults2.png)
เลือกเสร็จสิ้น:
![](https://us.sios.com/wp-content/uploads/2023/01/select-finish.png)
ตีเสร็จ: ขยายต้นไม้เพื่อดูทรัพยากรทั้งหมด:
![](https://us.sios.com/wp-content/uploads/2023/01/extend-tree.png)
19. สร้างลำดับชั้นด้วย EC2
คลิกที่ปุ่มสร้างลำดับชั้นของทรัพยากร :
![](https://us.sios.com/wp-content/uploads/2023/01/amazon-ec2.png)
เลือก Amazon EC2 แล้วกด Next>
![](https://us.sios.com/wp-content/uploads/2023/01/select-amazon-ec2-1.png)
เลือกอัจฉริยะแล้วกดถัดไป>
![](https://us.sios.com/wp-content/uploads/2023/01/next5.png)
เลือกเซิร์ฟเวอร์หลักของคุณและกด Next>
![](https://us.sios.com/wp-content/uploads/2023/01/primary-server3.png)
เลือกประเภททรัพยากร EC2 (เราใช้คลัสเตอร์แบ็กเอนด์สำหรับตัวอย่างนี้) แล้วกด Next>
![](https://us.sios.com/wp-content/uploads/2023/01/ec2-resource-type.png)
เลือกทรัพยากร IP และเลือก ถัดไป>
![](https://us.sios.com/wp-content/uploads/2023/01/ip-resource-next.png)
เลือกชื่อแท็กทรัพยากร EC2 แล้วกดสร้าง
![](https://us.sios.com/wp-content/uploads/2023/01/ec2-resource-tag-name.png)
เมื่อสร้างทรัพยากรสำเร็จ ให้กด Next> หลังจากนั้นไม่กี่วินาที ตัวช่วยสร้างการขยายล่วงหน้าจะปรากฏขึ้นกดยอมรับค่าเริ่มต้น:
![](https://us.sios.com/wp-content/uploads/2023/01/accept-defaults3.png)
เมื่อการตรวจสอบเสร็จสิ้นให้กดยอมรับค่าเริ่มต้นอีกครั้ง:
![](https://us.sios.com/wp-content/uploads/2023/01/accept-defaults4.png)
ตี เสร็จสิ้น และหลังจากการยืนยันกด เสร็จสิ้น:
![](https://us.sios.com/wp-content/uploads/2023/01/finish-verify.png)
การกำหนดค่าเสร็จสมบูรณ์ตอนนี้เราสามารถทดสอบการเฟลโอเวอร์ได้แล้ว
20. เปลี่ยนพฤติกรรมการปิดเครื่อง
ตามค่าเริ่มต้น LifeKeeper จะไม่ ล้มเหลว ทรัพยากรถ้าคุณเพียงแค่ปิดหรือรีบูตเซิร์ฟเวอร์ หากคุณต้องการย้ายปริมาณงานก่อนที่จะปิดเซิร์ฟเวอร์ คุณควรย้ายทรัพยากรไปยังเซิร์ฟเวอร์สแตนด์บายด้วยตนเองก่อนที่จะปิดโหนดที่ใช้งานอยู่ อย่างไรก็ตาม คุณอาจต้องการเปลี่ยนลักษณะการทำงานเริ่มต้นเพื่ออำนวยความสะดวกในการทดสอบ ที่ถูกควบคุมโดยการเปลี่ยนกลยุทธ์การปิดระบบที่แสดงด้านล่าง
![](https://us.sios.com/wp-content/uploads/2023/01/change-shutdown-behavior.png)
คลิกขวาที่เซิร์ฟเวอร์หลักของคุณและเลือกคุณสมบัติ:
![](https://us.sios.com/wp-content/uploads/2023/01/primary-server-properties.png)
ภายใต้แท็บทั่วไปให้เปลี่ยนกลยุทธ์การปิดเครื่องเป็นสลับทรัพยากรแล้วกดใช้:
![](https://us.sios.com/wp-content/uploads/2023/01/change-shutdown-strategy.png)
จากนั้นเลือกเซิร์ฟเวอร์รองจากเซิร์ฟเวอร์แบบเลื่อนลงและตรวจสอบการเปลี่ยนแปลงการตั้งค่า: กดตกลง:
![](https://us.sios.com/wp-content/uploads/2023/01/secondary-server.png)
21. ทดสอบความล้มเหลว
ฉันกำลังเรียกใช้ lkGUIapp จากเซิร์ฟเวอร์รองหากคุณอยู่บนเซิร์ฟเวอร์หลัก ให้ออกจาก LifeKeeper GUI และเรียกใช้จากเซิร์ฟเวอร์รอง
![](https://us.sios.com/wp-content/uploads/2023/01/test-failover.png)
ขยายลำดับชั้นทรัพยากรทั้งหมดและเปิดเซสชัน SSH ไปยังเซิร์ฟเวอร์หลักของคุณ
ฉันยังใช้ ping -i 5 กับ oracle-vip:
![](https://us.sios.com/wp-content/uploads/2023/01/expand-hierarchies.png)
![](https://us.sios.com/wp-content/uploads/2023/01/expand-hierarchies-2.png)
ปิดเซิร์ฟเวอร์หลัก:
![](https://us.sios.com/wp-content/uploads/2023/01/primary-server-shutdown.png)
คุณสามารถเห็นในกรณีของฉัน IP หยุดตอบสนองเป็นเวลา < 25 วินาทีฉันพลาด 4 ปิง 20-23 ในช่วงเวลา 5 วินาทีตอนนี้ทุกอย่างใช้งานได้บนเซิร์ฟเวอร์สำรองเนื่องจากหลักของเรายังคงไม่ทำงาน เราจึงได้รับคำเตือนเกี่ยวกับลำดับชั้น
![](https://us.sios.com/wp-content/uploads/2023/01/ip-stopped-responding.png)
เมื่อคุณเรียกใช้เซิร์ฟเวอร์หลักหากคุณปล่อยให้การสลับกลับเป็นอัจฉริยะ คุณจะต้องนำบริการขึ้นมาบนเซิร์ฟเวอร์หลักด้วยตนเองตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์หลักเป็นแบบ InSync ก่อนที่จะพยายามให้บริการ:
![](https://us.sios.com/wp-content/uploads/2023/01/primary-server-2.png)
![](https://us.sios.com/wp-content/uploads/2023/01/lifekeeper-gui2.png)
คลิกขวาที่ปุ่มสแตนด์บายสำหรับ cdb1 แล้วเลือก In Service…
![](https://us.sios.com/wp-content/uploads/2023/01/standby-button.png)
คลิกในบริการ
![](https://us.sios.com/wp-content/uploads/2023/01/click-in-service.png)
กด เสร็จสิ้น
![](https://us.sios.com/wp-content/uploads/2023/01/done3.png)
จะใช้เวลาสองสามนาทีในการซิงค์ดิสก์อีกครั้ง แต่ในที่สุดก็จะซิงค์
![](https://us.sios.com/wp-content/uploads/2023/01/done5.png)
หลังจากกู้คืนทุกอย่างแล้ว ขณะนี้เรามีฐานข้อมูล HA Oracle ใน AWS ที่พร้อมสำหรับการพัฒนา
ทำซ้ำโดยได้รับอนุญาตจาก SIOS