Di chuyển máy chủ: cách hiệu quả nhất


10

Tôi đã được giao nhiệm vụ di chuyển một trong các trang web của chúng tôi giữa các máy chủ (hai máy chủ khác nhau). Cả hai môi trường đều là linux.

Trang web truyền phát video, vì vậy máy chủ hiện chứa đầy các tệp phương tiện (hình ảnh và video). Suy nghĩ đầu tiên của tôi là chúng tôi sẽ sử dụng rsycnc để chuyển mọi thứ, nhưng tôi muốn hiệu quả nhất có thể và làm mọi thứ nhanh nhất có thể. Tôi hình dung một số bạn có thể có lời khuyên về cách tăng tốc quá trình, hoặc nếu rsync thậm chí là lựa chọn đúng đắn ở đây.

Cảm ơn trước. Xin lỗi vì kiến ​​thức hạn chế của tôi về công cụ sysadmin ...

EDIT: Chúng tôi đang chạy trên ngăn xếp LAMP cơ bản (centos) và chuyển sang mũ đỏ trên rackspace).


1
Xác định "hiệu quả" trong bối cảnh này. Nhanh chóng, đáng tin cậy, mạnh mẽ, hoặc những gì? Và không, bạn không thể có tất cả những thứ đó.
John Gardeniers

1
rsync gần như chắc chắn là sự lựa chọn tốt nhất để di chuyển dữ liệu; vẫn còn cấu hình và cơ sở dữ liệu có thể, vv mà những người khác đã đề cập có các tùy chọn khác tốt hơn.
fukawi2

Câu trả lời:


12

Có rất nhiều điều liên quan đến việc "di chuyển một ứng dụng từ máy chủ này sang máy chủ khác" - thực sự không có cách nào chúng ta có thể trả lời này một cách toàn diện cho tất cả các trường hợp sử dụng. Bạn có thể trả lời nó khá toàn diện cho thiết lập của bạn, nếu bạn tiếp cận nó một cách có hệ thống:

  1. Tạo một danh sách tất cả mọi thứ ứng dụng của bạn cần.
    • Máy chủ web?
    • Máy chủ cơ sở dữ liệu?
    • Máy chủ thư?
    • Ngôn ngữ kịch bản (PHP, Ruby / Rails, Perl, cái gì khác)?
    • Các chương trình phụ trợ (ImageMagick, v.v.)?
  2. Lập danh sách các mục cấu hình quan trọng.
    • Địa chỉ IP, Netmask, Cổng, v.v.
    • Máy chủ DNS
    • Các mục dành riêng cho ứng dụng (thư mục tạm thời, v.v.)
  3. Lấy danh sách từ (1) và (2) và viết phác thảo về việc di chuyển.
    Điều này sẽ bao gồm những thứ như cài đặt và định cấu hình bất kỳ phần mềm / gói nào bạn cần, đổ và tải cơ sở dữ liệu, v.v.
  4. KIỂM TRA DI CHUYỂN
    Sao chép mọi thứ giống như bạn sẽ làm nếu máy chủ sẽ hoạt động, nhưng đừng làm cho nó hoạt động. Dán nó trên một mạng bị cô lập khi bạn hoàn thành và kiểm tra mọi thứ.
    Nếu bạn có một quy trình kiểm tra tiêu chuẩn cho ứng dụng của mình, bạn nên chạy nó trên máy chủ được di chuyển.
  5. Nếu mọi thứ không diễn ra hoàn hảo, goto (3), cập nhật (1) và (2) sau đó sửa đổi kế hoạch của bạn.
  6. Khi di chuyển thử nghiệm diễn ra hoàn hảo, hãy thực hiện di chuyển thực tế.
    Tùy thuộc vào mức độ phức tạp của quá trình di chuyển, điều này có thể chỉ có nghĩa là bỏ và tải lại cơ sở dữ liệu hoặc bạn có thể muốn xóa sạch máy và thực hiện tất cả từ đầu.

Khi bạn hoàn thành, bạn sẽ có một danh sách kiểm tra cho ứng dụng cụ thể của mình, trong môi trường cụ thể của bạn. Danh sách kiểm tra đó có thể sẽ phát triển khi bạn phát triển ứng dụng, nhưng nó có thể đóng vai trò là điểm khởi đầu sau 3-5 năm khi bạn phải di chuyển lại.

Những thứ khác để xem xét bao gồm thực hiện quản lý cấu hình ala Puppet hoặc Chef.
(Nếu bạn sẽ trở thành "sysadmin", bạn nên xem xét chúng, nếu không hãy chuyển chúng cho người / nhóm có trách nhiệm.)


5

Chà, bạn có cấu hình máy chủ và nội dung máy chủ để giải quyết, và rất khó có khả năng cùng một kỹ thuật sẽ hoạt động cho cả hai.

Bạn có cơ sở dữ liệu? Nếu vậy, điều đó cũng sẽ cần phải được di chuyển. Rsync hoạt động tuyệt vời cho nội dung tĩnh. Chỉ cần chạy nó một lần để có được danh sách dữ liệu của bạn được di chuyển, và sau đó nói cứ sau vài giờ để giữ mọi thứ đồng bộ cho đến khi cắt. Đảm bảo tắt cron rsync trước khi di chuyển!

Liên quan đến cấu hình, chúng tôi không biết bạn đang chạy gì, vì vậy không thể đưa ra khuyến nghị.


Cảm ơn! Chúng tôi hiện đang chạy trên CentOS với ngăn xếp Apache / PHP / MySQL (khá chuẩn) với WHM. Chúng tôi đang chuyển mọi thứ sang redhat linux trên Rackspace.
Mã ma
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.