如何配置VMware虚拟机电源选项以防止数据损坏
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何配置VMware虚拟机电源选项以防止数据损坏相关的知识,希望对你有一定的参考价值。
配置VMware虚拟机电源 以防数据损坏我们在不使用虚拟机的时候,常常是采用硬关机的办法,但是,硬关机可能会造成数据损坏。实际上,我们可以通过配置VMware虚拟机电源来实现虚拟机的软关机,以防数据损坏。
您是否点击过虚拟机上面的Power Off或Reset图标,仅仅是就像从物理服务器上拔出插件一样关闭虚拟机,而没有考虑过使用配置VMware虚拟机电源的方式来关闭电源?如果这样做的话,可能会造成数据破坏。
VMware基础架构客户端(VI Client:VMware Infrastructure Client)和Web Access接口都提供了可配置的电源管理选项图标,您可以配置VMware虚拟机电源,改变虚拟机关机、重新启动或者挂起的方法,在本文中将会介绍这些方法。
在虚拟机的远程控制窗口中可以看到这些配置VMware虚拟机电源选项;同样,如果选择一台虚拟机的话,在命令行部分也可以看到,如下所示。
VI Client电源管理选项:
Web Access电源管理选项:
这些电源管理选项是可以配置的,并且配合使用VMware工具可以控制在虚拟机上执行的各种各样电源管理选项的操作(关机、启动、挂起和重置)。默认情况下的电源管理选项是“硬”的,也就是说从来不考虑使用合适的方式关闭操作系统,而是直接强制移除虚拟机。“硬”关机就像是直接拔掉物理服务器上面的电源线,“硬”重置就像是拔掉物理服务器的电源线后再重新插上。
这些选项都是可以更改的,可以通过配置VMware虚拟机电源把管理和重置操作改为“软”的。这就是说通过一种更合适的方式关闭操作系统完成关机操作,或者重启操作系统执行重置操作。这正是要改变默认电源管理配置的原因。简单地讲,配置VMware虚拟机电源可以防止强行关闭虚拟机可能带来的数据毁损问题。传统的电源管理选项是VMware工具的一部分,因此如果希望使用“软”选项的话,就必须在虚拟机上安装VMware工具。如果没有安装VMware工具的话,仍然可以把这些选项设置为“软”操作,但是这些选项的执行依旧是“硬”操作。
也可以把挂起设置为“软”操作,默认状态或者“硬”挂起操作并没有挂起虚拟机的操作系统,只是保存虚拟机内存中的数据然后关闭虚拟机。当虚拟机再次启动的时候就可以回到挂起前的相同状态。由于操作系统并不能感知到挂起操作,所以“硬”挂起操作有可能带来数据毁损。另一方方面,“软”挂起可以保持虚拟机的开机状态而通过客体操作系统启动挂起操作。
默认状态下所有新虚拟机的电源管理选项都设置为“硬”操作,虽然不能够修改这些默认设置,但可以在创建虚拟机之后修改这些选项。有一重要事项需要注意:如果在远程控制台和命令行窗口中可用的电源管理选项图标和命令是可以配置的,VI客户端的右键点击菜单和主菜单以及网络接入客户端的虚拟机菜单都不受这项个性化设置的影响。以如下方式访问电源管理选项时,“硬”选项(如关闭电源)和“软”选项(如关闭客体操作系统)都是可用的:
如果使用VI客户端改变虚拟机的电源管理选项,就必须首先关闭虚拟机,再编辑虚拟机的设置。然后在“选项”标签页上选择“虚拟机工具设置”,如下所示:
在电源控制部分可以把关闭电源操作修改为关闭客体操作系统,也可以把重置操作改为重启客体操作系统。这些选项可以以一个“软”的、更合适的方式关闭操作系统,而不是“硬”关机。这些选项的设置保存在每台虚拟机的.vmx配置文件中。当然也可以通过直接编辑.vmx文件修改这些选项,但是必须关闭虚拟机,才可以重写这些修改。
使用VI客户端不能把挂起设置为“软”操作,修改挂起设置的唯一方式就是通过编辑.vmx文件或者使用VI工具包(PowerShell)。修改之后返回到VI客户端重置编辑设置,就可以看到一个名字为“保持客体机备用(Put Guest on Standby)”的挂起选项,可以通过客体操作系统启动挂起操作。如下是.vmx文件中电源控制四个设置:
powerType.powerOff = "soft"
powerType.powerOn = "default"
powerType.suspend = "default"
powerType.reset = "soft"
如果工作环境中有大量虚拟机,逐个做修改就比较麻烦并且也比较耗时。幸运的是可以使用简单的PowerShell函数一次性修改多个虚拟机的配置,在at peetersonline.nl上可以找到Hugo Peeters写的这个功能。该函数只修改了电源关闭操作,并不涉及重置和挂起操作,因此我又对此增加了单独的函数。所有的函数都要检查这些操作是否已经设置为“软”操作,如果是的话,就没有必要修改。这种方法的一个优点就是可以在虚拟机运行时完成,而使用VI客户端方法必须要关闭虚拟机。
按照以下步骤使用这些函数:
输入如上代码,以.ps1为扩展名保存文件;
启动VMware工具箱;
输入一个点和一个空格,然后输入所保存的psl文件名(如c:\powershell\powersoft.ps1),点或空格保证在脚本运行后可以使用该函数;
为要修改电源管理选项的虚拟机名字设置一个变量。PowerShell中的变量以点开始,后面是变量的名字。这个变量可以指向单个、多个或者所有虚拟机:指向单个或者一个虚拟机,使用如下形式:$variable name=GetVM "VM name1", "VM name2"等 (如 $MyVMs=GetVM "Orange", "Green");指向所有虚拟机,使用如下形式:$variable name=GetVM。设置变量之后,在PowerShell命令行通过变量名字可以检查其设置;
定义目标虚拟机之后,输入函数名和变量名(如Set-SoftReset $MyVMs)运行对虚拟机默认设置的修改。
如下所示是一个简单的PowerShell会话:
下图显示的是修改虚拟机默认设置的函数运行之后,虚拟机在电源管理选项的设置情况:
点击电源管理选项图标就可以通过显示的确认信息了解其将是一个“软”操作还是一个“硬”操作。例如,如果把重置设置为“软”操作,则就会看到如下消息:
如果是一个“硬”操作的话,将会看到如下消息:
如上所示,使用PowerShell可以轻松地一次性修改很多虚拟机的电源管理选项设置。需要注意的是修改这些设置仅仅影响到远程控制台图标和命令行窗口;仍然可以通过菜单强制执行关机和重置操作。把这些选项修改为“软”操作可以很好地排除意外的“硬”关机带来的虚拟机客体操作系统内部的数据信息毁损。这种配置VMware虚拟机电源得方法很有效,大家可以照着这些步骤试着来配置VMware虚拟机电源,看一看能否达到良好的效果。 参考技术A 重新安装后不要自己设置 建议使用默认设置 上边自动就打开电源
VMware虚拟机配置文件(.vmx)损坏修复
前言:
对于VMware虚拟机配置文件(.vmx)损坏
大家发生故障的原因可能跟我不一样,可是解决方法应该是一样的.
可是本方法仅适用.vmx文件损坏而其它文件完善无损的情况。
近期一直在研究hadoop,今天刚搭建完HBase。用的时候就感觉速度非常慢,结果在运行HBase shell的时候,卡住不动了。然后就报错了错误信息...忘记了内容了...然后虚拟机就崩溃了。然后这个虚拟机再也打不开了,提示我的.vmx文件已损坏。
VMware虚拟机中使用.vmx文件保存虚拟机的全部软硬件配置。假设意外损坏的话将会出现不能正常打开虚拟机的故障.
我的情况:
vmware版本号是10,
虚拟机是linux系统:CentOS release 6.4
.vmx文件名称为:CentOS.vmx
查看日志文件:
打开虚拟机文件夹下的vmware.log文件
我在log日志最后部分。发现了以下这两句话。
....................................................................................................................................
2014-11-01T21:51:09.100+08:00| vmx| W110: Minidump failed: There is not enough space on the disk
2014-11-01T21:51:09.137+08:00| vmx| I120: CoreDump error: Write, page 0x113 (0xffffffff) No space left on device
....................................................................................................................................
显而易见,是磁盘空间不足,导致写数据的时候出错了。终于导致配置CentOS.vmx出错。
解决思路:
1.将.vmx文件删除(别删错了!!!),然后新建一个相同名字的.vmx文件,我的是CentOS.vmx;
2.找到“ DICT --- CONFIGURATION”(前面是日期和时间的信息);
3.找到“ DICT --- USER DEFAULTS”(前面是日期和时间的信息);
4.将这两行的之间的数据复制出来(上面提到的两行不须要复制);
5.黏贴到.vmx文件(我的是CentOS.vmx)中。
6.删除CentOS.vmx文件里全部行的前边的日期时间标志,仅保留后面的信息,比如:
2014-11-01T20:50:32.963+08:00| vmx| I120: DICT config.version = "8"
将“2014-11-01T20:50:32.963+08:00| vmx| I120: DICT”部分删除,仅仅保留config.version = "8"。
ps:假设你自己不知道简单的删除列的方法。我推荐使用NotePad++,按出Alt,就能够选择列,然后将表示时间的标志的列所有删除。
然后全选,Tab+Shift能够将所有内容左移。最后让前面的空格所有去除。达到日志信息左对齐的效果。
7.照上边格式所有改动,然后给所有行的等号后的字符加上英文双引號(注意不要使用中文输入法的双引號)
比如:config.version = 8 改为config.version = "8"
假设你跟我一样,已经有英文双引號,就不须要加入了;
8.保存.vmx文件(CentOS.vmx)。
9.又一次打开.vmx文件(CentOS.vmx);
10.OK,启动虚拟机。
最后附上,改动过的CentOS.vmx文件的部分内容(首+尾,中间省略了):
...........................................................................
config.version = "8"
virtualHW.version = "8"
scsi0.present = "TRUE"
scsi0.virtualDev = "lsilogic"
memsize = "256"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "CentOS-000010.vmdk"
ide1:0.present = "TRUE"
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "cdrom-raw"
floppy0.startConnected = "FALSE"
virtualHW.version = "8"
scsi0.present = "TRUE"
scsi0.virtualDev = "lsilogic"
memsize = "256"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "CentOS-000010.vmdk"
ide1:0.present = "TRUE"
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "cdrom-raw"
floppy0.startConnected = "FALSE"
.
.
.
checkpoint.vmState.readOnly = "FALSE"
gui.lastPoweredViewMode = "fullscreen"
ide0:0.present = "FALSE"
usb:0.present = "TRUE"
usb:0.deviceType = "hid"
usb:0.port = "0"
usb:0.parent = "-1"
gui.lastPoweredViewMode = "fullscreen"
ide0:0.present = "FALSE"
usb:0.present = "TRUE"
usb:0.deviceType = "hid"
usb:0.port = "0"
usb:0.parent = "-1"
...........................................................................
以上是关于如何配置VMware虚拟机电源选项以防止数据损坏的主要内容,如果未能解决你的问题,请参考以下文章
vmware player虚拟机装ubuntu,启动后界面显示不全