VM Failed to extend swap file from 0 KB to 12582912 KB解决方案

10900阅读 0评论2015-03-19 yingao163
分类:服务器与存储

原文来自 @忆雨林枫  http://blog.itpub.net/27099995/viewspace-1316127/
因为自己也碰到了 这里做个记录

2014.10.31 十月的最后一天

     刚刚系统开发要求添加一个20G表空间。在查看系统磁盘空间大小后,在SQLPLUS中输入建表空间命令,但是好久都没有反应。CRT卡主了。
尝试再次连接的时候,连接直接断开了。迅速意识到,系统down了。
登上虚拟机里面,发现该虚拟机已经断电状态。而且报出如下错吴


      以为是磁盘,但是自己明明检查过磁盘够用,而且就在昨天还给系统把机器剩余的磁盘都给了它。有470G。
由于是第一次遇见,还是比较棘手。因为系统里面的数据库没有任何备份。
于是叫来公司其他的DBA,以及开发负责人。同事请教一个系统工程师的网友。
但是dba同事和网友也都没有办法。没办法只能自己解决,网上有类似的,但是看了几个博客后也不是自己的情况。

思路:
错误显示swap提示交换分区空间不够用。一般情况下系统的swap大小跟系统的内存大小相关,同时跟磁盘剩余大小有关。
于是我在想,把虚拟机的内存调小,再来启动虚拟机。这样的话需要swap就会变小。不管怎么样先把系统拉起来,把数据备份出来。

解决步骤:
1、于是我把虚拟机的内存调到原来的一半。启动电源。结果虚拟机启动了。
2、顺利进入系统,接着启动数据库,都没事。

解决方法二:
这种我没有尝试,但是我想也会成功的。
1、我是在昨天添加物理机剩余的磁盘给虚拟机。
2、虚拟机在运行的时候,由于内存不足,于是使用swap,但是此时的swap需要磁盘空间来充当,可以恰巧我的磁盘已经分给了虚拟机系统。于是报错,无法申请到足够的swap。
3、删掉一个足够大小的虚拟机磁盘,或者磁盘快照文件,或虚拟文件。预计大小只是是虚拟机内存的一倍,这个没有测试,当然越大越好
4、启动虚拟机。如果还想添加磁盘,那么就要保留部分磁盘给物理机充当swap使用。
上一篇:HP-DL360服务器启动缓慢 报usb 6-1 device discriptor read/64 error -110错误
下一篇:Linux硬链接与软链接