Upload
mitchell-morton
View
236
Download
3
Embed Size (px)
Citation preview
Windows Server 2008 R2разработка .NET приложений для Server Core
Почему Server Core?
Windows Server® часто разворачиваю для выполнения всего одной ролиValue Proposition
Уменьшение attack surface areaСервер оптимизирован для выполнения роли - легче управлять и поддерживатьПовышение надежности и безопасностиМеньший объем установки и запуска
Обзор Server CoreServer Core
Минимальная инсталляция Windows ServerCommand Line interface, no GUI Shell
Входит в следующие редакции Windows Server
WebStandardEnterpriseDatacenter
Server Core - уменьшенное количество обновления
Windows 2000 ~60%Windows Server 2003 ~40%Windows Server 2008 ~40%
Server Core в Windows Server 2008
Server Core поддерживаетСледующие роли:
DHCP, File, Print, AD, AD LDS, Media Services, DNS, IIS, and Hyper-V
Следующие дополнительные компоненты:
WINS, Failover Clustering, Subsystem for UNIX-based applications, Backup, Multipath IO, Removable Storage Management, Bitlocker Drive Encryption, SNMP, Telnet Client, QoS
Архитектура Server Core
Server Core Server Roles
Server CoreSecurity, TCP/IP, File Systems, RPC,plus other Core Server Sub-Systems
DNS DHCP FileAD
ServerWith .NETFx,
Shell, Tools, etc.
TS NAS ADFS WDS Etc…
GUI, Shell, IE, Media, Mail, Etc.
Server, Server Roles (for example only)
ADLDS
MediaServer IIS 7 Hyper-V
Расширение Server Core в R2 .NET Framework для Server Core
Подмножество .NET 2.0 Подмножество .NET 3.0
Windows Communication Framework (WCF) Windows Workflow Framework (WF)
Подмножество .NET 3.5 WF расширения 3.5 LINQ
Частичная поддержка ASP.NET вIIS PowerShell WoW64 опциальный компонент
Не устанавливается по умолчанию
Архитектура 2008 R2 Server Core
Server Core Server Roles and Optional Features
Server CoreSecurity, TCP/IP, File Systems, RPC,plus other Core Server Sub-Systems
DNS DHCP FileAD
ServerWith .NetFx, Shell,
Tools, etc.
TS NAS ADFS WDS Etc…
Server, Server Roles (for example only)
ADLDS
MediaServer IIS 7 Hyper-V
ASP.NETPS.NET3/3.5
.NET2.0
WoW64 GUI, Shell, IE, Media, Mail, Etc.
Архитектура .NET Framework
CLR 2.0
LINQ
CLR 3.0Additions
CLR 3.5Additions
WPF ASP.NETWCF WF
CLR 2.0
ASP.NETWPF
.NET Framework на Server Core
LINQ
CLR 3.0Additions
CLR 3.5Additions
WPFWCF WF
.NET Framework 2.0 на Server Core Подмножество .NET 2 на Server Core Установка
Start /w ocsetup NetFx2-ServerCore Для поддержки 32bit :
Start /w ocsetup ServerCore-WOW64 Start /w ocsetup NetFx2-ServerCore-WOW64
.NET Framework 3 на Server Core
.NET 3 функциональность WPF нет на Server Core
.NET 3.5 функциональность LINQ
.NET 3 и 3.5 устанавливаются в одном пакете Start /w ocsetup NetFx3-ServerCore Для поддержки 32bit:
Start /w ocsetup ServerCore-WOW64 Start /w ocsetup NetFx3-ServerCore-WOW64
.NET Namespaces не доступные на Server Core Microsoft.Aspnet.Snapin Microsoft.Ink Microsoft.ManagementConsole.* Microsoft.StylusInput.* Microsoft.VisualBasic.Compatibility.VB6 Microsoft.Windows.Themes Microsoft.WindowsCE.Forms Microsoft.WindowsMobile.DirectX.* System.ComponentModel.Design.*
System.Data.Design System.Deployment.Applicatio
n System.Diagnostics.Design System.Media System.Messaging.Design System.Speech.* System.Web.UI.Design.* System.Windows.* UIAutomationClientsideProvide
rs
VS 2008 C# Installer Необходимо выбрать Target Platform x64 Необходимо модифицировать msi при
помощи Orca.exe В таблице Custom Action необходимо удалить
строки: DIRCA_CheckFx VSDCA_VsdLaunchConditions
Демо
ASP.NET
Входит в IIS, в тот же пакет что и в полном сервере: IIS-ASPNET
Ограничения System.Web.Mail не будут работать по
причине CDOSYS Используйте System.Net.Mail
Web Application Tool (WAT) не доступно
Удаленное управление IIS на Server Core Установите IIS Management Service
Start /w ocsetup IIS-ManagementService Разрешите Remote Management
В HKLM\Software\Microsoft\WebManagement\Server выставить EnableRemoteManagement в 1
Запустить Management Service Net start wmsvc
Другие IIS Features в Server Core IIS-NetFxExtensibility
Поддержка .NET framework модулей расширения
IIS-PowerShellProvider IIS PowerShell cmdlets
IIS-FTPExtensibility IIS-WebDAV WCF-HTTP-Activation
Демо
Установка PowerShell Start /w ocsetup
MicrosoftWindowsPowerShell PowerShell cmdlets
Server Manager cmdlets Start /w ocsetup ServerManager-PSH-Cmdlets add-pssnapin Microsoft.windows.servermanager Cmdlet’ы: add-windowsfeature, get-windowsfeature и
remove-windowsfeature Best Practice Analyzer cmdlets
Start /w ocsetup BestPractices-PSH-Cmdlets add-module BestPractices Cmdlet’ы: get-bparesult, invoke-bpamodel и set-
bparesult
Демо
Server Core Coding Best Practices
Создавайте единый бинарник для Server и Server Core
Идеальный вариантНе делайте зависимостей GUIДля native code, используйте минимальный уровень Win32 APIsДля managed code, ограничитесь Server Core subsetТестируйте на Server Core
Работающий, но не идеальный вариант
Делайте GUI зависимостиПроверяйте что запущенно на Server CoreЕсли да, то отключайте GUIТестируйте на Server Core
Определение Server Core
Вызывайте GetProductInfo API
Value Meaning
PRODUCT_DATACENTER_SERVER0x00000008
Server Datacenter Edition (full installation)
PRODUCT_DATACENTER_SERVER_CORE0x0000000C
Server Datacenter Edition (Server Core installation)
PRODUCT_ENTERPRISE_SERVER0x0000000A
Server Enterprise Edition (full installation)
PRODUCT_ENTERPRISE_SERVER_CORE0x0000000E
Server Enterprise Edition (Server Core installation)
PRODUCT_STANDARD_SERVER0x00000007
Server Standard Edition (full installation)
PRODUCT_STANDARD_SERVER_CORE 0x0000000D
Server Standard Edition (Server Core installation)
Определение Server Core
InstallationType Registry entry HKLM\Software\Microsoft\Windows NT\
CurrentVersion Возможные значения Client, Server и
ServerCore
Ограничения Server Core
Нет Explorer Shell, Task Bar и System TrayНет Internet Explorer
Http.sys включенНет Audio/Video/MultimediaНет MMCНет common dialog box :
Browse buttons в MSIsOpen/Save/Save as
Installation Best Practices
Server Core включает поддержку Windows Installer (MSI)
Добавьте поддержкуUnattended install/quiet
32 bit инсталляторы и Custom Actions требуют ServerCore-WOW64
Вопросы