Giới thiệu một số kiến trúc có tính sẵn sàng cao của Oracle Database

09:26 - 28/12/2019  |  108 lượt xem

Chia sẻ Chia sẻ
Hiện nay, tại EVNCPC, một số ứng dụng phục vụ công tác sản xuất kinh doanh, quản lý điều hành đang hoạt động trên cơ sở dữ liệu Oracle. Việc đảm bảo tính sẵn sàng cho các ứng dụng này là rất quan trọng. Bài viết dưới đây giới thiệu sơ lược các kiến trúc có tính sẵn sàng cao của cơ sở dữ liệu Oracle (Oracle Maximum Availability Architecture - MAA).
Giới thiệu một số kiến trúc có tính sẵn sàng cao của Oracle Database

Hình minh họa các công nghệ được sử dụng bởi mỗi kiến trúc

Mỗi kiến ​​trúc MAA của Oracle, sử dụng một tập hợp tối ưu các khả năng của Oracle, khi được triển khai cùng nhau, sẽ đạt được một mức dịch vụ đáng tin cậy nhất định cho sự sẵn sàng cao và bảo vệ dữ liệu.

Kiến trúc MAA của Oracle cung cấp nhiều lựa chọn về các mẫu kiến ​​trúc cho tính sẵn sàng cao và khả năng mở rộng.

Một tập hợp các kiến ​​trúc tham chiếu tiêu chuẩn, bao gồm Bronze, Silver, Gold, và Platinum, cung cấp khả năng mở rộng trong suốt với ứng dụng (với Oracle RAC), bảo vệ dữ liệu, sẵn sàng cao và khắc phục thảm họa cho cơ sở dữ liệu Oracle.

Bronze – Kiến trúc HA Single Instance

Kiến trúc Bronze  cung cấp dịch vụ cơ sở dữ liệu cơ bản với chi phí thấp nhất có thể. Giảm mức độ HA (High Availability) và giảm mức bảo vệ dữ liệu được chấp nhận để đổi lấy chi phí giảm và giảm phức tạp khi thực hiện.

Hình dưới đây cung cấp tổng quan về kiến trúc Bronze:

Hình minh họa

Kiến trúc Bronze sử dụng một cơ sở dữ liệu Oracle duy nhất; không có công nghệ clustering được sử dụng để chuyển đổi dự phòng tự động (automatic failover) nếu có sự cố ngừng hoạt động của máy chủ mà cơ sở dữ liệu Oracle đang chạy. Khi một máy chủ không sử dụng được hoặc cơ sở dữ liệu không thể phục hồi, cần cung cấp một hệ thống thay thế hoặc sao lưu khôi phục (tính nhanh chóng đánh giá qua tiêu chí mục tiêu thời gian phục hồi - recovery time objectives - RTO). Trong trường hợp xấu nhất sẽ cần có thêm thời gian cần thiết để thực hiện các công việc này tại một địa điểm khác, và trong một số trường hợp điều này có thể mất vài ngày.

Trình quản lý khôi phục Oracle (RMAN) được sử dụng để thực hiện sao lưu thường xuyên cơ sở dữ liệu Oracle. Nếu có sự cố ngừng hoạt động không thể phục hồi, mục tiêu điểm phục hồi (recovery point objectives - RPO) sẽ bằng với dữ liệu được tạo ra kể từ lần sao lưu cuối cùng được thực hiện. Bản sao của cơ sở dữ liệu sao lưu cũng được giữ lại ở một vị trí xa hoặc trên Cloud cho mục đích lưu trữ kép và khắc phục trong trường hợp thảm họa tấn công trung tâm dữ liệu chính.

Bảng tóm tắt RTO và RPO của kiến trúc Bronze:

Silver – Kiến trúc HA với Automatic Failover

Kiến trúc Silver xây dựng trên kiến trúc Bronze bằng cách kết hợp công nghệ clustering để cải thiện tính sẵn sàng cho cả sự cố và bảo trì theo kế hoạch. Kiến trúc Silver sử dụng Oracle RAC hoặc Oracle RAC One Node cho HA trong một trung tâm dữ liệu bằng cách cung cấp tự động chuyển đổi dự phòng (automatic failover) khi có một sự cố ngừng hoạt động không thể phục hồi của một database instance hoặc một hư hỏng hoàn toàn của máy chủ mà trên đó database đang hoạt động. Oracle RAC cũng cung cấp đáng kể lợi ích cho việc loại bỏ nhiều loại downtime có kế hoạch bằng cách thực hiện bảo trì theo cách thức tuần tự trên  các node của Oracle RAC.

