我使用" Ubuntu Server 10.04 LTS(Lucid Lynx)创建了新的vm实例 - 32位"图像和具有20 GB磁盘的m1.small falvour(OpenStack Icehouse)。当我登录到vm并运行df -h时,我发现VM不使用整个分配的HD。命令结果如下所示:
npm install -g cordova
" fdisk -l"显示DH大小为20 GB:
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
我需要vm来分配给它的全部空间。知道我怎么能解决它?我希望解决方案应用于我创建的每个vm,因此我不想在实例化后手动更新VM。我也必须使用10.04图像(不能upgrdate到14.04)
答案 0 :(得分:1)
这里的问题是图像。我抓住了那个并运行它,运行
非常简单 sudo resize2fs /dev/vda1
将文件系统的大小调整为分区大小,似乎是2GB。除此之外,您还必须增加分区大小。为此,我认为你可能最好使用virt-resize
,那里有一些很好的方法,例如: askubuntu,实质上是:
source keystonerc_admin
(或任何你的名字)nova list --all-tenants | grep <instance_name>
或者只是从地平线抓取服务器guid nova show <server_guid>
并注意您的机器正在运行的新星主机。另请注意实例名称(例如instance-00000adb)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
NB - 当我再次启动它时,我的工作不太顺利,没有时间进行调查,但距离它还不远,希望这会有所帮助。
一旦你设法再次启动它,那么你可以关闭它并从地平线创建一个快照。然后,您可以像使用任何其他映像一样使用该快照,并直接从那里启动所有后续VM。
HTH。