array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 第一章 Hyper-V 2012 R2角色部署 - 爱码网

 

在windows server 2012 R2中,我们可以通过安装hyper-v角色来完成虚拟化底层架构的部署。除了图形界面的安装,也可以使用单独的发行版Hyper-V Server 2012 R2来进行服务安装,Hyper-v Server 2012 R2是官方精简的服务器操作系统,其只拥有Hyper-v 功能,更小的系统内核决定了该版本更不容易被攻击和破坏。

在没有安装Hyper-v 角色之前,Windows Server 2012 R2只是一个单一的操作系统。但是在安装完成后,作为宿主机存在的Windows Server 2012 R2变成了第一台虚拟机,也就是父分区,其硬件均被Hypervisor接管。

前置条件

为了完成后续私有云环境的搭建,因此环境必须依托于微软的域架构。其中域架构和林架构均为Windows Server 2012 R2。

域名:contoso.com

域控: dc.contoso.com

域控ip:192.168.100.11

操作系统准备

首先使用一台独立的服务器,命名为hv1,并将其添加到contoso.com域中。其完整FQDN为hv1.contoso.com。

第一章	Hyper-V 2012 R2角色部署

配置权限和远程桌面访问

为了在演示中区分本地管理员与域管理员的不同,可以先在域控制器上创建一个用户nick(名称可以根据需要任意设置),并为其赋予Domain Admins权限。在生产活动中,多数企业会为私有云的管理员定义特定的用户名。

设置专用的用户名而不是员工的域账户,有两大优势:

  • 企业中当人事异动或离职时,不会因为账户权限变更造成业务中断。
  • 由于不是员工的常用账户,因此人为带来了一些使用障碍,管理员在非必要时间不会登陆该账户。

第一章	Hyper-V 2012 R2角色部署

为了方便后期的运维和管理,为机器开启远程桌面功能。

网络鸡吧身份验证(xp系统以上才能登陆)

第一章	Hyper-V 2012 R2角色部署

向导安装Hyper-v角色

添加角色和功能

第一章	Hyper-V 2012 R2角色部署

虚拟交换机可以以后再创建

第一章	Hyper-V 2012 R2角色部署

在迁移对话框中,可以配置Hyper-v实时迁移的相关设置,实时迁移能够为用户带来开机状态下无中断的虚拟机迁移体验。此处也可以不勾选。

第一章	Hyper-V 2012 R2角色部署

根据实际需要,输入存在的硬盘位置。

第一章	Hyper-V 2012 R2角色部署

确认安装,稍后服务器会重启

第一章	Hyper-V 2012 R2角色部署

重启完成后,可以在管理工具中找到Hyper-v管理器来管理虚拟机。

第一章	Hyper-V 2012 R2角色部署

第一章	Hyper-V 2012 R2角色部署

PowerShell脚本部署Hyper-v角色

本地安装

我们可以通过Powershell进行快速部署。选择以管理员身份运行。

第一章	Hyper-V 2012 R2角色部署

输入下面命令:

第一章	Hyper-V 2012 R2角色部署

此命令分为4个部分:

  • Install-WindowsFeature 表示需要进行安装角色的动作。
  • Hyper-v 表示安装的角色是hyper-v。
  • -restart 表示安装完成后需要重启服务器。
  • -includeManagementTools 表示同时安装角色的相应管理单元。

如果要查看Install-WindowsFeature的具体帮助,可以输入man instrall-windowsFeature进行查询。PowerShell的所有命令都可以通过man+命令的方式查看。由于帮助文件可以联网更新,因此建议在使用man时,先运行下面命令更新帮助文件。

第一章	Hyper-V 2012 R2角色部署

如果希望通过PowerSell查看角色是否安装成功,可以通过get-windowsFeature命令查看。

第一章	Hyper-V 2012 R2角色部署

此命令分为2个部分

  • Get-windowsfeature 表示需要进行交涉查找的动作。
  • *hyp*表示查找的是名称中包含hyp的角色,需要注意的是,此处的通配符必须前后都加上*。

输入命令后可以看到符合条件的返回结果,在Display Name条目,[x]表示已安装此功能,[ ]表示未安装此功能。

第一章	Hyper-V 2012 R2角色部署

远程安装

我们也通过其他服务器上来远程安装hyper-v

添加要管理的其他服务器

第一章	Hyper-V 2012 R2角色部署

选择服务器

第一章	Hyper-V 2012 R2角色部署

在所有服务器中选择HV1,运行window PowerShell

第一章	Hyper-V 2012 R2角色部署

第一章	Hyper-V 2012 R2角色部署

批量远程PowerShell安装

通过下面的命令,可以做到一次性为几百台计算机添加hyper-v角色。

第一章	Hyper-V 2012 R2角色部署

此命令分为4部分:

  • Invoke-command 表示在会话中远程执行脚本。
  • -computerName hv1,hv2 表示需要咨询的主机名。
  • -Command{} 表示执行的命令。

{}内的内容代表执行的命令,如需要同时安装多个角色,需要使用 , 隔离,如SNMP-Serveice,SNMP-WMI-Provider。

卸载Hyper-v角色

向导卸载

第一章	Hyper-V 2012 R2角色部署

启动删除角色和功能向导

第一章	Hyper-V 2012 R2角色部署

选择HV1服务器

第一章	Hyper-V 2012 R2角色部署

取消勾选Hyper-v

第一章	Hyper-V 2012 R2角色部署

PowerShell卸载

使用下列命令

第一章	Hyper-V 2012 R2角色部署

本章完结

相关文章: