Cách tăng kích thước của đĩa trên phiên bản đang chạy trên Amazon EC2


11

Tôi có một phiên bản đang chạy của thiết lập máy chủ EC 2 với Ubunto. Cách tốt nhất để tăng kích thước đĩa mà không có thời gian chết và rủi ro tối thiểu là gì?

Đọc qua các hướng dẫn, một cách sẽ là tạo một đĩa mới, di chuyển dữ liệu, tắt đĩa trao đổi cá thể và bật lại. Cách tiếp cận này có vẻ hơi rủi ro sẽ yêu cầu một số thời gian chết. Tôi tự hỏi nếu có một cách tiếp cận tốt hơn?

Câu trả lời:


13

Amazon AWS vừa phát hành (vào ngày 13 tháng 2 năm 2017) một tính năng mới cho phép thay đổi kích thước của âm lượng EBS.

nguồn: https://aws.amazon.com/bloss/aws/amazon-ebs-update-new-elastic-volume-change-everything/

Điều này cho phép tăng kích thước của âm lượng EBS trên một thể hiện hiện có, trong khi nó đang chạy.

Điều quan trọng cần lưu ý là việc thay đổi kích thước âm lượng, không thay đổi kích thước của hệ thống tệp trên ổ đĩa (đối với hầu hết các hệ thống tệp). Các bước bổ sung có thể được yêu cầu (tùy thuộc vào hệ thống tệp) trong chính hệ điều hành. Ví dụ một resizefstrên ext4hệ thống tập tin được sử dụng bởi hầu hết các hệ điều hành Linux ngày hôm nay.

Tài liệu đầy đủ từ AWS mô tả quy trình có thể được tìm thấy tại http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-Exand-volume.html

Trong một số trường hợp, thiết bị khối đã ánh xạ các phân vùng và chỉ sau đó một (hoặc nhiều) phân vùng bao gồm một hệ thống tệp. Trong trường hợp này, phân vùng sẽ cần được thay đổi kích thước trước và chỉ sau đó là hệ thống tập tin. Quá trình này được mô tả trong tài liệu là tốt.

Tính năng thay đổi kích thước "trực tuyến" mới được mô tả trong blog chỉ áp dụng cho các trường hợp thế hệ hiện tại và có một số cân nhắc và hạn chế khác cần được kiểm tra trước khi thử thay đổi kích thước âm lượng.


Trước khi thay đổi kích thước hệ thống tập tin, bạn cũng sẽ phải thay đổi kích thước phân vùng bên dưới, điều này thực sự chặn trên các phân vùng vật lý để thay đổi kích thước nóng.
Tensibai

@Tensibai xin lỗi Tôi không hiểu "chặn trên các phân vùng vật lý để thay đổi kích thước nóng" nghĩa là gì. Bạn có nghĩa là sửa đổi kích thước âm lượng bằng API AWS sẽ chặn ghi / đọc vào âm lượng?
Evgeny

Không, ý tôi là đĩa sẽ lớn hơn, nhưng phân vùng trên nó sẽ giữ nguyên, bạn phải sử dụng fdiskđể thay đổi kích thước của nó, liên quan đến phân vùng gốc, bạn thường không thể ghi bảng phân vùng đĩa trong khi được gắn và bạn không thể ngắt kết nối nó. Bạn sẽ phải khởi động lại tại một thời điểm :)
Tensibai

Phải, nếu bạn sử dụng nhiều phân vùng trước khi thêm lớp hệ thống tệp - thì phân vùng sẽ cần được thay đổi kích thước trước. Cảm ơn, tôi sẽ thử và thêm nó vào câu trả lời trích dẫn một số hướng dẫn về cách thực hiện.
Evgeny

Câu hỏi được đề cập mà không có thời gian chết. Tuy nhiên, để thay đổi kích thước một khối lượng gốc, có vẻ như bạn sẽ cần phải lấy ví dụ xuống để thực hiện bước này?
Chris Stryczynski

2

Những gì tôi làm (và đó không phải là trả lời chính xác câu hỏi của bạn) như sau:

  1. Tạo một khối EBS và đính kèm nó vào tài liệu cá thể ở đây
  2. Quét lại các xe buýt scsi echo '- - -' > /sys/bus/scsi/devices/host1/scsi_host/host1/scan(bạn có thể phải điều chỉnh số máy chủ)
  3. Tạo một pvcreateổ đĩa vật lý với trên đĩa mới được tìm thấy ( fdisk -lđể liệt kê tất cả các đĩa)
  4. Tạo một nhóm âm lượng và sau đó âm lượng hợp lý trên nó ( vgcreatelvcreate)
  5. Định dạng khối lượng logic với hệ thống tệp mong muốn của bạn
  6. tar mục tiêu gắn kết để khôi phục nó.
  7. Gắn khối lượng này, nơi bạn cần không gian mới.
  8. Khôi phục tar vào không gian mới được gắn kết này.

Bước 6 và 8 là tùy chọn nếu bạn sử dụng một không gian mới trước khi cài đặt một cái gì đó. Nếu bạn muốn thay thế một thư mục hiện có, bạn chắc chắn phải tránh một cái gì đó viết ở đó giữa phần cuối của kho lưu trữ và khôi phục.

Bạn có thể lặp lại các bước 4 đến 8 cho các điểm gắn khác nhau, điều này cho phép mở rộng không gian cần thiết và sau đó thay đổi kích thước các âm lượng đó trên đường mà không bị gián đoạn.


0

ZFS Zero Dftimeime lưu trữ hệ thống lưu trữ quy mô trên AWS (hoặc ở nơi khác)

tăng kích thước

  1. Cài đặt ZFS trên EC2.

    http://serverascode.com/2016/09/05/aws-zfs-user-data.html

  2. Tạo một zpool cho dữ liệu số lượng lớn của bạn bằng cách sử dụng âm lượng EBS.
  3. Thêm một EBS khác để có thêm khối lưu trữ. (hoặc đặt nhóm tự động khai thác = true và chỉ cần tăng EBS của bạn)
  4. Thêm EBS mới vào zpool của bạn để tạo khoảng trống. (trừ khi bạn sử dụng tự động mở rộng và tăng kích thước EBS)

Giảm kích cỡ

  1. Tạo một zpool mới trên EBS mới đủ lớn để chứa dữ liệu bị thu hẹp. (không cần phải được gắn kết, hoặc thậm chí trên cùng một EC2)
  2. chụp nhanh zpool cũ quá lớn
  3. zfs-gửi ảnh chụp nhanh đến zpool mới
  4. quảng bá ảnh chụp nhanh nhận được trên nhóm mới và gắn kết
  5. phá hủy hồ bơi cũ
  6. phá hủy EBS của hồ bơi cũ

0

Sau khi thay đổi kích thước âm lượng EBS, đây là những gì tôi vừa thực hiện khi cần mở rộng nhóm ZFS:

parted -l # Get the list of partitions 
parted /dev/xvdf rm 9 # Remove the buffer partition
parted /dev/xvdf resizepart 1 100% # Resize the partition
zpool online -e <zfs partition name> /dev/xvdf # Expand the zpool and the filesystem it holds
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.