Hybrid: SQL AlwaysOn Availability Group

Giải pháp AlwaysOn Availability Group luôn cung cấp cho một nhóm database của bạn tính sẵn sàng cao bằng cách thêm vào 1 bản sao chép. Các bản sao này cho phép tự động failover khi bản chính gặp lỗi. Ngoài ra chúng cũng được dùng để giảm tải khối lượng công việc lẫn nhau.

Bạn có thể mở rộng Availability Group của mình lên Azure bằng cách thêm một hoặc nhiều VMs chạy SQL Server trên Azure và thêm chúng vào Availability Group dưới on-premises của bạn. Việc làm trên sẽ giải quyết được vấn đề disaster recovery cũng như tăng cường giải pháp HADR cho các nhóm database của bạn.

Dưới đây sẽ là mô hình để mô phỏng quá trình hoạt động của việc xây dựng giải pháp HADR cho môi trường hybrid.

 photo ll_zpstafgx3pw.png

 photo 1_zpslpiowikb.png

Ở đây mình sẽ bỏ qua các bước cấu hình Windows OS, AlwaysOn on-premises, Domain Controller, WSFC Cluster.

Các mục trên có khá nhiều diễn đàn và bài viết đã đề cập tới và khá rõ ràng.

I. Thiết lập VPN site-to-site giữa on-premises và Azure.

1. Truy nhập vào portal Azure: portal.azure.com

2. Trên thanh trái Menu -> chọn More services -> Virtual networks

 photo 2_zpsc6ertl9i.png

3. Chọn Add và điền vào các thông tin sử dụng.

  • Name: tên Virtual Nework
  • Address space: dãy địa chỉ IP của Virtual Network
  • Subnet name: tên Subnet
  • Subnet address range: dãy địa chỉ IP sẽ sử dụng của Virtual Network.
  • Resource group: nơi để chứa các items trên Azure.

 photo 3_zpsoqrsl1ag.png

4. Sau khi tạo Virtual Network -> chọn Virtual Network mình đã tạo -> Subnets -> Gateway subnet -> để mặc định sau đó OK.

 photo 4_zpsqbsrsoem.png

5. Chọn More services -> Virtual network gateways 

 photo 5_zpstngdlkdj.png

6. Chọn Add và điền các thông tin theo yêu cầu. Quá trình tạo Virtual network gateways và xin cấp IP public có thể tốn từ 30-45p.

  • Name: tên Virtual network gateways.
  • Virtual Network: chọn tên Virtual Network lúc nãy đã tạo.
  • Public IP address: chọn Create New và đặt tên cho IP public của bạn. Sau đó Azure sẽ tiến hành cấp bạn 1 IP public.
  • Resource group: chọn Resource group lúc nãy chứa các item ở trên.

 photo 6_zpsewwyhjve.png

7. Sau khi quá trình tạo Virtual network gateway hoàn tất. Tiến hành tạo Local network gateways.

 photo 7_zpsod4ktfj3.png

8. Chọn Add và điền các thông tin như yêu cầu -> Create

  • Name: tên local network gateway.
  • IP address: IP public của RRAS.
  • Address space: dãy địa chỉ private mà on-premise đang sử dụng.
  • Resource group: chọn resource chứa các item như trên.

 photo 8_zpsjreduelb.png

9. Tiến hành tạo Connections.

 photo 9_zpstirnf2ms.png

10. Chọn các thông tin như hình

  • Connection type: kiểu kết nối VPN
  • Resource group: chọn resource group chứa các item trên.

 photo 10_zpsog9txjkt.png

11. Nhập các thông tin yêu cầu

  • Virtual network gateway: tên Virtual network gateway lúc nãy đã tạo.
  • Local network gateway: tên Local network gateway lúc nãy đã tạo.
  • Connection name: tên Connection.
  • Shared key (PSK): nhập dãy ký tự để làm key sau này xác thực với RRAS.

 photo 11_zpsgxbqlpsr.png

II. Cấu hình RRAS

1. Cài đặt feature Routing and Remote Access gồm 2 role:

  • Direct Access and VPN
  • Routing

Mở feature Routing and Remote Access chọn Configure and Enable Routing and Remote access.

 photo 12_zps0kwoob1c.png

2. Chọn Secure connection between two private network.

 photo 1212_zpsgmqjwuvr.png

3. Chọn Yes

 photo 1212312_zps6l5rn49j.png

4. Chọn Automatically

 photo 43434_zpsq2uoh6wl.png

5. Mở Routing and Remote Access -> New Demmand – dial Interface.

 photo 43434444_zps5qrnt9fa.png

6. Nhập tên Interface.

 photo 13_zpslelyygta.png

7. Chọn Connect using virtual private networking (VPN).

 photo t_zpshedflnkv.png