Hình dưới đây cung cấp một cái nhìn tổng quan của kiến trúc Silver.

Oracle RAC cải thiện tính sẵn sàng của ứng dụng trong một trung tâm dữ liệu. Với Oracle RAC, máy chủ chuyển đổi dự phòng (server failover) là tức thời. Có một khoảng thời gian rất ngắn trước khi service được resume trên các instance còn lại và người dùng từ instance bị down có thể kết nối lại. Downtime cũng được loại bỏ đối với các công việc bảo trì có kế hoạch bởi vì có thể thực hiện theo cách thức tuần tự trên các node của Oracle RAC. Người dùng hoàn thành công việc và chấm dứt phiên làm việc của họ trên node nơi sẽ thực hiện bảo trì. Khi họ kết nối lại, họ được hướng đến một database instance thực sự đang chạy trên một node khác.

Oracle RAC có hai thành phần chính: Oracle Database instances và Oracle Database.

  • Một database instance được định nghĩa là một tập hợp các tiến trình và bộ nhớ có cấu trúc chạy trên một node (hoặc máy chủ) tạo ra một database cụ thể.
  • Database là một tập hợp các file được chia sẻ (file dữ liệu, file chỉ mục, file điều khiển, và các file khởi tạo) nằm trên thiết bị lưu trữ và được mở cùng nhau, sử dụng để đọc và ghi dữ liệu.
  • Oracle RAC sử dụng kiến ​​trúc active -active cho phép nhiều database instance, mỗi instance chạy trên các node khác nhau, các node đồng thời đọc và ghi vào cùng database.

Kiến trúc active-active của Oracle RAC cung cấp một số lợi ích:

  • Cải thiện tính sẵn sàng cao: Nếu một máy chủ hoặc database instance bị lỗi, kết nối đến các instance còn lại không bị ảnh hưởng; các kết nối đến instance bị lỗi nhanh chóng được chuyển đến các instance còn lại đang thực sự hoạt động và mở trên các máy chủ khác trong cluster.
  • Khả năng mở rộng: Oracle RAC lý tưởng cho các ứng dụng lớn hoặc các môi trường tập trung, nơi yêu cầu khả năng mở rộng và khả năng tự động thêm hoặc sắp xếp lại năng lực trên nhiều máy chủ. Một database có thể có các instance hoạt động trên một hoặc nhiều node của một cluster. Tương tự, một database service có thể có sẵn trên một hoặc nhiều database instance. Bổ sung các node, database instance và database service có thể được thực hiện online. Các khả năng dễ dàng phân phối khối lượng công việc (workload) trên toàn cluster khiến cho Oracle RAC trở thành một bổ sung lý tưởng cho Oracle Multitenant.
  • Hiệu năng tin cậy: Oracle Quality of Service (QoS) có thể được sử dụng để phân bổ năng lực cho các database service có độ ưu tiên cao, để cung cấp hiệu năng cao phù hợp trong môi trường cơ sở dữ liệu tập trung. Năng lực có thể được thay đổi linh hoạt giữa các khối lượng công việc để nhanh chóng đáp ứng các yêu cầu thay đổi.
  • HA trong quá trình bảo trì có kế hoạch: Tính sẵn sàng cao được duy trì bằng cách thực hiện thay đổi một cách tuần tự trên các node Oracle RAC. Điều này bao gồm bảo trì phần cứng, hệ điều hành hoặc mạng có yêu cầu máy chủ phải offline; bảo trì phần mềm như cập nhật bản vá (patch) cho Oracle Grid Infrastructure hoặc database của Oracle; hoặc nếu một database instance cần phải được chuyển đến một máy chủ khác để tăng năng lực hoặc cân bằng khối lượng công việc.

Oracle RAC là giải pháp MAA tốt nhất cho HA máy chủ.

