zoukankan      html  css  js  c++  java
  • 内网esxi磁盘空间不足导致虚拟机宕机

    内网esxi磁盘空间不足导致虚拟机宕机

    一、问题引入

      周一上班的时候,发现公司内网的戴尔服务器上(前人装的ESXi系统,里面有很多个虚拟机),好几个虚拟机异常关机了。点击重新开机,有以下报错提示:

    选Retry是没用的,选Cancel,才有可能开机,为啥叫可能,因为有一些空间占用多的虚拟机不一定能开机,会一直重复这种报错。

    二、问题研究及解决

      检查ESXi 主机上的磁盘空间,1.81TB的空间只剩13.21GB了。然后不由得想起上周一直忙k8s版本的升级(从1.10一步步升级打怪到1.19),不停地打快照保存测试好的版本,以防万一恢复环境。

         删掉快照,是最不用动脑子且快速的解决方法!

      然而,效果并不理想(释放的空间并不多),虽然已能确保所有虚拟机器都能启动起来,但无疑为将来埋下地雷,只能干吧~~从根源解决问题。

      公司是用VMware-Sphere虚拟化平台去管理虚拟机的。这个平台可以开启esxi 的 ssh连接,具体大家可以百度下。我是通过某台同网段的虚拟机ssh跳过去的,因为不知道为啥,CRT直接输入连接信息,一直不让连,说要提供密钥文件。

      连上去看到的磁盘空间确实剩余不多

      

       关于vmware的问题,老实说,找到的国人可参考文章非常少,所以开了个网易词典,不断看翻译了解怎么释放虚拟磁盘空间。

             这篇文章是比较靠谱的,什么原理和解决方法都说了:

     

      但到了这一步,可能是我理解能力有问题。遇到一些坑:手贱滴试过删掉这行描述,也改过容量大小,然后莫名其妙不见了vmx文件,只能新建虚拟机读原磁盘目录,发现起不来,最终报废了我的一台爱机(装了个宝塔+mysql5.7),幸好我早就做好这机器得为革命事业奉献的准备。不然不处理,以后也是一大祸患!像这样

      问题解决:

       死了一台爱机,只能重建一台全新的linux机器进行测试,装了个nginx,然后上传了一个测试文件(最大限度模拟其他虚拟机环境)

      首先需要关机,不然会给你提示:Failed to lock the file (16392) 【爱机生前最后一张遗照= =,纪念下它为人类革命奉献了生命】

     

     最终问题解决,还需要结合这篇文章进行参考(比较详细):http://blog.faq-book.com/?p=6141

    下面这个是我新建的机器:test-0413,给了40G硬盘空间,厚置备延迟置零

    整个虚拟机目录文件如下:

    1、备份文件:test-0413.vmx(非必要)
    之前就是因为这个文件没了,导致我的爱机牺牲,所以以防万一。
    cp  test-0413.vmx  /tmp/
     
    2、硬盘格式Thick 转换成Thin:
    vmkfstools -i test-0413.vmdk -d thin test-0413_new.vmdk

    对比下效果图:

     

    原来thick硬盘40G:

    3、修改原本 Thick 格式的 test-0413.vmdk 和 test-0413-flat.vmdk 档案名称

    ~ # mv test-0413.vmdk  test-0413.vmdk-thick.vmdk
    ~ # mv test-0413-flat.vmdk  test-0413-flat-thick.vmdk 
    4、再来修改转换后 Thin 格式的 test-0413_new.vmdk 和 test-0413_new-flat.vmdk 档案名称
    ~ # mv test-0413_new.vmdk test-0413.vmdk
    ~ # mv test-0413_new-flat.vmdk test-0413-flat.vmdk
    5、修改文件:vi test-0413.vmdk
    修改 # Extent description 名称,其他保留,不要添加或删除任何东西!!!
    RW 后面这个大小:83886080,是在源文件:test-0413.vmdk 上标有的,改了大小反而起不来
    (第3步已改名为:test-0413.vmdk-thick.vmdk)
    。。。
    # Extent description
    RW 83886080 VMFS "test-0413-flat.vmdk"
    。。。

     6、验证一致性:

    vmkfstools -e test-0413.vmdk
     
     
    7、开机正常后,删除thick格式的档案
    rm -rf test-0413-flat-thick.vmdk test-0413.vmdk-thick.vmdk
     
     最终效果图:

     

     

  • 相关阅读:
    android debug:stack trace
    android binder IPC 通信中 asInterface 与 asBinder
    ubuntu WPS 对话框 使用GTK主题的方法
    init.rc
    make_ext4fs 文件权限控制
    百度地图api,点击标注,改变标注marker图标的链接地址
    dispatchEvent 自定义触发事件,常用于自定义鼠标事件或点击事件
    vue 中监听窗口发生变化,触发监听事件, window.onresize && window.addEventListener('resize',fn) ,window.onresize无效的处理方式
    chomre 控制台断点调试
    css,scss解决样式:表格的重叠边框
  • 原文地址:https://www.cnblogs.com/windysai/p/14672398.html
Copyright © 2011-2022 走看看