Đây là tình huống của tôi:
- Hai máy chủ chuyên dụng trong cùng một trung tâm dữ liệu với ethernet gigabit giữa chúng.
- Cả hai máy chủ chuyên dụng đều khởi động vào môi trường cứu hộ dựa trên Debian Squeeze với các công cụ và tiện ích bổ sung được thêm vào. Ngoài ra còn có nhiều dung lượng tmp (32GB RAM trên cả hai hộp) để tải xuống phần mềm, cài đặt gói và / hoặc biên dịch khi cần.
- Cả hai máy chủ chuyên dụng có khoảng 3TB không gian có thể sử dụng.
- Máy chủ "nguồn" có các đĩa 4 x 1,5TB trong Phần cứng RAID-10 với bộ điều khiển cổng Adaptec 4.
- Máy chủ "đích" có các đĩa 2 x 3TB trong Phần cứng RAID-1 với bộ điều khiển cổng Adaptec 2 - cùng thế hệ với các cổng khác, nhưng số lượng cổng khác nhau.
- Số lượng các khối có thể sử dụng trên
/dev/sda
khác nhau ít hơn 10 MB, nhưng mảng của máy chủ đích là vì một số lý do nhỏ hơn một vài megs. - Cả hai mảng RAID đều được cấu hình để sử dụng toàn bộ bề mặt đĩa của tất cả các đĩa cấu thành để tạo một, một ổ RAID.
- Hệ điều hành khởi động ở chế độ MBR; không khởi động UEFI được sử dụng.
Những gì tôi muốn làm:
- Sao chép, ở lớp khối, toàn bộ hình ảnh HĐH (chỉ bao gồm bộ tải khởi động GRUB2 trong bảng phân vùng GPT, / phân vùng khởi động và / phân vùng) từ máy chủ "nguồn" sang máy chủ "đích".
- Nếu có thể , bản sao sẽ diễn ra "trực tiếp": điều này có nghĩa là tôi không có đủ dung lượng để lưu trữ một tệp hình ảnh đĩa thích hợp ở phía đích, trừ khi tôi giải nén hình ảnh đĩa vào đĩa cứng như bản sao đang diễn ra . Kết nối ethernet gigabit giữa các máy chủ đủ tin cậy để tôi cảm thấy thoải mái với điều này và tất nhiên tôi sẽ chạy
fsck
ở cả hai đầu (nguồn và đích) để xác minh hệ thống tập tin có ổn trước và sau khi chuyển. - Nếu có thể , không chuyển các khối qua mạng, không được sử dụng bởi các hệ thống tập tin cấu thành trong mỗi phân vùng (tất cả các phân vùng được định dạng là ext4). Điều này là do hơn 50% đĩa "nguồn" là không gian trống trong
/
phân vùng. - Điều chỉnh kích thước của
/
phân vùng để khi nó được sao chép, nó được thay đổi kích thước để vừa với kích thước chỉ nhỏ hơn của đĩa đích. - Khi sao chép thành công, gắn từng ổ đĩa và sửa các tham chiếu đến IP tĩnh để phản ánh IP của máy chủ mới. (Có thể làm điều này tốt mà không cần thêm trợ giúp)
Những câu hỏi của tôi:
- Trước tiên tôi có nên tính chênh lệch (tính bằng byte) giữa kích thước của
/dev/sda
mỗi máy chủ không, sau đó sử dụnge2resize
để giảm không phá hủy kích thước của/
phân vùng ở phía nguồn để nó phù hợp với không gian của phía đích? - Tôi có nên chạy
dd
trên thiết bị khối thô,/dev/sda
từ nguồn đến đích (kết thúcssh
) hay tôi nên tạo bố cục phân vùng tương đương trên đích và chạydd
trên mỗi phân vùng ? Lưu ý rằng việc xử lý phân vùng tại một thời điểm khiến tôi gặp vấn đề về bộ tải khởi động, nhưng nếu tôi không thực hiện phân vùng đó tại một thời điểm, thìdd
cần phải biết dừng truyền dữ liệu khi nó đã ghi nhiều byte như đích có thể giữ (hy vọng sẽ "đóng" phần cuối của/
phân vùng trên khối cuối cùng, theo logic "bên phải" tất cả các phân vùng khác trong bố cục phân vùng của nguồn).
Một vài linh tinh. chi tiết cụ thể:
- Hệ điều hành máy chủ trên hộp nguồn là Ubuntu Server 12.04 đang chạy một số khách OpenVZ
- Vì cả hai hộp đều được khởi động vào cứu hộ, nên có thể truy cập đĩa trực tiếp mà không mong đợi bất kỳ thay đổi nào đối với dữ liệu cơ bản của hệ điều hành đang chạy.