Gần đây, tôi đã gặp một số câu hỏi về địa chỉ IP ảo (VIP) cho Oracle RAC. Tôi hy vọng bài đăng trên blog này có thể giúp làm sáng tỏ VIP là gì, cách chúng hoạt động và tại sao Oracle RAC lại tận dụng chúng. Trước khi đi xa hơn, tôi nên giải thích rằng tôi không phải là chuyên gia về Mạng. Trên thực tế, mạng máy tính có lẽ là điểm yếu nhất của tôi trong số mọi thứ diễn ra trong các cửa hàng CNTT. Vì vậy, đừng châm chọc tôi nếu tôi không nhận được nội dung mạng hoàn toàn, chính xác 100%. Tôi sẽ giải thích điều này theo những thuật ngữ đã giúp tôi tốt trong sự nghiệp DBA của mình, đặc biệt là khi làm việc với Oracle RAC.
Hầu hết mọi người đều quen thuộc với việc kết nối bất kỳ ứng dụng nào, SQL * Plus hoặc các ứng dụng khác, với một máy chủ cơ sở dữ liệu đơn lẻ. Cuối cùng, yêu cầu kết nối của họ được gửi đến một địa chỉ IP cụ thể. Trong sơ đồ của chúng tôi bên dưới, người dùng cuối muốn kết nối với 192.168.1.1 để truy cập cơ sở dữ liệu. Yêu cầu mạng được chuyển đến bộ chuyển mạng mà máy chủ cơ sở dữ liệu đó được kết nối. Công tắc này chuyển yêu cầu đến máy chủ có địa chỉ IP được yêu cầu.
Hầu hết các DBA Oracle không gặp khó khăn khi hiểu khái niệm này. Cuộc sống sẽ phức tạp hơn một chút khi RAC được triển khai vì có nhiều máy (nút) trong cụm. Trong sơ đồ tiếp theo, chúng ta có một cụm RAC hai nút, mỗi nút có một địa chỉ IP khác nhau.
Người dùng cuối không quan tâm phiên của mình được kết nối với nút nào. Người dùng cuối chỉ muốn truy cập vào cụm. Một trong hai nút sẽ đủ. Cấu hình TNSNAMES.ORA của người dùng cuối có thể yêu cầu thử 192.168.1.1 trước và nếu cách đó không hiệu quả, hãy thử 192.168.1.2. Theo cách này, Oracle RAC đang cung cấp giải pháp Tính sẵn sàng cao.
Bây giờ chúng ta đi đến toàn bộ lý do để sử dụng địa chỉ IP ảo. Điều gì sẽ xảy ra nếu người dùng cuối đang cố gắng truy cập vào nút đầu tiên (192.168.1.1) nhưng nó không khả dụng? Nút bị hỏng vì một số lý do. Người dùng cuối có thể dễ dàng kết nối với nút 192.168.1.2. Tuy nhiên, do cách mạng TCP / IP hoạt động, có thể mất tới mười phút để kết nối mạng tới 192.168.1.1 hết thời gian chờ trước khi truy cập vào 192.168.1.2. Thời gian chờ TCP / IP kéo dài là lý do duy nhất để Oracle RAC tận dụng VIP. Chúng tôi chỉ muốn giảm thời gian truy cập vào một nút khác trong cụm nếu nút yêu cầu của chúng tôi không khả dụng.
Một IP truyền thống thường được liên kết với card mạng trên máy chủ. Quản trị viên CNTT sẽ định cấu hình máy chủ để luôn sử dụng địa chỉ IP cụ thể đó và không có thiết bị nào khác trên mạng sẽ sử dụng cùng một IP. Lưu ý:Tôi đang cố gắng làm cho việc này trở nên đơn giản ở đây và tránh DHCP cũng như đăng ký cho thuê đối với những người đã quen thuộc với chủ đề này.
Địa chỉ IP ảo không bị ràng buộc với card mạng. Nó thậm chí không được xác định trong hệ điều hành. VIP không phải là một địa chỉ IP thực, tương tự như cách một Máy ảo không phải là một hệ thống thực. Nó chỉ có vẻ là thật đối với những người sử dụng nó. Vì vậy, hãy xem xét hai cụm nút của chúng tôi, nhưng lần này với VIP được xác định cho chúng.
Máy chủ của chúng tôi vẫn có địa chỉ IP thông thường, lần lượt là 192.168.1.1 và 192.168.1.2 cho NODE1 và NODE2. Hai nút này cũng có các VIP được liên kết với chúng. NODE1-VIP và NODE2-VIP lần lượt được ký hiệu là địa chỉ IP 192.168.1.11 và 192.168.1.12. Mỗi nút trong cụm RAC có địa chỉ IP thông thường và một VIP. Cũng có thể hữu ích khi biết rằng tên máy chủ và tên VIP thường được xác định trong DNS để chúng tôi không phải nhớ địa chỉ IP cụ thể.
Lưu ý rằng người dùng cuối hiện đang yêu cầu truy cập một trong các VIP. Những người duy nhất nên sử dụng các địa chỉ IP truyền thống này là quản trị viên CNTT, những người cần thực hiện công việc trên máy chủ. Người dùng cuối và bất kỳ và tất cả các ứng dụng phải kết nối với VIP.
Hãy nhớ rằng tôi đã nói trước đó rằng VIP thậm chí không được xác định trong Hệ điều hành? Nếu đúng như vậy, thì làm sao mọi thứ biết rằng VIP được chỉ định cho nút đó? Tất cả điều này được xử lý bởi Cơ sở hạ tầng lưới (GI). Khi GI được cài đặt, một trong các màn hình Oracle Universal Installer (OUI) sẽ hỏi tên của các nút trong cụm (tên máy chủ) cùng với tên máy chủ ảo. Ảnh chụp màn hình bên dưới cho thấy cài đặt GI 11g trông như thế nào khi yêu cầu thông tin đó (ảnh chụp màn hình từ tài liệu Oracle).
Tên máy chủ công cộng được định cấu hình trong hệ điều hành bởi quản trị viên. IP ảo không được định cấu hình trong HĐH nhưng Cơ sở hạ tầng lưới biết về nó. Để hiểu cách hoạt động của điều này, chúng ta cần tìm hiểu kỹ một chút và hiểu về Giao thức phân giải địa chỉ (ARP).
Khi một máy chủ được khởi động và các thành phần mạng của nó được khởi động, Giao thức phân giải địa chỉ là cơ chế ra lệnh cho bộ chuyển mạch phía trước máy chủ định tuyến tất cả lưu lượng truy cập cho địa chỉ IP của nó đến địa chỉ MAC của card mạng của nó. Hệ điều hành, thông qua ARP, yêu cầu công tắc chuyển đến NODE1 cho các yêu cầu 192.168.1.1.
Khi Cơ sở hạ tầng lưới khởi động, một trong những nhiệm vụ khởi động của nó là thực hiện điều gì đó tương tự. GI, thông qua ARP, yêu cầu công tắc chuyển đến NODE1 cho tất cả các yêu cầu NODE1-VIP (192.168.1.11). Cho đến khi GI bắt đầu VIP thì địa chỉ VIP đó không thể định tuyến được.
Bây giờ là phần kỳ diệu… khi NODE1 gặp sự cố, GI trên một nút khác trong cụm sẽ phát hiện sự cố ngừng hoạt động. GI sau đó sẽ thực hiện một hoạt động ARP mới thông báo cho công tắc chuyển tuyến VIP đến một nút khác trong cụm. Vì VIP là ảo nên nó có thể được định tuyến lại một cách nhanh chóng. Trong sơ đồ bên dưới, NODE1 đã bị lỗi. IP truyền thống của nó cũng không còn nữa. GI đã ARP lại VIP vào nút còn lại trong cụm.
Việc ARP lại VIP có thể được thực hiện trong vài giây. Người dùng cuối có thể gặp phải sự tạm dừng ngắn trong giao tiếp mạng của họ giữa ứng dụng và phiên bản cơ sở dữ liệu, nhưng điều này ít hơn nhiều so với việc chúng tôi chờ đợi hết thời gian chờ TCP / IP.
Oracle 11gR2 đã giới thiệu Trình nghe SCAN. Một cụm Oracle RAC có thể có nhiều nhất ba Trình nghe SCAN. Tên SCAN vẫn có trong DNS nhưng DNS sẽ chuyển đổi vòng phân giải tên SCAN thành một trong tối đa ba địa chỉ IP khác nhau.
Trong sơ đồ bên dưới, cụm hai nút của chúng ta hiện có hai bộ nghe SCAN. Người dùng cuối đưa ra yêu cầu kết nối tới my-scan.acme.com và DNS phân giải tên thành 192.168.1.21 hoặc 192.168.1.22.
Như được hiển thị ở trên, hai SCAN VIP được gán cho các nút khác nhau trong cụm. Nếu NODE1 gặp sự cố, Cơ sở hạ tầng lưới sẽ di dời cả NODE1-VIP và MY-SCAN (192.168.1.21) đến một nút còn tồn tại trong cụm, thông qua cùng một hoạt động ARP mà chúng ta đã nói trước đó. Các trình nghe SCAN mới hơn và các VIP của họ được xử lý giống như các VIP kiểu cũ.
Tóm lại, địa chỉ IP ảo được sử dụng để cung cấp chuyển đổi dự phòng nhanh hơn các giao tiếp mạng giữa ứng dụng và các nút trong cụm. Hệ điều hành sử dụng Giao thức phân giải địa chỉ để cho bộ chuyển mạng biết để định tuyến các kết nối đến máy chủ. Cơ sở hạ tầng lưới sử dụng các thao tác ARP giống nhau để cho bộ chuyển mạng biết nơi định tuyến lưu lượng truy cập cho VIP và SCAN VIP. Nếu một nút bị hỏng, GI sẽ ARP lại VIP và QUÉT VIP sang một nút khác trong cụm.