科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件微软Nano Server预览版评测:很有希望,但亦存在一些不足

微软Nano Server预览版评测:很有希望,但亦存在一些不足

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

微软为Nano Server推出了一套预览版本,尽管目前的预览版本存在诸多问题,但我们必须从正确的角度对Nano Server加以审视。这是一套能够在一分钟之内实现启动、对资源要求极低且不像其它版本那样需要大量补丁安装的Windows Server版本。

来源:ZDNet软件频道 2015年5月17日

关键字: 微软 Nano Server Windows Server 2016

  • 评论
  • 分享微博
  • 分享邮件

ZDNet至顶网软件频道编译:现有技术方案确实很有希望,但亦存在一些不足之处。

微软Nano Server预览版综合评测

微软已经为Nano Server——也就是Windows Server 2016的一套终极精简部署选项——推出了一套预览版本,并随同Windows Server 2016这位家族中的老大哥一同与广大用户见面。

Nano Server“就目前而言可以算是自Windows NT版本以来,我们在服务器领域所作出的最重要的变革”,微软公司杰出工程师Jeffrey Snover在上个月召开的Build大会上指出。不过相较于他的高度赞誉,此次发布的预览版却显得非常低调。

目前Nano Server预览版的.iso镜像已经可以下载至Windows Server 2016技术预览版当中,不过仍然不提供设置选项。相反,它位于DVD镜像中的独立NanoServer文件夹当中,并作为Windows Image文件——也就是NanoServer.wim——实现交付。

相关说明文档只有一篇,感兴趣的朋友可以点击此处查看。

整个安装过程实际上就是下载相关内容,而后运行一套脚本将该镜像文件转换为.VHD(即虚拟硬盘),大家可以将其使用在Hyper-V虚拟机管理程序当中。这实在令人有些费解:为什么微软方面不直接发布.VHD了事,而非要让人再折腾这么一次呢?

但这还仅仅只是个开始。该镜像文件——其设计目标在于接入到Windows Server安装程序当中——无法直接实现引导。要让其发挥作用,我们接下来需要使用正确版本的DISM(即部署镜像服务与管理)工具将相关软件包添加到该镜像当中。

微软在上手说明文件内并没有对此进行明确指导,但最好的办法就是将目前提供的所有软件包一股脑全塞进去,其中包括负责为Hyper-V运行实例安装驱动程序的Guest软件包,当然大家也许可以把其中跟故障转移集群有关的软件包排除在外。

大家还需要添加一套无人自动脚本——微软的系统在首次引导时会对Windows进行配置——旨在为该服务器设置一套用户名及密码。

 微软Nano Server预览版综合评测

Nano Server启动与运行

在克服了这一系列障碍之后,我终于在一套配备有1 GB内存的虚拟机系统之内顺利启动了Nano Server——没错,我刻意多分配了一些内存资源以备不时之需。这款Windows全新衍生方案的前期准备工作甚至难倒了不少久经考验的PC老兵,这主要是因为其缺少命令提示符操作界面。

Windows Server Core,其中包含有命令窗口以及足以运行记事本以及任务管理器机制的GUI方案,突然令我们感到GUI的存在似乎成了一种奢侈。Snover表示,这些应该属于“客户端堆栈”,并认为所有服务器管理工作都应该以远程方式进行;但这确实也同时带来了很多后续困扰。

那么我们要如何管理Nano Server呢?帮助文档当中给出了几条建议,具体包括通过一条串行连接(前提是大家具备这样一个串行端口)使用EMS(即紧急管理服务)、通过PowerShell(微软的脚本与自动化平台)进行远程访问、WMIC(即Windows管理规范命令行)以及WinRM(即Windows远程管理)等。

我对其中的三套方案进行了尝试,虽然遭遇了一些挫折、但最终确实获得了成功。远程PowerShell无疑是最理想的选择,尽管其中只提供PowerShell命令集合中的一个子集。

PowerShell功能之所以受到限制,完全是因为Nano Server的另一大关键性特性:事实上,它并不能运行.NET框架(而且微软方面也并无让Nano Server运行.NET框架的计划)。

也许以上说法不够准确。Nano Server可以运行.NET,只不过需要限定在新的CoreCLR范畴之内,也就是微软所说的.NET Core。这是一套跨平台的开源方案,因此我们可以不出意料地想到,PowerShell当中一部分原本专门针对Windows的设定在这里将无法被正常使用。

当我需要查看Windows服务列表时,我的第一个念头是在远程会话当中使用Get-Service,但事实证明这条路根本走不通;我需要使用Net Start等备选方案才能完成这项任务。

在本月早些时候召开的Ignite大会上,微软展示了一套专门面向Nano Server且基于Web的工具方案,其中包含任务管理器、注册表编辑器、事件查看器、设备管理器、磁盘管理工具以及文件浏览器等等,而且一切皆由浏览器负责托管。这些功能确实极具实用性,不过目前这些功能尚未上线,因此抢先体验的预览用户们需要找到其它办法来实现这些功能。

