A) Giới thiệu
Tham gia kênh Telegram của AnonyViet 👉 Link 👈 |
Hyper-V Replica là một tính năng hoàn toàn mới trên Windows Server 2012. Nó là giải pháp “Disaster Recovery”. Gíup nhanh chóng khắc phục và phục hồi khi xảy ra sự cố với các Virtual Machine trong Hyper-V.
Một số IT Pro thường nhầm lẫn giữa Hyper-V Replica và Hyper-V Live Migration. Hyper-V Replica cho phép tạo một bản sao các máy ảo từ bên Primary Site sang bên Replica Site, có thể phục hồi trong trường hợp khẩn cấp (Disaster). Còn Hyper-V Live Migration chỉ đơn giản là move (di chuyển) máy ảo từ Hyper-V server này sang Hyper-V server khác.
Máy ảo sẽ chạy ở Primary Site và Replica Site là nơi chứa bản sao dự phòng của máy ảo bên Primary Site. Việc replicate các máy ảo có thể là đường LAN/WAN. Hyper-V Replica tương thích hoàn toàn với bất kỳ Server, network hoặc storage của các hãng khác nhau.
B) Lợi ích của Hyper-V Replica
- Cho phép start máy ảo (manually) bên Replica Site ngay lập tức để phục vụ, nếu bên primary site có sự cố (mất điện, cháy, server chết đột ngột), giúp failover (dự phòng).
- Hỗ trợ môi trường Cluter hoặc Non-Cluster.
- Minimal downtime : thời gian downtime rất thấp khi bạn chạy máy ảo.
- No Active Directory Domain Membership : không cần phải là thành viên Domain mới dùng được tính năng này, Workgroup cũng hỗ trợ.
- Recovery Options : cho phép cấu hình và restore lại từng thời điểm, nhờ vào Additional Recovery Points.
- Hyper-V Replica and Cloud : hỗ trợ replicate lên hạ tầng IaaS (Infrastructure as a Service) trên cloud để dự phòng.
- Data Compression : nén dữ liệu trước replicate.
C) Yêu cầu triển khai
- Các máy Hyper-V phải là Windows Server 2012.
- Hardware phải hỗ trợ Hyper-V.
- Primary và Replica phải liên lạc được với nhau.
- Cấu hình firewall cho phép replicate giữa Primary và Replica.
D) Kiến trúc Hyper-V Replica
Trong Windows Server 2012, nhân Hypervisor (VMMS.exe) được tích hợp thêm thành phần Replica (Components). Và gọi là module “Replica Engine”, trong module này có rất nhiều thành phần, nhưng có 4 thành phần chính giúp hình thành nên Hyper-V Replica. Bao gồm : Replication Manager, Replication Tracker, Network Module, Change Tracking”.
1. Replication Manger (RM)
Là thành phần quan trọng nhất, chịu trách nhiệm quản lý và thực thi quá trình replication giữa Hyper-V Primary Server và Hyper-V Replica Server. Thực hiện các chức năng cần thiết để đảm bảo việc replicate một cách hiệu quả. Gồm 4 hành động chính :
- Initial Replication Handler: giúp kích hoạt quá trình replication và sau khi thiết lập sẽ quản lý việc gửi dữ liệu replicate của máy ảo đến Hyper-V Replica Server.
- Delta Replication Handler: Sau khi tiến trình initial replication được thực hiện. Tiếp theo, Delta Replication sẽ kiểm tra các gói dữ liệu replicate và chắc chắn chúng được đẩy đủ và không thiếu gói dữ liệu nào trước khi gửi đi.
- Failover Handler: cho phép nhận các gói dữ liệu replicate từ Hyper-V Primary Server hoặc từ Hyper-V Replica Server.
- Failback Handler
- Test Failover Handler
Ngoài ra còn có các hành động khác như : giám sát trạng thái của các máy ảo, thực hiện nén, mã hóa và đảm nhận các chức năng Standard-Replica, Application-Consistent Replica. Giữ cho việc replicate được thực hiện đầy đủ đúng theo lịch trình, báo cáo về thông tin của lần replicate cuối cùng.
2. Change Tracking
Sau khi các máy ảo bên Primary Server được kích hoạt tính năng Replication. Lúc này Change Tracking sẽ chịu trách nhiệm track (theo dõi sát) các thay đổi của file VHD của từng máy ảo. Khi phát hiện có thay đổi nào, Change Tracking lập tức forward thông tin đến báo cho Replication Manager biết. Replication Manager sẽ đẩy xuống hành động Delta Replication Handler để thực thi chức năng Standard-Replica hoặc Application-Consistent Replica. Những thông tin tracking này được Replication manager lưu trong cùng thư mục chứa máy ảo và dưới dạng là .HRL. Khi quá trình replication xảy ra, hệ thống sẽ gửi đi các file .HRL này.
3. Replication Tracker
Sau khi các file .HRL đã được Replication Manager tạo ra đầy đủ và sẵn sàng để gửi đi. Lúc này RM sẽ thông báo cho Replication Tracker (RT), để RT thực hiện nhiệm vụ gửi các file này đến Replica Server. Mặc định là 5 phút và không thể thay đổi thời gian này. RT chỉ chịu trách nhiệm gửi các file .HRL.
4. Network Module
Là module được đề cập sau cùng, là kết nối mạng giữa Primary Site và Replica Site, bao gồm các service :
- Data Compression
- Data Encryption
- Giao thức giao tiếp: HTTP, HTTPS
- Các thành phần hỗ trợ Hyper-V Replica Broker.
2 bên Site sẽ có 2 thành phần: HTTP Client và HTTP Listener. Cả 2 thành phần này hoạt động trên giao thức HTTP hoặc HTTPS. HTTP Client dùng để gửi các gói HRL file và HTTP Listener sẽ lắng nghe hành động Initial Replication và Delta Replication.
Trước khi các file HRL được Primary Site gửi đi đến Replica Site, Replica Site phải được chứng thực thành công với Primary Site (việc chứng thực được thực hiện dựa trên giao thức HTTP hoặc HTTPS). Việc chứng thực được thực hiện trong lúc bạn cấu hình replication, và các chu kỳ replicate tiếp theo sẽ không cần chứng thực lại.
Sau khi chứng thực thành công, lúc này Replica Site mới thiết lập kết nối và nhận các file .HRL mà Primary Site gửi đến. Sau khi nhận các file .HRL, Replica Site sẽ gửi ACK lại để xác nhận cho Primary Site biết nó đã nhận được và bắt đầu đưa vào xử lý.
E) Quá trình hoạt động của Hyper-V Replica
1) Enable Replication: Trước khi thực hiện việc Replicate máy ảo giữa 2 Site (Primary và Replica) thì phải enable tính năng Replication trong Hyper-V Server bên Replica Site. Lúc này cho phép bạn chọn cơ chế truyền data như dùng Kerberos (HTTP) hoặc Certificate-based authentication (HTTPS), đồng thời bạn phải enable port Hyper-V Replica trong Firewall
2) Initial Replication Mode: Sau khi enable thì hệ thống sẽ bắt đầu thiết lập bước đầu tiên là sẽ copy toàn bộ storage của máy ảo (Current Configuration, Snapshots, VHD, Smart Paging) sang bên Hyper-V Server của Replica Site. Có 3 loại :
- Use network replication: transfer storage máy ảo qua đường Network (LAN/WAN)
- Use a backup copy on the Replica Server: nếu bạn có dùng tool backup các máy ảo thường xuyên, thì bạn chỉ cần lấy bản backup của máy ảo đem qua cho Replica Server
- Use External media: xuất ra external devices (USB, SAN, Storage), sau đó copy từ External devices vào Replica Server
3) After Initial Replicate: sau khi đã hoàn thành bước 2, tại thời điểm này bạn đã có một bản sao (copy) 1:1 giữa máy ảo Primary Site và máy ảo Replica Site. Điều tiếp theo Hyper-V Replica sẽ làm là duy trì việc cập nhật những thay đổi mà user đang sử dụng tính từ thời điểm này trở đi, chúng được gọi là log file. Bằng cách lập lịch Replicate (Schedule), bạn có thể cho phép (5 phút, 15 phút hoặc 30s) replicate một lần. Dữ liệu log file này được compression (nén) trước khi truyền đi và có đuôi là .hrl
Hyper-V Replica trong Windows Server 2012 R2 khác với Windows Server 2012 là hỗ trợ thêm option Replicate với thời gian 30s và 15 phút, ngoài ra còn có tính năng Replicate Chain, có thể hiểu HOST A (Primary Site) replicate máy ảo sang HOST B (Replica Site), HOST B tiếp tục replicate sang máy ảo HOST C (IaaS, Replica Site 2) mà tôi hay gọi là Replicate mắt xích.
Lab Hyper-V Replica Non-Cluster with Domain Membership
1) Mô hình bao gồm :
- Máy Hyper-V Primary Site: có sẵn máy ảo VM1 và Storage của máy ảo này nằm ở File-Server 172.1.1.1/24.
- Máy Hyper-V Replica Site: sẽ dùng để chứa máy ảo VM1 copy được Hyper-V Primary replicate sang và Storage của nó nằm trong máy Hyper-V Replica Site này luôn.
- Máy AD chính là File-Server.
- Môi trường ở đây sử dụng Kerberos để replicate dữ liệu và nằm trong Domain.
2) Tiến hành:
- Cấu hình Hyper-V2 (Replica Site) enable tính năng Replication
- Chọn Kerberos và chọn đường dẫn lưu Storage máy ảo trong Hyper-V2 server ở phần“Allow Replication From Any Authenticated Server”
- Nhấn OK, và lúc này hệ thống sẽ thông báo cho bạn nên enable rule 2 port Hyper-V Replica HTTP và Hyper-V Replica HTTPS trong Firewall Inbound của Hyper-V2.
- Vào Windows Firewall Advanced Security và enable 2 port này lên
- Lúc này bạn tiến hành cấu hình Replication : từ máy Hyper-V1 Primary Site, chuột phải máy ảo và chọn Enable Replication….
- Chọn server phía Replica Site, là Hyper-V2
- Chọn giao thức truyền đồng thời stick vào ô nén data bên dưới.
- Chọn VHD, có thể máy ảo có nhiều VHD, bạn nên chọn VHD chứa ổ đĩa hệ thống.
- Chọn chu kỳ thời gian Hyper-V1 Primary site replicate sang cho Hyper-V2 Replica Site.
Mặc định Hyper-V Replica cho phép tối đa 15 bản recovery point (snapshot), có 2 cơ chế tạo một Recovery point :
- Maintain only the latest recovery point : chỉ tạo duy nhất một recovery point tính từ thời điểm này.
- Create additional hourly recovery points :
+ Coverage provided by additional recovery points (in hours) : là cơ chế backup dạng “Standard Replica”. Thực hiện Full backup theo chu kỳ.
+ VSS (Volume Shadow Copies) : là cơ chế backup bổ sung, dạng “Application-Consistent”, dùng application VSS để sao lưu tùy theo thời gian ta thiết lập.
- Chọn cơ chế của bước “Initial Replication Method”, ở đây tôi cho replicate bằng đường Network (LAN/WAN) và replicate ngay lập tức
- Cấu hình network cho máy ảo copy bên Replica Site, chọn Settings và chọn card mạng tương ứng bên Replica Site
- Sau khi đã hoàn thành cấu hình, lúc này Hyper-V1 Primary sẽ tiến hành thiết lập Initial Replication (chép tất cả Storage qua bên Hyper-V2 Replica)
- Sau khi đã hoàn thành, bạn có thể xem kết quả của việc Replicate bằng “View Replicate Health”
- Tiếp theo là bước “After Initial Replication” : bước này cứ theo chu kỳ bao nhiêu phút là replicate một lần (tùy theo cấu hình 30s, 5 phút, 15 phút)
Thứ nhất, Bạn không nên nhầm lẫn giữa triển khai Failover Cluster và Hyper-V Replica. Failover Cluster giúp cho hệ thống luôn ở trong trạng thái sẵn sàng (High Availability) bất cứ lúc nào, còn Hyper-V Replica chỉ là một cơ chế khắc phục sự cố khi xảy ra (Disaster Recovery) và chỉ là tạm thời. Người quản trị cứ nhầm lẫn là Hyper-V Replica cũng giống Failover Clustering, thế nên họ ưu tiên triển khai Hyper-V Replica hơn. Trong thực tế, chúng ta nên triển khai Failover Clustering.
Như tôi đề cập ở trên, Hyper-V Replica thiết kế ra chỉ giải quyết vấn đề “Disaster Recovery” (khắc phục sự cố, thảm họa), cho phép phục hồi máy ảo một cách nhanh chóng. Nếu các máy ảo Primary Site bị chết, thì các máy ảo copy bên Replica Site sẽ enable lên và chạy (việc này bạn phải thực hiện bằng tay), giúp phục hồi hệ thống nhanh nhất để không làm gián đoạn . Giả sử trong trường hợp Replica Site cũng chết, thì coi như không thể phục hồi và doanh nghiệp sẽ bị downtime liên tục. Kết luận, Hyper-V Replica chỉ phục hồi tạm thời và về lâu dài thì triển khai giải pháp Failover Cluster vẫn hay hơn.
Thứ hai, rất nhiều người quản trị nghĩ rằng Hyper-V Replica thực chất là một phương pháp backup (do nó ánh xạ 1:1) và bỏ quên các giải pháp backup máy ảo theo kiểu truyền thống trong Hyper-V. Đó thực sự là sai lầm.
Sau đây là bảng so sánh giữa Failover Cluster, Hyper-V Replica, và phương pháp Backup.
Cluster | Hyper-V Replica | Backup | |
Thay thế cho Cluster | N/A | No | No |
Thay thế cho Hyper-V Replica | No | N/A | Yes |
Thay thế cho phương pháp backup | No | No | N/A |
Như bạn thấy, phương pháp backup có thể thay thế cho Hyper-V replica, nhưng nếu xét ngược lại thì hoàn toàn không thể. Hyper-V Replica chỉ cho phép tối đa 15 bản snapshot cho cả 2 cơ chế “Standard Replica” hoặc “Application-Consistent”. Nếu sếp bạn yêu cầu phải giữ các bản sao trong vòng một tháng, điều đó thực sự khó khăn. Còn nữa, Hyper-V Replica không có đầy đủ các thuộc tính sao lưu ở dạng nâng cao hơn là các phương pháp backup.
Do đó cần phải có một phương pháp backup truyền thống. Ví dụ như sản phẩm Altaro Hyper-V Backup, cho phép bạn backup và tạo ra vô số bản snapshot cho từng thời điểm. Còn đối với Và an toàn hơn hết trong trường hợp cả 2 Hyper-V Primary Site và Hyper-V Replica đều chết. Thì backup bằng truyền thống (off-site) sẽ còn lưu giữ lại các máy ảo, và việc bạn cần làm là chỉ cần tạo ra một Hyper-V server mới sau đó import các máy ảo này vào.
Hyper-V Replica cho phép bạn giả lập môi trường và test thử khả năng chịu lỗi trước khi có sự cố xảy ra. Giúp bạn an tâm hơn sau khi cấu hình.
Tiếp theo, sau khi đã cấu hình và replicate qua Replica site. Nếu xảy ra sự cố bên Primary site, làm thế nào chúng ta enable các máy ảo bên Replicate Site (thuật ngữ enable máy ảo bên Replicate Site gọi là “Failover”) . Có 3 loại như sau :
- Test Failover
- Planned Failover
- Unplanned Failover
1) Test Failover :
Cho phép bạn test thử máy ảo bên Replica Site (còn máy ảo đang chạy thực sự là bên Primary Site) xem có bị lỗi hay trục trặc gì không. Khi chọn vào Test Failover như hình dưới, lúc này hệ thống sẽ yêu cầu bạn chọn thời điểm snapshot bạn muốn, sau đó nó sẽ sinh ra một máy ảo có tên “Name – Test Failover”. Và bạn có thể Start lên chạy thử.
- Dừng việc test Failover
2) Planned Failover
Planned Failover phải cấu hình bằng tay, thực hiện trên Primary Site chỉ khi người quản trị muốn bảo trì (maintance) trên Primary Site và bắt buộc phải cho các máy ảo bên Replica Site phục vụ người dùng. Sau khi bảo trì xong thì enable lại Primary Site phục vụ người dùng.
- Nếu bạn check vào ô “Reverse the replication direction after failover” có nghĩa là nếu bảo trì xong Primary Site và lúc này cho máy ảo bên Primary Site trở về hoạt động. Thì cần replicate ngược lại những dữ liệu trong quá trình sử dụng các máy ảo bên Replica Site. (Lưu ý : Bạn phải enable tính năng replication bên máy Hyper-V Primary Site trước khi thực hiện điều này)
- Lúc này, người dùng tạm thời sử dụng máy ảo bên Replica Site
- Đương nhiên, bạn không được phép start máy ảo bên Hyper-V Primary Site
3) Unplanned Failover
Unplanned Failover chỉ thực hiện khi Primary Site chết đột ngột, lúc này bạn phải qua Hyper-V Server bên Replica Site để thực hiện Unplanned Failover, phục vụ cho người dùng.
- Chọn thời điểm phục hồi
- Sau khi phục hồi Primary Site thì lúc này có thể chọn Reverse Replication để replicate dữ liệu mới nhất qua cho Primary Site, và cancel việc unplanned failover