【问题标题】:Openstack Instance does not use the entire hard diskOpenstack Instance 不使用整个硬盘
【发布时间】:2015-07-08 14:17:41
【问题描述】:

我使用“Ubuntu Server 10.04 LTS (Lucid Lynx) - 32 位”映像和具有 20 GB 磁盘 (OpenStack Icehouse) 的 m1.small falvour 创建了新的 vm 实例。当我登录到 vm 并运行 df -h 时,我发现 VM 没有使用整个分配的 HD。命令结果如下:

Filesystem            Size  Used Avail Use% Mounted on
/dev/vda1             1.4G  595M  721M  46% /
none                 1005M  144K 1005M   1% /dev
none                 1007M     0 1007M   0% /dev/shm
none                 1007M   36K 1007M   1% /var/run
none                 1007M     0 1007M   0% /var/lock
none                 1007M     0 1007M   0% /lib/init/rw

“fdisk -l”显示 DH 大小为 20 GB:

Disk /dev/vda: 21.5 GB, 21474836480 bytes
4 heads, 32 sectors/track, 327680 cylinders
Units = cylinders of 128 * 512 = 65536 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000cb9da

Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *          17       32768     2096128   83  Linux

我需要虚拟机占用分配给它的全部空间。知道我该如何解决吗?我希望将解决方案应用于我创建的每个虚拟机,因此我不想在实例化后手动更新虚拟机。我还必须使用 10.04 映像(无法升级到 14.04)

【问题讨论】:

  • mike,你能检查一下它是否运行实时操作系统吗?我的猜测是图像没有安装。
  • live os是什么意思?我没明白你的意思。你能解释一下吗?
  • 您从哪里拍摄的图像?这是iso还是.img文件?请提供有关您如何上传和安装的更多信息。因为如果您只是启动任何图像而不安装它,它将在 ram 中运行。要确认这一点,请保存任何文件,重新启动并测试。也可以通过docs.openstack.org/image-guide/content/ch_obtaining_images.html
  • 我正在使用 ubuntu 10.04 云映像 (uec-images.ubuntu.com/releases/10.04/release/…),并且我已经使用 dashboard 启动了我的实例。即使重新启动,文件仍保持在 HD 上。只是图像 HD 由于某种原因无法正确调整 openstack 的大小。

标签: openstack ubuntu-10.04


【解决方案1】:

这里的问题是图像。我抓住了那个并运行了它,运行起来很简单

sudo resize2fs /dev/vda1

这会将文件系统的大小调整为分区的大小,似乎是 2GB。除此之外,您必须增加分区大小。为此,我认为您可能最好使用virt-resize,那里有一些很好的方法,例如askubuntu,本质上:

  • SSH 到您的 openstack 控制器节点
  • source keystonerc_admin(或任何你的名字)
  • nova list --all-tenants | grep <instance_name> 或者只是从 Horizo​​n 获取服务器 guid
  • nova show <server_guid> 并注意您的机器正在哪个 nova 主机上运行。还要注意实例名称(例如 instance-00000adb)
  • SSH 到那个 nova 节点
  • virsh dumpxml instance-00000adb 并查找图像文件。在我看来,这是/var/lib/nova/instances/<server_guid>/disk,但可能并非总是如此?
  • yum install libguestfs-tools
  • truncate -r /var/lib/nova/instances/d887249a-0d95-473e-b4f2-41f71df4dbb5/disk /var/lib/nova/instances/d887249a-0d95-473e-b4f2-41f71df4dbb5/disk.new
  • truncate -s +2G /var/lib/nova/instances/d887249a-0d95-473e-b4f2-41f71df4dbb5/disk.new
  • virt-resize --expand /dev/sda1 /var/lib/nova/instances/d887249a-0d95-473e-b4f2-41f71df4dbb5/disk /var/lib/nova/instances/d887249a-0d95-473e-b4f2-41f71df4dbb5/disk.new
  • mv disk disk.old ; mv disk.new disk

注意 - 当我再次启动它时,我的并没有完全工作,还没有时间进行调查,但离那不远了,希望这会有所帮助。

一旦您设法再次启动它,您就可以将其关闭并从 Horizo​​n 创建快照。然后,您可以像使用任何其他映像一样使用该快照,并直接从那里启动所有后续 VM。

HTH。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-05
    • 1970-01-01
    • 1970-01-01
    • 2013-09-23
    • 2013-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多