无法调整AWS EBS根卷的大小或创建更大的交换分区

时间:2015-05-22 14:15:33

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

我有一个Amazon Web Services EC2 Debian 8.0实例,其弹性块存储(EBS)卷为35GB。 fdisk正确显示大小但我的根分区仍然是7.8G,虽然我试图执行resize2fs。

root@ip-10-0-3-164:/home/admin# fdisk -l

Disk /dev/xvda: 35 GiB, 37580963840 bytes, 73400320 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x7d936f86

Device     Boot Start      End  Sectors Size Id Type
/dev/xvda1 *     4096 16773119 16769024   8G 83 Linux

root@ip-10-0-3-164:/home/admin# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.8G  2.1G  5.3G  29% /
udev             10M     0   10M   0% /dev
tmpfs           200M  4.3M  196M   3% /run
tmpfs           500M     0  500M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           500M     0  500M   0% /sys/fs/cgroup

root@ip-10-0-3-164:/home/admin# resize2fs /dev/xvda1
resize2fs 1.42.12 (29-Aug-2014)
The filesystem is already 2096128 (4k) blocks long.  Nothing to do!

root@ip-10-0-3-164:/home/admin# fdisk /dev/xvda

Welcome to fdisk (util-linux 2.25.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/xvda: 35 GiB, 37580963840 bytes, 73400320 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x7d936f86

Device     Boot Start      End  Sectors Size Id Type
/dev/xvda1 *     4096 16773119 16769024   8G 83 Linux


Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (2048-73400319, default 2048): 2048
Last sector, +sectors or +size{K,M,G,T,P} (2048-4095, default 4095): 

Created a new partition 2 of type 'Linux' and of size 1 MiB.

Command (m for help): p
Disk /dev/xvda: 35 GiB, 37580963840 bytes, 73400320 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x7d936f86

Device     Boot Start      End  Sectors Size Id Type
/dev/xvda1 *     4096 16773119 16769024   8G 83 Linux
/dev/xvda2       2048     4095     2048   1M 83 Linux

Partition table entries are not in disk order.

Command (m for help): t   
Partition number (1,2, default 2): 2
Hex code (type L to list all codes): L

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
 1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
 5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    
 6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary  
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep        
1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT            
1e  Hidden W95 FAT1 80  Old Minix      
Hex code (type L to list all codes): 82

Changed type of partition 'Linux' to 'Linux swap / Solaris'.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

root@ip-10-0-3-164:/home/admin# fdisk /dev/xvda

Welcome to fdisk (util-linux 2.25.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/xvda: 35 GiB, 37580963840 bytes, 73400320 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x7d936f86

Device     Boot Start      End  Sectors Size Id Type
/dev/xvda1 *     4096 16773119 16769024   8G 83 Linux
/dev/xvda2       2048     4095     2048   1M 82 Linux swap / Solaris

Partition table entries are not in disk order.

如您所见,resize2fs没有效果。我也无法创建一个空间大于1M的交换分区。

我的所有实例都会出现此问题。虽然它们都有30-35GB的EBS卷,但我无法调整它们的大小,它们仍然保持在8GB。 当我附加一个额外的卷除了根安装的卷之外,它工作正常。

你能帮助我吗?

4 个答案:

答案 0 :(得分:1)

取消附加xvda的卷。将其附加到另一个实例,但不要将其安装在卷上。然后使用fdisk删除第一个分区,并使用所有可用空间重新添加它。设置可引导标志并确保文件系统类型仍为83.写入fdisk分区表并退出fdisk。 在新的第一个分区

上运行e2fsck和resize2fs

从其他实例中取出磁盘并将其重新附加到原始实例。

当原始实例使用修改后的卷重新启动时,您应该看到35GB

这样做的原因是你无法修改正在运行的附加根磁盘的分区表

所有这些内容都在aws文档中详细介绍

答案 1 :(得分:1)

在Debian 8上使用resize2fs调整分区大小AWS EC2 + EBS上的Jessie无效。

我的解决方案是为此手动创建一个单独的卷。

我将在这里逐步添加手册如何做。

首先备份您的实例,创建Image AMI或Snapshot Volume。

创建图像。 Creating Image step 1

Creating Image step 2

或创建快照。

Creating Snapshot step 1

Creating Snapshot step 2

现在让我们创建一个Debian 8实例,只是为了重新分配你需要的音量。

New instance Debian 8.

完成创建实例的所有步骤,直到它开始。

使用ssh访问实例。

以root身份登录。

sudo -i

现在让我们设置source.list能够安装&#39; parted&#39;。

pico /etc/apt/sources.list

并使用。

更新文件
##########################################################################
deb http://cloudfront.debian.net/debian jessie main contrib non-free
deb-src http://cloudfront.debian.net/debian jessie main contrib non-free

deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free

deb http://cloudfront.debian.net/debian jessie-updates main contrib non-free
deb-src http://cloudfront.debian.net/debian jessie-updates main contrib non-free

deb http://cloudfront.debian.net/debian jessie-backports main contrib non-free
deb-src http://cloudfront.debian.net/debian jessie-backports main contrib non-free
##########################################################################

运行apt-get。

apt-get clean && apt-get update && apt-get upgrade

现在让我们安装parted。

apt-get install parted

现在停止创建实例。

enter image description here

现在,让我们从您创建的快照备份中创建一个卷。

注意:在此处通知所需分区总数的大小。

enter image description here

enter image description here

在/ dev / sdf中添加卷

enter image description here

enter image description here

现在启动实例。

enter image description here

使用ssh访问实例。

以root身份登录。

sudo -i

检查分区

df -h

lsblk

你会看到这样的输出。

NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /
 xvdf    202:80   0  40G  0 disk
└─xvdf1 202:81   0   8G  0 part

带40G的xvdf和带8G的xvdf1。

现在让我们在volume / dev / xvdf上运行parted。

parted /dev/xvdf

在分手中。设置单位。

(parted) unit s

打印分区信息以查看。

(parted) print

你会看到这样的输出。

Model: Xen Virtual Block Device (xvd)
Disk /dev/xvdf: 83886080s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start  End        Size       Type     File system  Flags
 1      1s     16777215s  16777215s  primary  ext4         boot

删除分区。 (这不会删除数据,以后会检索数据。)

(parted) rm 1

现在我们将新分区从开始1s挂载到卷的100%结尾。

(parted) mkpart primary 1 100%

 Warning: The resulting partition is not properly aligned for best performance.
 Ignore/Cancel? : Ignore

打印分区信息以查看。

(parted) print

你会看到这样的输出。

Model: Xen Virtual Block Device (xvd)
Disk /dev/xvdf: 83886080s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start  End        Size       Type     File system  Flags
 1      1s     83886079s  83886079s  primary               lba

现在将分区设置为可启动。

(parted) set 1 boot on

并完成分手。

(parted) quit

忽略信息打印。

Information: You may need to update /etc/fstab.

检查分区

lsblk

你会看到这样的输出。

NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /
xvdf    202:80   0  40G  0 disk
└─xvdf1 202:81   0  40G  0 part

现在看到xvdf和xvdf1的大小为40G。 \ O /

现在我们只需要制作e2fsck来检查和索引数据。

注意:e2fsck可能需要很长时间才能完成检查。你应该等待。

e2fsck -f /dev/xvdf1

你会看到这样的输出。

e2fsck 1.42.12 (29-Aug-2014)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/xvdf1: 208603/524288 files (0.2% non-contiguous), 1918667/2097151 blocks

分区一切都好。

现在进行分区的快照备份,就像我们在开始教程中所做的那样。

创建创建快照的新卷,然后添加原始实例。

请记住先停止实例。

删除旧卷实例并添加新卷实例。

附加到(/ dev / ****)原文,我的情况是/ dev / sda。 Atachedd/dev/sda

启动实例并准备就绪!调整分区。 \ O /

答案 2 :(得分:1)

忘记其他答案。我花了3天时间找出根本原因和一个简单的解决方法:

https://serverfault.com/questions/748063/debian-8-ami-only-using-8gb-partition

答案 3 :(得分:0)

稍微复杂一些,假设您只有一些容易识别的“太大”目录树块(例如/opt/var/log)将创建文件系统(s )在未分配的28GB上,使用rsync将工作文件复制到新文件系统,并擦除过时的文件(释放磁盘空间),将新文件系统安装到其位置(当然,通过编辑/etc/fstab)。

如果对/var/log执行此操作,则必须在迁移文件后立即重新启动,因为系统仍引用原始文件。当然,您可能希望在测试机上练习该过程。

如果亚马逊的根卷使用LVM,那将会简单得多。