8. Chọn kiểu kết nối VPN -> IKEv2

 photo qe_zpsszdqvfob.png

9. Nhập Virtual network gateway.

 photo zxcxz_zpsibh2lhlo.png

Nếu quên có thể vào Connection lúc nãy đã tạo để xem.

 photo 14_zps2hsjm2an.png

10. Chọn Route IP packets on this interface.

 photo cccc_zpsnsintn8e.png

11. Add đường route tới subnet trên Azure.

 photo zxczxcx_zpswvcwlhpj.png

12. Nhập username: Azure

 photo fghfgh_zpsvevzcp3m.png

13. Sau khi tạo thành công Interface. Chuột phải vào tên interface -> Properties -> chọn tab Security.

  • Key: nhập lại chuỗi ký tự Shared key lúc tạo Connection.

 photo aacutedasdasd_zpstj9i8u6t.png

14. Chọn tab Option.

 photo fdsfsdf_zpsz22sd3qc.png

15. Chọn OK -> chuột phải vào interface vừa cấu hình chọn Connected. Nếu có lỗi xảy ra, có thể thử lại lần nữa.

 photo nhnhnhn_zpsklmjp7nv.png

16. Add Static Routes để các máy nằm sau RRAS có thể liên lạc tới subnet Azure.

 photo bcvbcv_zpsvlvscugt.png

II. Tạo VMs trên Azure (Additional DC + SQL Server)

1. Tạo VM trên Azure

 photo 15_zpso7ayekso.png

2. Chọn Add -> Windows Servers -> chọn platforms -> Create

 photo 16_zpscdveemka.png

3. Nhập các thông tin theo yêu cầu.

  • Name: tên VM
  • VM disk type: kiểu ổ đĩa HDD hoặc SSD.
  • User name: tên tài khoản admin.

 photo 17_zpsksnxib4u.png

4. Chọn size VM.

 photo 18_zpsejd1qpw7.png

5. Nhập thông tin theo yêu cầu.

  • Storage account: để lưu trữ VM -> nếu không có, có thể Create new.
  • Virtual network: chọn virtual network đã cấu hình ở trên.
  • Subnet: chọn tên subnet đã cấu hình ở trên.
  • Public IP address: IP public để có thể remote từ phía client -> nếu không có, có thể Create new.
  • Network security group (firewall): Allow các rules cần thiết cho Additional Domain Controller.
  • Các mục ở dưới có thể để mặc định.

 photo 19_zps9fywdrj0.png

6. Chọn OK để Create VM.

7. Sau khi quá trình tạo VM hoàn tất. Remote vào VM thông qua IP public và cài đặt additional domain controller cũng như cài đặt SQL Server.

Lưu ý: SQL phải từ version 2012 enterprise trở đi, chung 1 instance và chung Driver Letter.

 photo 20_zpslytkampn.png

III. Cấu hình SQL AlwaysOn trên node  của Azure

1. Tạo VMs như trên và cấu hình cài đặt SQL Server

 photo 21_zps5xzufd9m.png

2. Tiến hành Add node SQL03 vào Failover Cluster như bình thường.

 photo 22_zps11eqvkyu.png

3. Tiến hành Add replica

 photo 23_zpstqhmepd9.png

4. Chọn Add replica…

Lưu ý: Đối với SQL Enterprise 2014, sẽ hổ trợ bạn chức năng Add Azure Replica…

Nó sẽ tạo cho bạn VMs đã cài đặt SQL và đã join domain cho bạn.

 photo 24_zpsdqvsltxr.png

5. Nhập Server name của Node trên Azure (SQL03) -> OK. Add Replica thành công.

 photo 25_zpsfipbkh7m.png

6. Quá trình Add Node vào Availability Group hoàn tất.

 photo 27_zpsjibcsxut.png

 photo 26_zps591yupqq.png

 photo 28_zps0jyey3g3.png

7. Chuột phải vào tên Listener -> Properties.

 photo 29_zpss8dc2bhr.png

8. Chọn Add -> nhập IP listener dành cho subnet trên Azure.

 photo 30_zpsx2d56kiv.png

9. Tiến hành test Failover tới Node trên Azure.

 photo 31_zpsfjsygfay.png

 photo 32_zpsivkiol6i.png

Backup SQL Cluster and VMware Servers

I. SQL Cluster

Với Azure Backup, bạn có thể đưa mọi thứ ở các máy trong Cluster lên Azure bao gồm: files, database, …

1. Backup SQL Cluster

1. Cài đặt agent cho các node trong cluster.

 photo 1_zpsgl4fbn9u.png

2. Sau khi cài đặt agent hoàn tất, tiến hành tạo các Protection group như bình thường. Ở đây Azure Backup Server sẽ detach được Computer name của Cluster, cho phép bạn backup được các thứ trong Computer này.

 photo 2_zpsvba7jwqm.png

