许多企业在当前的IT生产环境中并不局限于部署单一的操作系统平台,很多情况下企业同时部署了微软Windows Server服务器操作系统平台与一些类UNIX操作系统平台来满足企业IT的各方面需求。通过阅读本文,作为IT专业人士的您将了解到如何在全新的Windows Server 2008 R2单一操作系统平台上实现UNIX应用整合。
异构IT环境带来的挑战
异构的IT系统总会给管理员带来各种挑战,IT专业人士在日常工作中可能需要频繁的在不同的操作平台上做各种操作以维持企业IT系统的正常运转。如果您的企业同时在使用Windows Server服务器平台以及UNIX操作系统平台,在这种情况下无论在管理成本上还是运维成本上都会产生更大的支出,IT人员需要面对更多的培训以适应在不同的系统平台及用户界面上工作,无形中降低IT员工效率。
很多IT专家在面临这样的挑战时会探索一些解决方案来破解这样的难题,如何将不同操作系统平台上的应用程序整合到单一的操作系统上运行便是解决方案中的关键点。在一个操作系统上运行虚拟机可以有效地解决此问题,比如在一台Windows操作系统的宿主计算机上安装一台UNIX操作系统的虚拟机,并将企业IT所需要的UNIX应用程序放在这台虚拟机上运行,来实现服务器整合,并降低IT环境复杂性。但这样的做法也有一定的缺点,即如果企业所需的UNIX应用程序数量较少,将其放在虚拟机中运行便会增加物理服务器的资源消耗,并且无法充分发挥该企业应用程序的性能,此外,虽然将UNIX放在虚拟机中运行,企业IT管理员所管理的服务器数量(物理机+虚拟机)依然没有降低,在运维方面依然需要耗费管理员的大量精力。对于部署了少量UNIX应用的企业来说,另一种方案也许更有效率,那就是在Windows Server服务器操作系统平台上直接运行UNIX应用程序。
在Windows Server操作系统平台上直接编译和运行UNIX应用程序有多种方案,比如Redhat旗下的Cygwin,通过Cygwin,用户可以直接在Windows平台上编译和运行类UNIX操作系统上的应用程序,但在实际运用中Cygwin的效率却难以令人满意。也许您还不知道,在微软最新的服务器操作系统Windows Server 2008 R2中,已经内置了一个与POSIX标准兼容的子系统,您可以直接在这个系统上编译和运行UNIX应用程序。
基于UNIX的应用程序的子系统概述
基于UNIX应用程序的子系统(Subsystem for UNIX-based Applications,SUA)是以前随Windows Services for UNIX 3.5一起提供的Interix 子系统演变而来的,它是一种可在运行Windows服务器类操作系统的计算机上进行操作的多用户UNIX环境。SUA及其随附实用程序可为您提供类似于基于UNIX的操作系统的环境。它还包括区分大小写的文件名、作业控制和编译工具,并支持使用300余个UNIX命令、实用程序和Shell脚本。因为SUA设计用来在Windows内核基础上运行,所以能提供真正的基于UNIX的功能而不用任何仿真。
基于UNIX的应用程序的子系统可以实现什么?
企业IT专业人员可以在Windows环境中通过使用Subsystem for UNIX-based Applications(SUA)及其附属公用程序,仅需修改少部分代码甚至无需修改任何代码来编译并执行32位和64v位的Unix应用程序。SUA可以提供类似UNIX操作系统的环境,并包含区分大小写的文件名称、工作控制以及编译工具,且使用300个以上的 UNIX命令、公用程序及壳层指令码。此外,由于 SUA 是为了能够在 Windows 核心之上执行而设计,因此无需任何模拟便可以提供真正的UNIX功能,进而达成高性能的目标。用户可以在单一Windows Server 2008 R2平台上同时使用Windows和UNIX的最佳组合,使企业可以充分利用现有的UNIX数据和应用程序,进一步降低成本。由于UNIX应用程序可以链接到Windows DLL,因此可以实现诸如将UNIX上的Oracle迁移到Windows这样的操作,并可以将数据库应用程序迁移到Microsoft SQL Server 2008时更加容易的保留企业逻辑。通过密码同步功能,用户名和密码可以在Windows域和UNIX系统中同步,实现用户的单一登录。
开始体验基于UNIX的应用程序的子系统
安装SUA
您可以通过两种方式在Windows Server 2008 R2操作系统上安装基于UNIX的应用程序的子系统:
A.使用Windows图形用户界面
使用 Windows 界面安装 SUA 的步骤
(1)打开服务器管理器。在任务栏单击“服务器管理器”图标。
图1
(2)在服务器管理器界面的“功能摘要”中,单击“添加功能”。
图2
(3)系统打开“添加功能向导”。
(4)在添加功能向导的“选择功能”页中,选择“基于 UNIX 的应用程序子系统”,然后单击“下一步”。
图3
(5)单击“安装”。
图4
安装过程将持续几分钟才能完成。
B.使用命令行
使用命令行安装 SUA 的步骤
(1)使用提升权限打开“命令提示符”窗口。若要执行此操作,请右键单击“命令提示符”可执行文件或“开始”菜单上的“命令提示符”对象,然后单击“以管理员身份运行”。
(2)键入下列命令并按 ENTER。
ServerManagerCmd.exe -install Subsystem-UNIX-Apps -restart
图5
注意
SUA 的命令标识符 Subsystem-UNIX-Apps 不区分大小写。
(3)安装完成,系统提示安装成功,输入exit并按Enter退出命令行。
图6
安装用于基于 UNIX 的应用程序子系统的实用工具和 SDK
您可以访问:http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=dc03485b-629b-49a6-b5ef-18617d1a9804(该网页为英文)来获取用于基于 UNIX 的应用程序子系统的实用工具和 SDK下载包。在下载该工具包之前可能需要您先完成注册步骤,请参考网页提示信息。该下载包中包含以下组件:
基本实用程序
SVR-5 实用程序
基本 SDK
GNU SDK
GNU 实用程序
UNIX Perl
Visual Studio 调试程序扩展
现在,完成了以上安装过程之后,你就可以在Windows Server 2008 R2平台上开始体验UNIX应用之旅了。最后,在此补充一下,SUA不仅适用于服务器版本的Windows Server 2008 R2,对于IT管理员或开发人员,这个基于UNIX的应用程序子系统同样适用于Windows 7操作系统,使您无论在服务器还是客户端上都可以无缝的编译并调试运行UNIX应用程序。