Tham khảo tài liệu .thiết lập sql server luôn sẵn sàng, công nghệ thông tin, quản trị web phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
.Thiết lập SQL Server luôn sẵn sàngThiết lập SQL Server luôn sẵn sàngGiải pháp Database Mirroring giúp xây dựng hệ quản trị cơ sở dữ liệu (CSDL) có độ sẵnsàng cao trong SQL Server khá đơn giản và phù hợp với các CSDL loại vừa trở xuống.Yêu cầu về một hệ quản trị cơ sở dữ liệu có độ sẵn sàng cao ngày càng trở nên cấp thiết, đôi khilà yếu tố sống còn với các tổ chức, công ty. Tuy nhiên, để đạt mức độ sẵn sàng cao (gần nhưluôn hoạt động) là một điều không đơn giản, vì luôn có nhiều yếu tố làm ảnh hưởng đến hoạtđộng của hệ thống: sự cố phần cứng, hạ tầng mạng, lỗi hệ điều hành, lỗi phần mềm ứng dụng,virus… Bài viết giới thiệu về 1 giải pháp giúp đạt độ sẵn sàng cao (HA - High Availability) trênhệ quản trị CSDL được dùng phổ biến hiện nay: SQL Server.Các giải pháp HA trên SQL ServerFailover clusterGiải pháp này sử dụng một ổ cứng dùng chung – thường là SAN để chứa CSDL. Có nhiều“instance” của SQL Server được cài đặt, mỗi instance là 1 node, nhưng tại 1 thời điểm chỉ có 1node được quyền điều khiển CSDL. Khi node này gặp trục trặc, 1 node khác sẽ thay thế nó quảnlý CSDL.Log shippingCơ cấu bổ sung 1 CSDL làm mirror (bản sao). Khi có thay đổi hoặc cập nhật từ CSDL chính, filelog ghi lại các thay đổi này sẽ được gửi sang cho instance của máy chủ mirror. Bằng cách này,người ta duy trì một bản sao cập nhật của CSDL. Trong trường hợp xảy ra sự cố, CSDL bản saosẽ được chuyển thành CSDL chính trong thời gian ngắn.ReplicationNếu như Failover cluster và Log Shipping là 2 giải pháp đảm bảo high-availability ở cấp độCSDL thì Replication chỉ đảm bảo high-availability ở cấp độ các đối tượng trong CSDL nhưtable, view… Các đối tượng này sẽ được copy sang một instance thứ 2 của SQL Server để lưutrữ.Data Mirroring trong SQL ServerDatabase Mirroring (DM) là giải pháp mới xây dựng CSDL có tính sẵn sàng cao trong SQLServer. DM khắc phục các nhược điểm của các giải pháp trước đó như:• So với Failover Cluster, DM không yêu cầu phần cứng đặc biệt như SAN, vì vậy giảm đượcchi phí khi cấu hình• So với Log Shipping, DM có thể tự động chuyển sang máy mirror khi xảy ra lỗi mà không cầnngười quản trị phải tác động. Log shipping yêu cầu phải cấu hình thủ công bằng T-SQL. Chínhvì vậy, DM được gọi là “hot standby”, khi thời gian gián đoạn (downtime) có thể tính bằng giây,còn Log-shipping được gọi là “warm standby”, vì thời gian gián đoạn có thể tính bằng phút hoặchơn.• So với Replication, DM vượt trội hơn do bảo vệ được toàn bộ CSDL, còn Replication chỉ bảovệ từng phần trong CSDL, ví dụ các table như master.Tuy nhiên, DM chỉ có trong phiên bản Enterprise/Developer của SQL Server 2005 SP1/2008.1. Cơ cấu của DM trong SQL ServerDM trong SQL Server yêu cầu 3 instance: 1 instance chính (principal role) quản lý CSDL, 1instance phụ (mirror) đảm bảo việc sao lưu CSDL. 1 instance giám sát (witness) kết nối với 2instance chính và phụ để giám sát và đảm bảo tính sẵn sàng của CSDL.Khi có mặt witness: Máy chủ witness kết nối với cả 2 máy chủ chính và máy chủ mirror. Lúc nàytoàn bộ hệ thống trở thành 1 quorum mà 2 trong số 3 thành phần có quyền quyết định . Trongtrường hợp máy chủ chính gặp sự cố, máy chủ witness sẽ tự động chuyển máy chủ mirror thànhmáy chủ chính. Nếu sau đó, máy chủ chính hoạt động trở lại, máy chủ chính sẽ đảm nhận vai tròlà máy chủ mirror (2 máy chủ giờ đổi vai trò cho nhau) cho đến khi có sự can thiệp của nhà quảntrị (sơ đồ 1).Khi không có máy chủ witness: Quá trình chuyển đổi tự động sẽ không thực hiện được mà cần cótác động của nhà quản trị.Trong SQL Server có khái niệm “endPoint” có thể hiểu là “điểm kết nối”, cho phép các instanceSQL Server liên lạc với nhau thông qua giao thức TCP (sơ đồ 2).Mỗi endpoint được xác định bằng một địa chỉ và cổng tương ứng. Về mặt lý thuyết, địa chỉ phảilà địa chỉ tên miền đầy đủ, nhưng thực tế có thể dùng một trong 4 cách sau:- Xác định thông qua tên server. Ví dụ: TCP://PRINCIPAL:7024.- Xác định thông qua domain name. Ví dụ: TCP://PRINCIPAL.DELTAX.COM:7024.- Xác định thông qua Ipv4. Ví dụ: TCP://192.168.1.3:7024.- Xác định thông qua Ipv6.Cần chú ý: Trong trường hợp các Instance SQL Server cùng chạy trên một máy thì cổng TCPphải khác nhau.2. Trao đổi thông tin giữa máy chủ chính và máy chủ phụChế độ tốc độ cao (High-Performance):Chế độ High-Performance tương ứng với việc tạo bản sao không đồng bộ. Máy chủ chính gửicác bản cập nhật sang máy chủ mirror và tiếp tục thực hiện các thay đổi khác mà không cần máychủ mirror báo đã cập nhật thành công.Nhờ việc không phải chờ đợi máy chủ mirror cập nhật các thay đổi, nên máy chủ chính có tốc độtruy xuất nhanh hơn và tránh được tải không cần thiết.Quy trình này có thể được minh họa bằng lược đồ sau:Đối với chế độ tốc độ cao, máy chủ mirror luôn cập nhật chậm hơn so với máy chủ chính, và cóthể xảy ra mất mát dữ liệu trong trường hợp máy chủ chính gián đoạn hoạt động mà chưa kịp gửidữ liệu sang máy chủ mirror. Tuy nhiên, phần CSDL khác biệt này tương đối nhỏ và có thể chấpnhận được. Chế độ tốc độ cao – High performance mode không bắt buộc phải có máy chủWitness.Chế độ an toàn cao (High-Safety):Khác với chế độ tốc độ cao, chế độ an toàn cao sử dụng cơ chế đồng bộ (Synchronous). Khi ứngdụng hoặc người dùng cập nhật, nó sẽ được cập nhật gần như đồng thời trên cả máy chủ chính vàmáy chủ mirror. Điều này sẽ đảm bảo khi máy chủ chính xảy ra sự cố, máy chủ mirror sẽ có bảnsao đầy đủ và toàn vẹn của CSDL, vì vậy đảm bảo an toàn dữ liệu cao.Chế độ an toàn cao yêu cầu một máy chủ witness để đảm bảo tính thay thế nóng - hot standby.3. Cấu hình DM:Cấu hình DM trên SQL Server gồm 3 bước cơ bản:- Sao lưu (backup) toàn bộ CSDL trên máy chủ chính và sau đó khôi phục (restore) trên máy chủmirror.- Tạo các endpoint tương ứng để các máy chủ chính, mirror và witness làm việc với nhau.- Tạo một phiên làm việc (Database Mirroring Ses ...