搜档网
当前位置:搜档网 › VMware脚本(PowerCLI)管理手册

VMware脚本(PowerCLI)管理手册

VMware脚本(PowerCLI)管理手册
VMware脚本(PowerCLI)管理手册

VMware脚本与命令(PowerCLI)管理手册

VMware脚本与命令(PowerCLI)管理手册

由于VMware是个成熟的虚拟化平台,所以它拥有几个自带的和第三方的管理选项。图形用户界面GUI提供了直观的、概念上的管理VMware环境的方式,但这些对于大型或者重复的任务来说就略有不足。如大量贮藏和虚拟机配置这些任务最好使用VMware脚本和命令套件。在本期虚拟化技术手册中,我们将详细介绍VMware脚本和命令工具,如PowerShell与PowerCLI,以便有效监控VMware环境。

PowerCLI入门

VMware管理任务是一项耗时和易出错的工作。但是vSphere PowerCLI的扩展,可以帮助管理员完成一些控制工作。本部分将探究VMware脚本工具PowerCLI的概念以及其中五个比较重要的脚本。

如何使用VMware vSphere PowerCLI?

五大必备vSphere PowerCLI脚本

PowerCLI使用与管理

如果您刚刚开始应用PowerCLI管理VMware环境,需要学习的内容很多。首先,最常见和最重要的cmdlets是Get-VM。那么它该如何使用?如何设置能自动化主机服务器任务呢?要创建host profiles,PowerCLI能做些什么?这部分中,我们TecgTarget中国的特约作者Hal Rottenberg将详细介绍PowerCLI的使用与管理技巧。

掌控PowerCLI:使用Get-VM来管理虚拟机

使用PowerShell与PowerCLI自动化主机服务器任务

跳出框外巧解PowerShell与PowerCLI难题

如何使用vSphere PowerCLI创建host profiles?

在vSphere PowerCLI PowerShell界面使用host profiles

PowerCLI技巧

如何把VMware PowerCLI脚本功能应用到VMware SRM(Site Recovery Manager)恢复计划中?如何借助PowerCLI配置标准交换机?本部分将给出解决方法与步骤。

如何用VMware PowerCLI脚本来定制SRM恢复计划

VMware管理员必备:借助PowerCLI配置标准交换机

VMware脚本和命令

无论是使用VMware ESX还是ESXi,VMware命令行和脚本——如vMA、Power CLI和vSphere Health Check——都可以辅助配置虚拟机、更好地管理VMware vSphere基础架构和通过命令行自动完成管理工作。

最佳免费的VMware脚本和命令行工具介绍

ESX与ESXi管理员必备25个命令

如何使用VMware vSphere PowerCLI?

尽管我要再次申明乏味的VMware管理任务是一项耗时和易出错的工作。但是vSphere PowerCLI的扩展,可以帮助管理员完成一些控制工作。在这篇文章中,TechTarget中国

的特约虚拟化专家Hal Rottenberg将探究VMware的这个脚本工具是如何帮助我们自动地完成管理任务的。

作为一名拥有多年经验的系统管理工程师,我认为,管理员的主要工作(除了那些没有显示屏也不需要人员值守的环境)就是通过移动鼠标或者在键盘上键入指令来完成人机交互的过程。您可能此时会有疑问,这有什么问题吗?我要告诉你的是,这会导致很多的问题发生。首先,阐明几件作为VMware管理员都会面对的事情。

?我们的工作需要非常的细致

?重复工作会导致人为错误发生,而且

?无论您的输入速度多么快,计算机总是更快

我想以上的这些情况是大家都认可的事实,无论在什么情况下,作为一名计算机用户都要面对的操作。和我们需要完成的任务是什么而无关,对吧?接下来让我们回到之前的假想环境来说明为什么这个问题会困扰我们。需要指出的,最关键的一点是由于自动化或者是缺少自动化而引起的。

为什么是自动化?

人类创造了计算机用于解决问题。通常讲,您的工作是基于其他的开发者进行的(开发者很多时候也是问题的创造者,他们发现了问题,但没有让问题一直遗留)。开发人员希望通过提供底层的指令系统来解决问题,同时提供给上层使用者一个更高层的和计算机交互的接口和工具。我知道这些都是最基本的理论,请跟着我的思路继续。

有一个非常流行的设想:系统管理员所需要的,仅仅是最上层的接口程序,所有的内脏都隐藏在那些漂亮的图形界面接口(GUI ,graphical user interfaces )后面。例如,让我们以vSphere client来举例说明。我喜欢这个应用,因为它可以很好的工作并

解决问题。但是如果您需要改变十二台虚拟机的端口设置时我们需要怎么完成?让我来为您做一道算术:每台虚拟机的设置需要点击六次鼠标,总共需要重复这个无聊的鼠标点击动作72次。这种无聊的重复过程可能并且经常会导致人为错误的发生。无论您点击得有

多快,都需要有您的眼睛跟踪GUI控制界面的时间和通知您的大脑把鼠标移动到正确地点的时间。所有的这些工作如果某次点击出现了几个象素的偏差,可能会使您选择一个错误的网络。

我想说到这里您应该明白我想说什么了。我有更好的解决办法,当然,那就是通过PowerCLI 实现。

什么是PowerCLI

让我们来假设,此刻,您不是什么Perl语言的狂热爱好者(开个玩笑)。总之,如果您现在用Perl来管理您的vSphere环境,您可能比较难以想象自动化,在使用脚本语言时的重复过程,这当然很好。我将呈现给您的将是一种简短和便捷的操作方式,所以请继续往下读。

在开始讲述PowerCLI之前,我们必须首先了解关于PowerShell的一些内容。PowerShell是一种由微软设计开发的,面向对象的脚本语言程序和命令行shell,用于取代VBScript和以前的CMD.EXE程序;它是面向对象的(什么是对象,稍后讲述);它是一种和其他面向对象系统(如:虚拟架构)建立连接的非常有效的方式。一台虚拟机就是一个对象,也是一个主机。和VBScript不同,PowerShell是一个shell,也就是说您可以运行它并且直接通过它发布命令。

但是,更重要的是,PowerShell是一个脚本语言。脚本语言和程序语言类似,我们通过文本的形式提供指令,然后计算机运行它并完成您需要的工作。脚本语言又与程序语言不完全相同,脚本语言相比而言是一种更高层次的计算机交互方式,所以程序员可以较少地关注那些理论上的概念。换句话说,脚本语言位于程序语言和图形界面之间。同样的,它也是两者之间的粘合剂,或者是在一个复杂的IT系统环境中的位于两者之间的中间层。(PowerShell可以比作是饭后的甜点,或者是地板上打得蜡。)

好了,背景故事已经讲了不少!PowerCLI是PowerShell的扩展。PowerCLI 内部带有165个cmdlets(读作command-lets),它们每一个都是一个独立的可以分解为字节大小的vSphere管理任务。Cmdlets使用了一些简短的逻辑词条的名称,以便于人们学习和使用。接下来让我来简单展示一下。

Show me the money

让我们先来简短地通过这个核心短语来理解“面向对象”的含义。对象指的是像汽车、房子和虚拟机等等这样的物品。对象是由其他部分所组成的,例如方法和属性。举例来说,方法指的是“加速汽车”,“打开房门”和“启动虚拟机”这样的操作。属性指的是:“320马力”,“5个房门”和“2GB内存”这样的一些问题。好的,现在是否依然还跟我的思路继续?

PowerCLI的一个简单的例子就是,Get-VM cmdlet,一个事实上非常有用的命令。下面是这个命令下达后的执行情况:

点击图片本身放大

或许您已经猜到,如果不先跟vSphere环境连接并且通过认证,是无法和vSphere交互的。这个过程是由Connect-VIServer cmdlet所掌控的。这里我不再演示命令执行后的情况,这个cmdlet将提示您输入认证证书。

在连接建立之后,我输入Get-VM命令而不带任何参数。“Get”在这个短语中是动词的角色,它的意思是从某处获得某个对象。“VM”是cmlet命令中的名词部分,当然它指代的就是所面对的虚拟机。结果理解起来相当的简单,当然,这也是PowerShell的标

志。您可以看到一个带有标题的列表在屏幕上显示,如果您曾经在虚拟机环境中工作过,我想这些参数特性都是一目了然的,所以我不再进一步对该命令的细节做说明。

对于每一行文字而言,它不仅仅代表字面的意思,更多的是表示一个对象。在这个例子中,我们所讨论的对象就是虚拟机。但是PowerShell的这个规制还适用于任何其他对象,当我们讨论FileInfo时对象是文件系统,或者是虚拟机,也可能是主机服务器或任

何其他的东西。

最后所提到的,在某些情况对象可以指代任意东西,这个课题确实非常大,所以我对它的讲述到此为止。同时,我希望您已经获得关于PowerCLI足够多的内容,使您已经产

生兴趣并将继续学习使用它。我也希望你可以同意我的观点:关于自动化是将来唯一的发展方向。所以如果您和您的小组还没有搭上这个潮流班车,我想现在这是个很好的切入契机。我接下来的系列将继续讲述有关内容,所以请保持关注。

