2015-07-06 16 views
5

Tôi đã sử dụng các hướng dẫn trên https://matt.berther.io/2015/02/03/how-to-resize-aws-ec2-ebs-volumes/http://atodorov.org/blog/2014/02/07/aws-tip-shrinking-ebs-root-volume-size/ để chuyển sang ổ đĩa EBS có dung lượng ổ đĩa ít hơn. Trong cả hai trường hợp, khi tôi kèm theo khối lượng EBS co (như/dev/xdva hoặc/dev/sda1, không phải tác phẩm) để một thể EC2 và bắt đầu nó, nó dừng lại ngày của riêng mình với thông điệpTại sao bản sao EC2 không khởi động chính xác sau khi thay đổi kích thước của ổ EBS gốc?

State transition reason 
Client.InstanceInitiatedShutdown: Instance initiated shutdown 

Một số nhiều tinkering và tôi thấy rằng khối lượng mới không có phân vùng khởi động BIOS. Vì vậy, tôi đã sử dụng gdisk để tạo một bản sao và sao chép MBR từ ổ đĩa gốc (hoạt động và sử dụng tôi có thể bắt đầu các phiên bản) vào ổ đĩa mới. Bây giờ thể hiện không chấm dứt nhưng tôi không thể ssh vào dụ mới được đưa ra.

Điều gì có thể là lý do đằng sau sự cố này? Làm cách nào để có thêm thông tin (từ nhật ký/Bảng điều khiển AWS, v.v) về lý do tại sao điều này xảy ra?

+0

bạn đang sử dụng hệ điều hành nào cho máy của mình? Bạn có gì trong Bảng điều khiển AWS EC2 -> Syslog không? – Mircea

+0

Amazon Linux và bảng điều khiển AWS EC2 trống. –

Trả lời

2

Sự cố xảy ra với phân vùng khởi động BIOS. Tôi đã có thể giải quyết điều này bằng cách lần đầu tiên khởi tạo một thể hiện với một khối lượng EBS nhỏ hơn. Sau đó tách khối lượng và gắn nó vào một thể hiện whihc sẽ được sử dụng để sao chép nội dung từ khối lượng lớn hơn o khối lượng nhỏ hơn. Điều đó tạo ra một phân vùng khởi động BIOS mà thực sự hoạt động. Đơn giản chỉ cần tạo một cái mới và sao chép phân vùng khởi động không hoạt động.

Bây giờ, làm theo các bước được nêu trong bất kỳ liên kết nào trong hai liên kết này sẽ giúp thu nhỏ khối lượng của EBS gốc.

3

