当前位置:首页 > 问答 > 正文

设置VMware虚拟机电源那些事儿,别让数据突然说拜拜了

开始)

咱们用VMware虚拟机,不管是Workstation在自己电脑上玩,还是ESXi在服务器上跑业务,最怕啥?肯定是正做着东西或者服务跑得好好的,突然一下,黑了!虚拟机断电了,这一黑,轻则刚写的文档没保存白干了,重则数据库损坏、服务中断,数据真就跟你说拜拜了,今天就来唠唠虚拟机电源设置那些关键点,怎么才能让它“睡”得安稳,不至于突然“猝死”。

第一件事:别小看“挂起”和“关机”的区别

很多人图省事,用完了虚拟机,直接点窗口右上角的叉,或者选“挂起”,这俩操作看起来都是让虚拟机停了,但背后差别大了去了。

  • 挂起:这就像给你的电脑按了“睡眠”键,VMware会把虚拟机当前所有状态——包括你打开的程序、没保存的文件、内存里的数据——原封不动地保存到硬盘上一个叫.vmem的文件里,下次启动,秒回现场,这很方便对吧?但风险也在这,这个状态文件很大(和你的内存设置一样大),如果保存过程中主机突然断电、硬盘空间不够或者出故障,这个状态文件就可能损坏,下次你就可能无法恢复这个虚拟机,导致数据丢失,挂起适合短时间离开,但不适合作为长期的“关机”方式。
  • 正常关机:这就像我们正常点击Windows的“开始”>“关机”,VMware会向虚拟机里的操作系统发送一个关机指令,操作系统自己会按流程关闭所有运行的程序和服务,把该写回硬盘的数据都写好,然后自己断电,这个过程是优雅的、安全的,虽然慢点,但能最大程度保证数据完整性。

结论就是:除非你确定很快会回来继续工作,否则老老实实让虚拟机里的系统自己关机,别贪图那几秒钟的快,而冒数据损坏的险,这是最基本也最重要的一条。

设置VMware虚拟机电源那些事儿,别让数据突然说拜拜了

第二件事:给虚拟机电源接上“UPS”(不间断电源)

这是针对运行在ESXi服务器上的虚拟机的黄金法则,服务器所在的主机机房,也不敢保证永远不停电,一旦市电断了,整个物理服务器啪嗒一下熄火,那上面跑的所有虚拟机,就等于同时被拔了电源插头,这是灾难性的。

怎么办?必须给物理主机配一个UPS,这还不算完,你得让主机知道“哦,我现在在用电池供电了”,这就需要配置主机的电源管理,在VMware ESXi里,你可以设置:当检测到市电故障,切换到UPS供电后,自动执行什么操作。

常见的策略是:让主机进入“待机”模式,UPS软件或管理卡会通知ESXi主机:“兄弟,停电了,我在用电池顶住!” ESXi主机接到信号后,会做两件事:

设置VMware虚拟机电源那些事儿,别让数据突然说拜拜了

  1. 要么,它通过vMotion技术,把上面所有正在运行的虚拟机,自动地、无损地迁移到集群里其他还有电的正常主机上去,这样业务几乎不中断,完美。
  2. 要么,如果集群里没别的主机了,它会在电池电量耗尽前,自动地对所有虚拟机执行“正常关机”操作(就是第一件事里说的安全关机),等关完后,自己再断电。

这样一来,就避免了硬关机,这就好比大楼要停电了,保安提前通知各家各户:“十分钟后停电,大家快保存工作关电脑!” 而不是十分钟后直接拉闸,这个设置,是保障企业业务连续性的生命线,根据VMware官方最佳实践文档中的建议,将主机配置为在断电时进入待机模式,是防止数据丢失的关键步骤。

第三件事:管好虚拟机的“自启动”和“自关机”

有时候服务器主机重启了,你是不是希望上面的虚拟机也能按顺序自己跑起来?ESXi服务器有这个功能,叫“虚拟机自动启动”,但这里也有坑。

你不能让所有虚拟机一窝蜂地同时启动,想象一下,一台数据库虚拟机还没完全启动好,依赖它的网站服务器虚拟机就先启动了,结果就是网站报错连不上数据库。

设置VMware虚拟机电源那些事儿,别让数据突然说拜拜了

这个自动启动功能一定要设置启动延迟和启动顺序,你可以把像数据库、基础服务这样的虚拟机排在第一位,设置它启动后等待一两分钟,再启动第二梯队的应用服务器,以此类推,这样给每个系统留出足够的启动和初始化时间,避免“连环车祸”。

同样,关机时也可以设置顺序,让依赖性强的虚拟机后关机,这个小小的顺序设置,能避免很多莫名其妙的启动故障。

第四件事:警惕“电池电量不足”的笔记本电脑

这个主要是对用VMware Workstation或Fusion的个人用户说的,你的笔记本电脑电量是有限的,如果你在户外或者没插电源的情况下全神贯注地折腾虚拟机,很可能忘了电量这回事。

一旦笔记本电池耗尽强制休眠或关机,你虚拟机面临的同样是“非法断电”的风险,养成习惯:

  • 插电玩虚拟机。
  • 如果不方便插电,时刻关注电池电量,留出足够的时间让你能从容地保存虚拟机内的工作并正常关机。
  • 可以设置笔记本的低电量报警阈值高一些,给自己提个醒。

总结一下

虚拟机的电源管理,核心思想就一个:模拟真实物理机的正常开关机流程,避免任何形式的强制断电。 无论是通过正确的操作习惯(优先正常关机)、借助外部硬件(配置UPS)、还是利用软件功能(设置启动/关机顺序),目的都是给数据一个“软着陆”的机会,别因为虚拟机是“虚拟”的,就觉得它的数据也是“虚拟”的,损失起来可是实实在在的疼,多花几分钟做对设置,就能让数据稳稳当当,告别突然说拜拜的惊吓。 结束)