Nano Server是微软全新设计的的一个针对云端应用最佳化的一个极简版本操作系统,由于它仅内置必要元件,所以服务器的映像非常小,大概也就几百兆,比本来就精简的Server Core的6G体积更加小。从而可减少部署的时间,降低频宽损耗,同时也因为这个特性,使得它的关键补丁只有Windows Server的十分之一,这样就大大的减少了因更新补丁而引起的停机时间。
同时,与Server Core相比,Nano Server的驱动、服务加载也更少,开放的端口也更少,从而减少了可攻击面,使得更加的安全。
当然,因为Nano Server连GUI也没有,使得它所消耗的资源更少。
这么精简的一个系统,能用来做什么?微软的官方文档提到以下这三点:
As a “compute” host for Hyper-V virtual machines, either in clusters or not
As a storage host for Scale-Out File Server, either in clusters or not
As a container or virtual machine guest operating system for applications that are developed using in cloud application patterns
翻译过来就是:1、可以充当Hyper-V的群集;2、可以充当SOFS分布式存储;3、可以充当承载着Windows Container或者是虚拟机的操作系统。
=============华丽的分割线=============
那么这么精简的操作系统又怎么去安装呢?它是已经包含在最新出来的Windows Server 2016 TP3的ISO里面,我们只需要把它给提取出来即可。当然官方文档也给出方法,不过按官方文档的来所提取出来的是适用于Hyper-V的*.vhd(*.vhdx)的磁盘格式。如果我的测试环境的是VMware Workstation,那么又要怎么来制作呢?下面我就结合从网上找到的一些国外大神的方法,来进行制作适用于VMware Workstation的Nano Server。
虚拟软件:VMware Workstation 11
虚拟机:Windows Server 2016 TP3 一台
物理机操作系统:Windows 10
使用到的工具:StarWind V2V Converter vmxtoolkit
1、在WinServer16TP3这台虚拟机中插入Win16TP3的光盘,然后把里面的NanoServer文件夹拷贝下来。
2、把当前虚拟机的C:\Program Files\Common Files\VMWare路径下的Drivers文件夹拷贝到NanoServer文件夹里面。
3、打开Powershell,浏览到刚刚拷贝过来的文件夹,然后运行里面的convert-windowsimage.ps1的脚本。
cd C:\NanoServer
. .\convert-windowsimage.ps1 (不要漏了前面的点和空格)
4、之后,就利用刚刚导入的convert-windowsimage这个模块来进行制作VHDX文件。
Convert-WindowsImage -SourcePath .\NanoServer.wim -Edition CORESYSTEMSERVER_INSTALL -VHDPath .\nano.vhdx -VHDFormat VHDX -VHDPartitionStyle GPT
等这步完成,nano server的vhdx文件已经制作出来了,下一步就是用dism工具来进行安装程序包。
5、在同一个目录下新建一个名为mountdir的文件夹用于挂载磁盘文件,然后就dism进行挂载。
dism /Mount-Image /ImageFile:.\Nano.vhdx /Index:1 /MountDir:.\mountdir
6、然后再利用dism工具,把Packages目录里面的包按需要的打进去。
Hyper-V角色:
dism /Add-Package /PackagePath:.\packages\Microsoft-NanoServer-Compute-Package.cab /Image:.\mountdir
dism /Add-Package /PackagePath:.\packages\en-us\Microsoft-NanoServer-Compute-Package.cab /Image:.\mountdir
故障转换群集:
dism /Add-Package /PackagePath:.\packages\Microsoft-NanoServer-FailoverCluster-Package.cab /Image:.\mountdir
dism /Add-Package /PackagePath:.\packages\en-us\Microsoft-NanoServer-FailoverCluster-Package.cab /Image:.\mountdir
文件服务器角色和其他存储部件:
dism /Add-Package /PackagePath:.\packages\Microsoft-NanoServer-Storage-Package.cab /Image:.\mountdir
dism /Add-Package /PackagePath:.\packages\en-us\Microsoft-NanoServer-Storage-Package.cab /Image:.\mountdir
OEM驱动程序和一些VOR存储,键盘和鼠标:
dism /Add-Package /PackagePath:.\packages\Microsoft-NanoServer-OEM-Drivers-Package.cab /Image:.\mountdir
dism /Add-Package /PackagePath:.\packages\en-US\Microsoft-NanoServer-OEM-Drivers-Package.cab /Image:.\mountdir
7、安装完程序包之后,把dirvers里面的驱动程序包也打进去,这里我打三个驱动。
dism /Add-Driver /image:.\mountdir /driver:.\Drivers\pvscsi\pvscsi.inf
dism /Add-Driver /image:.\mountdir /driver:.\Drivers\vmci\device\vmci.inf
dism /Add-Driver /image:.\mountdir /driver:.\Drivers\vmxnet3\vmxnet3ndis6.inf
8、所有的包都打完之后,就可以保存并卸载映象。
dism /Unmount-Image /MountDir:.\MountDir /Commit
9、接下来,就是用StarWind V2V Converter,参数全部选择默认即可。
10、然后把转换好的nano.vmdk文件拷贝出物理机。
11、把vmxtoolkit.zip文件解压,然后用powershell浏览到该目录,导入vmxtoolkit.psd1的模块。
12、然后利用powershell命令来进行新建虚拟机文件nano01.vmx。
New-VMX -Type Server2016 -Firmware EFI -VMXName “nano01” |Add-VMXScsiDisk -Controller 0 -Lun 0 -Diskname “nano01.vmdk” |Set-VMXNetworkAdapter -Adapter 0 -ConnectionType custom -AdapterType vmxnet3 | Set-VMXVnet -Adapter 0 -Vnet vmnet2 |Set-VMXScsiController -SCSIContoller 0 -Type pvscsiv
13、最后,把nano01.vmx和nano01.vmdk放到同一个目录下面,再用workstation打开虚拟机即可。
14、开机。
因为我这台机器没有加入域,所以第一次登录就有提示说要修改密码,到这里,已经完成在VMworkstation上面安装Nano Server了。
Tips:
如果是制作用于Hyper-V的Nano Server磁盘,那么建议在第6步那里再打一个Microsoft-NanoServer-Guest-Package.cab的包,把第7步跳过。这样做出来的vhdx就可以用在Hyper-V上面了。
dism /Add-Package /PackagePath:.\packages\Microsoft-NanoServer-Guest-Package.cab /Image:.\mountdir
========
参考文章:
https://community.emc.com/blogs/bottk/2015/08/28/getting-started-with-nano-on-vmware-workstation