下载PowerShell,访问微软的PowerShell站点。同样,要获得PowerCLI,请访问VMware的PowerCLI站点。

(作者:Hal Rottenberg 译者:李哲贤来源:TechTarget中国)

原文标题:如何使用VMware vSphere PowerCLI?

原文链接:https://www.sodocs.net/doc/c66903055.html,/showcontent_27966.htm

五大必备vSphere PowerCLI脚本

VMware vSphere PowerCLI是一个可以帮助虚拟化管理员创建脚本的命令行工具,它可以在vSphere环境中自动执行管理员任务而且无需更多人为参与。

PowerCLI指代Microsoft PowerShell,是一个在很多数据中心产品中普遍存在的面

向对象的脚本语言和命令行编辑器,如Microsoft Windows、Exchange和 SQL servers中都有。PowerCLI可以通过如下方式自动执行管理员任务:

?cmdlets,系统动作或指令

?脚本,一组cmdlet指令及其关联关系

?可执行文件,独立的应用程序,以及

?.NET类

借助vSphere PowerCLI,通过由165个VMware专用cmdlets组合形成脚本,IT管理员可以自动执行所有的虚拟环境相关管理任务。对于虚拟化管理员而言,脚本无疑是非常实用的,因为它可以无需人为参与执行进程(这样可以释放IT管理员去做其它工作),

而且在资源紧张的环境中可以用于规划在非高峰期完成某些任务,在执行大量重复性的烦杂工作时还可以避免人为错误的发生。

在熟悉了PowerCLI的使用之后,如下五个脚本是您必备的:

一、vCheck (Daily Report) V3Alan Renouf制作

想象一下您可以在喝早咖啡的时候顺便查看一下关于虚拟环境的详细报告。通过Alan Renouf制作的这个流行脚本,可以每天自动生成虚拟环境概要的报告并发送到您的收件箱。

除了可以列举出宿主机、虚拟机、集群数量和数据存储量以外,新版的vCheck还可

以显示出虚拟机动作警报、废弃的SCSI LUN等更多内容。

二、Who created that VM?Alan Renouf制作

您是否遭遇过虚拟机在数据中心蔓延的情况,或者您无法跟踪到是谁在创建虚拟机?现在您无需采用那些诸如撤消管理员权限等的极端方式来解决问题,使用“who created that VM?”脚本可以解决。

通过为每个虚拟机添加定制字段,这个PowerCLI脚本可以在虚拟机的注释中提供关

于每个虚拟机的创建者和创建日期等信息。另外,您还可以使用这个脚本来查询一个月内创建的虚拟机数量,并把这些信息输出形成清单。

三、vSwitch port overview Hugo Peeters制作

在迁移过程中,VMware VMotion并不会检查新的宿主机是否有足够的可用虚拟交换机端口。更为糟糕的是,如果端口不够用,VMotion依然会完成迁移过程而且不会向用户报警。因此结果就会导致虚拟网卡失去连接。

因此,每个vSwitch上必须保留足够的端口来满足可能会从其它主机上发生故障切换迁移过来的虚拟机的额外需求。为了检查每个vSwitch使用的端口数,可以运行这个PowerCLI脚本,然后对虚拟交换机进行适当地调整。

四、Report into Microsoft Word Alan Renouf制作

该脚本不仅可以生成整个虚拟环境的报告,而且还会把结果写成微软的Word格式,

并生成彩色的曲线图和饼状图。更进一步,该PowerCLI脚本很容易进行定制化,用户可

以根据需求进行信息裁剪。这个脚本用于生成一个直观地、易于理解的报告给老板汇报也非常方便。

五、Customizing Site Recovery Manager plans Mike Laverick制作

对于虚拟化管理员而言,结合PowerCLI和SRM(Site Recovery Manager),可以在灾难恢复的过程中提供更高级别的自动化。

在这篇文章中,Mike Laverick揭示了如何在SRM服务器上运行PowerCLI,并且给出一个脚本可以用于减少虚拟机在恢复过程中所需的内存数量。

关于VMware vSphere PowerCLI的更多内容,参考如下外部参考资源:

?vSphere PowerCLI Blog (VMware 社区博客)

?Managing VMware with PowerShell (VMware 社区 FAQ)

