使用PowerShell管理Hyper-v

使用PowerShell管理Hyper-v

Windows Server 2012 Hyper-V功能非常强大,大家不但可以使用GUI图形界面外管理,也可以使用Windows PowerShell的方式管理,Windows Server 2012 R2所有的功能都可以使用Powershell,所以无论是在Windows Server 2012 R2 GUI还是Server Core亦或者是微软单独的服务器虚拟化产品Hypervisio,Powershell都显得非常重要。但是,大部分的人都喜欢使用图形界面来进行操作,其实当你深入使用Powershell,你就会了解到其实Hyper-V有很多功能是GUI图形界面无法使用的,但是在Powershell的环境下可以正常使用。所以在上一期博客为大家介绍了GUI的基本管理以后今天要介绍下Powershell的使用。

Windows PowerShell 是 Windows Server 中自动执行任务的脚本解决方案。Windows PowerShell 新的 Hyper-V CMDlet 是专门为 IT 专业人员设计的,允许他们执行在 Hyper-V Manager 的图形用户界面中可以执行的任务,还有一些任务只有通过 Windows PowerShell 的 CMDlet 才能执行

一、在Windows Powershell使用Get-Command命令显示所有和Hyper-v有关的命令:

除了使用Windows Powershell以外,我们也可以使用PowerShell 3.0管理Hyper-V。PowerShell ISE是集成在Windows Server中的PowerShell集成开发环境,在Windows Server 8/10中,在运行窗口中输入PowerShell ISE,即可打开PowerShell ISE

二、使用Powershell对Hyper-v进行简单配置

1、通过Powershell ISE远程管理Hyper-V

之前我们已经讲了,想管理Hyper-V主机,但是又不想去机房,那么可以是用Hyper-V管理器进行图形化的远程操作管理Hyper-V服务器,同样我们也可以是用Powershell ISE远程管理Hyper-V服务器,但是,要管理Hyper-V Server 2012及以上版本,必须是使用Windows 8/10或者是Windows Server 2012中的Powershell ISE来进行管理,不能是用低版本的Powershell ISE进行管理。

首先在文件中选择新建远程Powershell选项卡。然后点击连接。

输入密码,点击确定:

OK,已经成功连接到Hv-03了:

2、 设置Hyper-V虚拟硬盘存储位置

我们知道,Windows 在默认情况下把一切都安装在一个分区里,也就是OS安装在什么地方,其它配置就安装在什么地方,目的是怕新手配置的时候出错,但这样有一个问题,把所有的配置和OS混合安装,大大的影响了系统的性能,所以在规划虚拟服务器的第一步,就是服务的配置存放路径。Windows Server 2012 R2 默认的Hyper-v虚拟硬盘的存放路径为:C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks;但是在本次实验中我的磁盘也分了一个区,所以我就使用PowerShell修改Hyper-V虚拟硬盘存储位置设置到c:\Hyper-V\ Disks,如果没有此文件夹,会自动创建。 ,具体步骤如下:

Powershell修改命令为Set-VMHost -VirtualHardDiskPath "c:\Hyper-V\ Disks "

3、修改虚拟机的存储位置:

在不指定虚拟机存放位置的情况下,Windows Server 2012 R2 默认的虚拟机默认存放路径为:C:\ProgramData\Microsoft\Windows\Hyper-V;使用PowerShell可以修改Hyper-v的虚拟机的存储位置,比如可以将虚拟机存放在C:\Hyper-v\VMM,如果没有此文件夹,系统会默认创建。具体命令如下:

Set-VMHost -VirtualMachinePath "c:\Hyper-v\VMM"

4、NUMA跨越设置:

非统一内存访问(NUMA)是一种用于多处理器的电脑记忆体设计,内存访问时间取决于处理器的内存位置。在NUMA下,处理器访问它自己的本地存储器的速度比非本地存储器(存储器的地方到另一个处理器之间共享的处理器或存储器)快一些。如需要打开服务器的NUMA 跨越功能,则在Hyper-V 主机设置“NUMA 跨越”选项中,可以勾选“允许虚拟机跨越物理NUMA 节点”,如下图所示:

允许虚拟机跨越物理NUMA节点的PowerShell命令:“Set-VMHost -NumaSpanningEnabled $true ”

允许虚拟机跨越物理NUMA节点的PowerShell命令:“Set-VMHost -NumaSpanningEnabled $false”

5、实时迁移:

Windows Server 2008 R2 引入了实时迁移,可以将运行中的虚拟机从一台物理计算机迁移到另一台,中间不需要停机,也不会有服务中断。但是,这个功能要求虚拟机的虚拟硬盘在共享存储设备上保持一致,例如在光纤通道或 iSCSIS AN上。从Windows Server 2012 开始,实时迁移不再限于群集,虚拟机可以跨越群集界限进行迁移,包括迁移到环境内的任意Hyper-V主服务器上。Hyper-V在这个功能之上增加了对并行实时迁移的支持,因此可以同时迁移多台虚拟机。与网络虚拟化结合,这个功能甚至支持在本地主机和云主机之间轻松地迁移虚拟机。

Hyper-V 实时迁移支持将运行中的虚拟机从一台物理主机迁移到另一台,对虚拟用户来说,中间对虚拟机的可用性没有影响。Windows Server 2012 开始 Hyper-V 引入了更快的并发实时迁移,可以在群集环境内外进行迁移。除了在最基本的部署中提供实时迁移外,这个功能还支持更高级的场景,例如在多个独立的群集之间进行虚拟机的实时迁移,以便在整个数据库内平衡负载。

实时迁移的设置如果使用PowerShell就比较复杂,也需要相关的知识。需要迁移的主机必须具有相同的域或者相同的信任网络,而且委派的账户都是管理员组的成员,而且需要特定的网络设计,所以在这里我首先先介绍下设置的命令,在后面的博客中,会有专门的一章节专门讲虚拟机的动态迁移。

首先是使用:Enable-VMMigration命令启动传入和传出的实施迁移:

由于没有指定实时迁移的网络,所以会提示要求设置迁移网络。如果关闭实时迁移,则需要执行Disable-VMMigration。开启实施转移后,通过命令Get-VMHost来检测实时迁移的状态。

之后设置实时迁移的认证协议,有2种认证协议,一种是CredSSP,另一种是Kerberos。CredSSP 是一个新安全支持提供程序 (SSP),通过使用安全支持提供程序接口 (SSPI) 。而Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户机 / 服务器应用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意地读取、修改和插入数据。在以上情况下, Kerberos 作为一种可信任的第三方认证服务,是通过传统的密码技术(如:共享密钥)执行认证服务的。

接下来就是设置并行实施迁移数量

传入的实时迁移,如果是使用任何网络来进行实时迁移则输入

如果是指定IP地址来进行实施迁移,则后面带着IP地址就行

6、存储迁移就是将虚拟机的文件转移到其它地方,而在转移过程中,虚拟机一直保持运作,不停机,而这里设置的是存储的并发转移数目。

使用Powershell设置存储迁移的数目,这里设置的并发数是10,使用命令:“Set-VMHost -MaximumStorageMigrations 10”

OK、上述的这些就是使用PowerShell管理Hyper-v的一些基本命令!如果大家感兴趣可以去微软的网站上下载Hyper-v PowerShell相关的资料。

时间: 2024-08-08 01:29:14

使用PowerShell管理Hyper-v的相关文章

Hyper V server 2012 r2 常用的powershell命令

Hyper V server 2012 r2 常用的powershell命令 ? 获取网卡信息 Get-netadapterGet-netipinterface ? 设置DNS地址Set-DnsClientServerAddress -InterfaceAlias NIC NAME -ServerAddresses "1.1.1.1","2.2.2.2"注释:NIC Name: 网卡名称, 1.1.1.1,2.2.2.2 ? 网卡聚合NIC Teaming: New

Powershell管理系列(二十六)PowerShell操作之批量导出&导入邮箱

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750 项目中有时候做跨林邮箱迁移的时候,条件不成熟,比如安全考虑或者其他考虑,不能做双林信任,这样就提出了一个问题,历史邮件需要使用的话怎么办,一个简单高效的解决办法就是从源森林批量导出邮件为.pst文件,在批量导入到目的域森林,具体操作如下: 1.赋予管理账号邮件导入导出权限,命令如下: cls whoami New-Manageme

Hyper - V (四)