Không có thay đổi về mức độ bảo vệ dữ liệu so với những gì được cung cấp bởi kiến trúc Bronze. Tất cả các cải tiến mà kiến trúc Silver cung cấp so với kiến trúc Bronze đều có liên quan đến RTO cho sự cố ngừng máy chủ và cho một số loại bảo trì có kế hoạch được thực hiện thường xuyên.

Bảng tóm tắt RTO và RPO của kiến trúc Silver.

Gold – Kiến trúc HA toàn diện và phục hồi thảm họa

Kiến trúc Gold xây dựng trên kiến trúc Silver bằng cách sử dụng công nghệ đồng bộ (replication) cơ sở dữ liệu để cung cấp mức độ bảo vệ dữ liệu và HA cao hơn nhiều đối với tất cả các loại sự cố, ​​bao gồm hỏng dữ liệu, lỗi cơ sở dữ liệu và hỏng site. Sự tồn tại của một bản sao được đồng bộ cũng cung cấp những lợi thế đáng kể về giảm downtime trong thời gian bảo trì có kế hoạch. RTO được giảm xuống giây hoặc phút cùng với RPO đi kèm bằng 0 hoặc gần bằng 0 tùy thuộc vào cấu hình.

Tổng quan về kiến trúc Gold được hiển thị trong hình dưới đây:

Kiến trúc Gold  sử dụng Oracle RAC làm tiêu chuẩn cho tính sẵn sàng cao của máy chủ, thay vì tùy chọn Oracle RAC One Node có trong kiến trúc Silver.

Oracle Active Data Guard – Bảo vệ và sẵn sàng dữ liệu theo thời gian thực

Oracle Active Data Guard duy trì một hoặc nhiều bản sao vật lý được đồng bộ hóa (cơ sở dữ liệu dự phòng) tại một địa điểm ở xa. Các khả năng mà Oracle Active Data Guard bổ sung vào kiến trúc Gold bao gồm:

  • Khả năng mất dữ liệu bằng không hoặc gần bằng không. Oracle Active Data Guard thực hiện đồng bộ theo thời gian thực các thay đổi từ cơ sở dữ liệu chính sang cơ sở dữ liệu dự phòng. Các thay đổi được truyền trực tiếp từ log buffer của cơ sở dữ liệu chính để giảm thiểu sự trì hoãn lan truyền, và để cách ly hoàn toàn tiến trình đồng bộ với các hư hỏng có thể xảy ra trong I/O stack của cơ sở dữ liệu chính.