?PowerCLI Quick Reference Guide (来自https://www.sodocs.net/doc/c66903055.html,)

(作者:Keith Kessinger 译者:李哲贤来源:TechTarget中国)

原文标题:五大必备vSphere PowerCLI脚本

原文链接:https://www.sodocs.net/doc/c66903055.html,/showcontent_42980.htm

掌控PowerCLI:使用Get-VM来管理虚拟机

如果您刚刚开始应用PowerCLI管理VMware环境,需要学习的内容很多。下面,我们学习掌握一个最常见和最重要的cmdlets。

在上一篇文章中,TechTarget中国特约作者Hal Rottenberg推荐您使用PowerCLI,希望可以激发您进一步研究的兴趣。今天将继续讲述工具箱中最重要的一个cmdlet:Get-VM 。PowerShell自带有非常全面的帮助系统,因此让我们借助它来对Get-VM进行整体了解。如果您希望和我一起开展,现在请从开始菜单中打开PowerCLI,如截图所示:

在PowerCLI窗口中,我从帮助文件中提炼了一些关键字段。

(编者注:为便于读者定位,我们从帮助文件中提取了相关代码并整理到一个txt文件中,从这里您可以访问。它被分成了四个部分,因此您可以理解作者所讲的是哪一段代码。)

注:“PS>”代表了命令提示符,之后紧跟的文本是我所输入的。其它的都属于由之前输入的命令产生的输出结果。

Get-VM和“get-cmdlets”相似,用于查找一个或多个对象。你可以对这些对象进行的操作最简单的莫过于把它们显示到控制终端上。换句话说就是:生成报告。在上一篇文章中我已经向您演示过,在已经通过Connect-VIServer cmdlet建立到ESX或vCenter的连接后,单独运行Get-VM会产生的结果。您会看到一个包含当前所有虚拟机在内的,分为四行内容的一个表格:Name、PowerState、Num CPUs和 Memory (MB)。那么,接下来会发生什么呢?其实在这背后还隐藏着更多的信息,请参考我的一台虚拟机的情况(参照摘录2)。

我希望您注意几点事情:

1.Get-VM带有Name变量,可以指定一台或多台虚拟机的名称(或通配符)来确定执

行范围。这是一个位置参数,而且位置为零,也就是说实际上您可以保留“-

name”文本,而PowerShell可以指出您所需内容。

2.我使用了Format-List cmdlets,因此属性的显示方式是垂直分行的。而且在这个

例子中,我通过加入通配符的方式让Get-VM命令显示所有的参数。这样的话,我们就获得了所有相关参数显示到屏幕上,而不仅仅是默认的四项。(注:如果您发现出现的属性项要比我的少,请检查是否使用了最新版的PowerCLI。截止本文,

已经发布的最新版是4.0 U1,但是它跟老的VI环境还无法很好地兼容。)

3.在冒号左侧的所有内容都是属性的名称,而位于冒号右侧的就是各个属性所对应的

具体值。

4.您看到属性的值位于大括号中,代表了查看了一组不同的值。换句话说,您的虚拟

机可能有多个软驱、CD驱动器、硬盘、网卡适配器等等。

理解PowerShell的属性

如果您对vSphere客户端的方式还算了解,那么PowerState、Description或Name 这样的属性含义非常明显,所以我不会过多解释。而且还有一些属性的名称是以“ID”结尾的,如“HostId”。这表示字段中包含了到其它类型对象的链接。还有少量的字段用来表示一些更加高级的VMware功能,如HARestartPriority、HAIsolationResponse和DrsAutomationLevel等。我现在不会对这部分内容作太深入的探讨,这只是表示它们指向位于vSphere客户端中相同的名称字段。

然而,还有一个特殊的字段我想可以对它作进一步的解释,那就是Guest 属性。乍一看,Guest属性的值是VMware.VimAutomation.Client20.VMGuestImpl。实际上,这是拥有该属性的对象的完整.NET类名。

什么意思?

好吧,让我换一种说法。PowerShell中的所有内容都可以称为对象。每个对象中又有成员,而成员中包含了属性和方法(以及其它的一些东西)。如果您从未接触过面向对象的程序设计,让我们从一组基础的定义开始:

属性——某个对象的属性。属性会有一些跟它相关的值。例如,“汽车”是一个对象,“车体颜色”是它对应的属性,而“白色”就是这个属性的值。

方法——可以对某个对象进行的动作。通过执行方法可以达到期望的动作。例如,对象“汽车”的方法之一是“加速”。执行这个方法可以使汽车向前移动。

在PowerShell(和PowerCLI)中,属性的值就是对象本省。很常见的一种情况就是

属性就是本体,也就是说它仅仅是一个简单的字符串(如“vm1”),或者是一个整数

(如“32”)。现在明白我所说的了吗?

在例子中的Guest属性,并不是一个简单的字符串,例如我们取对象VMGuestImpl,(取自于上一个例子中对象名称的最后一部分)。让我们使用Get-Member cmdlet来查看一下它的内容。Get-Member来自于PowerShell而不是PowerCLI,非常适合于检查对象的属性,如摘录3中所看到的。

在上面的第一行中,我指定了变量名为“vm”的虚拟机对象,这是从Get-VM中返回

的结果看到的。这么做可以使接下来的代码更方便阅读,同时由于把所有的内容都提取到内存中执行,对于同一个对象执行连续的操作也可以加快执行的速度。

在代码的第二行中,我在希望检查的属性的名称后加了一个圆点。然后,我把该属性交给Get-Member cmdlet去处理。同时,我告诉Get-Member cmdlet只想查看该属性。这样做在本例中极大简化了输出。

Get-Member的输出结果分为三行:Name、MemberType和Definition。头两项的含义非常直白,第三项Definition稍微复杂一点。我向您出示这张表的目的是为了解释PowerShell中属性和对象之间的关系。Difinition的第一部分告诉用户属性所属对象的

类型。如您看到的,部分显示为“System.String.”,表明该对象仅为一组字母。其它的

一些名称长一些,用“VMware”开头,您可以猜到这些对象要复杂一些(跟VMGuestImpl 对象类似),其内部还包含有更多的信息。

讲到这里:如何显示属性和它们各自的值(摘录4),本文就结束了。请继续关注下篇文章,我讲教您如何使用Set-VM cmdlet来完成对虚拟机的设置。

(作者:Hal Rottenberg 译者:李哲贤来源:TechTarget中国)

原文标题:掌控PowerCLI:使用Get-VM来管理虚拟机

原文链接:https://www.sodocs.net/doc/c66903055.html,/showcontent_43002.htm

使用PowerShell与PowerCLI自动化主机服务器任务

这是关于PowerCLI的另一篇技巧,你还记得PowerCLI吗?它是为Windows

PowerShell脚本语言而创建的嵌入单元。这个嵌入单元能让你快速轻松地将vSphere环境

的所有方面进行自动化。今天的文章介绍如何使用PowerShell和PowerCLI对主机服务器

进行自动化操作。

VMware说法中的主机服务器是个提供虚拟化服务的系统。也就是所说的

hypervisor,当然这种情况下就是VMware的产品ESX Server。PowerCLI能管理ESX

Server的各种版本,从3.0开始,包括“瘦”版本ESXi。以前你可以使用PowerCLI管理

VMware Server(非裸金属hypervisor),但那个功能处于某种原因消失了。

那么我们来看看使用PowerCLI能对主机服务器做什么。写这篇文章的时候,装载的

是PowerCLI is 4.0 Update 1。这个版本是对先前版本的重大更新,因为它所包含的

cmdlets清单比之前的多。(PowerShell cmdlets类似于如cmd.exe或bash等command-

shells中的内部命令。)

有个关于PowerShell的笑话,它只列出了PowerCLI cmdlets,在名称中含有

“host”。

(Note that "PS >" indicates the shell prompt, and the text that immediately

follows is what I typed. Everything else is output from a previously typed

command.)

PS > get-command *host* -pssnapin vmware* | format-wideAdd-VMHost Add-VmHostNtpServerApply-VMHostProfile Export-

VMHostProfileGet-VMHost Get-

VMHostAccountGet-VMHostAdvancedConfiguration Get-

VMHostAvailableTimeZoneGet-VMHostDiagnosticPartition Get-VMHostFirewallDefaultPolicyGet-VMHostFirewallException Get-VMHostFirmwareGet-VMHostHba Get-

VMHostModuleGet-VMHostNetwork Get-

VMHostNetworkAdapterGet-VMHostNtpServer Get-

VMHostProfileGet-VMHostService Get-VMHostSnmpGet-

VMHostStartPolicy Get-VMHostStorageGet-

VMHostSysLogServer Import-VMHostProfileInstall-

VMHostPatch Move-VMHostNew-VMHostAccount New-VMHostNetworkAdapterNew-VMHostProfile Remove-

VMHostRemove-VMHostAccount Remove-

VMHostNetworkAdapterRemove-VMHostNtpServer Remove-

VMHostProfileRestart-VMHost Restart-

VMHostServiceSet-VMHost Set-

VMHostAccountSet-VMHostAdvancedConfiguration Set-

VMHostDiagnosticPartitionSet-VMHostFirewallDefaultPolicy Set-VMHostFirewallExceptionSet-VMHostFirmware Set-

VMHostHbaSet-VMHostModule Set-VMHostNetworkSet-VMHostNetworkAdapter Set-VMHostProfileSet-VMHostService Set-VMHostSnmpSet-VMHostStartPolicy Set-

VMHostStorageSet-VMHostSysLogServer Start-VMHostStart-

VMHostService Stop-VMHostStop-VMHostService Suspend-VMHostTest-VMHostProfileCompliance Test-VMHostSnmp

那是60个cmdlets。不过我不能对每个cmdlet的细节加以描述,但我们能重点介绍

一些cmdlets。同样,不要忘记PowerShell里的每个cmdlet都有内置帮助。需要的话输

入“get-help”加上cmdlet名称,或者cmdlet名称加上“-?”。

首先我想介绍的是Get-VMHost。与所有get-cmdlets一样,着重在于从容器检索对

象。如果使用Connect-VIServer cmdlet连接到vCenter服务器,然后自己运行Get-

VMHost,那么结果可能如下:

PS > Connect-VIServer https://www.sodocs.net/doc/c66903055.html,Name Port User---- ---- ----

https://www.sodocs.net/doc/c66903055.html, 443 halPS > Get-

VMHostName State PowerState Id CpuUsage CpuTotal Memory

Memory Mhz Mhz UsageMB

TotalMB---- ----- ---------- -- -------- -------- -------

-------atlesx01.hal... Connected PoweredOn ...-232 168 8000 2295

4094atlesx02.hal... Connected PoweredOn ...-225 366 8000 2645

4094atlesx03.hal... Connected PoweredOn ...t-10 350 8000 3264

4091

如果你没有vCenter备份,不用担心,可以用PowerCLI所有的信息。事实上,

PowerCLI在没有vCenter的情况下能一次管理多台ESX服务器。

Connect-VIServer命令似乎不同,但最终结果是一样的。(没有vMotion或模板,你

在使用某些功能时仍然需要vCenter。)

现在来分析上面命令的输出结果,然后我们将用一些其他方式使用这个cmdlet。这里

执行了两个命令。第一个是建立到vCenter服务器的连接。第二个是不通过参数自己运行

Get-VMHost。这样,你可以看见所有连接到vCenter的主机服务器清单(ESX or

ESXi)。这个输出表分为几列,包括主机名称、连接状态、电源状态。从informational

ID查看,有四个参数能让你快速诊断系统健康状况。

如同PowerShell里的其他对象,我们不能立即看到所有东西。所以,我们来看看其他一些有用的信息:

PS > get-vmhost | format-table name, manufacturer, model, numcpu, version, build -autosize

Name Manufacturer Model Num Cpu Version Build

----------------- --------- ---------------- --------- ---------- --------

https://www.sodocs.net/doc/c66903055.html, Dell Inc. PowerEdge

SC1435 4 4.0.0 208167

https://www.sodocs.net/doc/c66903055.html, Dell Inc. PowerEdge

SC1435 4 4.0.0 219382

https://www.sodocs.net/doc/c66903055.html, Dell Inc. PowerEdge

SC1435 4 4.0.0 219382

因此问题在于:你如何知道对象里的哪个领域可用?首先我会说在PowerShell中,每样事物都是个对象。对象包含成员,成员能包含属性和方式。属性相当于上面表格中输出信息栏所见的域名。方法我会在另一篇文章中介绍,但总之,它们能定义对对象所作的事情,就是行动。

回到属性。有种方法能列出所有属性。注意,使用Format-Wide cmdlet出来的信息横跨两个输出栏。

PS > get-vmhost | get-member -MemberType property | format-wide

Build ConnectionState

CpuTotalMhz CpuUsageMhz

CustomFields HyperthreadingActive

Id Manufacturer

MemoryTotalMB MemoryUsageMB

Model Name

NumCpu ParentId

PowerState ProcessorType

State TimeZone

Version VMSwapfileDatastoreId VMSwapfilePolicy

你可使用Get-VMHost cmdlet上的Name属性,只对那些匹配的服务器进行输出,你可以使用通用符。由于PowerShell管道工作的方式,你能将VMHost对象作为输入传送到Get-VM cmdlet。最终结果将会显示宿主在某台主机服务器上的虚拟机列表。例如:

PS > get-vmhost -name atlesx01* | get-vm

Name PowerState Num CPUs Memory (MB)

-------- ----------------- ------ -------- ------------------ ELGFIL01 PoweredOn 1 384

VMGVIC01 PoweredOn 1 512

VMGADC01 PoweredOn 1 384

VMGADC02 PoweredOn 1 384

ELGADC01 PoweredOn 1 512

在文章最后,我将介绍如何使用主机服务器防火墙。使用Get-VMHostFirewallException cmdlet列出防火墙允许的活动。如果输入没有参数的cmdlet,会反馈错误信息,因为你必须制定查询的具体主机服务器。下面是步骤:

PS > $vmhost = get-vmhost atlesx01*

PS > Get-VMHostFirewallException -Name 'FTP Server' -VMHost $vmhost

Name Enabled

IncomingPorts OutgoingPorts Protocols ServiceRunning

-------- ------------ -------------------- -------------------- ------------- --------------

FTP Server False 21 TCP

在这个例子中,我也将通过指定防火墙规则名称过滤输出。

一旦你明白如何进行防火墙配置,使用Set-VMHostFirewallException cmdlet进行更改就很是容易的事。这个cmdlet有两个参数:

?Exception:这个相当于需要更改的防火墙规则。参数能在管道上具体说明。

?Enabled:这是个Boolean旗帜,如果真实,将启用规则(因为已经防火墙允许)。设置不正确将禁用规则并关闭任何响应的端口。

下图是启用FTP服务器防火墙规则的例子:

PS > $ftp = Get-VMHostFirewallException -Name 'FTP Server' -VMHost $vmhost PS > $ftp | Set-VMHostFirewallException -Enabled:$true

Name Enabled

IncomingPorts OutgoingPorts Protocols ServiceRunning

-------- ------------ -------------------- -------------------- -------------- ---------------------

FTP Server True 21 TCP

(作者:Hal Rottenberg 译者:唐琼瑶 来源:TechTarget 中国)

原文标题:使用PowerShell 与PowerCLI 自动化主机服务器任务

原文链接:https://www.sodocs.net/doc/c66903055.html,/showcontent_43019.htm

跳出框外巧解PowerShell与PowerCLI难题

在这篇文章中,我想着重讲解一下在我浏览PowerCLI论坛时,看到的一些很有用的技巧。下面我将向你介绍这些技巧,会谈到PowerCLI是什么,以及我发现的一些特点。我还将提供涉及到的技术的一些背景资料。

PowerShell以外的思路

首先介绍的一个帖子是,“在ESX中,需要借助PowerShell脚本来找到某个虚拟机(VM)的进程ID(PID)。”此贴的前提是,作者需要找到一些信息,但他唯一知道获取到这些信息的途径就是登陆到ESX操作系统控制台(COS)。这就是为什么当前需求与他需要进程ID不符的原因了,但这足以证明,有时你为了完成某些诊断任务而必须登录到控制台。

这个帖子的特点在于,它似乎暴露了vSphere应用程序编程接口(API)上的某些不足,并需要以PowerCLI为辅助。就如所有的APIs一样,功能都是创建了一个抽象层,可以对某一产品或某一产品套件进行尽可能灵活的一致性编程,而且可以引入新的功能来降低软件开发任务的难度。问题是,与ESX虚拟化层进行沟通工作的操作系统控制台(COS)实际上也是一个操作系统,而操作系统往往都相当复杂,并且在某些情况下,用户接口也非常分散。

回到PowerCLI和vSphere API上来。架构在VMware最底层架构之上的vSphere API 层是非常有层次架构,并提供了最外层的功能。操作系统却有着不一样的架构!很不幸的是,vSphere API并不能构建一张完美的流程图以使你可以登录到操作系统控制台(COS)。然而,PowerCLI也是基于某些API之上,这意味着你不能在操作系统(OS)控制台之内使用PowerCLI来执行相关任务——至少不是直接。这正是发布到论坛上的解决方案的用武之地。

对我们和原始帖子的作者来说幸运的事情是,PowerCLI是建立在PowerShell内,并且PowerShell可以调用一个外部进程作为脚本的一部分。该解决方案是在LucD的回贴中提到的。在这种情况下,外部进程是plink.exe,它是一个非常流行的安全命令行shell (SSH)客户端—PuTTY中的一部分。该脚本实现使用plink登录到ESX主机管理控制台,然后执行远程控制命令“vm-support”。此实用工具是一种收集信息的方法,正如原帖中提到的。

你可能会说这种行为有点像一个黑客,因为你不是通过“被认准的接口”来访问数据,但有些时候,你不得不去找到一个方法。这个特别帖子的寓意是:不要害怕,要跳出思想的框框。虽然vSphere API是一个相当大的框框,但它的目的不是为了解决你可能遇到的每一个vSphere系统的问题。事实上,对于它准确的理解是,它确实不适合用于诊断。

当PowerCLI的内置命令不起作用

这第二个帖子标题是,“使用脚本来配置vSwitch上的安全参数。”虽然在这个帖子中的脚本非常高深,但是我认为这将是一个很好的例子,因为我认为它描述了一种常见的场景,当你没有使用PowerCLI 内置命令而使用到vSphere API的功能。其基本前提是内置命令(在以前的文章我也谈到过)与API的功能没有100%的对等。然而,通过使用Get-View内置命令,再加上其他一些技巧,你就可以完成很多的需要做的事情。

此贴的作者想要说的是关于设置vSwitch安全方面的设置。我打开安全选项卡中的一个选项页面,当你打开一台虚拟交换机的性能属性时就可以看到,如下图:

不幸的是,你不能通过内置命令设置这些属性,下图为Set-VirtualSwitch命令的帮助文档:

该内置命令缺乏安全设置参数。也有可能,VMware正在并将继续缩短内置命令和API 之间的差距,但今天它确实是帮不了我们了。

为了弥补暂时的不足,你必须使用Get-View的内置命令。Get-View是非常有用的?——它就像释放出一种技能以让你闯过难关。我不打算详细介绍有关的内置命令,但你需要知道的是,目前PowerCLI 内置命令给虚拟化管理员开发了一个可以与PowerShell协调工作的可定制接口。当它起作用时,这对于管理员来说是好消息,但是当你的操作受到了内置命令的制约,那么你必需采用底层API对象。换句话说,你需要理解一个完全不同的接口——这与程序员为vSphere开发软件时看到的一样。

回到帖子,帖子中有段代码,如下所示(为便于阅读,已稍微编辑):

第1行检索了主机列表并将它们分配给一个变量。第2行遍历该变量中包含的每个主机服务器,并找到名为“vSwitch2”的交换机。第3行在这里你可以看到Get-View内置命令的使用以获取原始对象。

4-6行,你会得到一个以一定方式命名的vSphere API,这些将为更新虚拟交换机做好准备——“艰难的方式”。

在第7行会报错。为了达到编辑虚拟交换机的目的,作者给出了非常有效的假设,所以你将使用到一个新的对象(这些通常是vSphere API使用来描述一个正在创建或修改的对象)。

但问题是,就像LucD在回复中做出的非常有用的解释,该API有时是相当挑剔。希望看到这个规范的对象是,它其中的每一个参数字段都被明确定义并赋予了默认值。在这一点上,你可以找出这些默认值应该是什么,也可以简单地复制一个已有的,之后再修改成你的内容。更新后的代码如下所示:

数据库日常维护工作

数据库日常维护工作是系统管理员的重要职责。其内容主要包括以下几个部分: 一、备份系统数据 SYBASE 系统的备份与恢复机制保证了在系统失败时重新获取数据的可能性。SQL Server 提供了两种不同类型的恢复机制:一类是系统自动完成的恢复,这种措施在每次系统启动时都自动进行,保证了在系统瘫痪前完成的事务都写到数据库设备上,而未完成的事务都被回退;另一类是人工完成的恢复,这是通过 DUMP 和 LOAD 命令来执行人工备份和恢复工作。因此定期备份事务日志和数据库是一项十分重要的日常维护工作。 1、备份数据库 每一个数据库都应在创建之后卸出,从而提供一个装入基点。在此之后按排定的时间周期表卸出。比如每周五卸出数据库。对一般数据库系统卸出数据库周期建议为每周一次。 除了按计划周期卸出数据库之外,还需在每次运行没有日志的操作后卸出数据库。例如:·每次强制地运行了 DUMP TRAN WITH NO_LOG (因为数据库的磁盘空溢出); ·每次用 sp_dboption 允许 select into/bulkcopy 做快速拷贝,或用 SELECT INTO 命令创建一个永久性的表,或使用了 WRITETEXT 命令。 卸出数据库的命令为: DUMP DATABASE database_name TO dump_device database_name 是要卸出的数据库名称,dump_device 是卸出设备的名称。用系统过程 sp_helpdevice 可以获得设备的信息。 下面一条命令用来卸出数据库 my_db : DUMP DATABASE my_db TO db_bk_dev 2、备份事务日志 如果事务日志与数据库放在同一个设备上,则事务日志不应与数据库分开备份。master 数据库和小于 4M 的用户数据库就是这种情况。一般数据库系统的数据库和日志分别放在不同的设备上,因此,可以用 DUMP TRAN 命令单独备份日志。 备份事务日志的周期直接影响数据的恢复程度,因此建议每天备份。 备份事务日志的命令格式为: DUMP TRANsaction database_name [TO dump_device] [WITH TRUNCATE_ONL Y|WITH NO_LOG|WITH NO_TRUNCA TE] 其中 database_name 是要备份事务的数据库名称,dump_device 是备份设备名称,仅当包含了 WITH TRUNCA TE_ONL Y 或 WITH NO_LOG 子句时,才可以备份到设备。 注意:如果总是用 DUMP DA TEBASE (备份数据库及其日志),而不用 DUMP TRAN ,事务日志将不会刷新,而变得非常庞大。

Oracle DBA 数据库日常维护手册 常用SQL 脚本

Oracle数据库日常维护 【版本整理日期:2011/02/26 】 版本整理人:1634068400@https://www.sodocs.net/doc/c66903055.html, 本文档包含以下内容: 1.Oracle数据库日常维护 2.Oracle DBA 常用管理脚本 3.Oracle DB 常用SQL 语句

/******************************************************** https://www.sodocs.net/doc/c66903055.html,(若跳转不成功,请复制到浏览器或联系Q) https://www.sodocs.net/doc/c66903055.html,/item.htm?id=7437120468Metalink Sharing ********************************************************/

在Oracle数据库运行期间,DBA应该对数据库的运行日志及表空间的使用情况进行监控,及早发现数据库中存在的问题。 一、Oracle警告日志文件监控 Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况: l数据库的启动、关闭,启动时的非缺省参数; l数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因; l对数据库进行的某些操作,如创建或删除表空间、增加数据文件; l数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA -600)

