缩小Amazon EBS卷后无法启动

时间:2014-10-29 04:28:38

标签: linux amazon-web-services amazon-ec2

我已经关注Google和此论坛上的几个链接,以减少Amazon AWS上的EBS卷,包括这些链接:

http://wiki.jokeru.ro/shrink-amazon-ebs-root-volume

http://www.lantean.co/shrinking-ebs-volume/

我有一个254 GB的EBS卷需要调整为150 GB。以下是我所做的步骤:

  1. 使用8 GB卷/ dev / xvde(基本操作系统)
  2. 创建新实例
  3. 在基本操作系统上安装254 GB卷/ dev / xvdj。
  4. 在基本操作系统上安装150 GB空卷/ dev / xvdk。
  5. / dev / xvdj有8个分区,如下所示:
  6. Disk /dev/xvdj: 272.7 GB, 272730423296 bytes
    255 heads, 63 sectors/track, 33157 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00029527
    
        Device Boot      Start         End      Blocks   Id  System
    /dev/xvdj1   *           1          13      102400   83  Linux
    Partition 1 does not end on cylinder boundary.
    /dev/xvdj2              13        6540    52428800   83  Linux
    /dev/xvdj3            6540       10457    31457280   83  Linux
    /dev/xvdj4           10457       33114   181998592    5  Extended
    /dev/xvdj5           10457       11501     8388608   82  Linux swap / Solaris
    /dev/xvdj6           11501       12154     5242880   83  Linux
    /dev/xvdj7           12154       12285     1048576   83  Linux
    /dev/xvdj8           12285       33114   167314432   83  Linux

    1. 由于/ dev / xvdk是空卷,它没有分区,我认为必须根据/ dev / xvdj
    2. 创建
    3. 根据上面的链接,我运行了 e2fsck -f / dev / xvdj1 ,然后是 resize2fs -M -p / dev / xvdj1 ,对于所有分区/ dev / xvdj(/ dev / xvdj4和5除外)
    4. 完成上述命令后,我根据需要在/ dev / xvdk卷上创建了分区,请记住大小将大于/ dev / xvdj的分区
    5. 150 GB卷的分区如下:
    6. Disk /dev/xvdk: 161.1 GB, 161061273600 bytes
      255 heads, 63 sectors/track, 19581 cylinders
      Units = cylinders of 16065 * 512 = 8225280 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disk identifier: 0xeea3d8c8
      
      Device     Boot      Start         End      Blocks   Id  System
      /dev/xvdk1   *           1         132     1060258+  83  Linux
      /dev/xvdk2             133        9271    73409017+  83  Linux
      /dev/xvdk3            9272       17105    62926605   83  Linux
      /dev/xvdk4           17106       19581    19888470    5  Extended
      /dev/xvdk5           17106       18150     8393931   82  Linux swap / Solaris
      /dev/xvdk6           18151       19456    10490413+  83  Linux
      /dev/xvdk7           19457       19581     1004031   83  Linux
          

      1. 对于第一个分区,我还使用 fdisk / dev / xvdk 添加了一个可启动标志,并选择 a 和分区号(即1)
      2. 分区后,我按照上面的链接来计算块数,发出 dd 命令来复制数据。
      3. 当dd命令完成后,我运行 e2fsck -f / dev / xvdk1 ,然后运行 resize2fs -p / dev / xvdk1 ,对于/上的所有分区dev / xvdk(/ dev / xvdk4和5除外)
      4. 完成上述命令后,我关闭了基本操作系统,然后分离了150 GB的卷。
      5. 我创建了150 GB卷的快照,创建快照后,我从该快照中创建了一个图像(AMI)。
      6. 我使用此图片启动了一个我成功的实例,但在启动后我无法连接到该实例。
      7. 另外,2个状态检查中有1个是关于连接的错误,我无法调查哪里可能出错。
      8. 有人可以告诉我哪里出错了,还是我完全不在赛道上?

1 个答案:

答案 0 :(得分:0)

我发现了一个优雅的解决方案,它存在于AWS的知识库中。

链接位于:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/storage_expand_partition.html#expanding-partition-parted

它使用了分开的工具。

注意:您需要将卷附加到其他实例才能调整其大小。