Có thể chọn truyền đồng bộ (SYNC - synchronous transport) với tính sẵn sàng tối đa, đảm bảo không mất dữ liệu. Ngoài ra, có thể chọn truyền không đồng bộ (ASYNC - asynchronous transport) và hiệu năng tối đa cho việc mất dữ liệu gần như bằng không. Hiệu năng tối đa có thể đạt được mất dữ liệu ở mức dưới giây khi được cung cấp đủ băng thông mạng để chứa dữ liệu truyền đi.

  • Một cơ sở dữ liệu dự phòng dùng Oracle Active Data Guard có thể nhanh chóng đưa vào hoạt động và khôi phục dịch vụ nếu có sự cố ảnh hưởng đến sự sẵn sàng của cơ sở dữ liệu chính. Cơ sở dữ liệu Oracle luôn chạy, không cần phải khởi động lại để chuyển sang vai trò chính, và sự chuyển đổi vai trò có thể hoàn thành nhanh chóng.
  • Sự đồng bộ là trong suốt (transparent). Oracle Active Data Guard thực hiện hoàn chỉnh, một chiều sự đồng bộ vật lý của cơ sở dữ liệu Oracle với các đặc điểm sau: hiệu năng cao, đơn giản để quản lý, hỗ trợ cho tất cả các loại dữ liệu, ứng dụng và khối lượng công việc như DML, DDL, OLTP, xử lý hàng loạt, kho dữ liệu và cơ sở dữ liệu hợp nhất. Oracle Active Data Guard được tích hợp chặt chẽ với các công nghệ Oracle RAC, ASM, RMAN và Oracle Flashback.
  • Cơ sở dữ liệu dự phòng sử dụng Oracle Active Data Guard có thể được mở ở chế độ chỉ đọc trong khi đồng bộ đang hoạt động. Có thể thực hiện các truy vấn đặc biệt, và báo cáo trên cơ sở dữ liệu dự phòng, giảm tải cho cơ sở dữ liệu chính.
  • Giảm tải dự phòng. Hệ thống chính và dự phòng được đồng bộ vật lý chính xác, cho phép sao lưu trên cơ sở dữ liệu dự phòng, giảm tải cho cơ sở dữ liệu chính. Một sao lưu được thực hiện tại hệ thống dự phòng có thể được sử dụng để khôi phục cơ sở dữ liệu chính hoặc cơ sở dữ liệu dự phòng.
  • Giảm downtime cho bảo trì có kế hoạch. Cơ sở dữ liệu dự phòng có thể được sử dụng để nâng cấp lên bản vá Oracle mới hoặc phiên bản mới của Oracle bằng cách thực hiện nâng cấp ở cơ sở dữ liệu dự phòng trước, rồi mới chuyển cơ sở dữ liệu chính lên phiên bản mới.
  • Một cơ sở dữ liệu dự phòng dùng Oracle Active Data Guard liên tục thực hiện kiểm tra để đảm bảo rằng hư hỏng không được truyền đi từ cơ sở dữ liệu nguồn. Phát hiện các hư hỏng trong block có thể xảy ra độc lập ở một trong hai cơ sở dữ liệu chính hoặc dự phòng.
  • Tự động sửa chữa block. Oracle Active Data Guard tự động sửa chữa ở mức block các hư hỏng, các lỗi này có thể xảy ra độc lập tại cơ sở dữ liệu chính hoặc dự phòng. Oracle Active Data Guard thực hiện điều này bằng cách lấy một bản sao tốt của block từ cơ sở dữ liệu còn lại, mà không yêu cầu thay đổi ở ứng dụng và việc sửa chữa là trong suốt với người dùng.

Bảng tóm tắt RTO và RPO của kiến trúc Gold:

Kiến trúc Platinum 

Kiến trúc Platinum được xây dựng dựa trên kiến trúc Gold để cung cấp mức cao nhất về sự sẵn sàng và bảo vệ dữ liệu cho các ứng dụng tuyệt đối không chấp nhận (zero tolerance) sự cố hoặc mất dữ liệu. Kiến trúc Platinum giới thiệu một số khả năng mới của cơ sở dữ liệu Oracle 12. Nó cho phép không có downtime trong việc bảo trì, di chuyển và nâng cấp ứng dụng. Nó đảm bảo không mất dữ liệu trong trường hợp cơ sở dữ liệu chính bị hư hỏng vì bất kỳ lý do gì, bất kể khoảng cách giữa các site. Kiến trúc Platinum tự động quản lý sự sẵn sàng của dịch vụ cơ sở dữ liệu và cân bằng tải trên các cơ sở dữ liệu đồng bộ ở nhiều site.

Tổng quan về kiến trúc Platinum được cung cấp trong hình dưới:

Một số ứng dụng sẽ yêu cầu một mức độ sửa đổi để đạt được ứng dụng không ngừng hoạt động bằng cách sử dụng các khả năng được cung cấp bởi kiến trúc Platinum.

Kiến trúc Platinum cung cấp sự bảo vệ đối với các hư hỏng tương tự như kiến trúc Gold. Các sự khác biệt giữa kiến trúc Platinum và kiến trúc Gold là thời gian phục hồi (RTO) và khả năng mất dữ liệu (RPO) đối với các ứng dụng.

Tại EVNCPC, các cơ sở dữ liệu Oracle đang hoạt động đều được sao lưu hàng ngày. Cơ sở dữ liệu của các ứng dụng quan trọng như ERP, MDMS, CMIS đã được cấu hình để đồng bộ qua máy chủ khác bằng giải pháp Oracle Active Data Guard. EVNCPC-ITC đang lần lượt thực hiện HA với các ứng dụng tại EVNCPC.

Hoàng Xuân Dũng

09:26 - 28/12/2019  |  108 lượt xem

Chia sẻ Chia sẻ

TIN BÀI ĐỌC NHIỀU