DBA 应该定期检查日志文件,根据日志中发现的问题及时进行处理 问题 处理 启动参数不对 检查初始化参数文件 因为检查点操作或归档操作没有完成造成重做日志不能切换 如果经常发生这样的情况,可以考虑增加重做日志文件组;想办法提高检查点 或归档操作的效率; 有人未经授权删除了表空间 检查数据库的安全问题,是否密码太简 单;如有必要,撤消某些用户的系统权 限 出现坏块 检查是否是硬件问题(如磁盘本生有坏 块),如果不是,检查是那个数据库对象 出现了坏块,对这个对象进行重建 表空间不够 增加数据文件到相应的表空间 出现ORA-600 根据日志文件的内容查看相应的TRC 文件,如果是Oracle 的bug ,要及时打 上相应的补丁 二、数据库表空间使用情况监控(字典管理表空间) 数据库运行了一段时间后,由于不断的在表空间上创建和删除对象,会在表空间上产生大量的碎片,DBA 应该及时了解表空间的碎片和可用空间情况,以决定是否要对碎片进行整理或为表空间增加数据文件。 select tablespace_name,

VMware 虚拟机存储管理

VMware 虚拟机存储管理 1)实现虚拟机共享存储 VMware vSphere环境中对共享存储的访问是通过VMware vStorage VMFS 实现的,这是一种专为虚拟机设计的高性能集群文件系统。 VMware vStorage VMFS 是专为虚拟服务器环境而设计、构造和优化的,可让多个虚拟机对由集群式存储构成的整合池进行共享访问,从而提高资源利用率。VMware vStorage VMFS 还为分布式基础架构服务奠定了基础,例如虚拟机和虚拟磁盘文件实时迁移,以及分布式资源调度、整合备份和自动灾难恢复。 作为文件系统,VMware vStorage VMFS 将构成虚拟机的所有文件存储在一个目录中。经过优化,可以支持大型文件,同时也可以执行许多小型的并发写操作。通过自动处理虚拟机文件,VMware vStorage VMFS 对整个虚拟机进行封装,使其很容易成为灾难恢复解决方案的一部分。事实上,VMware Infrastructure 3 之所以被TechTarget 评为“2006 年度灾难恢复产品”,VMware vStorage VMFS 是主要原因之一。 作为逻辑卷管理器,VMware vStorage VMFS 实现了一个存储资源界面,使得多种类型的存储(SAN、iSCSI 和NAS)能够以可承载虚拟机的数据存储的形式出现。通过以聚合存储资源方式实现那些数据存储的动态增长,VMware vStorage VMFS 可提供在最少停机或无停机的情况下增加共享存储资源池的能力。 VMware vStorage VMFS 与传统文件系统 传统文件系统在指定时间只允许一台服务器对同一文件进行读写访问。与之相对,VMware vStorage VMFS 使用共享存储来允许多个VMware ESX 实例对同一存储资源进行并发读写访问。 VMware vStorage VMFS 利用分布式日志来允许跨这些多服务器资源池进行快速、弹性的恢复。此外,VMware vStorage VMFS 提供了进行灾难恢复所必需的虚拟机快照功能,并且是VMware Consolidated Backup (VCB) 用来提供虚拟环境代理备份的界面。 VMware vStorage VMFS 与CFS 和CVM VMware vStorage VMFS 并不包含当今的其他集群文件系统(CFM) 和集群卷管理(CVM)