3. Sau khi tạo Protection group, quá trình Consistency check và Replica sẽ diễn ra.

 photo 3_zpskgplhzfg.png

4. Tạo Protection group hoàn tất.

 photo 4_zpsysh8axis.png

5. Quá trình Backup lên Cloud hoàn tất.

 photo 7_zpsydirpje9.png

2. Recovery SQL Cluster

1. Chọn tab Recovery -> chọn Recovery point phù hợp cho quá trình restore.

 photo 5_zpsxtrknzrz.png

2. Tiến hành restore database DemoFCI. Quá trình restore như bình thường.

Ở đây recovery type có 2 dạng:

  • Recover về nơi cũ (Cluster cũ)
  • Recover tới một Cluster khác. Nếu chọn option này, bạn cần thêm 1 bước để xác định cluster mới bạn cần restore như hình dưới.

 photo 6_zpshczzlnux.png

3. Quá trình recovery sẽ diễn ra giống như trước.

II. VMware VMs

Microsoft Azure Backup Server tính tới hiện nay chỉ hổ trợ backup cho SQL Server. Còn các workload khác như Oracle, Sybase vẫn chưa được hổ trợ, nên để thay thế sự bất tiện đó. Ta có thể tiến hành backup cả VMs lên Azure.

Trong bài viết này, mình protect VMware VMs bằng cách disable secure communication đến VMware server. Nếu đảm bảo an toàn và bảo mật, trước khi tiến hành backup các bạn có thể create secure connection to VMware server để đảm bảo Azure Backup Server có thể connect tới VMware server.

1. Backup VMware VMs

1. Disable secure communication protocol on DPM server bằng cách tạo 1 registry key để vô hiệu hoá nó. Cách tạo như sau:

  • Copy đoạn mã sau vào file .txt.

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\VMWare]
“IgnoreCertificateValidation”=dword:00000001

  • Save nó với tên DisableSecureAuthentication.reg và lưu nó trên DPM server.
  • Double-click để tiến hành chạy nó

2. Chọn tab Management -> Manage VMware -> Add. 

  • Name: tên của crenditial.
  • Description: mô tả crenditial cho bạn dễ nhận biết.
  • User name: username account root vmware.
  • Password: password của user vmware.

 photo 1_zps7w8vqgbb.png

3. Trong tab Management -> chọn Add -> VMware Servers -> Nhập địa chỉ hoặc server name của vcenter và chọn Credential lúc nãy đã cấu hình.

 photo 2_zpskdkfkdae.png

 photo 3_zpszdhgf544.png

4. Chọn Add

 photo 4_zpsmcnr4z7r.png

5. Chọn Next

 photo 5_zpszjgrwvdc.png

6. Chọn Add -> Quá trình tạo agent cho VMware server hoàn tất.

 photo 6_zpsyspwjtl1.png

7. Tạo Protection group tiến hành backup VMs

 photo 7_zpspvh1cdwv.png

8. Sau khi tạo Protection group, quá trình Consistency check và Replica sẽ diễn ra.

 photo 8_zpscz4ocdit.png

9. Truy nhập vào Vault -> Backup items để kiểm tra quá trình backup lên Cloud thành công chưa.

 photo 20_zpsdt4kvjlg.png

2. Recovery VMs

1. Chọn tab Recovery -> chọn Recovery point phù hợp và tiến hành Recover.

 photo 9_zpsskwdzlur.png

2. Chọn Next

 photo 10_zpsugdfilqw.png

3. Có thể cấu hình Throttling, SAN Recovery, Notification via email tuỳ theo ý thích -> Next

 photo 11_zpsbalg9mfe.png

4. Ở đây có 2 mode Recovery Type:

  • Recover to original instance: bạn sẽ không cần làm chọn thêm Option nào nữa, dữ liệu sẽ được trả về host cũ ban đầu.
  • Recover as virtual machine on any host: bạn có thể recover đến bất kì host nào đã cài agent dưới dạng VMs. Bạn cần cung cấp thêm 1 số thông tin như: Esxi host, Resource pool, Folder và Path.

 photo 12_zpsht9nz7dh.png

 photo 13_zpsethdvh07.png

5. Chọn Recover để tiến hành quá trình Recover

 photo 14_zpsoe5h5woo.png

6. Quá trình Recovery ở disk đang diễn ra.

 photo 15_zpszcgvtyyr.png

7. Quá trình Recovery ở disk hoàn tất.

 photo 16_zpsqfbpdiqd.png

8. Tiến hành kiểm tra quá trình Recovery as virtual machine on any host.

 photo 17_zpsdgqg8lxx.png

 photo 18_zps9egqetnz.png

 photo 19_zpsrmqqrvap.png