安装虚拟机 新建虚拟机 为新建的虚拟机起名,默认保存路径为前面设置的默认路径 指定虚拟机内存大小 指定虚拟机网卡连接到外部网络还是内部网络(或专用网络) 创建虚拟硬盘,指定硬盘存储路径及硬盘大小 选择安装文件的引导路径,支持光盘安装,ISO安装等方式. 这里我们选择通过光驱引导的方式来安装系统 完成虚拟机设置. 右键点击新建的虚拟机,设置可以更改虚拟机的配置选项. 将ISO文件加载到虚拟机中,即可以实现光盘引导功能. 启动虚拟机-- 安装系统 Hyper - V (四),布布扣,bubuko.c

Hyper - V (三)

创建内部网络及专用网络 内部网络:不与外部通讯的网络,仅与物理机及虚拟机之间通讯. 专用网络:不与外部及物理机通讯的网络,仅支持虚拟机之间的通讯. 添加内部网络 单击虚拟网络管理器 2. 点击新建虚拟网络 -- 内部 -- 添加 3. 此时将新建立一个内部的虚拟网卡 在添加内网通信的IP地址即可. Hyper - V (三),布布扣,bubuko.com

Azure运维系列 3:安装和使用Azure PowerShell管理云

前面讲到了很多的管理方式,包括Azure中国最近更新的预览版管理门户和Azure云助理,都是非常不错的管理Azure的方式,今天我们再来介绍一种更加高效的管理方式Azure PowerShell.熟悉命令行的朋友都知道,Linux之所以那么好用是因为其强大的命令行工具,可以简单直接的管理我们的服务器.应用等.然而在很早之前微软也推出了自己的命令行渠道,没错就是我们大名鼎鼎的PowerShell. 为什么说PowerShell那么强大呢?因为从Windows 8之后的产品.2007之后的服务端系统

win8/win10 自带Hyper V虚拟机

为什么是hyperV而不是vmware workstation或者virturalBox? 萝卜白菜,各有所爱.这里不比较数据,不深究技术,我选择的理由很简单:系统自带,不用安装额外的软件,而且性能也还可以. hyperV最早集成于win8中,win7及更老版本是没有此功能的.打开"任务管理器",在"性能"选项卡"虚拟化"中可到启用状态.可在BIOS设备.安全或CPU选项卡中找到虚拟化选项. BIOS中开启硬件支持后,可在"添加删除程序

Hyper v 单网卡 外部网络

先说一下环境: WIN 8.1 单网卡(有 无线 和 有线网卡, 但是没有多余的网络接口可插,还是等于单网卡) Hyper V 有3种虚拟交换机类型: 专用 / 内部 / 外部 各有各的用处, 我理解也不多,不多嘴误导大家. 今天说这个,是因为要做CSS和JS兼容调试, 开发用的都是IE11,用IE11的调试工具将文档模式调为 IE8 ,发现 jQuery.Validation 不能常运行. 但是用虚拟机装的 XP上直接用IE8 ,却没有任何问题,真的很蛋疼. 工作用的有两台电脑,一台装的是WI

Exchange 2013 PowerShell管理联系人&通讯组&资源邮箱

管理联系人 创建联系人,使用如下语法: New-MailContact -Alias rjones ` -Name "Rob Jones" ` -ExternalEmailAddress [email protected] ` -OrganizationalUnit sales 已启用邮箱的用户可以使用如下语法: New-MailUser -Name 'John Davis' ` -Alias jdavis ` -UserPrincipalName [email protected]

NServicebus-使用PowerShell管理NServiceBus

使用PowerShell管理NServiceBus PowerShell,Commandlets,安装 NServiceBus提供了一组PowerShell commandlets易于管理和运行的软件.最初的重点是与NServiceBus准备使用机器时提供支持.附加功能的管道. 在安装之前NServiceBus,确保PowerShell 2.0 +存在在目标机器上. 安装在V4.0 NServiceBus commandlets 这些能够方便NServiceBus.Powershell.dll.

Powershell管理系列(十三)Exchange 2013邮箱数量统计

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750 管理Exchange的话,我们首先对自己管理的邮箱数量和分布情况有所了解.打开EAC我们确实很快就可以查到有多少邮箱数量,如果邮箱比较多的话,而且有多个数据库,多个服务器呢?会不会觉得很繁琐,下面我介绍一下快速查询邮箱的Powershell. 我们一般管理Exchange的话需要用到Exchange management shel