Oracle数据库日常维护手册

Oracle数据库日常维护手册 在Oracle数据库运行期间,DBA应该对数据库的运行日志及表空间的使用情况进行监控,及早发现数据库中存在的问题。 一、Oracle警告日志文件监控 Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况: ●数据库的启动、关闭,启动时的非缺省参数; ●数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因; ●对数据库进行的某些操作,如创建或删除表空间、增加数据文件; ●数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA-600) DBA应该定期检查日志文件,根据日志中发现的问题及时进行处理 问题处理 启动参数不对检查初始化参数文件 因为检查点操作或归档操作没有完成造成重做日志不能切换如果经常发生这样的情况,可以考虑增加重做日志文件组;想办法提高检查点或归档操作的效率; 有人未经授权删除了表空间检查数据库的安全问题,是否密码太简单;如有必要,撤消某些用户的系统权限 出现坏块检查是否是硬件问题(如磁盘本生有坏块),如果不是,检查是那个数据库对象出现了坏块,对这个对象进行重建 表空间不够增加数据文件到相应的表空间 出现ORA-600根据日志文件的内容查看相应的TRC文件,如果是Oracle的bug,要及时打上相应的补丁 二、数据库表空间使用情况监控(字典管理表空间)

数据库运行了一段时间后,由于不断的在表空间上创建和删除对象,会在表空间上产生大量的碎片,DBA应该及时了解表空间的碎片和可用空间情况,以决定是否要对碎片进行整理或为表空间增加数据文件。 select tablespace_name, count(*) chunks , max(bytes/1024/1024) max_chunk from dba_free_space group by tablespace_name; 个人收集整理 上面的SQL列出了数据库中每个表空间的空闲块情况,如下所示: TABLESPACE_NAME CHUNKS MAX_CHUNK -------------------- ---------- ---------- INDX 1 57.9921875 RBS 3 490.992188 RMAN_TS 1 16.515625 SYSTEM 1 207.296875 TEMP 20 70.8046875 TOOLS 1 11.8359375 USERS 67 71.3671875个人收集整理 其中,CHUNKS列表示表空间中有多少可用的空闲块(每个空闲块是由一些连续的Oracle 数据块组成),如果这样的空闲块过多,比如平均到每个数据文件上超过了100个,那么该表空间的碎片状况就比较严重了,可以尝试用以下的SQL命令进行表空间相邻碎片的接合: alter tablespace 表空间名 coalesce; 然后再执行查看表空间碎片的SQL语句,看表空间的碎片有没有减少。如果没有效果,并且表空间的碎片已经严重影响到了数据库的运行,则考虑对该表空间进行重建。 MAX_CHUNK列的结果是表空间上最大的可用块大小,如果该表空间上的对象所需分配的空间(NEXT值)大于可用块的大小的话,就会提示ORA-1652、ORA-1653、ORA-1654的错误信息,DBA应该及时对表空间的空间进行扩充,以避免这些错误发生。 对表空间的扩充对表空间的数据文件大小进行扩展,或向表空间增加数据文件,具体操作见“存储管理”部份。 三、查看数据库的连接情况

如何让虚拟机与主机联通及上网

关于如何让虚拟机与主机联通及如何上网 这是个与我的任务无关的题目,只是我最近看了一些这方面的知识,所以就想把它分享给大家。 一. 实验环境 宿主系统: windows 7 虚拟机系统:Redhat Linux Enterprise 5 网络环境:宿主系统用的是教育网,并使用路由器上网,IP地址是: 59.79.39.79 虚拟机软件:VMware Workstation 7.13 二.基本知识 首先主机与虚拟机的连接方式有三种bridge(桥接),nat和host-only 。 VMnet0:这是VMware用于虚拟桥接网络下的虚拟交换机; VMnet1:这是VMware用于虚拟Host-Only网络下的虚拟交换机; VMnet8:这是VMware用于虚拟NAT网络下的虚拟交换机; 在我们电脑的网络适配器中可以看到以下两张网卡。 VMware Network Adapter VMnet1:这是Host用于与Host-Only虚拟网络进行通信的虚拟网卡; VMware Network Adapter VMnet8:这是Host用于与NAT虚拟网络进行通信的虚拟网卡; 三.实施方法 1.关于nat网络: 我觉得用nat这种方式与主机连通和上网是最方便的。如果你装系统的时候选的就是nat 方式,那什么都不用做,就可以实现连通了。但是这种方式可以让虚拟机与主机互通并且上Internet(如果主机能上的话),但是不能和局域网中其他计算机连通。如果还没用nat 那么就按一下步骤:注意登录系统的时候用户名用root,以超级用户身份登录。 在界面右下方选从左往右第四个图标。

在对话框中选nat,并且上面两个设备状态选项都要勾上。 系统->管理网络->网络

数据库项目组日常运维与应急故障处理手册范本

