Chuyển đổi khối lượng EBS của Amazon EC2 ext4 thành hệ thống tệp XFS


8

Tôi cần chuyển đổi hệ thống tệp ext4 Amazon EC2 của mình thành XFS để tôi có thể chụp ảnh nhanh nhất quán và gửi chúng đến S3. Tôi đang sử dụng hình ảnh nhỏ tùy chỉnh của máy chủ Ubuntu 10.10 với kiến ​​trúc i686 ở phía đông. Vấn đề là tôi chỉ sử dụng một ổ EBS cho tất cả các tệp và bây giờ nó đang khiến tôi đau đầu, vì tôi không thể thực sự ngắt kết nối, định dạng hoặc thực sự làm bất cứ điều gì với ổ đĩa khi đăng nhập vào ví dụ từ ssh. Tôi đoán là bằng cách nào đó tôi cần phải chia âm lượng EBS thành 2 và di chuyển / var / www và / var / lib sang âm lượng EBS thứ hai và chuyển nó thành XFS thay thế. Tôi đang sử dụng apache2, mysql, ispconfig, bind, postfix, chuyển phát nhanh, purftp ( http://www.howtoforge.com/perinf-server-ubfox-10.10-maverick-meerkat-ispconfig-3 )

Cảm ơn bạn.

Câu trả lời:


9

Bạn có thể chuyển đổi âm lượng gốc của mình sang XFS hoặc tạo một ổ đĩa thứ hai. Cá nhân, tôi sẽ ủng hộ cái sau vì nó mang lại sự linh hoạt hơn.

Tùy chọn 1: Chuyển đổi âm lượng gốc sang XFS

  1. Dừng phiên bản của bạn (không chấm dứt) (hãy gọi nó là phiên bản A)
  2. Bắt đầu một thể hiện mới (hãy gọi nó là thể hiện B)
  3. Tháo khối lượng gốc từ phiên bản A và gắn nó vào phiên bản B
  4. Tạo một khối EBS thứ hai, gắn nó vào ví dụ B
  5. Định dạng âm lượng EBS mới là XFS (cài đặt xfsprogsnếu chưa được thực hiện)
  6. Sao chép tất cả dữ liệu từ tập đầu tiên sang tập mới (ví dụ: sử dụng rsync -aHAXxSP /source /target)
  7. Tháo âm lượng mới khỏi phiên bản B và đính kèm nó làm âm lượng gốc của phiên bản A
  8. Bắt đầu ví dụ A
  9. Chấm dứt trường hợp B (khối lượng gốc ban đầu nên tồn tại, giữ nó xung quanh cho đến khi mọi thứ hoạt động theo ý thích của bạn).

Lý do để gắn âm lượng gốc vào một thể hiện khác là để đạt được sự thống nhất, điều này sẽ khó khăn với âm lượng được sử dụng.

Tùy chọn 2: Di chuyển dữ liệu sang ổ EBS thứ hai

  1. Tạo một khối EBS thứ hai và đính kèm nó vào thể hiện của bạn; định dạng nó dưới dạng XFS và gắn kết nó
  2. Xác định thư mục nào bạn muốn chuyển sang ổ đĩa mới (một số cần xem xét bao gồm: / var / log, / var / lib / mysql, / var / www, / var / spool / mail, / var / vmail)
  3. Dừng càng nhiều dịch vụ càng tốt để xóa khóa ghi
  4. Sử dụng lsof | grep /path/to/dirđể kiểm tra các khóa ghi còn lại
  5. Di chuyển thư mục đến ổ đĩa EBS mới
  6. Mount liên kết thư mục mới vào vị trí cũ của nó (tức là mount -o bind /mnt/path/to/dir /orig/path/to/dir)
  7. Lặp lại cho mỗi thư mục
  8. Bắt đầu dịch vụ của bạn để đảm bảo tất cả đang hoạt động
  9. Chỉnh sửa /etc/fstabtập tin của bạn để làm cho các điểm gắn kết vĩnh viễn; ví dụ:/mnt/path/to/dir /orig/path/to/dir bind defaults,noatime,bind 0 0

Khởi động lại để đảm bảo mọi thứ vẫn tồn tại và hoạt động như bình thường. Bạn cũng có thể muốn xem xét thu nhỏ khối lượng gốc của mình xuống một chút vì hy vọng, nó không nên tăng (hoặc thay đổi) nhiều với tất cả dữ liệu được xóa khỏi nó.

(Như một điểm đề cập, có thể đóng băng một hệ thống tệp ext4 bằng cách sử dụng fsfreeze, được bao gồm trong util-linux-ng).


Cảm ơn, tôi sẽ chọn tùy chọn thứ nhất vì tôi không chắc mình có thể khôi phục từ bản sao lưu bằng phương thức thứ hai, nếu mọi thứ không ổn.
Jaz

Bạn có thể khôi phục độc lập từng khối EBS - bạn có thể giữ các ảnh chụp nhanh của cả hai khối riêng biệt, khôi phục lại bất kỳ khối nào bạn cần. Ảnh chụp nhanh EBS của Amazon là vi sai và được nén, do đó, tổng không gian được sử dụng không nên khác nhiều với dữ liệu trên hai khối so với một.
cyberx86

1
Đối với Tùy chọn 1: Các phiên bản Ubuntu gần đây sẽ không khởi động được vì nhãn "cloudimg-rootfs" quá dài cho XFS. Bạn cần khắc phục điều này bằng cách rút ngắn nhãn mà nó sử dụng; các bước này từ liên kết bên dưới: Thiết bị nhãn / dev / xvdf là '/'. Chỉ cần chạy: xfs_admin -L \ / / dev / xvdf Mount / dev / xvdf trong thư mục / xfs. Chỉnh sửa tệp fstab được liên kết với ổ XFS mới (/ xfs / etc / fstab) và đảm bảo / được liên kết với ổ đĩa có nhãn / và hệ thống tệp xfs được định cấu hình cho điểm gốc root Từ đây: jsianes.blogspot.com/2014/06/ tựa
JaredBroad
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.