Để thu nhỏ một GPT partioned khối lượng EBS khởi động dưới 8GB rằng hình ảnh tiêu chuẩn dường như sử dụng bạn có thể làm như sau: (sự thay đổi nhỏ của phương pháp dd từ https://matt.berther.io/2015/02/03/how-to-resize-aws-ec2-ebs-volumes/)

đĩa nguồn là /dev/xvdf, mục tiêu là /dev/xvdg

  1. phân vùng nguồn Shrink

    $ sudo e2fsck -f /dev/xvdf1 
    $ sudo resize2fs -M /dev/xvdf1 
    

    sẽ pr int cái gì đó như

    resize2fs 1.42.12 (29-Aug-2014) 
    Resizing the filesystem on /dev/xvdf1 to 257491 (4k) blocks. 
    The filesystem on /dev/xvdf1 is now 257491 (4k) blocks long. 
    

    tôi chuyển đổi này để MB, tức là 257.491 * 4/1024 ~ = 1006 MB

  2. bản sao trên kích thước + một chút nhiều hơn từ thiết bị đến thiết bị (!), không chỉ phân vùng để phân vùng, bởi vì trong đó bao gồm cả bảng phân vùng & dữ liệu trong phân vùng khởi động

    $ sudo dd if=/dev/xvdf of=/dev/xvdg bs=1M count=1100 
    
  3. hiện nay sử dụng gdisk để sửa chữa các phân vùng GPT trên đĩa mới

    $ sudo gdisk /dev/xvdg 
    

    Bạn sẽ được chào đón với khoảng

    GPT fdisk (gdisk) version 0.8.10 
    
    Warning! Disk size is smaller than the main header indicates! Loading 
    secondary header from the last sector of the disk! You should use 'v' to 
    verify disk integrity, and perhaps options on the experts' menu to repair 
    the disk. 
    Caution: invalid backup GPT header, but valid main header; regenerating 
    backup header from main header.# 
    
    Warning! One or more CRCs don't match. You should repair the disk! 
    
    Partition table scan: 
        MBR: protective 
        BSD: not present 
        APM: not present 
        GPT: damaged 
    
    **************************************************************************** 
    Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk 
    verification and recovery are STRONGLY recommended. 
    **************************************************************************** 
    
    Command (? for help): 
    

    Sau đây là các đầu vào bàn phím trong gdisk. Để khắc phục sự cố, phân vùng dữ liệu có mặt trong bảng phân vùng đã sao chép cần được thay đổi kích thước để vừa với đĩa mới. Điều này có nghĩa là nó cần phải được tái tạo nhỏ hơn và các thuộc tính của nó cần phải được thiết lập để phù hợp với định nghĩa phân vùng cũ. Không kiểm tra nó vì vậy nó có lẽ không cần chuyển nơi ở bảng sao lưu đến hết thực tế của đĩa nhưng tôi đã làm nó anyways:

    • đi đến lựa chọn chuyên gia thêm: x
    • cấu trúc di dời sao lưu dữ liệu để cuối đĩa: e
    • trở lại menu chính: m

    Bây giờ để sửa chữa các kích thước phân vùng

    • in và lưu ý một số đặc tính của phân vùng 1 (và phân vùng không khởi động khác nếu chúng tồn tại):
      i
      1
      Sẽ hiển thị một cái gì đó giống như

      Partition GUID code: 0FC63DAF-8483-4772-8E79-3D69D8477DE4 (Linux filesystem) 
      Partition unique GUID: DBA66894-D218-4D7E-A33E-A9EC9BF045DB 
      First sector: 4096 (at 2.0 MiB) 
      Last sector: 16777182 (at 8.0 GiB) 
      Partition size: 16773087 sectors (8.0 GiB) 
      Attribute flags: 0000000000000000 
      Partition name: 'Linux' 
      
    • nay xóa
      d
      1
      và tạo lại phân vùng
      n
      1
      Nhập thông số bắt buộc. Tất cả các giá trị mặc định làm việc cho tôi ở đây (= nhấn Enter), khi nghi ngờ tham khảo để phân vùng thông tin từ trên

      • ngành đầu tiên = 4096
      • ngành cuối = bất cứ điều gì là kết thúc thực tế của đĩa mới - lấy mặc định đây
      • type = 8300 (Linux)
    • tên mặc định phân vùng mới không phù hợp với cái cũ. Vì vậy, thay đổi nó với bản gốc Một
      c
      1
      Linux (thấy Partition name từ trên cao)

    • Sau đó để thay đổi là của phân vùng GUID
      x
      c
      1
      DBA66894-D218-4D7E-A33E-A9EC9BF045DB (thấy Partition unique GUID, không phải mã hướng dẫn phân vùng ở trên đó)
    • Điều đó là đúng. Về chính nhà nước in đơn &
      m
      i
      1
      Bây giờ sẽ in

      Partition GUID code: 0FC63DAF-8483-4772-8E79-3D69D8477DE4 (Linux filesystem) 
      Partition unique GUID: DBA66894-D218-4D7E-A33E-A9EC9BF045DB 
      First sector: 4096 (at 2.0 MiB) 
      Last sector: 8388574 (at 4.0 GiB) 
      Partition size: 8384479 sectors (4.0 GiB) 
      Attribute flags: 0000000000000000 
      Partition name: 'Linux' 
      

      Sự thay đổi chỉ nên là Partition size.

    • ghi vào đĩa và thoát
      w
      y
  4. phát triển hệ thống tập tin để phù hợp với toàn bộ (nhỏ hơn) đĩa. Các bước nắm tay thu nhỏ nó xuống kích thước tối thiểu nó có thể phù hợp với

    $ sudo resize2fs -p /dev/xvdg1 
    
  5. Chúng tôi đã hoàn tất. Tháo khối lượng & chụp nhanh.

  6. Bước tùy chọn. Chọn ID hạt nhân thích hợp cho AMI.

Nếu bạn đang đối phó với ảnh PVM và cuộc gặp gỡ sau mount error trong trường hợp đăng

Kernel Panic - không đồng bộ: VFS: Không thể để gắn kết gốc

khi dụ của bạn không không vượt qua kiểm tra khởi động, có thể bạn sẽ được yêu cầu thực hiện bước bổ sung này.

Giải pháp cho lỗi này là chọn đúng ID hạt nhân cho ảnh PVM của bạn trong quá trình tạo ảnh từ ảnh chụp nhanh của bạn. Danh sách đầy đủ các ID hạt nhân (AKI) có thể được lấy here.

Hãy chọn AKI phù hợp cho hình ảnh của bạn, chúng bị hạn chế bởi các khu vực và kiến ​​trúc!

+0

Xóa/giải trí không ảnh hưởng đến dữ liệu thực tế? Chỉ bảng phân vùng? – Suncatcher

+0

@Suncatcher có, bảng phân vùng không biết về dữ liệu trong hệ thống tệp, nó chỉ cần biết hệ thống tệp nằm ở đâu về ranh giới byte và bạn tạo lại dữ liệu đó – zapl

+0

Cuối cùng đã hoàn thành nó! Holy *** t! Mất ba ngày :) – Suncatcher

Các vấn đề liên quan