如何安装应用程序?这确实是个问题

另一个问题是如何在Nano Server上安装其它程序。微软已经从中移除了Windows Installer服务,因此Msiexec(也就是用于安装.MSI软件包的命令)将失去作用,而且大部分安装程序亦无法运行。

微软方面在本届Build大会上宣称,其正在着手为Nano Server开发安装程序,其将能够处理文件、权限、服务、COM注册以及其它定制操作;听起来确实不错,但会有多少家供应商同时在自己的软件当中包含MSI与Nano Server安装程序呢?

 微软Nano Server预览版综合评测

运行DISM(即部署镜像服务管理)能够让我们了解到Nano Server未来将提供哪些功能。

目前的DISM工具能够实现为数不多的内置功能,这自然也使得我们几乎没多少应用程序部署选项可用:

  • 以手动方式复制文件并执行必要的注册操作。请注意,我们需要在通过网络访问该文件系统之前,首先通过“netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes”来打开该文件的共享端口。
  • 使用Chef以及/或者PowerShell DSC(即理想状态配置)等自动化平台。微软公司表示Chef能够运行在Ignite之上,但目前尚不清楚我们如何才能将Chef安装在这套预览版本当中。

Nano Server应该能够理想地在.NET Core之上运行ASP .NET 5.0应用程序,而且经过我的亲自尝试、结果也确实如此。我利用Visual Studio 2015构建了一款基础的ASP .NET预览Web应用程序并将其发分至一个目录当中,同时确保已经部署了64位与.NET Core版本的DNX(即.NET执行环境)。

随后我还尝试利用生成的脚本启动该应用程序。整个过程本该顺利起效的,毕竟ASP .NET 5.0的设计目的就是实现此类部署任务,而且我也已经在该应用程序目录当中添加了全部必要的.NET库。然而在实验过程中,我遭遇到了NativeCommandError。

经过简短的电话求助,我了解到这确实是个已知bug。大家需要DNX的Beta 5版本,而Visual Studio 2015 RC则自带Beta 4版本。我安装了DNX Beta 5,但却没办法让Visual Studio 2015放弃原有的内置Beta 4,因此要想在Nano Server上运行ASP .NET应用程序仍然是有待解决的问题。

Nano Server: 优势汇总

尽管目前的预览版本存在诸多问题,但我们必须从正确的角度对Nano Server加以审视。这是一套能够在一分钟之内实现启动、对资源要求极低而且不像其它版本那样需要进行大量补丁安装的Windows Server版本。

微软计划每年进行两次发布以保持其更新进度。不过Nano Server的设计目标其实比较有限。它并不是为那些现有企业级应用程序所打造,也无法运行像Exchange、SharePoint、Active Directory或者SQL Server这类大家耳熟能详的现有微软产品。相反,它主要面向以下两类需求:

  • 作为一套轻量化主机承载Hypver-V虚拟机以及容器化应用程序。
  • 运行那些专门针对Nano Server限制性条件所设计的应用程序。

Nano Server上并不提供IIS(即微软的Web服务器),但它仍然能够支持ASP .NET 5.0以及(根据微软方面的说法)PHP、Nginx、Python 3.5、Node.js、Go、MySQL、其OpenJDK范畴内的Java、Ruby 2.1.5外加SQLite本地数据库。

 微软Nano Server预览版综合评测

Nano Server对于资源的要求很低。

在Ignite大会的展示环节当中,微软将1000套Nano Server虚拟机运行在了同一台Hyper-V主机之上,而后者的总体资源仅为160个CPU计算核心与1 TB内存。

Nano Server最终将拥有远低于现有预览版本的管理难度,但其具体使用方式可能会令Windows Server管理员感到有些无所适从。不过如果将其运行背景转移到System Center或者Azure Pack等全面自动化系统之上,那么Nano Server将具备非常重要的现实意义。

配置工作需要我们以代码形式完成,例如将Chef等方案应用至DevOps系统当中,而我们目前在预览版本中难以解决的细节问题未来也将逐一消除。

可以说,在对当前build进行体验之后,我们发现微软距离正式推出Nano Server还有很长的路要走; 而最令我个人感到意外的是,微软居然会粗心到没让Nano Server的预览版本同最新Visual Studio预览版相兼容。

那么Nano Server究竟是什么?从Hyper-V主机的角度来看,它是一套裸机虚拟机管理程序,而这样的定位显然颇具吸引力。

从应用程序服务器的角度来看,大家则可以将Nano Server视为一种获取高度隔离化效果的方案——我们的应用程序能够成为服务器上的惟一运行负载——同时又能保证仅战胜非常有限的一部分操作系统资源。

但有得必有失,轻量化的代价是我们不得不放弃很多本应在服务器系统上拥有的功能特性。总而言之,Nano Server能够很好地扮演自动化系统中的组件角色,其中也拥有大量潜能可供挖掘。不过微软公司面临的挑战将是如何说明开发人员及管理员生态系统同时对现有代码及执行方案作出变更、从而迁就Nano Server的各项具体要求。


 

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章