我将获得一台 Windows 服务器,该服务器有 Windows Server 2008 32 位和 Windows Server 2008 64 位两种版本可供选择。我只会运行 IIS7 和 SQL Server 2008 Express。我应该使用哪一种版本?有什么指示?
答案1
如果您需要运行 64 位应用程序(例如 Exchange Server),则需要 64 位。
如果您拥有超过 4 GB 的内存,或者计划将来拥有这些内存,则需要 64 位。
另外,请记住,下一个 Windows 版本将仅有的是 64 位(Windows Server 2008 R2 已经是),以及所有 Microsoft 服务器产品;因此最好尽快推进。
一般来说,没有必要坚持使用 32 位服务器操作系统,除非您需要运行在 64 位操作系统上无法运行的应用程序(或加载驱动程序)。如果您有此需要,64 位系统上的 IIS 也可以在 32 位兼容模式下运行。
顺便问一下,为什么您要选择 Windows Server 2008,而不是更新的 Windows Server 2008 R2?
答案2
据我了解,Windows Server 2008 R2 及以后的版本将只支持 64 位。这是未来的趋势,因为目前大多数处理器都是 64 位的。
尽管设备驱动程序必须是 64 位的,但您仍然可以在 64 位 Windows 下运行 32 位应用程序。我偶尔会遇到一些 32 位应用程序的问题。但是,我通常设法让它们运行,方法是对系统进行一些小的修改和/或找到它们所需的缺失的 32 位库。
因此,很明显,32 位应用程序将不再是主流。尽可能使用 64 位。
如果 32 位 Windows Server 无法在您的硬件上运行,我只会使用它。但是如果您的硬件太旧,我认为您应该考虑升级它。
一些 64 位处理器缺少虚拟化扩展。虽然它们可以原生运行 64 位 Windows,但它们无法在同一硬件上虚拟化加载。在这种情况下,我们不得不运行 Server 2008 R1 32 位。这个问题在一些现已过时的 IBM HS20 Blade 服务器上被发现,因此请注意这一点。
编辑:我应该补充一点,如今所有主要的虚拟化平台都使用处理器虚拟化扩展(对于英特尔来说,即 VTx)。这些是加载 64 位操作系统所必需的。除非您使用 ESXi 之类的东西,否则您还需要一个原生 64 位主机操作系统。即,如果您加载了 Linux 32 位并安装了 VMWare Server,您将无法在其上运行 64 位 Windows 虚拟机。但是,如果您有 64 位 Linux 主机,则可以在其上运行 32 位或 64 位 Windows 虚拟机。