Cách tốt nhất để di chuyển cơ sở dữ liệu SQL Server khổng lồ với thời gian chết thấp qua mạng


22

Định nghĩa vấn đề

Máy chủ cơ sở dữ liệu của chúng tôi cần phải được chuyển đến một trung tâm dữ liệu khác. Nó chạy trên Microsoft SQL Server 2012 Enterprise (64-bit) và chứa hai cơ sở dữ liệu khoảng 2TB và 1TB.

Có ít hoặc không có thời gian chết cho điều này sẽ là lý tưởng.

Khối lượng công việc

Những cơ sở dữ liệu này được sử dụng cho một trang web .NET và liên tục được cập nhật.

Có nó không có sẵn vào cuối tuần sẽ được chấp nhận mặc dù. DB hiện đang sử dụng sẽ vẫn là người duy nhất đang sử dụng cho đến khi chuyển sang cái mới.

Công tắc đó lý tưởng sẽ được thực hiện chỉ bằng cách thay đổi các mục DNS để trỏ đến máy chủ DB mới trong khi đảm bảo DB không được cập nhật.

Ngoài ra, thời gian thực hiện bởi thao tác này không thực sự quan trọng miễn là việc chuyển đổi từ máy chủ này sang máy chủ khác (thời gian chết) được giữ ở mức thấp.

Phương pháp tiếp cận được xem xét

  • Sao lưu và khôi phục

    Điều này đã được thực hiện trong quá khứ nhưng liên quan đến thời gian chết cao mặc dù nó được thực hiện thông qua mạng nội bộ, vì vậy hiệu quả hơn so với qua Internet

  • Đăng nhập vận chuyển

    Theo như tôi hiểu, cách tiếp cận này sẽ giảm thiểu thời gian chết bằng cách cấu hình chủ / nô lệ và chuyển một bản sao chính xác của DB chính sang nô lệ của nó chỉ được đọc. Như đã đề cập ở trên, không cần truy cập vào nô lệ và chúng ta chỉ cần một cách để có một bản sao của DB chính mà không bị hỏng dữ liệu.

    Nó cũng có vẻ khá hiệu quả về mặt sử dụng tài nguyên và sẽ không ảnh hưởng đến hiệu suất tổng thể.

    Tôi có thể sai về cách tiếp cận này vì vậy hãy sửa tôi.

  • Phản ánh cơ sở dữ liệu

    Tôi không quá biết về cách tiếp cận đó nhưng có vẻ như là một lựa chọn hợp lệ. Không cần phải có đồng bộ hóa thời gian thực và hiệu suất của tổng thể là khá quan trọng vì vậy không đồng bộ sẽ là hướng đi nếu phương pháp này được chọn.

  • Sự lựa chọn khác?

    Máy chủ đó chạy trực tiếp trên phần cứng kim loại trần nên các giải pháp cấp thấp hơn không may là một tùy chọn. Có lẽ có một cách tốt hơn để thực hiện điều này?

Những ràng buộc

Theo mô tả, những cơ sở dữ liệu này khá lớn đến mức chúng khó bảo trì nhưng đó là một vấn đề khác.

Các phiên bản của SQL Server sẽ giống nhau (Microsoft SQL Server 2012 Enterprise 64-bit).

Nó sẽ phải được chuyển qua mạng giữa hai trung tâm dữ liệu để có thể nhất là qua Internet. Rất tiếc, các đĩa được gửi từ trang này sang trang khác để đồng bộ hóa ban đầu không may là một tùy chọn. Có một số loại bảo mật cho việc chuyển nhượng sẽ là lý tưởng nhưng chúng tôi sẽ làm tốt nhất trong tình huống này.

Điều đó sẽ cung cấp một cái nhìn tổng quan khá tốt về nhu cầu của chúng tôi cho nhiệm vụ này và hy vọng một số bạn đã phải đối mặt với tình huống đó trước đây.

Câu trả lời:


20

Sao lưu thẳng và khôi phục rõ ràng là ra. Tôi cũng sẽ không xem xét nhân rộng bất kỳ loại nào.

Thiết lập cơ sở dữ liệu tương đối đơn giản để thiết lập, nhưng yêu cầu kết nối thời gian thực giữa hai máy chủ, thiết lập đối tác và thiết bị đầu cuối, v.v. Nhóm sẵn có có thể là một tùy chọn, nhưng trên hết các biến chứng mạng bạn cũng phải có cả hai máy chủ là thành viên của cùng một WSFC - có nghĩa là cả hai phải ở trong cùng một miền. Đây không phải là một thiết lập điển hình (hoặc thậm chí có thể được thực hiện để hoạt động tạm thời) cho việc di chuyển trung tâm dữ liệu.

