我最近使用云服务的 Web 界面将硬盘从 20GB 升级到 50GB。
但是 df -h:
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 19G 47M 100% /
udev 488M 4.0K 488M 1% /dev
tmpfs 200M 264K 199M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 498M 0 498M 0% /run/shm
none 100M 0 100M 0% /run/user
显然不是 50 GB 分区。
fdisk -l 给出:
Disk /dev/vda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders, total 104857600 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
Disk identifier: 0x00064eed
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 41940991 20969472 83 Linux
Disk /dev/sda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders, total 104857600 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
Disk identifier: 0x00064eed
设备引导开始结束块 ID 系统 /dev/sda1 * 2048 41940991 20969472 83 Linux
我如何从这里继续将分区设置为 50GB 而不会丢失数据。
操作系统是Ubuntu 12.10。
更新和“解决方案” 在接受的解决方案的帮助下,我在剩余的 30GB 可用空间中创建了一个新分区,并将其安装为我最大的子目录 /var:
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 7.7G 12G 42% /
udev 487M 4.0K 487M 1% /dev
tmpfs 200M 268K 199M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 498M 0 498M 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/vda2 30G 13G 17G 43% /var
答案1
如果有只有一个分区, 做这个:
fdisk /dev/<drive>
p
- 观察当前分区。d
- 删除整个分区。n
- 创建新的主分区#1。确保它跨越整个磁盘(我已经能够接受所有默认值)a
- 使该分区再次可启动。p
- 确保它看起来像第一次打印的输出。- 如果需要,请使用
t
更改分区类型以匹配第一次打印。 - 如果一切看起来都不错,
w
写入更改。
resize2fs /dev/<drive>1
。
每次对于我的 XenServer 集群上的虚拟机,这些步骤都对我有用。
一如既往,如果有任何真正重要的数据,确保您有最近的备份。
答案2
如果您正在运行 ubuntu-cloud 映像,则默认情况下应该安装 cloud-init 软件包,它会自动为您处理此问题。