常见问题及处理方案 CPU使用率高的问题 通过操作系统命令top topas glance等查看top进程号,确认是系统进程还是oracle应用进程,查询当前top进程执行的操作和sql语句进行分析。 根据进程号获取正在执行的sql SELECT a.osuser, https://www.sodocs.net/doc/c66903055.html,ername,b.address,b.hash_value, b.sql_text from v$session a, v$sqltext b, v$process p where p.spid = &spid and p.addr = a.paddr and a.STATUS = 'ACTIVE' and a.sql_address =b.address order by address, piece; 数据库无法连接 数据库无法连接,一般可能是如下原因造成: (1)数据库宕了 (2)监听异常 (3)数据库挂起 (4)归档目录满 (5)数据库或应用主机的网卡出现问题不能正常工作 (6)应用主机到数据库主机的网络出现问题。 1、数据库宕了 立即启动数据库。 2、监听异常 此时一般体现为: 监听进程占用CPU资源大; 监听日志异常。 此时,立即重启监听,监听重启一般能在1分钟之完成。 3、数据库挂起 立即重启数据库。 4、归档目录满 (1)在没有部署OGG数据同步的情况下,立即清理归档日志文件。

(2)如果部署了OGG数据同步,查看OGG正在读取的归档日志文件,立即 清理OGG不再需要的日志文件。 5、数据库或应用主机的网卡出现问题不能正常工作。 立即联系主机工程师处理。 6、应用主机到数据库主机的网络出现问题。 立即联系网络维护人员查看。 CRS/GI无法启动 对于10g及11gR1版本的CRS问题 1、进入/tmp目录下,看是否产生了crsctl.xxxxx文件 如果有的话,看文件容,一般会提示OCR无法访问,或者心跳IP无法 正常绑定等信息。 2、如果/tmp目录下没有crsctl.xxxxx文件 此时查看ocssd.log文件,看是否能从中得到有价值的信息。 可能的问题:网络心跳不通。 3、/tmp目录无crsctl.xxxxx且日志中没有报错信息,只有停CRS时的日志信 息。 此时可能是RAC两个节点对并发裸设备的访问有问题,此时考虑: (1)停掉两个节点的CRS。 (2)两个节点先同时去激活并发VG,然后再激活VG。 (3)重新启动CRS。 对于11gR2的GI问题 分析$GRID_HOME/log/nodename目录下的日志文件,看是否能从中找出无法启动的原因。常见问题: 1、心跳IP不同。 2、ASM实例无法启动。 对CRS的故障诊断和分析,参加本文档中RAC部分的MOS文档. 数据库响应慢

VMware vSphere资源分配管理观念入门

善用虛擬化特性 VMware vSphere資源分配管理觀念入門 在虛擬化的世界裡,資源的分配與管理是很重要的課題,但也最容易被忽略或誤解。在此要介紹的是一些有關VMware vSphere 虛擬化資源的重要觀念,主要內容為Virtual CPU、Memory的運作概念,以及VM的資源設定配置基礎,還有了解何謂資源池(Resource Pool)。 本篇文章重點不在VMware vSphere資源分配管理的操作與設定,而是著重於虛擬化資源分配的初步理解。首先,就從Virtual CPU 的運作概念開始說起。 Virtual CPU的運作概念 要了解Virtual CPU的運作概念,可從實體運算資源如何分配與對應、Logical CPU、Hyper Threading、Multicore Virtual CPUs 來加以說明。 實體運算資源如何分配與對應 在以往傳統的運作模式,一部實體伺服器可能配備有一顆或多顆實體的處理器(Physical CPU),但是卻只有一個作業系統在使用這些CPU。 作業系統並非時常要使用這些CPU的運算能力,可能只有某段時間才需要運算能力,過了一陣子又不需要。 這種情形往往造成CPU大部分的時間都處於閒置的狀態,整體時間拉長來看,處理器的使用效率非常的低落。 有沒有想過,一個資料中心有著數百數千部伺服器散落於各個角落,平時這些伺服器所要利用到的CPU資源,可能都只是一整天當中的某一小段時間,其他時候,這些已開機卻閒置的CPU資源,形成了多大的浪費呢? 正因運算資源閒置的時間太長、太零散,所以如果有一種方法可以統籌這些運算資源,透過疏導與分配的方式,讓很多的OS排隊來利用這些閒置的資源,當有需要時,就來請求使用,不需要時,就不要霸佔著位置不放。虛擬化就是一帖良方,可以有效拉高運算資源的使用率。 首先,要探討的是Virtual CPU(vCPU)的概念。以一個VM來說,當你給了它兩顆vCPU的時候,並不是代表這個VM真的擁有兩個實體CPU的運算能力。 因為它的CPU是虛擬出來的,每個VM上的Guest OS所看到的CPU,其實都不是真的,沒有實際的運算能力。那麼,要如何讓這個VM真正擁有運算能力呢? 當虛擬的CPU能夠「對應」到一個實體運算單位(Logical CPU,或稱為Hardware Execution Context、HEC)的時候,它就真正取得了實體的運算能力。 我們知道一個實體CPU在同一時間,是不可能幫多個OS作運算的,在一個CPU Cycle單位時間內,一次只能處理一個執行緒,沒辦法被切成兩半,分割資源給VM_A,同時又切割給VM_B來使用。 所以,假設要讓一個4GHz的實體CPU分給兩個VM同時來使用,希望VM_A拿到3GHz運算資源,另一個VM拿到1GHz運算資源,那Hypervisor該怎麼做呢?答案就是剛剛所說的,利用虛擬「對應」實體的方式來達成目的。

ORACLE数据库日常维护与管理手册

全球眼?(MEGAEYES)网络图像管理系统2.0 ORACLE日常维护与管理手册 北京互信互通信息技术有限公司 2004-08-08

目录 全球眼?(MEGAEYES)网络图像管理系统2.0 (1) 1引言 (3) 1.1 目的 (3) 1.2 范围 (3) 1.3 参考资料 (3) 2日常维护与管理说明 (3) 2.1 运行环境 (3) 2.1.1硬件环境 (3) 2.1.2软件环境 (3) 2.2 数据库日常维护 (4) 2.2.1数据库初始设置 (4) 2.2.2每日工作内容 (5) 2.2.3每周工作内容 (6) 2.2.4每月工作内容 (7)

1引言 1.1目的 对于重要的商业系统来说,数据库系统的正常运行是保证商业应用平稳运行的关键。但是数据库在运行过程中可能会因为种种原因发生问题。这时,数据库的管理与日常维护工作将变得尤为重要。 为了指导数据库管理员做好日常维护工作,保证数据库系统的正常运行,特制定本文档。当然,数据库的日常维护是复杂和繁琐的,本文仅涉及一些常见的数据库日常维护的内容,在实际工作中,数据库管理员还需要做更多的工作。 1.2范围 本文档使用的人员:数据库维护管理人员和相关人员。 本文档涉及内容:oracle数据库的日常维护与管理解决方案。 1.3参考资料 中国电信网络视频监控技术(暂行)规范 2日常维护与管理说明 2.1运行环境 程序的运行环境包括硬件运行环境和软件运行环境。 2.1.1硬件环境 ◆CPU类型:Intel及其兼容系列CPU ◆内存容量:剩余内存要达2G以上 ◆硬盘容量:剩余硬盘容量要达1G以上 ◆网卡类型:100M网卡 2.1.2软件环境 ◆操作系统:RedHat Linux AS 3.0 ◆数据库:Oracle9i Database Release 2 (9.2.0.4.0) for Linux x86

2.2 vCenter Server及主机管理

vCenter Server及主机管理 一 vCenter Server的连接 使用vSphere Client 连接到vCenter Server 时,可以管理vCenter Server 及其管理的所有主机和虚拟机 1 运行VMware vSphere Client 本地以管理员身份登录;输入IP 地址或vCenter Server 名称;输入Windows 管理员用户名;输入 Windows 管理员密码 2 安装后首次连接到 vCenter Server 时,清单中没有任何对象

二主机管理 创建数据中心:相当于一个容器,同一个数据中心的主机可以做群集 1 单击创建数据中心,输入名称

添加主机:将ESXi主机添加到该数据中心 1 右键新建的数据中心,选择添加主机,输入主机名称或IP地址,再输入用户名和密码,单击下一步(ESXi主机用户名和密码) 2 在安全警示对话框中单击“是”

3 确认主机摘要信息,单击下一步 4 输入许可证,所以vCenter Server处于评估模式,单击下一步 5从清单对象列表中选择一个位置,然后单击下一步 6单击完成以完成主机添加 创建虚拟机: 1 在 vCenter Server 主页上单击“主机和群集”。 2 在 [清单 (Inventory)] 面板中,选择主机。 3 单击入门选项卡上的创建新的虚拟机。 4 选择典型,然后单击下一步。 5 键入虚拟机名称,选择清单位置,然后单击下一步。 6 选择要在其中存储虚拟机文件的数据存储,然后单击下一步(数据存储的大小必须足以存储虚拟机及其所有虚拟磁盘文件) 7 在客户机操作系统下,选择操作系统系列(Microsoft Windows、Linux 或其他),然后从下拉列表中选择版本。 这是适用于虚拟机的操作系统。根据您计划使用虚拟机的方式进行选择。