Phiếu bầu của tôi sẽ được đăng nhập vận chuyển. Điều thú vị ở đây là bạn có thể sử dụng các bản sao lưu và sao lưu nhật ký mà bạn đã sử dụng (phải không?) Và không nhất thiết phải có kết nối thời gian thực giữa hai cơ sở dữ liệu - họ không cần biết về từng cơ sở dữ liệu khác, bạn không cần thiết lập các điểm cuối để phản chiếu, đối tác, bảo mật, v.v. Bạn chỉ cần một cách để đưa các tệp từ máy chủ cũ đến nơi có thể khôi phục chúng trên máy chủ mới. Bạn có thể thực hiện sao lưu toàn bộ trước, đưa nó đến máy chủ mới, khôi phục nó, sau đó áp dụng (có thể khác và) sao lưu nhật ký gia tăng từ thời điểm đó cho đến thời điểm cắt. Quá trình này thực sự khá đơn giản và có nhiều hướng dẫn về vận chuyển nhật ký có sẵn trực tuyến nếu bạn gặp bất kỳ khó khăn nào.

Nếu ứng dụng web đang di chuyển với cơ sở dữ liệu, vì DNS có thể mất một thời gian để truyền bá, bạn có thể muốn thực hiện chuyển đổi trong chuỗi kết nối của ứng dụng cũ để làm cho chúng trỏ đến IP của máy chủ cơ sở dữ liệu mới khi có thể ghi được , kể từ - ngay cả sau khi chuyển đổi và ngay cả khi cài đặt TTL của bạn chặt chẽ - khách hàng có thể tiếp tục truy cập các máy chủ web cũ. Tất cả phụ thuộc vào mức độ tôn trọng mà các nhà cung cấp của họ dành cho các TTL của bạn.


16

Gần đây tôi đã di chuyển 15tb trên 6 cơ sở dữ liệu bằng cách sử dụng phản chiếu. Rất đơn giản và hoạt động hoàn hảo chỉ với vài giây thời gian chuyển đổi dự phòng.

Chỉnh sửa:

Tôi đã có hai Máy chủ SQL ảo hóa mới. Các cơ sở dữ liệu đến từ 3 máy chủ mà chúng vừa mới phát triển và đã ảnh hưởng đến hiệu suất trên các cơ sở dữ liệu nhỏ hơn được lưu trữ trên chúng.

Quá trình này rất đơn giản.

  1. Đợi cuối tuần sao lưu đầy đủ để hoàn thành
  2. Khôi phục mà không cần khôi phục vào máy chủ mới
  3. Khi khôi phục hoàn tất, tạm dừng sao lưu
  4. Chạy một khôi phục bổ sung lên đến bản sao lưu nhật ký mới nhất từ ​​bản gốc, không để phục hồi
  5. Bắt đầu phản chiếu trên tất cả sáu
  6. Tiếp tục sao lưu

Tôi đã chọn để chúng ở chế độ không đồng bộ cho đến khi chúng tôi sẵn sàng khắc phục chúng để giảm tải trên mạng, v.v. Mirroring có tiếng là gây ra độ trễ trong quá trình bảo trì (chỉ số / thống kê) và các hoạt động khối lượng lớn khác, nhưng tôi đã không thấy điều đó là đúng Chúng phải được chuyển sang chế độ đồng bộ trước khi chuyển đổi dự phòng thủ công.

Trong cửa sổ bảo trì tiếp theo, tôi đã thất bại theo cách thủ công đối với từng cơ sở dữ liệu và sau một số thử nghiệm khói, tắt phản chiếu và cuối cùng xóa các tệp dữ liệu cũ khỏi các máy chủ ban đầu. Một điều khó hiểu trong quy trình này là việc không có cơ sở dữ liệu được nhân đôi sẽ khiến cho bản gốc cũ ở trạng thái phục hồi, vì vậy trừ khi bạn cảm thấy thoải mái khi bỏ chúng, bạn cần đưa chúng trở lại trực tuyến và sau đó tách ra, hoặc bất kỳ phương pháp loại bỏ ưa thích nào của bạn là . Ngoài ra, tôi đã không cấu hình một nhân chứng cho bất kỳ điều này vì tôi không muốn chuyển đổi dự phòng tự động. Đây là một sự kiện được kiểm soát.

Xin vui lòng cho tôi biết nếu bạn muốn bất kỳ chi tiết cụ thể hơn. Tôi đã bỏ thông số kỹ thuật máy chủ và mạng nhưng có thể cung cấp nếu bạn muốn.

Cảm ơn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.