VMware vSphere 管理员手册-运维人员

虚拟化平台管理员手册

目录

概述 主要描述了虚拟化项目安装实施完成后,何管理整个VMware平台。介绍了如何通过VMware vClient登陆VMware vCenter Server集中管理vSphere平台。并提供了如何对ESXI主机进行网络、存储和HA群集配置管理进行详细描述。

1.1目标读者 本文档专供需要安装VMware vCenter Server和ESXI的管理员、用户使用。 本文档的目标读者为熟悉数据中心操作且具有丰富经验的 Windows 或 Linux 系统管理员。 1.2VMware vSphere 组件 每个VMwarevCenter Server系统管理多台ESXI主机。可以在多个工作站上运行vSphere Client 和 vSphere Web Access。 VMware vSphere 的主要组件包括: 1.VMwareESXI 提供一个虚拟化层,该层可将物理主机的处理器、内存、存储器及网络资源抽象化为多台虚拟机。 2.VMwarevCenter Server VMware vCenter Server是一种可充当网络上连接的ESX/ESXI主机的中心管理员的服务。该服务指导虚拟机和主机上的操作。VMware vCenter Server是 vCenter 的工作核心。可以将多个 vCenterServer 系统加入到链接模式组。这样可允许您登录任何一个VMware vCenter Server实例,并且还可以查看和管理组中所有VMware vCenter Server系统的清单。 VMware vCenter Server附加模块为VMware vCenter Server提供附加的功能和特征。一般情况下,附加模块(有时也称为插件)为单独发布的模块,安装在VMware vCenter Server上,可以独立升级。附加模块可以与VMware vCenter Server系统安装在同一台计算机上,也可以安装在不同计算机上。安装附加模块之后,可以激活该模块的客户端组件,该组件可使用用户界面 (UI) 选项增强vSphere Client的功能。附加模块包括vCenter UpdateManager、vCenter Converter 和vCenter Guided Consolidation 服务。 3.vSphere Client

运维手册_数据库_DataGuard日常运维手册

文档标识 文件状态:[] 草稿 [√] 正式发布 [ ] 正在修改 Oracle RAC+DataGuard 运维手册 版本:1.0.0 编制周光晖2015年01月20 审核 批准年月日 生效日期:年月日

修订历史记录 日期版本修订说明作者

目录 第一章引言 (3) **. 编写目的 (3) **. 定义、首字母缩写词和缩略语 (4) 第二章......................................................................................................... D ATA G UARD状态查询4 **. 检查主备库的D ATA G UARD状态信息 (4) **. 检查进程 (4) **. 检查归档状态 (4) **. 检查最后应用的日志S EQUENCE (5) **. 查看是否使用实时应用 (5) **. 检查GAP (5) **. 检查保护模式 (5) **. 相关视图 (6) 第三章................................................................................................................... SWITCHOVER 6 **. 确认主库状态是否支持切换操作 (6) **. 执行主库转换 (7) **. 关闭并MOUNT新备库 (7) **. 确认老备库状态 (7) **. 切换目标备库为主库 (7) **. 打开新主库 (8) **. 启动新备库的日志应用 (8) **. 开启新备库的ADG (8) 第一章引言 1.1. 编写目的 本文档描述了Oracle 11gR2 RAC+ADG操作手册。包含RAC DOWN机测试,日常查询状态,启停RAC等指令同时包含oracle 11g R2 ACTIVE DATAGUARD 的日常维护指令。

VMware 虚拟机与主机间共享文件的七种方法

VMware 虚拟机与主机间共享文件的七种方法 好多人都不清楚如何在本机和虚拟机间共享文件和数据,那么今天我就给大家分享下我所知道的方法。 测试环境: 物理机:win Xp SP2 打全所有系统补丁; 虚拟机版本:VMware workstation 6.0.0 Build 45731; 虚拟机操作系统:纯净版win xp sp2 方法一:直接在物理机和虚拟机间拖拽文件 这个不用多说,不过要注意的是,有些情况下拖拽会出错,用VMware workstation 6时,往虚拟机里面拖动拷贝文件/ 文件夹时,物理机上的源文件的全路径/源文件夹(及其子文件夹)的全路径名称中不能包含非标准ASCII码字符。也就是说,源文件的全路径/源文件夹(及其子文件夹)的全路径名称只能是英文字符,有中文的就会报错。多拖动几次之后有时还会导致虚拟机的explorer进程挂掉或者报下面第三个提示,此时不能再往虚拟机里面拖动拷贝任何东西。重启guest,依然不能拖动拷贝。必须先关闭虚拟机再开启,才能复位。 如果源文件夹(及其子文件夹)的全路径名称中包含非标准ASCII码字符,会提示:“Cannot scan local dir ectory. You may not have permission to perform the operation. Aborting the file copy operation.” (意思是:无法打开本地目录,你可能没有权限执行这个操作,在拷贝时异常退出) 如果是源文件的全路径名称中包含非标准ASCII码字符,会提示:Cannot determine local file size. Yo u may not have permission to perform the operation. Aborting the file copy operation. (意思是:无法检测目标文件的大小,你可能没有权限执行这个操作,在拷贝文件时异常退出) 多拖动几次有时就会报这个提示:Cannot creat diretctory on virtual machine. Aborting the drag and drop operation. (意思是:无法在虚拟机上创建目录。在拖拽操作时异常退出) 从虚拟机往物理机拖动拷贝还没有发现有这个问题,当然不光是中文的不行了,韩文日文德文法文西班牙文等的都不行。 方法二:利用VMware Workstation上的共享文件夹功能 打开虚拟机,点击“edit virtual machine settings”,在点击“options”选中“shared folders” 使右边的alway s enables选项选中,如下图:

Oracle数据库维护手册

Oracle 数据库定期维护手册 定期备份任务计划执行检查 打开附件(系统工具(任务计划 查看状态,如果状态是未能启动,则打开菜单高级(查看日志,看未能执行任务计划的原因,并处理,处理完成后,右击任务计划运行。 使用DBA 图形工具(8.1.7 DBA Studio,9i Oracle Enterprise manager Console,10G 网页的EM )检查数据库状态 主要检查空间使用情况,重点对超过80%已使用的表空间进行检查,必要时增加数据文件或将相应的数据文件设为自动扩展,注意单个数据文件大小不要超过3.9G Oracle警告日志文件监控 Oracle在运行过程中,会在警告日志文件(alert.log或alert_SID.log)中记录数据库的一些运行情况: ●数据库的启动、关闭,启动时的非缺省参数; ●数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因; ●对数据库进行的某些操作,如创建或删除表空间、增加数据文件; ●数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA-600) DBA应该定期检查日志文件,根据日志中发现的问题及时进行处理 问题处理 如提示启动参数不对,则检查初始化参数文件 因为检查点操作或归档操作没有完成造成重做日志不能切换如果经常发生这样的情况,可以考虑增加重做日志文件组;想办法提高检查点或归档操作的效率; 有人未经授权删除了表空间则检查数据库的安全问题,是否密码太简单;如有必要,撤消某些用户的系统权限 出现坏块检查是否是硬件问题(如磁盘本生有坏块),如果不是,检查是那个数据库对象出现了坏块,对这个对象进行重建 表空间不够增加数据文件到相应的表空间 出现ORA-600根据日志文件的内容查看相应的TRC文件,如果是Oracle的bug,要及时打上相应的补丁 数据库表空间使用情况检查 数据库运行了一段时间后,由于不断的在表空间上创建和删除对象,会在表空间上产生大量的碎片,DBA应该及时了解表空间的碎片和可用空间情况,以决定是否要对碎片进行整理或为表空间增加数据文件。 select tablespace_name, count(*) chunks , max(bytes/1024/1024) max_chunk from dba_free_space group by tablespace_name; 其中,CHUNKS列表示表空间中有多少可用的空闲块(每个空闲块是由一些连续的Oracle 数据块组成),如果这样的空闲块过多,比如平均到每个数据文件上超过了100个,那么该

Oracle数据库日常维护手册

密级:保密编号: Oracle10g数据库 维护手册

日期: 编写: 核对: 更新: 目录1............................... 检查数据库基本状况9

1.1. ........................... 检查O RACLE实例状态 9 1.2. ........................... 检查O RACLE服务进程 11 1.3. ........................... 检查O RACLE监听状态 14 2........................ 检查系统和ORACLE日志文件16 2.1. ........................ 检查操作系统日志文件 16 2.2. ........................... 检查ORACLE日志文件 16 2.3. ....................... 检查O RACLE核心转储目录 18 2.4. .............. 检查R OOT用户和O RACLE用户的EMAIL 18 3.............................. 检查ORACLE对象状态18 3.1. ....................... 检查O RACLE控制文件状态

19 3.2. ....................... 检查O RACLE在线日志状态 19 3.3. ....................... 检查O RACLE表空间的状态 20 3.4. ................... 检查O RACLE所有数据文件状态 22 3.5. ................................ 检查无效对象 26 3.6. .......................... 检查所有回滚段状态 26 4.................... 检查ORACLE相关资源的使用情况27 4.1. ............. 检查O RACLE初始化文件中相关参数值 28 4.2. .......................... 检查数据库连接情况 31 4.3. ............................ 检查系统磁盘空间 34

虚拟机与主机共享上网的几种方式

虚拟机与主机共享上网的几种方式 Bridge模式: 这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,和linux下一个网卡绑定两个不同地址类似,实际上是将网卡设置为混杂模式,从而达到侦听多个IP的能力. 在此种模式下,虚拟机内部的网卡(例如linux下的eth0)直接连到了物理网卡所在的网络上,能想象为虚拟机和host机处于对等的地位,在网络关系上是平等的,没有谁在谁后面的问题. 使用这种方式非常简单,前提是你能得到1个以上的地址.对于想进行种种网络实验的朋友不太适合,因为你无法对虚拟机的网络进行控制,他直接出去了. Nat 模式: 方式:这种方式下host内部出现了一个虚拟的网卡vmnet8(默认情况下),如果你有过做nat服务器的经验,这里的vmnet8就相当于连接到内网的网卡,而虚拟机本身则相当于运行在内网上的机器,虚拟机内的网卡(eth0)则独立于vmnet8. 你会发目前这种方式下,vmware自带的dhcp会默认地加载到vmnet8界面上,这样虚拟机就能使用dhcp服务.更为重要的是,vmware自带了nat服务,提供了从vmnet8到外网的地址转换,所以这种情况是个实实在在的nat服务器在运行,只不过是供虚拟机用的. 非常显然,如果你只有一个外网地址,此种方式非常合适. Host only 模式: 这应该是最为灵活的方式,有兴趣的话能进行各种网络实验.和nat唯一的不同的是,此种方式下,没有地址转换服务,因此默认情况下,虚拟机只能到主机访问,这也是hostonly的名字的意义. 默认情况下,也会有一个dhcp服务加载到vmnet1上.这样连接到vmnet8上的虚拟机仍然能设置成dhcp,方便系统的设置. 是不是这种方式就没有办法连接到外网呢,当然不是,事实上,这种方式更为灵活,你能使用自己的方式,从而达到最最佳的设置,例如: a.使用自己dhcp服务:首先停掉vmware自带的dhcp服务,使dhcp服务更为统一. b.使用自己的nat,方便加入防火墙.windows host能做nat的方法非常多,简单的如windows xp的internet共享,复杂的如windows server里的nat服务. c. 使用自己的防火墙.因为你能完全控制vmnet1,你能加入(或试验)防火墙在vmnet1和外网的网卡间. 从以上能看出,hostonly这种模式和普通的nat server带整个内网上网的情形类似,因此你能方便的进行和之有关的实验,比如防火墙的设置等 1、Bridge方式(一切都跟host相同,只有ip不能和host相同) ip 192.168.39.222 netmask:255.255.252.0 gateway:192.168.39.254 Primary nameserve:192.168.39.252

虚拟机管理规范V1.0

虚拟机管理规范 一、总体要求 1、不要随意在公共场所安装虚拟机客户端,进行登录虚拟机操作。 2、虚拟机按需创建,做到专机专用,正式运行虚拟机和测试用虚拟机应分开,停用的虚拟机应及时删除。 3. 创建后的虚拟机及时登记并纳入服务器统一管理,每开通一个虚拟机要及时把虚拟机配置,用户名,密码,主机地址纳入管理库 二、虚拟机创建 1、虚拟机命名:使用[操作系统类型_虚拟机用途]的格式,如“Win2003_MIAP”、“CentOS_MIAP” 2、存储位置:虚拟机安装在挂载磁盘存储,一般不使用服务器自带存储。 3、虚拟机操作系统类型设置:根据准备安装的操作系统类型和版本进行设置。 4、CPU数量:根据每台服务器业务量分配CPU和内存,通常情况下选择2个CPU即可。 5、内存分配:根据虚拟机用途以及预期的负载分配内存。内存一般分为1G、2G、4G、8G通常情况下分配的大小不小于1G、不大于4G。内存总使用量一般不能超过服务器所配内存的75%

6、网卡:如无特殊需求只需配置一个虚拟网卡。 7、磁盘大小:虚拟磁盘初次分配不宜过大,以后可根据情况扩充。用于一般网站和应用系统的windows2003服务器磁盘容量应不小于35G。 三、创建虚拟机模板 创建虚拟机模板时应注意: 1、升级到最新的操作系统补丁并配置好自动升级的设置。 2、装操作系统后即创建虚拟机模板,以便以后使用。 3、虚拟磁盘容量初次分配不宜过大,满足操作系统需要并有一定保 留空间即可,日后可根据实际使用情况再增加磁盘容量。 四、虚拟机状态监控 每次进行服务器安全检查时应查看虚拟机工作状态。 1、虚拟机服务器(Host)运行状态。包括硬件工作状态、CPU、内存、网卡负载等。 2、各虚拟机(Guest)运行状态。包括虚拟硬件配置,Guest的CPU,内存,网卡负载等。 如果负载过重或存储容量不足,应及时调整虚拟机设置。 五、虚拟机参数配置 对虚拟机虚拟硬件的配置进行更改,应使虚拟机处于关闭电源

SQL Server2008数据库维护手册

数据库维护手册 一.SQL server 2008安装配置过程 1.将SQL Server 2008安装光盘放入光驱,光盘会自动检测系统是否安装.NET 3.5和Windows Installer 4.5系统环境,如下图所示: 2.点击【确定】按钮,系统自动解压.NET 3.5安装文件,如下图所示: 3.系统正在安装.NET 3.5,如下图所示: 4.安装程序加载安装组件后出现以如下所示界面:

5.选择“我已经阅读并接受许可协议中的条款”,点击【安装】按钮,如下图所示: 6.程序会自动下载并进行安装,安装完成后出现.NET 3.5安装完成的界面,如下图所示:

7.完成.NET 3.5的安装后,系统会进行Windows Installer 4.5的安装,如下图所示: 8.系统自动解压Windows Installer 4.5的安装文件,解压完成后,出现软件更新安装向导,如下图所示: 9.点击【下一步】,出现许可协议的对话框,如下图所示:

10.选择“我同意”,然后点击【下一步】,如下图所示: 11.点击【继续】按钮,Windows Installer会继续进行安装,如下图所示: 12.Windows Installer安装完成后出现如下所示界面:

13.点击【完成]】钮,出现以下界面,点击【确定】按钮,重新启动计算机。 14.重启完成后,运行光驱中SQL Server 2008安装程序,出现SQL Server安装中心的界面,如下图所示: 15.选择“安装”选项,如下图所示:

16.选择“全新SQL Server独立安装或向现有安装功能”,如下图所示: 17.安装过程中,程序会自动检测相关的支持规则,如下图所示:

最新VMware-VTSP考试题库资料(vSphere-虚拟机管理)

Q: 配置Guided Consolidation 时,默认凭据有何作用? A: 用于分析计算机的硬件和软件配置文件以便进行虚拟化。 用于赋予域中计算机的管理访问权限 用于识别网络中的物理计算机。 用于登录整合数据库。 Q: 虚拟机的最小内存大小为多少? A: 2 MB 4 MB 6 MB 取决于主机。 Q: 您使用[Remove from Inventory(从清单移除)] 命令从清单中移除了虚拟机。下列哪种方法可将虚拟机返回清单? A: 断开主机服务器的连接,然后重新连接。 右键单击主机服务器,并选择[Return VM to Inventory(将虚拟机返回清单)] 中。然后完成向导。 使用[New Virtual Machine(新建虚拟机)] 向导创建新的虚拟机,但并不创建新的磁盘,而是选择虚拟机的现有磁盘。

无法将虚拟机返回清单。 Q: 在Guided Consolidation 的分析阶段中,可信度的等级表示什么?A: 等级的可靠程度。 虚拟化对性能的影响程度。 候选物理服务器进行虚拟化的适合程度。 目标服务器托管转换后的虚拟机的适合程度。 Q: 下列关于虚拟机快照的说法中,哪一项是正确的? A: 快照作为单个文件记录,存储在虚拟机的配置目录中。 虚拟机一次只能拍摄一张快照。 在拍摄快照过程中可以选择是否捕获虚拟机的内存状态。 只能从命令行管理快照。 Q: [Clone(克隆)] 向导可以执行下列哪些任务? A: 自定义客户操作系统 安装客户操作系统补丁程序 创建初始快照

安装VMware Tools Q: 完成句子:要使冷迁移正常运行,虚拟机必须_____。 A: 处于关闭状态。 满足VMotion 的所有要求。 可以在具有相似的CPU 系列和步进功能的系统之间移动。 仍位于冷迁移之前的同一个数据存储中。 Q: 您正在创建新的虚拟机,并且希望将虚拟机数据直接存储在SAN LUN 中。那么您应选择哪个虚拟磁盘选项? A: 创建新的虚拟磁盘。 不创建磁盘。 裸机映射。 使用现有虚拟磁盘。 Q: 如何在vCenter Server 中为Windows 启用客户操作系统自定义? A: 选中[Configuration(配置)] 选项卡中的[Enable Guest OS Customization(启用客户操作系统自定义)]。 将sysprep 可执行文件复制到ESX 主机的相应文件夹中。

相关主题