블로그 이미지
백업/재해복구/스마트워크/클라우드
엘도라도29


Tistory Cumulus Flash tag cloud by BLUEnLIVE requires Flash Player 9 or better.

Statistics Graph
Locations of visitors to this page

  • 347,194total
  • 243today
  • 361yesterday
Windows PowerShell 버전 2.0의 원격 관리 기능 살펴보기
2008/08/27 01:48 기술 잡지

시작하기 전에go.microsoft.com/fwlink/?LinkID=119707에서 최신 버전을 다운로드해야 합니다.

우선 중요한 가지 사항을 밝혀 두겠습니다. CTP Microsoft 다음 버전의 응용 프로그램에서 지향해야 방향에 대해 적극적인 사용자들로부터 의견을 듣기 위해 제공하는 사전 베타 코드입니다. CTP 버전 또는 드롭(업계 용어) 이전 드롭과 완전히 다를 있습니다. 개발 팀에서 피드백을 수집하여 철저하게 검토한 이러한 사용자 피드백을 기준으로 응용 프로그램을 변경하기 때문입니다. 이러한 방식에서는 CTP 사용과 관련하여 유리한 혜택을 받을 있고 주의해야 경고도 있습니다.

 

유리한 혜택이란 CTP 사용할 connect.microsoft.com 사이트를 통해 제품에 대한 피드백을 제공할 있다는 것입니다. 그러면 개발 팀에서 개발 해당 피드백에 대해 조치를 취할 있습니다! 베타 또는 RC(Release Candidate) 단계까지 기다릴 경우 피드백을 적용하기가 더욱 어려워집니다. CTP 중에는 모든 것이 가능하고, 개발 팀에서는 필요한 경우 대대적이고 완전한 변경 작업을 수행할 있습니다.

반면 경고도 따릅니다. CTP 생산 준비가 되지 않은 버전입니다. 물론, Windows PowerShell™ 2.0 CTP2 지금까지 발표된 사전 릴리스 코드 가장 안정적인 버전일 있지만, 다음 CTP 드롭은 완전히 다른 응용 프로그램이 수도 있습니다. 따라서 다음 버전에서 처음부터 다시 시작해야 있으므로 CTP2 너무 의존하지는 마십시오.

CTP Windows PowerShell 1.0 함께 설치할 없습니다. 최상의 설치를 위해 시스템에 Microsoft® .NET Framework 3.5 설치되어 있어야 모든 기능을 사용할 있습니다. 그렇지 않으면 일부 기능이 제한됩니다.

또한, CTP 매우 초기의 코드이므로 Microsoft 지금까지 Windows Vista® Windows Server® 2008 비롯한 최신 운영 체제에서 작동하는 응용 프로그램에 중점을 두고 있습니다. 현재의 OS 호환성은 최종 발표될 코드의 OS 호환성을 나타내지는 않습니다. 이전 버전과의 호환성은 개발 주기의 후반에 적용됩니다.

 

가지 유형의 원격

원격 관리에는 대개 (fan-in) 아웃(fan-out) 가지 유형의 원격 기능이 있습니다. (Fan-in) 원격 기능은 단일 서버에 여러 관리자가 보안 연결을 합니다. Windows PowerShell 보안 분할 방식으로 기능을 사용할 있도록 설계되었습니다. 따라서, Exchange Server 회사를 호스팅할 경우 고객에게 서버의 일부에 대한 관리 액세스를 제공할 있습니다. 원격 기능을 사용하면 원격 서버에 설치된 Windows PowerShell(버전 2.0 해당) 원격으로 보안이 유지되는 대화형 액세스가 가능합니다.

아웃(Fan-out) 원격 기능을 사용하면 전체 원격 서버 그룹에 대해 일련의 명령을 번에 실행할 있습니다. 실행된 명령은 워크스테이션에서 서버 그룹에 동시에 전파됩니다. 명령은 서버에서 실행되고, 결과는 Windows PowerShell 개체의 형태로 워크스테이션에 반환되므로 결과를 검토하고 작업을 수행할 있습니다. Windows PowerShell 아웃 원격 기능을 위한 가지 핵심 기술인 Windows® Management Instrumentation(WMI) Windows Server 2008에서 처음 도입된 Windows PowerShell 2.0 CTP에서 업데이트된 Windows Remote Management(WinRM) 지원합니다.

 

동기와 비동기

실제로 Windows PowerShell 1.0에도 WMI 연결된 기본적인 아웃 기능이 있었습니다. 예를 들어, 컴퓨터 이름 배열을 만든 다음 각각에서 WMI 클래스를 쉽게 검색할 있었습니다.

$names = @("server1","server2","server2")

Get-WmiObject Win32_OperatingSystem

–computer $names

버전 1.0에서는 WMI 메서드를 번에 실행할 있는 방법을 제공하지 않았기 때문에 컴퓨터 재부팅과 같은 메서드 실행에는 많은 작업이 필요했습니다. 하지만 버전 2.0 CTP에서 Invoke-WmiMethod cmdlet 도입하면서 바뀌었습니다.

$names = @("server1","server2","server2")

Get-WmiObject Win32_OperatingSystem –computer $names | `

Invoke-WmiMethod Reboot

기술에도 문제는 있습니다. 작업이 동기로 수행되므로 컴퓨터가 번에 하나씩 연결되고 다른 명령을 실행할 있으려면 명령이 완료될 때까지 기다려야 합니다. 그러나 CTP에서는 이와 같은 명령을 백그라운드에서 실행할 있도록 백그라운드 작업이라는 새로운 개념을 도입했습니다. 간단히 –AsJob 매개 변수만 추가하면 백그라운드에서 WMI 명령을 실행할 있습니다.

$names = @("server1","server2","server2")

Get-WmiObject Win32_OperatingSystem –computer $names -asjob

결과 작업의 상태는 Get-PSJob 실행하여 검토할 있으며, 작업의 최종 결과는 Receive-PSJob 실행하여 있습니다. 다음 칼럼에서 작업 관리에 대해 자세히 살펴보도록 하겠습니다. 하지만 Invoke-Command cmdlet 다음과 같이 백그라운드에서 명령을 실행할 있는 좋은 방법을 제공합니다.

$command = { Get-WmiObject Win32_OperatingSystem }

$names = @("server1","server2","server2")

Invoke-Command –command $command –computer $names –asjob

명령은 지정된 컴퓨터에 Get-WmiObject 명령을 보낸 다음 로컬에서 실행합니다. 일반적으로 실행 속도가 빠르며 WMI 원격 프로시저 호출(RPC) 연결에 의존할 필요도 없습니다. 대신 Invoke-Command 기본적으로 포트 80 또는 443 사용하는 WinRM 활용합니다. 이러한 포트는 방화벽을 손쉽게 탐색할 있게 해주며 전체적으로 구성이 가능합니다. 또한 Invoke-Command 대체 자격 증명 제한을 위한 추가 매개 변수를 지원하여 수백 대의 컴퓨터를 대상으로 하지만 일부만 병렬로 실행할 있습니다. 따라서 정체 과도한 오버헤드를 피할 있습니다.

 

재사용 가능한 실행 영역

특정 컴퓨터 그룹을 이상 원격으로 관리할 계획이라면 단순한 컴퓨터 이름 목록이 아닌 실행 영역을 사용해 보도록 합니다. Windows PowerShell에서 실행 영역은 컴퓨터의 콘솔 창에서 로컬로 실행되거나 원격 컴퓨터에서 백그라운드로 실행되거나 상관없이 단순히 엔진의 인스턴스입니다. 원격 실행 영역을 시작하는 방법은 간단합니다.

$names = @("server1","server2","server2")

New-RunSpace –computer $names

실행 영역에서도 WinRM 사용하므로 기본적으로 포트 80(또는 –UseSSL 매개 변수를 지정할 경우 443) 사용합니다. 또한 대체 인증서 등도 허용할 있습니다. 결과 실행 영역 개체를 검색할 경우 Invoke-Command 전달할 있으며, Windows PowerShell 이러한 실행 영역이 존재하는 컴퓨터로 명령을 보냅니다.

$command = { Get-WmiObject Win32_OperatingSystem }

$rs = Get-Runspace

Invoke-Command –command $command –runspace $rs –asjob

여기서 이점은 셸이 열려 있는 동안에는 실행 영역이 활성 상태로 유지되어 추가 명령에 대해 간단히 재사용할 있다는 것입니다.

 

(Fan-In) 원격

실행 영역은 원격 기능에서도 중요합니다. 예를 들어, 그림 1에서는 원격 컴퓨터에서 실행 영역을 만들고 해당 실행 영역에 대한 참조를 검색한 Push-Runspace cmdlet 사용하여 실행 영역을 활성화했습니다. 여기서 SSH 또는 기타 원격 유틸리티와 유사하게 원격 컴퓨터에서 명령을 실행합니다. Pop-Runspace 실행하면 원래의 "로컬" 실행 영역으로 돌아오고, 프롬프트를 통해 현재 어느 위치에 있는지 있습니다.

그림 1 실행 영역을 사용하여 원격 컴퓨터에서 명령 실행

실행한 정확한 명령 시퀀스는 다음과 같습니다.

PS C:\>new-runspace -computer "WIN-YFZXQMHXAWM"

PS C:\>$server2 = get-runspace -sessionid 2

PS C:\>push-runspace $server2

[win-yfzxqmhxawm]: PS C:\Windows\System32> pop-runspace

PS C:\>

기술은 여러 관리자가 동시에 동일한 서버에서 대화형 원격 실행 영역을 있고 개별 워크스테이션에서 서버로 들어올 있으므로 인이라고 합니다. Windows PowerShell 2.0 새로운 보안 모델을 통해 제한적인 셸과 cmdlet 만들어 관리자가 전역 수정을 하지 못하게 있습니다. 관리자는 자신의 고유 셸로만 제한됩니다. 이러한 새로운 보안 기술에는 .NET Framework 대상 언어로 가지 사용자 지정 소프트웨어를 개발해야 합니다. 내용은 Windows PowerShell 칼럼의 범위를 벗어나지만 이러한 기능이 있다는 사실을 알아두는 것이 좋습니다.

 

2.0 핵심 응용 프로그램

Windows PowerShell 2.0 CTP에는 여러 가지 놀라운 새로운 기능이 포함되어 있으나 생각으로는 원격 기능이 핵심 응용 프로그램입니다. 거의 모든 환경의 모든 관리자는 원격 기능을 통해 이점을 누릴 있습니다.

posted by 엘도라도29
Windows 배포 서비스 101
2008/08/24 01:53 기술 잡지

WDS 재작성된 원격 설치 서비스(RIS)라고 생각할 있습니다. 몇몇 주요 구성 요소를 공유하고 실제로 Windows Server® 2003 WDS 버전에는 RIS 기능적으로 동일한 레거시 모드가 있지만, 기본 모드 50% 혼합 모드에서 실행되는 WDS 실제 인프라는 완전히 새로운 것입니다.

 

Windows Server 2003 WDS

Windows Vista® 출시되었을 WDS 동시에 제공되었습니다. Windows Vista 설치는 Windows® Imaging Format(WIM) 아키텍처를 사용하여 완전히 재설계되었기 때문에 RIS 통해서는 Windows Vista( Windows Server 2008) 배포할 없게 되었으므로 단계가 필요했습니다. 이후 Windows Server 2003 SP1 실행하는 고객들은 WDS 선택적으로 다운로드할 있게 되었습니다. SP2에서는 RIS WDS 완전히 대체되었습니다.

Windows Server 2003 WDS 이전 버전과 완벽하게 호환되므로 Windows Server 2003 SP2 시스템에 WDS 설치할 기본 모드로 전환하지 않아도 됩니다. 계속해서 레거시 모드로 실행(기능적으로 RIS 서버로 실행)하거나 WDS 또는 RIS 시작할 있는 혼합 모드로 실행할 있습니다.

Windows Vista Windows Server 2008 배포할 있을 아니라 기본 모드 또는 50% 혼합 모드로 실행되는 WDS에는 여러 가지 추가 기능이 있습니다. 지난 달에 설명한 Windows 커널 모드 설치 엔진 기존의 설치 코어(technet.microsoft.com/magazine/cc645015) 사용하는 대신, WDS에서는 Windows PE 부트스트랩 사전 설치 환경으로 사용하고 RISetup 또는 RIPrep 기반 설치를 사용하는 대신 WIM 기반 이미지를 배포합니다. 이를 통해 배포가 더욱 빨라지고 쉬워지며 안정성이 높아집니다.

또한, Windows PE Windows 전체 설치와 동일한 문자 집합을 표시할 있으므로 ANSI(American National Standards Institute) 기반 문자를 사용해야 한다는 등의 지난 달에 언급했던 많은 제한 사항이 없습니다.

WDS에는 RIS 없는 관리 지원을 위한 Microsoft® Management Console(MMC) 스냅인 RIS 비해 구성 기능을 확장하는 포괄적인 명령줄 구성 도구 가지 도구가 포함되어 있습니다.

레거시와 혼합 모드에서 모두 RISetup RIPrep 기반 Windows 이미지 배포가 가능하므로 가지 사항을 염두에 필요가 있습니다. RIS에서는 디스크의 이미지 저장을 최적화하기 위해 SIS(단일 인스턴스 저장소)라는 구성 요소를 사용했습니다. 나중에 Windows Storage Server 2003 일부로 제공된 SIS RIS( WDS) 서버에서 백그라운드로 실행되어 동일한 파일을 찾는 Groveler라는 서비스를 사용했습니다. 파일의 크기와 해시가 일치하면 SIS 복사본을 SIS Common Store 폴더에 저장한 다음 찾은 원본 버전에 대한 하드 링크를 만듭니다.

SIS 프로세서 사용률에 대한 영향을 최소화하면서 저장 공간 절약이 가능하도록 설계되었습니다. 이러한 개념은 RIS에서 처음으로 사용된 다음 Windows Server 플랫폼에서 널리 사용되었습니다. 그러나 SIS WDS에서 이상 사용되지 않습니다.

기본 모드로 실행되는 Windows Server 2003 WDS( Windows Server 2008 경우 항상) 설치를 위해 WIM 이미지를 사용하므로 고유의 압축 더욱 중요한 고유의 단일 인스턴스 파일 저장 모델이 있으며 SIS 전혀 사용하지 않습니다. 이미지 저장소는 WDS 위한 새로운 WIM 기반 설계로 RIS에서 사용되는 저장 모델을 대체합니다. SIS 대한 자세한 내용은 go.microsoft.com/fwlink/?LinkId=120302 참조하십시오.

 

Windows Server 2008 WDS

Windows Server 2008에서 WDS Windows Server 2003 기능의 상위 집합이며 또한 하위 집합입니다. 이제 EFI(Extensible Firmware Interface) 기반 x64 시스템을 지원하고, 향상된 설치 메트릭 보고 기능을 갖춘 뛰어난 성능의 신형 TFTP(Trivial File Transfer Protocol) 서버인 전송 서버를 사용하여 독립 실행형 모드에서 멀티캐스트를 통해 이미지를 배포할 있습니다. 이러한 기능에 대해서는 다음 칼럼에서 설명하겠습니다.

Windows Server 2008 WDS에는 Windows Server 2003 있었던 레거시 설치 지원 기능이 없습니다. RISetup/RIPrep 이미지 배포 기능 또는 레거시 RIS OS 선택기를 사용하여 설치를 시작하는 기능은 이상 사용할 없습니다.

 

선택

Windows Server 2008 출시된 이후 가장 자주 듣는 질문 하나는 "어떤 버전의 WDS 사용해야 할까요?"입니다. 대답은 Windows Vista 이전의 Windows 버전을 배포하는지 여부와 그러한 경우 RISetup /또는 RIPrep 기반 이미지에서 전환하여 WIM 기반 설치를 사용할 준비가 되어 있는지 여부에 따라 달라집니다.

WDS Windows Server 2008에서도 WIM 이미지라면 Windows 2000 버전까지 모든 이전 버전의 Windows 배포할 있으며, 멀티캐스트를 사용하여 작업을 수행할 있습니다. 따라서 지금 RIS에서 WDS 전환하고, 인프라에 Windows Server 2008 생각하고 있으며, RIS 기반에서 WDS 기반 이미지로 마이그레이션할 의향이 있다면 Windows Server 2008 WDS 마이그레이션이 적절할 있습니다.

Windows Server 2003 시스템 자체에서도 RIS에서 WDS 마이그레이션하고(SP2 설치할 경우 기본), WDS 기반 이미지로 전환할 있습니다. 그런 다음 Windows Server 2008 WDS 업그레이드할 있습니다.

하지만 이것은 제가 권장하는 모델이 아닙니다. 2008 이전에 많은 버전의 Windows Server 있으므로 Microsoft에서는 버전의 Windows Server에서 다른 버전으로 마이그레이션(업그레이드와 대비)하는 것을 권장합니다.

그리고 이전에 언급한 대로 인프라에서 Windows Server 2008 x64 버전을 고려하는 것이 Windows Server 2003 x64 버전을 고려하는 것보다 훨씬 낫습니다. 이러한 전환을 경우 Windows Server 2003에서 Windows Server 2008 WDS 서버 마이그레이션 작업이 업그레이드 작업에 비해 비교적 쉽고 훨씬 안정적입니다.

 

고려 사항

WDS 배포 작업에서 고려해야 가지 사항이 있습니다. 실제로 WDS 대한 새로운 요구 사항은 아닙니다. RIS 경우에도 이와 동일한 여러 고려 사항이 있었습니다. 하지만 단일 WDS 서버를 구축하든지, 전체 인프라를 구축하든지 다음 사항을 염두에 필요가 있습니다.

권한 WDS 서버를 관리할 기억해야 가지 기본 사항이 있습니다. Active Directory®에서 RIS 마찬가지로 WDS 서버에 권한을 부여해야 합니다. 이렇게 하려면 포리스트의 루트 도메인에서 도메인 관리자 또는 엔터프라이즈 관리자이거나 적절한 권한이 위임되어야 합니다. 또한 WDS 서버를 관리하려면 도메인 관리자여야 하고, 물론 WDS 서버 자체의 관리자이기도 해야 합니다.

가상화 Microsoft Virtual PC 또는 Virtual Server상의 가상화된 Windows Server 2003 또는 Windows Server 2008 인스턴스에서 실행하고 Virtual PC 또는 Virtual Server 설치되어 있는 동일한 클라이언트 PC 통신할 경우, PXE 부팅 경합 상태가 발생하여 클라이언트가 매우 느려지거나 멈출 있습니다. 클라이언트 또는 서버를 가상화할 있지만 가상화하는 것은 권장되지 않습니다. 특히, 동일한 호스트 시스템에서는 더욱 그렇습니다. 개인적으로 프로덕션 환경에서 WDS 서버를 가상화하는 것은 권장하지 않는데, 주로 다음과 같은 고려 사항 때문입니다.

기타 서비스 WDS RIS 마찬가지로 다른 프로덕션 서비스와 항상 작동하는 것은 아닙니다. 특히, Microsoft Exchange Server, Systems Management Server(SMS) System Center Configuration Manager(SCCM) 실행 중인 프로덕션 시스템에서 실행할 경우 RIS/WDS 문제가 발생하는 것을 목격했습니다.

일반적으로 5대가 넘는 클라이언트에 대한 프로덕션 환경에서 WDS 사용하는 경우 서버에서 WDS 유일한 역할이 되도록 하는 것이 좋습니다. WDS뿐만 아니라 Windows 서버 제품의 역할을 함께 사용할지 여부를 신중히 고려하고 배포 전에 테스트해야 합니다.

느리거나 대기 시간이 링크 RIS 마찬가지로 WDS 위성 링크와 같은 낮은 대역폭 연결이나 대기 시간이 연결을 통해 사용하도록 설계되지 않았습니다. PXE 핸드셰이크에서 문제가 발생할 있으며, 작동된다고 해도 이미지 다운로드에 상당히 많은 시간이 소요될 있습니다.

 

WDS 시작

WDS 대한 추가 정보

 

  • 부팅 이미지: 일반적으로 Windows Server 2008 또는 Windows Vista SP1 설치 DVD에서 복사된 Windows PE 2.x 포함하는 이미지입니다. 멀티캐스트를 사용하는 경우 부팅 이미지로 Windows Server 2008 \Sources\Boot.wim 파일을 사용할 있습니다(Windows Vista 또는 레거시 운영 체제를 배포하는 경우에도 해당). 부팅 이미지는 대개 Windows PE, Windows Setup.exe 기타 종속 구성 요소로 구성됩니다.
  • 설치 이미지: 일반적으로 Windows Vista 또는 Windows Server 2008 \Sources\Install.wim 파일인 Windows OS 이미지로 구성됩니다. 기본 부팅 이미지 또는 기본 설치 이미지를 추가하는 단계는 거의 동일합니다. 이미지 유형을 마우스 오른쪽 단추로 클릭하고 해당 유형의 이미지를 추가하도록 선택하여 프로세스를 시작합니다. 설치 이미지의 경우 이미지 그룹 이름을 지정해야 합니다(Windows DVD 기본 WIM에는 이상의 OS 유형이 포함되어 있음). 그런 다음 추가하려는 해당 boot.wim 또는 install.wim으로 이동하고 열기를 클릭합니다. 설치 이미지의 경우 WDS 서버에 추가하지 않으려는 볼륨 이미지(OS 이미지) 선택을 취소할 있습니다. 마지막으로 이러한 기본 이미지를 사용하여 클라이언트에 대해 PXE-install 수행할 있습니다.

    캡처 이미지
    사용자 지정 OS 이미지를 만들려면 캡처 이미지(Windows 시스템을 WIM 이미지로 캡처할 있도록 설계된 Windows PE 이미지) 만들어야 합니다. 가장 쉬운 방법은 이전에 설치한 boot.wim 이미지를 사용하는 것입니다. 원하는 이미지를 마우스 오른쪽 단추로 클릭하고 캡처 부팅 이미지 만들기를 클릭합니다. 이미지에 대해 사용할 이름과 설명을 지정하고, 캡처 이미지를 배포할 네트워크 연결 문제 발생을 대비하여 .wim 파일의 로컬 복사본을 저장할 위치를 지정합니다. 그런 다음 마법사의 지시에 따라 완료하고 마침을 클릭합니다. 이제 WDS MMC에서 Boot Image 폴더를 마우스 오른쪽 단추로 클릭하고 부팅 이미지 추가를 클릭합니다. 이전과 같이 마법사의 지시를 따릅니다. 작업을 마쳤으면 Windows 설치 이미지를 캡처할 준비가 완료된 것입니다.

    캡처 101
    운영 체제 이미지를 캡처하기 전에 물론 Windows 설치하고 원하는 모든 응용 프로그램, 사용자 지정 업데이트가 포함되도록 해야 합니다. 다음으로 해야 일은 시스템에서 Sysprep 실행하는 것입니다. Sysprep 준비된 시스템에서만 Windows 설치 이미지를 캡처할 있기 때문입니다. 손상 가능성을 방지하기 위해 이미지 *.wim 확장명을 저장할 유효한 로컬 위치를 지정해야 합니다. 시스템을 구성하고 올바른 버전의 sysprep.exe 시스템에 복사했으면 다음 단계를 따라야 합니다.
  1. 참조 컴퓨터에 있는 명령 프롬프트에서 sysprep.exe 있는 디렉터리로 변경합니다.
  2. Sysprep 시작합니다(sysprep.exe 클릭하고 수동으로 옵션을 지정하여 시작할 수도 있음). Windows Vista 또는 Windows Server 2008 실행하는 컴퓨터의 경우 sysprep /oobe /generalize /reboot 명령을 실행합니다. 이전 버전의 Windows 실행하는 컴퓨터의 경우 sysprep -mini –reseal –reboot 실행합니다.
  3. 컴퓨터가 다시 시작되면 PXE 부팅합니다( 프로세스는 클라이언트 시스템에 따라 다를 있음).
  4. 부팅 메뉴에서 WDS 캡처 이미지를 선택하고 다음을 클릭합니다.
  5. 이미지에 대한 드라이브 이름과 설명을 선택합니다.
  6. 설명한 대로 Sysprep 준비된 시스템만 보입니다. 이것은 계획적으로 설정된 것으로 우회할 있는 방법은 없습니다.
  7. 찾아보기를 클릭한 다음 캡처된 설치 이미지를 저장할 로컬 폴더로 이동합니다. 매핑된 네트워크 드라이브를 선택할 수도 있습니다.
  8. WDS 서버에 이미지 업로드를 선택합니다.
  9. WDS 서버의 이름을 입력한 다음 연결을 클릭합니다.
  10. 이미지 그룹 목록에서 이미지를 저장할 이미지 그룹을 선택한 다음 마침을 클릭합니다. 이미지는 이제 WDS 서버에서 배포할 준비가 되었습니다. 그런데 이쯤에서 RIS 전문가의 지적이 있을 있습니다. 여기에서는 Windows 이미지를 라이브로 캡처하지 않았기 때문입니다. WDS 경우 캡처되는 시스템이 오프라인 상태여야 합니다. RIS 경우 RIPrep 온라인 시스템을 캡처할 있었습니다(사실, 그렇게 해야만 했습니다). 프로세스는 매우 불안정했습니다. WDS 캡처 프로세스가 비교적 쉽고 강력하다는 사실을 있습니다.

    이미지 마이그레이션
    RIS 사용한 적이 있다면 사용했던 이미지가 있을 것입니다. RISetup 기반 이미지(스크립트 설치) 수명은 끝났습니다. 하지만 RIPrep 이미지를 WDS WIM 기반 이미지로 마이그레이션할 있습니다. 사실, WDS에서는 WDSUtil 통한 이미지 마이그레이션도 가능합니다(다음 달에 자세히 설명할 예정). 일반적으로 작업은 이미지에 많은 시간과 노력을 투자했고 이를 잃고 싶지 않은 경우에만 수행하는 것이 좋습니다. 프로세스는 비교적 수행되지만, 변환 오류가 약간 발생할 수도 있습니다. 그러면 이미지를 처음부터 다시 만들어야 합니다.

    무인 설치
    앞에서 설명한 대로 이미지를 만들면 수동으로 설치할 있는 이미지가 만들어집니다. 자동화되거나 완전히 자동화된 설치를 위해서는 가지 무인 설치 파일을 사용해야 합니다. WDS 자체에는 WDS 설치 프로세스를 자동화하는 응답 파일(WDS 서버의 \RemoteInstall\WDSClientUnattend 디렉터리에 있는 unattend.xml) 필요합니다. 번째 파일은 실제 이미지 unattend 파일입니다. Windows Vista 이후 버전의 경우 unattend.xml 파일에 해당됩니다. 이전 버전 Windows 이미지의 경우 $OEM$ 디렉터리 구조 또는 이미지 디렉터리의 \Unattend 있는 sysprep.inf 파일입니다. 파일은 WDS 완료된 Windows 실제 설치를 자동화하는 사용됩니다. WDS Unattend 파일을 만들려면 WAIK 사용하여 WDS 대한 unattend.xml 만듭니다. 파일을 RemoteInstall 디렉터리나 하위 디렉터리에 복사합니다. unattend 파일을 사용하려는 설치 이미지를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다. 클라이언트 탭에서 무인 설치 사용을 선택하고 앞에서 지정한 unattend.xml 파일을 지정합니다. Windows Vista 이전 버전의 이미지에 대해 이미지 unattend 파일을 만들려면 sysprep.inf 파일을 이미지의 $OEM$ 디렉터리에 복사합니다(: D:\RemoteInstall\Images\Windows XP\SP2\$OEM$\$1\sysprep\sysprep.inf). Windows Vista 이미지의 경우 연결할 이미지를 지정하고 속성을 클릭한 다음 일반 탭에서 무인 모드에서 이미지 설치 허용을 클릭합니다. 그런 다음 설치에 사용할 unattend.xml 파일을 지정합니다. 이제 절반 정도 진행되었습니다. 칼럼을 통해 WDS 구성하고 실행할 있게 되었습니다. 다음 달에는 WDSUtil, 이미지 저장소 특성 멀티캐스트에 대해 자세히 다룰 예정입니다. 그런 다음 WDS 기반으로 사용자 지정 배포 솔루션 구현을 고려해야 하는 이유와 방법에 대해 자세히 설명하면서 이번 시리즈를 마무리할 예정입니다. 때까지 칼럼과 함께 제공되는 "WDS 대한 추가 정보" 추가 기사를 살펴보십시오.
posted by 엘도라도29
서버 성능 평가
2008/08/20 02:11 기술 잡지

월요일 아침에 출근했더니 직원이 서버 속도가 너무 느리다고 불평을 합니다. 이를 위해 무엇부터 시작하시겠습니까? 성능 모니터는 Windows® 기본적으로 포함되어 있는 편리한 도구로서, 문제를 진단하도록 도와 줍니다.

성능 모니터는 명령 프롬프트에서 perfmon 입력하거나 관리 도구 메뉴에서 성능 또는 안정성 성능 모니터(Windows Vista® Windows Server® 2008 경우) 선택하여 있습니다. 모니터링할 성능 카운터 개체를 추가하려면 더하기 기호를 클릭하고 선택 가능한 항목 중에서 선택하기만 하면 됩니다.

그렇다면 서버의 성능을 어떻게 측정하겠습니까? 60 이상의 기본 성능 개체가 있으며, 개체에는 여러 카운터가 포함되어 있습니다. 문서에서는 서버의 중요한 상태를 나타내는 카운터를 소개하고, Microsoft® Service Support 엔지니어가 성능 관련 문제를 해결하는 가장 많이 사용하는 일반적인 샘플링 간격에 대해 설명합니다.

물론 기준은 문제 해결 참조할 있는 참조 포인트를 제공합니다. 서버 부하는 업무 요구 사항에 따라 달라지고 업무 주기별 시간마다 바뀌므로 일정 기간 동안 표준 작업 부하로 결정된 기준을 설정하는 것이 중요합니다. 이를 통해 변동 사항을 주시하고 추세를 파악할 있습니다.

 

더욱 신뢰할 있는 결과 생성

서버의 중요한 상태를 나타내는 카운터를 본격적으로 설명하기 전에 성능 모니터를 사용하여 서버의 주요 상태를 쉽게 측정할 있는 가지 팁을 소개하겠습니다. 이러한 팁은 Windows Vista Windows Server 2008에서는 필요하지 않지만, 이전 버전의 Windows에서 성능 모니터를 실행하는 경우 매우 유용할 있습니다.

첫째, 추세 선의 그래픽 보기를 방해하는 모든 샘플 요소를 제거할 있습니다. Windows Vista Windows Server 2008 경우 성능 모니터는 그래픽 보기에 최대 1000개의 데이터 포인트를 표시할 있습니다. 이전 버전의 Windows에서는 최대 100개의 데이터 포인트로 제한됩니다. 100개가 넘는 데이터가 있을 경우 성능 모니터는 데이터 포인트를 버킷화합니다. 하나의 버킷은 버킷에 포함된 샘플 포인트의 최소값, 평균 최대값을 나타내는 수직선으로 표시됩니다.

그림 1 그래프를 보면 있듯이 너무 많은 데이터가 동시에 표시되면 추세 선을 파악하기가 어렵습니다. 그림 2 그래프는 불필요한 모든 시각적 정보를 없앨 경우 얼마나 간편하고 쉽게 데이터를 파악할 있는지를 보여 줍니다. 이러한 수직선이 표시되지 않도록 하는 방법에 대한 자세한 내용은 support.microsoft.com/kb/283110 기술 자료 문서를 참조하십시오.

그림 1 쉼표 없이 산만한 버킷으로 표시된 성능 데이터(크게 보려면 이미지 클릭)

그림 2 쉼표로 구분되어 보기 좋은 데이터(크게 보려면 이미지 클릭)

번째 팁은 숫자에 쉼표 구분 기호를 추가하여 카운터에 표시된 값을 쉽게 읽을 있도록 하는 것입니다. Windows Vista Windows Server 2008에서는 기본적으로 쉼표 구분 기호가 사용됩니다. 하지만 이전 버전의 Windows 경우 성능 모니터에서 기본적으로 쉼표를 사용하지 않습니다.

별다른 차이가 없을 것처럼 느껴지지만, 쉼표 없이 성능 카운터를 표시하는 그림 1 쉼표를 사용하여 카운터를 표시하는 그림 2 비교해 보십시오. 번째 그림이 읽기 쉽다는 것을 있습니다. Windows XP에서 성능 카운터에 쉼표 구분 기호를 추가하는 방법은 support.microsoft.com/kb/300884 기술 자료 문서를 참조하십시오.

 

측정 대상 시기

리소스가 한도에 도달할 경우 전체 시스템 성능이 느려질 있는 병목 현상이 발생합니다. 병목 현상은 대체로 리소스 부족이나 잘못된 구성, 구성 요소 오작동 리소스에 대한 프로그램의 잘못된 요청 등으로 인해 발생합니다.

병목 현상을 유발하고 서버 성능에 영향을 있는 주요 리소스 영역은 물리적 디스크, 메모리, 프로세스, CPU, 네트워크 등의 5가지입니다. 이러한 리소스가 과도하게 사용되면 서버 또는 응용 프로그램이 현저하게 느려지거나 충돌이 발생할 있습니다. 문서에서는 이러한 5가지의 영역에서 사용해야 하는 카운터에 대해 소개하고 서버의 상태를 측정하는 권장되는 임계값을 제공합니다.

샘플링 간격은 로그 파일의 크기 서버 부하에 많은 영향을 주므로, 문제가 다시 발생하기 전에 기준을 설정할 있도록 문제가 발생하는 걸리는 평균 기간을 기준으로 샘플 간격을 설정해야 합니다. 그러면 문제로 이어지는 경향을 파악할 있습니다.

일반적인 작업 기준을 설정하기 위한 권장 시간은 15분입니다. 문제가 발생하는 걸리는 평균 시간이 4시간이라면 샘플 간격을 15초로 설정합니다. 문제가 발생하는 걸리는 시간이 8시간 이상이라면 샘플링 간격을 5 이상으로 설정합니다. 그렇지 않으면 로그 파일이 너무 커져서 데이터를 분석하는 어려울 있습니다.

 

하드 디스크 병목 현상

디스크 시스템은 서버에서 프로그램 데이터를 저장하고 처리하므로 디스크 사용량 속도에 영향을 미치는 병목 현상은 서버의 전체적인 성능에 영향을 줍니다.

디스크 개체가 서버에서 비활성화된 경우 명령줄 도구 Diskperf 통해 활성화해야 합니다. 또한 % Disk Time 100% 초과할 있으므로 대신 % Idle Time, Avg. Disk sec/Read Avg. Disk sec/write 사용하면 하드 디스크가 얼마나 많이 사용되고 있는지 좀더 정확하게 파악할 있습니다. % Disk Time 대한 자세한 내용은 support.microsoft.com/kb/310067 기술 자료 문서를 참조하십시오.

다음은 Microsoft Service Support 엔지니어가 디스크 모니터링을 위해 사용하는 카운터입니다.

LogicalDisk\% Free Space 선택한 논리 디스크 드라이브에서 사용할 있는 공간의 백분율을 측정합니다. 카운터가 15% 아래로 떨어지면 OS에서 중요 파일을 저장하기 위한 여유 공간이 부족할 있습니다. 경우 확실한 해결책은 디스크 공간을 늘리는 것입니다.

PhysicalDisk\% Idle Time 샘플 간격 디스크가 유휴 상태였던 시간 백분율을 측정합니다. 카운터가 20% 아래로 떨어지면 디스크 시스템이 포화 상태인 것입니다. 현재 디스크 시스템을 빠른 디스크 시스템으로 교체하는 것이 좋습니다.

PhysicalDisk\Avg. Disk Sec/Read 디스크에서 데이터를 읽는 걸리는 평균 시간() 측정합니다. 값이 25ms(밀리초)보다 크면 디스크에서 읽을 디스크 시스템에 지연 현상이 발생하고 있음을 의미합니다. SQL Server® Exchange Server 호스팅하는 중요 업무 서버의 경우 허용 가능한 임계값은 10ms 미만입니다. 여기에서 가장 현명한 해결책은 현재 디스크 시스템을 빠른 디스크 시스템으로 교체하는 것입니다.

PhysicalDisk\Avg. Disk Sec/Write 디스크에 데이터를 쓰는 걸리는 평균 시간을 측정합니다. 시간이 25ms보다 크면 디스크에 디스크 시스템에 지연 현상이 발생하고 있음을 의미합니다. SQL Server Exchange Server 호스팅하는 중요 업무 서버의 경우 허용 가능한 임계값은 10ms 미만입니다. 여기에서 현명한 해결책은 디스크 시스템을 빠른 디스크 시스템으로 교체하는 것입니다.

PhysicalDisk\Avg. Disk Queue Length 얼마나 많은 I/O 작업이 하드 드라이브를 사용할 있을 때까지 대기하고 있는지 나타냅니다. 여기에서 값이 스핀들 + 2보다 크면 디스크 자체에 병목 현상이 있음을 의미합니다.

Memory\Cache Bytes 파일 시스템 캐시에 사용되고 있는 메모리의 양을 나타냅니다. 값이 200MB보다 크면 디스크 병목 현상이 발생할 있습니다.

 

메모리 병목 현상

메모리 부족은 대체로 RAM 부족, 메모리 누수 또는 boot.ini 메모리 스위치 등으로 인해 발생합니다. 메모리 카운터를 소개하기 전에 먼저 /3GB 스위치에 대해 설명하겠습니다.

메모리가 많을수록 디스크 I/O 작업이 줄고 응용 프로그램 성능이 높아집니다. /3GB 스위치는 사용자 모드 프로그램에 많은 메모리를 제공하기 위한 방법으로 Windows NT®에서 도입되었습니다.

Windows에서는 4GB 가상 주소 공간을 사용하며 이는 시스템의 물리적 RAM과는 무관합니다. 기본적으로 하위 2GB 사용자 모드 프로그램을 위해 사용되고, 상위 2GB 커널 모드 프로그램을 위해 사용됩니다. /3GB 스위치를 사용하면 사용자 모드 프로세스에 3GB 제공됩니다. 그러면 물론 커널 메모리가 가상 주소 공간의 1GB 남게 되므로 영향을 받습니다. 경우 페이징되지 않은 바이트 풀링, 페이징된 바이트 풀링, 사용 가능한 시스템 페이지 테이블 항목 데스크톱 힙이 모두 1GB 공간 안에 들어가야 하므로 문제가 발생할 있습니다. 따라서 /3GB 스위치는 해당 환경에서 충분한 테스트를 거친 후에만 사용해야 합니다.

메모리 관련 병목 현상이 발생하는 경우 스위치를 의심해 있습니다. /3GB 스위치가 문제의 원인이 아니라면 다음 카운터를 사용하여 잠재적인 메모리 병목 현상을 진단할 있습니다.

Memory\% Committed Bytes in Use 커밋된 바이트와 커밋 한도의 비율, 가상 메모리의 사용량을 측정합니다. 값이 80%보다 크면 메모리가 부족함을 나타냅니다. 경우 확실한 해결책은 메모리를 추가하는 것입니다.

Memory\% Available Mbytes 프로세스 실행을 위해 사용할 있는 실제 메모리의 (메가바이트) 측정합니다. 값이 물리적 RAM 5%보다 작으면 메모리가 부족함을 나타내며 이로 인해 페이징 작업이 늘어날 있습니다. 문제를 해결하려면 메모리를 추가해야 합니다.

Memory\Free System Page Table Entries 시스템에서 현재 사용되지 않는 페이지 테이블 항목의 수를 나타냅니다. 숫자가 5,000보다 작으면 메모리 누수가 있을 있습니다.

Memory\Pool Non-Paged Bytes 페이징되지 않은 풀의 크기(바이트) 측정합니다. 디스크에 없고 대신 실제 메모리에 남아 있어야 하는 할당된 개체에 대한 시스템 메모리 영역입니다. 값이 175MB(또는 /3GB 스위치의 경우 100MB)보다 크면 메모리 누수 가능성이 있습니다. 일반적인 이벤트 ID 2019 시스템 이벤트 로그에 기록됩니다.

Memory\Pool Paged Bytes 페이징된 풀의 크기(바이트) 측정합니다. 사용되고 있지 않을 디스크에 있는 개체에 대한 시스템 메모리 영역입니다. 값이 250MB(또는 /3GB 스위치의 경우 170MB)보다 크면 메모리 누수 가능성이 있습니다. 일반적인 이벤트 ID 2020 시스템 이벤트 로그에 기록됩니다.

Memory\Pages per Second 하드 페이지 결함을 해결하기 위해 디스크에서 페이지를 읽거나 쓰는 속도를 측정합니다. 과도한 페이징으로 인해 값이 1,000보다 크면 메모리 누수 가능성이 있습니다.

 

프로세서 병목 현상

프로세서 병목 현상은 프로세서 자체의 성능이 나빠서 발생하거나 비효율적인 응용 프로그램으로 인해 발생할 있습니다. 실제 메모리 부족으로 인해 프로세서가 페이징에서 많은 시간을 보내지 않는지 다시 확인해야 합니다. 잠재적인 프로세서 병목 현상을 조사할 Microsoft Service Support 엔지니어는 다음 카운터를 사용합니다.

Processor\% Processor Time 프로세서가 비유휴 스레드 실행에 소비하는 경과 시간의 백분율을 측정합니다. 백분율이 85%보다 크면 프로세서에 병목 현상이 발생하고 서버에 빠른 프로세서가 필요할 있습니다.

Processor\% User Time 프로세서가 사용자 모드에서 소비하는 경과 시간의 백분율을 측정합니다. 값이 높으면 서버에서 응용 프로그램이 많이 실행되고 있음을 나타냅니다. 가지 가능한 해결책은 프로세서 리소스를 많이 사용하는 응용 프로그램을 최적화하는 것입니다.

Processor\% Interrupt Time 지정된 샘플 간격 프로세서가 하드웨어 인터럽트 수신 서비스 제공에 소비하는 시간을 측정합니다. 값이 15%보다 크면 하드웨어 문제일 있습니다.

System\Processor Queue Length 프로세서 큐의 스레드 수를 나타냅니다. 값이 일정 기간 동안 CPU x 2보다 크면 서버에 프로세서 성능이 부족한 것입니다.

 

네트워크 병목 현상

네트워크 병목 현상은 네트워크에서 데이터를 송수신하는 서버의 성능에 영향을 미칩니다. 서버의 네트워크 카드에 문제가 있을 있거나, 네트워크가 포화 상태여서 분할해야 있습니다. 다음 카운터를 사용하여 잠재적인 네트워크 병목 현상을 진단할 있습니다.

Network Interface\Bytes Total/Sec 프레이밍 문자를 포함하여 네트워크 어댑터를 통해 보내고 받는 바이트의 비율을 측정합니다. 인터페이스의 70% 이상이 사용되면 네트워크가 포화 상태입니다. 100Mbps NIC 경우 사용되는 인터페이스는 8.7MB/초입니다(100Mbps = 100000kbps = 12.5MB/* 70%). 이와 같이 포화 상태이면 빠른 네트워크 카드를 추가하거나 네트워크를 분할해야 있습니다.

Network Interface\Output Queue Length 출력 패킷 큐의 길이(패킷) 측정합니다. 값이 2보다 크면 네트워크가 포화 상태입니다. 문제는 빠른 네트워크 카드를 추가하거나 네트워크를 분할하여 해결할 있습니다.

 

프로세스 병목 현상

제대로 작동하지 않는 프로세스나 최적화되지 않은 프로세스가 있으면 서버 성능이 크게 저하될 있습니다. 스레드 핸들 누수는 결국 서버 다운으로 이어지고, 과도한 프로세서 사용은 서버 속도를 저하시킵니다. 다음 카운터는 프로세스 관련 병목 현상을 진단할 유용합니다.

Process\Handle Count 프로세스로 현재 열린 핸들 수를 측정합니다. 값이 10,000보다 크면 핸들 누수 가능성이 있습니다.

Process\Thread Count 프로세스에서 현재 활성 스레드 수를 측정합니다. 값이 최소 최대 스레드 사이에서 500보다 크면 스레드 누수 가능성이 있습니다.

Process\Private Bytes 다른 프로세스와 공유할 없는 프로세스에 할당된 메모리의 양입니다. 값이 최소 최대 스레드 사이에서 250보다 크면 메모리 누수 가능성이 있습니다.

 

 

posted by 엘도라도29
Exchange 2007 SP1 배포 (Q & A)
2008/08/02 19:44 기술 잡지

Q: Exchange Server 2007 SP1은 64비트 버전으로만 제공됩니까? 만약 32비트 버전도 제공된다면 프로덕션 환경에서 이 버전을 사용할 수 있나요?

A: 이와 관련해서 Exchange 2007의 원래 버전(RTM)과 SP1 버전에는 다른 점이 없습니다. SP1은 32비트와 64비트로 모두 제공됩니다. 그러나 RTM 버전과 마찬가지로 프로덕션 환경에서는 설치된 서버 역할에 대해 64비트만 지원된다는 점을 기억하십시오. 단, RTM 버전에서와 마찬가지로 다양한 /prepare 설치 스위치를 실행하고 64비트 서버를 관리하려는 경우에는 32비트 SP1 버전을 사용할 수 있습니다.

Q: SP1 서버를 사용하려면 Exchange 2007 RTM 버전의 전체 설치를 먼저 완료한 다음 SP1을 적용해야 합니까?

A: 이것이 바로 Exchange 2007 SP1이 이전 버전의 Exchange 서비스 팩과 다른 점입니다. SP1은 실제로는 SP1이 통합되어 있는 RTM이기 때문에 Exchange 2007 SP1을 새로 설치할 때 RTM DVD를 사용할 필요가 없습니다.

따라서 Exchange 2007 SP1 서버를 새로 설치할 경우 SP1만 있으면 됩니다. 예를 들어 Exchange Server 2003 조직에 처음으로 Exchange 2007을 도입하는 경우에도 SP1만으로 곧바로 시작할 수 있습니다.

Q: 현재 Windows Server® 2003에서 Exchange 2007 RTM을 실행하는 서버가 있으며 이 컴퓨터에 Exchange 2007 SP1을 설치하려고 합니다. Microsoft에서 Exchange 2007 SP1은 Windows Server 2008에서만 지원된다고 하여 나중에 Windows Server 2008로 사용 중 업그레이드를 수행하려고 하는데 이렇게 해도 되겠습니까?

A: 유감스럽게도 그와 같은 방법은 사용할 수 없습니다. Exchange 2007 RTM 또는 SP1이 설치되어 있는 상태에서는 Windows Server 2003에서 Windows Server 2008로의 사용 중 업그레이드가 지원되지 않습니다. 이 기능은 여러 가지 기술적인 이유로 지원되지 않으며 이와 같은 사용 중 업그레이드를 수행할 경우 설치되어 있는 Exchange이 손상됩니다.

자세한 내용은 "미션 임파서블: Windows Server 2003에서 Windows Server 2008로의 Microsoft® Exchange Server 2007 사용 중 업그레이드"(msexchangeteam.com/archive/2007/10/04/447188.aspx)를 참조하십시오.

Q: 현재 사용하고 있는 테스트 서버 일부에는 제품 ID를 입력하지 않았는데 그래서인지 Exchange 관리 콘솔을 시작하면 만료일까지 "0일" 남았다는 팝업 경고가 표시됩니다. 이러한 서버에 제품 키를 입력하지 않도고 Exchange 2007 SP1로 업그레이드할 수 있나요?

A: 예. Exchange 2007 SP1 설치 프로그램에서는 이미 설치되어 있는 서버의 평가판 사용 기간을 확인할 수 없습니다(스크린샷 참조). 따라서 이 경우에는 문제 없이 업그레이드할 수 있습니다.

Q: 사서함 서버에 Exchange 2007 SP1을 이미 설치했고 이제 이 서버에 클라이언트 액세스 서버 역할을 추가하려고 하는데 Exchange 2007 RTM과 새로운 Exchange 2007 SP1 중 어느 것을 사용해야 하나요?

A: Exchange 2007 SP1이 이미 적용되어 있는 상태이기 때문에 서버 역할을 추가로 설치하려면 Exchange 2007 SP1을 사용해야 합니다. 앞에서 언급했듯이 Exchange 2007 SP1은 Exchange 2007을 실행하는 데 필요한 모든 파일이 포함되어 있는 완전한 제품이기 때문에 SP1이 성공적으로 설치된 경우에는 Exchange 2007 RTM이 필요하지 않습니다.

Exchange 2007 SP1로 업그레이드하는 서버에 서버 역할이 여러 개 있는 경우, SP1을 적용하면 이미 설치되어 있는 역할 모두가 자동으로 업그레이드됩니다. 따라서 서버에 있는 역할 중 일부에만 SP1을 적용할 수는 없습니다.

Q: 현재 Exchange 조직에 Exchange 2007 서버가 여러 대 있고 이러한 서버 몇몇에 서버 역할이 분산되어 있는데 어느 서버 역할부터 업그레이드해야 합니까?

A: 먼저 Exchange 2007 SP1 릴리스 정보(go.microsoft.com/fwlink/?LinkId=112364)부터 다운로드하여 읽어보십시오. 릴리스 정보에는 기존 설치 환경에 SP1을 적용하는 것과 관련된 중요한 내용이 들어 있습니다.

이 질문과 관련해서는 SP1 릴리스 정보에서 발췌한 다음 내용이 정확한 답변이 될 것입니다.

"클라이언트 액세스, 통합 메시징, 허브 전송 서버 역할 또는 Edge 전송 서버 역할을 실행하는 서버를 업그레이드한 후에 사서함 서버 역할을 실행하는 서버를 업그레이드하는 것이 좋습니다. 이 순서로 서버를 업그레이드하면 서비스가 중단되지 않습니다. (이 순서로 역할을 업그레이드하면 기능이 더 많은 백엔드 서버와의 통신을 시도할 때 문제를 겪지 않고 사서함 역할을 "담당"하는 서버가 중단 없이 사서함 서버와 통신할 수 있습니다.) 인터넷에 연결되지 않는 사이트에 있는 클라이언트 액세스 서버를 업그레이드하기 전에 인터넷 연결 사이트에 있는 클라이언트 액세스 서버를 업그레이드하는 것이 좋습니다.

Exchange 조직에서 Edge 전송 서버 역할을 실행하는 경우 Edge 구독을 만들었다면 EdgeSync 프로세스에 참가하는 모든 전송 서버에서 동일한 버전의 Exchange 2007을 실행해야 합니다. 또한 Edge 구독 프로세스에 참가하는 모든 전송 서버를 처음으로 Exchange 2007 SP1로 업그레이드한지 15일 이내에 Edge 전송 서버가 가입된 Active Directory® 사이트의 모든 허브 전송 서버 및 가입된 모든 Edge 전송 서버를 업그레이드해야 합니다."

Q: Exchange 2007 RTM 서버에 ForefrontTM Security for Exchange Server가 설치되어 있는데 Exchange 2007 SP1로 업그레이드하기 전에 수행해야 할 특별한 작업이 있습니까?

A: Forefront Security for Exchange Server RTM 버전은 Exchange 2007 SP1과 호환되지 않습니다. 따라서 업그레이드하려면 Forefront Security for Exchange Server를 제거하거나 이후 버전으로 업그레이드해야 합니다. 자세한 내용은 SP1 릴리스 정보에 나와 있습니다.

참고로 Exchange 2007 SP1 설치 프로그램에는 질문과 같은 상황에서 업그레이드를 시도할 경우 경고 메시지를 표시하는 선행 조건 검사가 새롭게 추가되었습니다.

Q: RTM 이후 출시된 RU(롤업 업데이트)가 설치된 Exchange 2007 RTM을 사용하고 있는데 Exchange 2007 SP1을 적용하려면 RU를 먼저 제거해야 합니까?

A: Exchange 2007 SP1을 설치하기 전에 롤업 업데이트를 수동으로 제거할 필요는 없습니다. 컴퓨터에 SP1을 적용하기 전에 제거해야 할 업데이트가 있는 경우 Exchange 2007 SP1 설치 프로그램에서 자동으로 처리합니다.

posted by 엘도라도29
어디서든 안전하게 액세스 ( 보안 )
2008/06/20 23:03 기술 잡지

네트워크에 연결된 모바일 사용자의 증가는 오늘날 기술 분야에 있어서 확실히 나타나는 추세 중 하나입니다. 대부분의 기업에는 원거리 지사 근무 또는 재택 근무를 하거나 고객 방문을 위한 출장이 잦은 직원이 있습니다. 생산성을 높이려면 이러한 사용자가 위치에 관계없이 응용 프로그램과 데이터에 쉽게 액세스할 수

있도록 해야 합니다. 그러나 최근까지도 원격으로 안전하게 액세스하려면 클라이언트 소프트웨어를 설치하고 복잡한 명령을 입력해야 하며 연결 시간도 많이 걸리는 경우가 많았습니다.

지난 몇 년 사이에 원격 액세스를 보다 간단하고 이용하기 쉬운 기술로 만들기 위한 다양한 방식이 등장했습니다. 예를 들어 Outlook® Web Access(OWA)는 사용자가 복잡한 계층 3 VPN(가상 사설망) 없이도 단일 브라우저를 통해 전자 메일, 일정 및 연락처에 간단하게 액세스할 수 있도록 합니다. OWA와 같은 기술은 "어디서든 액세스 가능한" 솔루션에 있어 중요한 부분을 차지하지만 대부분의 조직에서는 이러한 통합 브라우저 환경을 허용하지 않는 핵심 응용 프로그램을 많이 사용하고 있습니다. 이러한 경우 터미널 서비스와 같은 솔루션이 사용자가 어디서든 응용 프로그램에 액세스할 수 있는 효과적인 방법이 될 수 있습니다.

Microsoft는 Windows Server® 2008에서 터미널 서비스의 기본 기능 집합을 크게 개선했습니다. 그 결과 이제 터미널 서비스에는 완벽한 창, RemoteApp라는 응용 프로그램별 게시 기능, EasyPrint의 범용 인쇄 드라이버 기능, TS Web Access라는 브라우저 기반 포털 등이 추가되었습니다. 또한 Windows Server 2008에는 어디서든 액세스 가능한 솔루션의 핵심이 되는 TS 게이트웨이 구성 요소도 포함되었습니다. 이 구성 요소는 RDP(원격 데스크톱 프로토콜)에 대해 SSL 캡슐화를 제공하여 방화벽과 NAT(Network Address Translation) 장치를 쉽고 안전하게 통과할 수 있도록 합니다. TS 게이트웨이 기능은 NAP(네트워크 액세스 보호)라는 Windows Server 2008의 새로운 기술과 통합되어 끝점 클라이언트 상태 검사 기능도 제공합니다. 조직에서 이 모든 구성 요소를 결합하면 어디서든 쉽고 안전하게 응용 프로그램과 데이터에 액세스할 수 있는 솔루션을 구축할 수 있습니다.

이 칼럼에서는 터미널 서비스 구성 요소의 관리에 대한 자세한 내용보다는 어디서든 액세스 가능한 솔루션의 네트워크 및 보안 설계 측면에 중점을 두고, Windows Server 2008에 포함된 기술을 기반으로 이러한 솔루션을 작성하는 방법과 최상의 방법을 설명합니다.

계층 3 가상 사설망의 문제점

새 기술에 대해 생각해 볼 때는 현재 사용 중인 방식과 비교하여 어떤 이점이 있는지를 파악하여 새 모델의 가치를 정확히 평가하는 것이 중요합니다. 기존 계층 3 VPN에는 일반적으로 보안과 사용의 용이성과 관련하여 해결해야 할 두 가지 중대한 문제가 있습니다.

최신 계층 3 기반 VPN에서 보안이 문제가 된다는 사실이 다소 의아하게 들릴 수 있습니다. VPN의 궁극적인 목적이 바로 인터넷을 통해 안전한 터널을 제공하는 것이니까요. 이를 이해하기 위해 일반적으로 VPN 위협 요소가 될 수 있는 사항을 종합적으로 살펴보겠습니다. 그렇다고 VPN을 통해 전달하는 데이터가 가로채기나 변조의 위험에 노출된다는 의미는 아닙니다. 대부분의 최신 계층 3 VPN은 뛰어난 데이터 스트림 암호화 기능을 제공합니다. 그보다는 조직 네트워크에 "모든 포트, 모든 프로토콜"을 통해 액세스할 수 있는 모든 권한이 부여된 원격 컴퓨터로 인해 발생하는 위협을 생각해 볼 수 있습니다. 문제는 계층 3 VPN에서 암호화되어 네트워크를 통해 전달되는 데이터 스트림이 아니라 이러한 터널을 통한 원격 클라이언트 연결에 있습니다. 이러한 연결은 내부 네트워크의 위험성을 높입니다. Slammer나 Blaster와 같은 맬웨어로 피해를 입은 대부분의 조직이 내부 네트워크의 컴퓨터나 방화벽을 통과한 해커에 의해 손상을 입은 것이 아니었다는 점을 기억해 보십시오. 그보다는 오히려 감염된 컴퓨터에서 VPN을 통해 네트워크에 연결하는 원격 사용자를 통해 이러한 피해가 발생한 것입니다. 이러한 VPN에서 완전히 라우팅된 계층 3 기반 연결을 만들면 원격 컴퓨터가 데이터센터에 설치된 컴퓨터와 마찬가지로 내부 리소스에 대한 액세스 권한을 가지게 됩니다. 이러한 액세스 권한은 좋은 의도로 사용될 수도 있지만 악용될 소지도 있습니다.

게다가 계층 3 VPN을 위해서는 조직의 IT 부서에서 관리하지 않는 컴퓨터에 소프트웨어를 설치하고 구성해야 하므로 운영 비용이 높아질 수 있습니다. 예를 들어 사용자의 가정용 컴퓨터에 VPN 클라이언트를 설치하려면 사용자 지정 설치 패키지를 만들고, 사용자가 따라야 하는 자세한 설치 지침을 작성하고, 사용자의 컴퓨터에 설치된 응용 프로그램과의 충돌 문제를 해결해야 합니다. 뿐만 아니라, 새로운 버전의 클라이언트를 배포해야 하거나 새 VPN 끝점을 추가하는 경우와 같이 구성 데이터가 변경되는 경우 막대한 관리 비용이 소요될 수 있습니다. 사용자의 입장에서는 이 VPN을 통한 작업이 직관적이지 않게 느껴지는 경우가 많습니다. 계층 3 연결밖에 제공되지 않으므로 사용자의 업무용 응용 프로그램과 데이터를 쉽게 액세스하여 확인할 수 없습니다.

터미널 서비스를 통한 문제 해결

터미널 서비스와 계층 7 또는 응용 프로그램 계층 VPN이라는 다른 기술에서는 사용자가 액세스할 수 있는 리소스 및 프로토콜에 대한 효과적인 제어 기술을 제공하고 최종 사용자 환경을 이전보다 간단하고 직관적으로 만들어 이 두 가지 문제를 해결합니다.

보안의 관점에서 보면 계층 3 VPN 방식과 터미널 서비스 및 TS 게이트웨이를 사용하는 다른 방식 사이의 가장 중요한 기능 차이점은 내부 네트워크에 대한 연결이 완전히 개방된 파이프라인이 아니라는 점입니다. 특히 계층 3 방식에서는 내부 네트워크에 대한 모든 라우팅 기능을 가진 가상 인터페이스를 로컬 컴퓨터에 만드는 반면, TS 게이트웨이 방식에서는 RDP 기반 패킷만 내부 네트워크에 전달되도록 허용합니다. 따라서 전반적인 공격 노출 영역이 크게 줄고 RDP 내에서 보다 세부적으로 제어할 수 있습니다. 예를 들어 RDP는 드라이브 리디렉션에 대한 기본 지원을 제공하지만 조직에서 TS 게이트웨이를 NAP와 통합하여 원격 컴퓨터가 최신 바이러스 백신 소프트웨어가 설치되어 있음을 증명하는 경우에만 이 기능을 허용하도록 구성할 수 있습니다.

최종 사용자의 관점에서 계층 3 VPN과 터미널 서비스 기반 방식 간의 가장 명백한 차이는 설치가 훨씬 간단하다는 점(설치가 전혀 필요하지 않은 경우도 많음)과 응용 프로그램 및 데이터에 훨씬 쉽고 직관적으로 액세스할 수 있다는 점입니다. 원격 데스크톱 연결 클라이언트가 Windows에서 기본 제공되고 Windows® Update와 같은 일반 서비스 기술을 통해 최신으로 유지되므로 대개 별도로 설치할 클라이언트 소프트웨어가 없습니다. 또한 TS 웹 액세스를 활용함으로써 사용자가 단일 URL에서 모든 응용 프로그램과 데이터를 찾을 수 있습니다. 응용 프로그램을 간단히 클릭하면 TS 게이트웨이에서 인터넷을 통한 연결을 안전하게 터널링하여 해당 응용 프로그램이 사용자의 데스크톱에 완벽하게 전달됩니다. 다시 말해 복사하여 붙여넣기 기능이 지원되고 작업 표시줄에 최소화되는 등 응용 프로그램이 로컬로 설치된 것처럼 보이고 동작합니다. 터미널 서버 기반의 원격 액세스 방식은 응용 프로그램과 데이터를 검색하기 용이하게 하고 설치가 즉각적으로 이루어지게 함으로써 성공적으로 사용자 만족도를 높이고 지원 비용을 절감해 줍니다.

네트워크 아키텍처 선택

인터넷을 통해 TS 게이트웨이 서버를 사용할 수 있도록 하는 데에는 두 가지 기본 네트워크 설계 방식을 이용할 수 있습니다. 첫째는 TS 게이트웨이를 경계 네트워크의 계층 3/4 방화벽 사이에 배치하는 방식이고, 둘째는 TS 게이트웨이를 내부 네트워크에 배치하고 Microsoft® ISA Server, Microsoft Intelligent Application Gateway, 기타 다양한 타사 솔루션과 같은 응용 프로그램 계층 방화벽을 경계 네트워크에 배치하여 인바운드 HTTPS 프레임을 검사하는 방식입니다. 여기서는 이러한 인바운드 세션이 분석된 후에만 패킷이 내부 TS 게이트웨이 서버로 전달됩니다.

조직에 기본 상태 기반 패킷 검사만 실행하는 계층 3/4 방화벽밖에 없으면 그림 1과 같이 TS 게이트웨이 장치를 경계 네트워크에 직접 배치할 수 있습니다. 이 설계에서는 인터넷 쪽 방화벽이 인터넷을 통해 HTTPS 트래픽만 전달되도록 TS 게이트웨이에 대한 연결을 제한합니다. 그러나 방화벽은 응용 프로그램 계층에서는 이 트래픽에 대한 검사를 수행하지 않고 TS 게이트웨이로 전달하기만 합니다. 그러면 TS 게이트웨이 서버가 HTTPS 패킷에서 RDP 프레임을 추출하여 해당 백 엔드 서버로 전달합니다. 이러한 백 엔드 서버는 대체로 TS 게이트웨이에서 전달된 RDP 프레임이 해당 내부 서버에 전달되도록 허용하는 다른 방화벽에 의해 경계 네트워크와 분리됩니다.


그림 1 계층 3/4 방화벽을 사용하는 경우 경계 네트워크에 배치된 TS 게이트웨이 (Click the image for a smaller view)


그림 1 계층 3/4 방화벽을 사용하는 경우 경계 네트워크에 배치된 TS 게이트웨이 (Click the image for a larger view)

이러한 시나리오는 완벽하게 지원되고 많은 조직에서 유용할 수도 있지만 두 가지 중대한 단점이 있습니다. 첫째, TS 게이트웨이가 인터넷에서 직접 트래픽을 수신하기 때문에 외부의 악의적인 공격자에게 더 많이 노출되는 위험이 있습니다. 이러한 악의적인 공격자는 SSL 세션을 통해 게이트웨이에 대한 공격을 시도할 수 있을 뿐만 아니라 프런트 엔드 방화벽이 헤더만 검사하고 페이로드는 검사하지 않기 때문에 이러한 세션이 게이트웨이까지 도달할 수 있습니다. 그렇다고 TS 게이트웨이가 취약한 구성 요소라는 뜻은 아닙니다. 사실 TS 게이트웨이는 다른 Windows Server 2008 제품과 마찬가지로 엄격한 보안 설계와 테스트를 거쳤습니다. 그러나 이 시나리오에서만큼은 인터넷에서 직접 수신된 필터링되지 않은 트래픽을 처리할 수도 있기 때문에 위험 수준이 상대적으로 높습니다. 두 번째 중대한 단점은 게이트웨이와 백 엔드 방화벽 간에 허용되어야 하는 트래픽의 양이 증가한다는 점입니다. 사용자를 인증하기 위해 TS 게이트웨이는 Active Directory®와 통신해야 합니다. 이러한 통신을 가능하게 하려면 백 엔드 방화벽에서 HTTPS보다 훨씬 광범위한 포트와 프로토콜에 대해 예외를 적용해야 합니다. 이렇게 허용되는 통신이 증가함에 따라 또 다시 설계적인 측면에서의 상대적 위험 수준이 높아지게 됩니다.

TS 게이트웨이를 인터넷에 노출하기 위해서는 인바운드 HTTPS 세션이 게이트웨이에 도달하기 전에 응용 프로그램 계층(계층 7) 방화벽을 사용하여 처리하는 방식이 더 효과적입니다(그림 2 참조). 이 설계에서도 기존 계층 3/4 방화벽이 경계 네트워크를 구성할 수 있습니다. 그러나 TS 게이트웨이 대신 계층 7 방화벽이 경계에 배치됩니다. 트래픽이 외부와 접한 방화벽에 도달하면 방화벽에서 HTTPS 프레임을 제외한 모든 데이터를 필터링하여 계층 7 방화벽에 HTTPS 프레임만 전달합니다. 이때 계층 7 방화벽은 SSL 세션을 종료하고, 스트림에서 암호화되지 않은 콘텐츠를 검사하고, 악의적인 트래픽을 차단한 다음 백 엔드 방화벽을 통해 RDP 프레임을 TS 게이트웨이로 전송합니다. 원하는 경우 계층 7 방화벽에서 프레임을 TS 게이트웨이로 보내기 전에 다시 암호화할 수도 있습니다. 이 방식은 조직의 전용 네트워크에는 그다지 필요하지 않지만 호스팅되는 데이터 센터나 공유 네트워크에는 매우 유용할 수 있습니다.


그림 2 TS 게이트웨이 장치와 응용 프로그램 계층 방화벽 사용 (Click the image for a smaller view)


그림 2 TS 게이트웨이 장치와 응용 프로그램 계층 방화벽 사용 (Click the image for a larger view)

이 설계를 통해 이전 솔루션의 단점을 모두 해결할 수 있습니다. TS 게이트웨이 서버가 계층 7 방화벽에서 검사된 트래픽만 수신하므로 인터넷을 통한 공격이 차단되지 않을 위험성이 낮아집니다. 계층 7 방화벽이 이러한 공격을 필터링하고 검사를 통과한 정상 트래픽만 게이트웨이로 보내기 때문입니다.

이 솔루션의 다른 주요 장점으로, 내부 네트워크에 따라 게이트웨이가 배치된다는 점을 들 수 있습니다. 인터넷에서 수신되는 트래픽이 게이트웨이에 도달하기 전에 계층 7 방화벽에서 검사되므로 게이트웨이를 내부 네트워크에 배치하여 사용자 세션의 인증과 RDP 호스트를 위해 도메인 컨트롤러에 직접 액세스하도록 할 수 있습니다. 게다가 백 엔드 방화벽에 훨씬 엄격한 정책을 적용할 수도 있습니다. RDP 및 디렉터리 인증 트래픽을 모두 허용하는 대신 계층 7 방화벽에서 전달된 RDP 세션만 TS 게이트웨이에 도달하도록 허용해야 합니다. 계층 7 방화벽을 기반으로 TS 게이트웨이 배포를 진행하면 기존 경계 네트워크를 다시 설계하지 않고도 관리가 용이하고 보다 안전한 솔루션을 제공할 수 있습니다.

NAP 통합

터미널 서비스 리소스

§ Windows Server 2008의 터미널 서비스

§ Windows Server 2008 터미널 서비스 TechNet 포럼

§ 터미널 서비스 팀 블로그

§ Microsoft Intelligent Application Gateway 2007

§ Windows Server 2008용 NAP(네트워크 액세스 보호)

§ NAP(네트워크 액세스 보호) 블로그

§ Windows Server 2008 베타 3 단계별 가이드

뛰어난 경계 설계가 어디서든 액세스 가능한 솔루션의 핵심 요소이기는 하지만 규정을 준수하고 끝점 장치의 보안을 유지하는 것도 중요합니다. RDP는 RDP 세션 및 프린터와 같은 다양한 유형의 장치 리디렉션을 허용하는 기능이 풍부한 프로토콜이므로 솔루션에 연결하는 클라이언트가 조직의 보안 정책을 따르도록 하는 것이 중요합니다. 예를 들어 앞서 살펴본 것과 같은 최상의 방법에 따른 안전한 네트워크 토폴로지를 사용하더라도 안전하지 않은 컴퓨터에서 터미널 서버에 연결하는 최종 사용자가 기밀 데이터를 잃거나 악의적인 파일을 터미널 서버로 가져올 수 있습니다. 사용자가 계층 3 VPN을 통해 연결하는 경우보다는 연결할 수 있는 경우와 피해를 입을 수 있는 가능성이 매우 적지만 데이터 손실의 위험성을 관리하고 IT 정책을 준수하도록 하는 것은 여전히 중요합니다.

NAP(네트워크 액세스 보호)는 네트워크에 연결할 수 있는 사용자뿐만 아니라 이러한 사용자가 연결에 사용할 수 있는 시스템의 종류까지 제어할 수 있는 Windows Server 2008의 새로운 기술입니다. 예를 들어 NAP를 사용하면 방화벽을 실행 중이고 최신 바이러스 백신 소프트웨어가 설치된 컴퓨터만 네트워크에 연결하도록 제한할 수 있습니다. 또한 NAP는 조직의 내부 네트워크는 물론, 계층 3 VPN을 통해 연결하는 사용자와 TS 게이트웨이를 통해 연결하는 사용자를 비롯한 원격 사용자까지 제어하도록 확장할 수 있는 솔루션입니다. NAP를 TS 게이트웨이 설계에 통합하면 보안 정책에 부합하는 시스템만 연결하도록 할 수 있습니다. NAP에 대한 자세한 내용은 2007년 5월호 TechNet Magazine에서 필자의 Security Watch 칼럼(technetmagazine.com/issues/2007/05/SecurityWatch)을 참조하십시오.

NAP는 설계에 서비스 하나만 추가하는 간단한 방식으로 TS 게이트웨이 배포에 통합할 수 있습니다. 이 서비스는 NPS(네트워크 정책 서버)로 TS 게이트웨이 서버 자체에 설치하거나 별도의 운영 체제 인스턴스에 설치할 수 있습니다. 그런 다음 TS 게이트웨이 MMC를 사용하여 특정 상태에서 허용할 RDP 기능을 정의하는 CAP(연결 권한 부여 정책)를 만듭니다. TS 게이트웨이 서버는 새 연결이 시도될 때마다 NPS로 검사하고 해당 연결에 대한 SoH(상태 설명)를 NPS로 전달하도록 구성됩니다. 그러면 네트워크 정책 서버가 SoH를 정책과 비교하여 클라이언트 상태에 따라 연결을 허용해야 할지 여부를 TS 게이트웨이에 알립니다.

그림 3에서 보듯이 조직의 보안 정책에서 자동 업데이트 사용을 요구하나 시스템이 Windows Update를 사용하지 않도록 구성되어 정책에 부합하지 않는 경우 사용자가 TS 게이트웨이에 연결을 시도하면 컴퓨터에서 SoH를 생성하여 전달합니다. 이 SoH의 내용은 "방화벽을 사용 중이며 바이러스 백신이 최신이지만 자동 업데이트를 사용하지 않습니다."와 같습니다. 이 경우 TS 게이트웨이에는 SoH를 디코딩하는 자체 논리가 없으므로 TS 게이트웨이는 이 SoH를 NPS에 전달하고 NPS에서 SoH를 관리자가 정의한 정책과 비교합니다. 자동 업데이트를 사용하지 않으므로 NPS는 연결이 "비준수" 정책에 해당하는 것으로 판단하여 TS 게이트웨이에 연결을 허용하지 않도록 지시합니다. 그러면 TS 게이트웨이가 연결을 끊고 사용자에게 컴퓨터가 조직의 보안 정책에 부합하지 않음을 알립니다. 사용자는 필요한 조치(이 경우 자동 업데이트 설정)를 취하고 연결을 다시 시도할 수 있습니다. 그 결과 새 SoH가 생성되고 NPS는 컴퓨터가 정책을 준수하는 것으로 판단하므로 TS 게이트웨이가 연결을 허용하게 됩니다.


그림 3 정책을 준수하는 시스템만 연결 가능 (Click the image for a smaller view)


그림 3 정책을 준수하는 시스템만 연결 가능 (Click the image for a larger view)

결론

Windows Server 2008에는 안전하면서 어디서든 액세스 가능한 솔루션의 핵심이 되는 기초 구성 요소가 포함되어 있습니다. TS 게이트웨이는 인터넷을 통해 원격 데스크톱 세션을 안전하게 터널링하는 방법을 제공하며 조직에서 이 게이트웨이를 기존 네트워크에 통합할 수 있는 여러 옵션을 제공합니다. 선택할 수 있는 옵션으로는 TS 게이트웨이를 경계 네트워크에 직접 배치하거나, TS 게이트웨이의 전면에 ISA Server 또는 Intelligent Application Gateway와 같은 계층 7 방화벽을 사용하는 방식이 있습니다. NAP를 TS 게이트웨이와 결합하면 솔루션에 끝점 상태 검사 기능을 추가할 수 있습니다. 조직에서는 끝점 검사를 통해 유효한 사용자가 원격 연결을 했는지 여부뿐만 아니라 해당 연결이 IT 보안 정책을 준수하는 컴퓨터에서 이루어졌는지도 확인할 수 있습니다. 이 두 기술을 함께 사용하는 경우 보다 안전하고 효율적으로 작동하며 최종 사용자에게 보다 나은 환경을 제공하는 원격 액세스 기능의 구현이 가능합니다. "터미널 서비스 리소스" 추가 기사에 나열된 사이트에서 더 많은 정보를 얻을 수 있습니다.

posted by 엘도라도29
Exchange 2007의 새로운 모바일 메시징 기능 살펴보기
2008/06/18 19:04 기술 잡지

불과 몇 년 전까지만 하더라도 자신의 데스크톱 컴퓨터를 사용하지 않고 회사 전자 메일에 액세스한다는 것은 흔한 일도 아닌데다 상당히 복잡했습니다. 하지만 지금은 원격으로 전자 메일에 액세스할 수 있는 것이 당연한 일일 뿐 아니라

커피숍에서 모바일 메시징 장치를 사용하는 사람을 보는 것도 전혀 낯선 풍경이 아닙니다. 모바일 메시징은 업무 방식을 바꾸어 놓았습니다. 외근이 잦은 직원의 경우 사무실 밖에서도 효율적으로 업무를 처리할 수 있게 되었습니다.

하지만 최근 들어 모바일 메시징 기술이 발전하면서 모바일 장치의 보안이 새로운 관심사로 떠올랐습니다. 기업들은 모바일 장치에 저장되어 있는 중요한 비즈니스 데이터를 보다 안전하게 보호할 수 있는 방법을 찾고 있습니다.

Exchange Server 2003과 Exchange ActiveSync®라는 기술의 등장으로 Windows Mobile® 장치(Pocket PC 폰 또는 스마트 폰)에서 HTTPS를 사용하여 Exchange Server 2003에 안전하게 액세스할 수 있게 되었습니다. 그러나 모바일 장치 관리 기능은 여전히 부족했습니다. 하지만 Exchange Server 2003 서비스 팩 2(SP2)와 Windows Mobile 5.0의 메시징 및 보안 기능 팩(MSFP)이 릴리스되면서 Exchange에 연결되는 모든 Windows Mobile 장치에 영향을 주는 글로벌 정책을 설정하는 것이 가능해졌습니다. 이러한 정책은 지정된 길이의 필수 PIN 적용, PIN 입력 요청 전 비활성 시간 제한 및 실패한 PIN 입력 시도가 지정된 횟수를 초과한 후 장치 데이터 지우기 같은 기능을 지원합니다.

Exchange Server 2003 SP2에서는 그림 1과 같은 Exchange Mobile 관리 도구를 사용한 원격 데이터 지우기 기능도 지원합니다. 관리자는 이 도구를 사용하여 분실한 Windows Mobile 장치에 데이터 지우기 명령을 보낼 수 있습니다. 다음 번에 장치가 Exchange에 연결되면 완전히 재설정되어 장치 메모리에 있는 모든 내용이 지워집니다.


그림 1 장치 데이터를 지우는 데 사용되는 Exchange Mobile 관리 도구 (Click the image for a smaller view)


그림 1 장치 데이터를 지우는 데 사용되는 Exchange Mobile 관리 도구 (Click the image for a larger view)

이 방법이 모바일 장치 관리 및 보안을 위한 좋은 출발점인 것은 사실이지만 이 외에도 해결해야 할 보안 요구 사항이 많습니다. Exchange Server 2007에서는 이러한 문제들을 효율적으로 해결할 수 있습니다.

장치 구성 및 실행

기본적으로 Exchange ActiveSync는 Exchange Server 2007의 모든 사서함 사용자가 이용할 수 있습니다. 일부 사용자만 이 기능을 사용할 수 있도록 하려면 먼저 모든 사용자가 이 기능을 사용하지 못하도록 설정해야 합니다. Exchange 관리 콘솔에서는 사용자 그룹이 ActiveSync를 사용하지 못하도록 할 수 없지만 다음과 같은 Exchange 관리 셸 명령을 사용하면 쉽습니다.

Get-mailbox –server <servername> | Set-CASMailbox –ActiveSyncEnabled $false

이 명령은 Exchange 2007 서버의 모든 사서함을 검색한 다음 이 정보를 Set-CASMailbox 명령으로 전달하여 기존의 모든 사서함에서 ActiveSync를 비활성화합니다.

다음 단계에서는 조직에 적용할 Exchange 사서함 ActiveSync 정책을 구성합니다. 구성할 정책의 수는 사용자의 보안 프로필에 따라 달라집니다. 예를 들어 전자 메일로 중요한 재무 정보를 받는 재무 분석가는 일반 사용자보다 엄격한 보안 장치 정책을 마련해야 할 수 있습니다.

ActiveSync 정책을 구성하려면 Exchange 관리 콘솔 탐색 트리의 Organizational Configuration(조직 구성) 컨테이너 아래에서 클라이언트 액세스를 선택하고, 작업 창에서 새 Exchange ActiveSync 사서함 정책을 선택합니다.

새 Exchange ActiveSync 사서함 정책 대화 상자에서는 첨부 파일을 장치에 다운로드할 수 있게 할 것인지 또는 지원 불가 장치를 허용할 것인지 여부를 설정하여 정책을 만들 수 있습니다(그림 2 참조). 지원 장치는 지정된 정책을 적용하고 실행할 수 있는 Windows Mobile 장치이고, 지원 불가 장치는 정책의 일부만 적용할 수 있거나 정책을 아예 적용할 수 없는 장치입니다.


그림 2 Exchange Server 2007 ActiveSync 사서함 정책 (Click the image for a smaller view)


그림 2 Exchange Server 2007 ActiveSync 사서함 정책 (Click the image for a larger view)

다른 기능으로는 암호화 및 암호 복구 설정을 구성하는 기능이 있습니다. 장치에서 암호화 필요 옵션이 설정되어 있으면 장치 저장소 카드에 있는 모든 파일이 암호화됩니다. 암호 복구 사용 옵션을 사용하면 Outlook® Web Access 2007을 통해 장치 PIN을 검색할 수 있습니다.

장치에 암호 정책을 적용하기 전에 신중하게 고려하십시오. 길고 복잡한 PIN일수록 보안 효과는 높아지지만 장치를 사용하기가 어려워질 수 있습니다. 암호 강도와 PIN을 요구하기 전 제한 시간을 결정하는 데 있어 보안과 사용 편의성 간에 적절한 균형을 찾는 것이 중요합니다. 암호 만료 및 암호 기록 적용 옵션을 설정해도 보안 수준을 높일 수 있지만 암호 및 PIN을 추적하는 과정이 너무 복잡해질 경우 사용자가 불편을 겪을 수 있습니다.

Exchange Server 2007 ActiveSync 사서함 정책을 사용하면 장치 보안을 향상시키는 데 도움이 되지만 일부 기능은 Windows Mobile 6.0을 필요로 합니다. Windows Mobile 6.0은 릴리스 후 바로 장치에서 사용할 수 있습니다. 그림 2의 기능 중 장치에서 암호화 필요, 암호 기록 적용 및 암호 만료(일) 기능은 모두 새 버전을 필요로 합니다. 하지만 Windows Mobile 5.0이 설치된 장치의 사용자에게도 새로운 Exchange Server 2007의 유연한 정책을 사용할 수 있습니다.

정책을 정의한 후에는 사용자에게 적용할 수 있습니다. Exchange 관리 콘솔에서 받는 사람 구성으로 이동한 다음 사서함을 선택합니다. ActiveSync 정책을 적용할 사서함 사용자를 선택한 다음 작업 창에서 속성을 선택합니다. 사서함 기능 탭으로 이동하여 Exchange ActiveSync를 두 번 클릭합니다. Exchange ActiveSync 속성 상자에서 찾아보기 단추를 클릭하여 사용자에게 적용할 ActiveSync 정책을 선택합니다(그림 3 참조). 같은 단계를 반복하여 사용자별로 다른 정책을 적용하거나 다음의 Exchange 관리 셸 명령을 사용하여 사용자 그룹에 정책을 적용할 수 있습니다.


그림 3 ActiveSync 사서함 정책 적용 (Click the image for a smaller view)


그림 3 ActiveSync 사서함 정책 적용 (Click the image for a larger view)

Set-CASMailbox –Activesyncmailpolicy

마지막 단계는 최종 사용자 및 지원 부서를 교육하는 것입니다. Exchange Server 2007에 연결할 때는 지정된 길이의 PIN을 장치에 입력해야 한다는 것을 최종 사용자에게 알려 주어야 합니다(그림 4 참조). 적용된 보안 정책에 대한 교육을 통해 최종 사용자가 일상 업무에서 이러한 변경 내용을 불편하게 여기지 않도록 해야 합니다.


그림 4 ActiveSync 사서함 정책에는 PIN이 필요합니다.

Outlook Web Access 2007을 이용한 셀프 서비스 원격 데이터 지우기 기능과 같이 Exchange Server 2007에서 새롭게 선보이는 기능을 알려 줄 수도 있습니다. 사용자가 장치를 분실한 경우 지원 부서에 연락하지 않고 Outlook Web Access에 있는 옵션 링크를 통해 장치 데이터 지우기를 실행할 수 있습니다(그림 5 참조). 이 기능은 근무 시간이 아닐 때 장치를 분실한 경우 상당히 유용할 수 있습니다.


그림 5 Outlook Web Access를 통한 장치 관리 (Click the image for a smaller view)


그림 5 Outlook Web Access를 통한 장치 관리 (Click the image for a larger view)

마지막으로, 원격으로 장치 데이터를 지우는 방법을 지원 부서에 알려 줍니다. Exchange 관리 콘솔을 열고 받는 사람 구성으로 이동한 다음 사서함을 선택하기만 하면 됩니다. 여기에서 데이터 지우기를 실행할 사용자를 선택하고 작업 창에서 모바일 장치 관리를 선택합니다. 모바일 장치 관리 인터페이스는 그림 6과 같습니다. 한 명의 사용자가 여러 개의 Windows Mobile 장치를 Exchange 2007에 연결할 수 있으므로 데이터 지우기를 실행할 때는 장치를 잘못 선택하지 않도록 주의해야 합니다.


그림 6 사용자 장치 데이터 원격 지우기 (Click the image for a smaller view)


그림 6 사용자 장치 데이터 원격 지우기 (Click the image for a larger view)

전자 메일 처리 및 검색

Windows Mobile 6.0에서는 전자 메일을 HTML 형식으로 읽고 '부재 중' 알림을 설정할 수 있으며(그림 7) 전자 메일에 플래그를 지정할 수 있습니다. Windows Mobile 6.0 장치에서 전자 메일 메시지에 플래그를 지정하면 Outlook에서 전자 메일에 플래그를 지정할 때와 똑같이 처리됩니다. 이제는 전자 메일 메시지를 읽지 않은 메시지로 표시하여 처리하는 것이 아니라 플래그를 지정해 두었다가 업무로 복귀했을 때 Outlook의 고급 기능을 사용하여 처리할 수 있습니다. HTML 형식의 전자 메일은 모바일 장치 사용자에게뿐만 아니라 전자 메일 스레드의 다른 사용자에게도 유용합니다. Windows Mobile 6.0을 사용하여 전자 메일에 회신하면 전자 메일이 기본 텍스트로 변환되지 않으므로 Outlook을 사용하여 전자 메일을 받는 다른 사용자에게도 더 효율적입니다.


그림 7 '부재 중' 메시지

Windows Mobile 6.0의 일정 기능도 대폭 향상되었습니다. 이제는 일정 항목 내에서 전달, 회신, 전체 회신 기능을 모두 이용할 수 있을 뿐 아니라 전체 초대자의 수락 상태를 볼 수도 있습니다.

Windows Mobile 6.0을 Exchange Server 2007과 함께 사용하면 검색 및 모바일 문서 액세스와 관련된 새로운 두 가지 기능을 활용할 수 있습니다. 모바일 장치를 사용할 때의 문제점 가운데 하나는 저장 용량이 제한되어 있다는 점입니다. 이 때문에 많은 사용자들은 전자 메일을 1~3일 정도만 장치에 보관할 수 있습니다. 또한 받은 편지함 중 한 폴더에서만 전자 메일 메시지를 봐야 하는 경우도 많습니다. 이와 같은 제한 때문에 이전 메시지나 사서함의 다른 폴더에 저장된 메시지에 액세스할 때는 문제가 발생할 수 있습니다.

Windows Mobile 6.0에서는 Exchange Server 2007 검색 및 인덱스 엔진을 통해 전체 사서함에 대해 무선 검색을 실행할 수 있습니다. 키워드를 사용하여 여러 폴더에서 전자 메일을 검색할 수 있습니다(그림 8 참조). 그런 다음 검색 결과에서 전자 메일 메시지를 실시간으로 가져올 수 있습니다.


그림 8 무선 전자 메일 검색

모바일 문서 액세스

SharePoint®와 같은 문서 공동 작업 소프트웨어가 확산되고 있는 가운데 사용자들은 전송 가능한 최대 전자 메일 크기 제한을 피하기 위해 전자 메일에 문서를 첨부하는 대신 파일 공유 및 SharePoint 사이트의 링크를 보내는 경우가 많아졌습니다. 이와 같은 상황에서 VPN(가상 사설망)을 통해 회사 네트워크에 연결할 수 없다면 모바일 장치를 통해 이러한 문서에 액세스하는 것도 불가능할 수 있습니다. 외근이 많은 작업자는 업무에 큰 지장을 받을 수 있습니다.

Windows Mobile 6.0과 Exchange Server 2007을 함께 사용하면 읽기 전용 모드로 액세스할 수 있는 UNC 파일 공유 및 SharePoint 사이트를 통해 데이터에 액세스할 수 있습니다. Exchange Server 2007은 Windows Mobile 장치를 대신하여 이러한 문서에 대한 요청을 처리할 수 있습니다(그림 9 참조). VPN을 통해 회사 네트워크에 연결하지 않고도 전자 메일 메시지에 첨부된 문서만이 아니라 파일 공유 및 SharePoint 사이트에 있는 모든 파일에 액세스할 수 있습니다.


그림 9 UNC 링크를 통한 문서 액세스

모바일 문서 액세스를 관리하려면 Exchange 관리 콘솔을 열고 탐색 트리의 서버 구성 아래에 있는 클라이언트 액세스를 선택합니다. 그런 다음 ActiveSync 탭으로 이동하여 Microsoft Server ActiveSync 개체를 선택한 후 작업 창에서 속성을 클릭합니다. 원격 파일 서버 탭에서 SharePoint 사이트 및 파일 서버의 호스트 이름에 대한 허용 목록과 차단 목록을 구성할 수 있습니다.

이 작업이 완료되면 Exchange ActiveSync 사서함 정책으로 돌아가 Windows® 파일 공유 및 Windows SharePoint Services에 대한 확인란이 선택되어 있는지 확인합니다(그림 10 참조).


그림 10 문서 액세스 활성화 (Click the image for a smaller view)


그림 10 문서 액세스 활성화 (Click the image for a larger view)

이제는 모든 Windows Mobile 장치 사용자들이 보다 쉽게 문서에 액세스할 수 있습니다.

요약

오늘날과 같이 원격 업무가 많은 환경에서는 Windows Mobile 장치와 같이 언제 어디서나 정보에 액세스할 수 있는 강력한 솔루션이 필요합니다. 이에 따라 모바일 장치의 보안 및 관리도 IT 부서의 중요한 문제가 되고 있습니다. Exchange Server 2007은 Windows Mobile 6.0과 함께 Windows Mobile 장치에 대한 정책 생성 및 대상 설정을 쉽게 수행할 수 있도록 하여 문제를 해결하고 원격 작업자에게 새로운 기능을 제공하는 기반이 되고 있습니다.

Windows Mobile 리소스

Exchange Server 2007 배포 및 Windows 모바일 메시징에 대하여 자세히 알아볼 수 있는 다양한 리소스가 있습니다.

§ Exchange Server TechCenter

§ Exchange 2007 모바일 액세스 기본 사항

§ Exchange ActiveSync 관리

§ Windows Mobile 가상 랩

§ Windows Mobile 6 SDK

posted by 엘도라도29
모바일 구성 관리 - Toolbox
2008/05/27 21:34 기술 잡지

Net-Switch

net-switch.com

근래에 들어 데이터 센터에서 QA 환경으로 이동하는 경우와 같이 랩톱 컴퓨터를 가지고 다양한 환경으로 이동해야 하는 경우가 많아졌습니다. 그런데 이동할 때마다 랩톱의 정적 IP 주소와 기본 프린터를 다시 지정해야 합니다. 이미 이러한 문제를 경험한 적이 있다면 Net-Switch를 한번 사용해 보십시오. 간편한 이 유틸리티를 사용하면 자체 기본 프린터 지정을 포함한 다양한 네트워크 구성을 설정하고 저장할 수 있으므로 다른 환경으로 이동할 때마다 주소를 기억하거나 수동으로 입력할 필요가 없습니다.


Net-Switch로 랩톱 설정 처리 (Click the image for a smaller view)


Net-Switch로 랩톱 설정 처리 (Click the image for a larger view)

이 응용 프로그램은 사용하기가 정말 쉽습니다. 구성에 이름을 지정하고 네트워크 어댑터를 선택한 다음 관련 마스크, 게이트웨이 및 DNS 서버로 정적 IP를 할당하고(또는 정적 IP 대신 DHCP 선택하고) 기본 프린터를 설정하기만 하면 됩니다. Net-Switch를 사용하면 저렴한 비용으로 일상의 번거로운 작업을 피할 수 있습니다.

가격: $19.95

posted by 엘도라도29
서버 관리 - Toolbox
2008/05/24 21:34 기술 잡지

Windows Server 2003 Resource Kit 도구

go.microsoft.com/fwlink/?LinkId=77796(영문)

Microsoft Windows Server 2003 Resource Kit 도구는 관리 작업을 간소화하고 자동화하는 데 필요한 100개 이상의 유틸리티로 구성된 중요한 유틸리티 모음입니다. 이 도구에는 Active Directory® 도구부터 네트워크 문제 해결 유틸리티와 CD/DVD 이미지 버너에 이르기까지 모든 유틸리티가 포함되어 있습니다.

Custom Reason Editor(custreasonedit.exe)는 시스템 종료 이벤트 추적기를 구성하는 데 매우 유용한 도구입니다. Windows Server® 2003의 구성 요소인 시스템 종료 이벤트 추적기는 시스템이 종료된 이유를 이벤트 로그에 기록합니다. Custom Reason Editor 도구를 사용하면 구성 가능한 매개 변수의 사용자 지정 목록을 만들어 기본적으로 설정된 기본 제공 이유를 다시 정의할 수 있습니다. 이 도구를 사용하면 이벤트 항목을 논리적으로 잘 정리하여 시스템 종료의 원인이 될 수 있는 문제 프로세스, 응용 프로그램 또는 시스템 상태를 손쉽게 집계하여 파악할 수 있습니다.

DNS Resolver Tool은 SMTP 서비스의 DNS 확인과 비슷한 작업을 실행하는 명령줄 유틸리티이며 명령 매개 변수로 지정한 DNS 쿼리의 상태 메시지를 표시합니다. 이 유틸리티는 SMTP 서비스가 설치되어 있는 모든 Windows Server 2003 호스트에서 실행되며 배치 파일에 사용할 수 있는 오류 코드를 반환합니다. CDBurn.exe 및 DVDburn.exe는 ISO 이미지에서 CD와 DVD를 만드는 명령줄 유틸리티이며, 새 디스크 이미지를 적용하기 전에 미디어를 정리하는 /Erase 스위치를 사용하여 RW 미디어를 제한적으로 지원합니다. 이러한 유틸리티는 인프라에서 보관 프로세스를 자동화하는 데 사용할 수 있습니다.


Windows Server 2003 Resource Kit (Click the image for a smaller view)


Windows Server 2003 Resource Kit (Click the image for a larger view)

특정 계정이 올바르게 잠겼는지 확인해야 할 경우 Account Lockout Status 도구를 사용하면 명령줄 또는 GUI 옵션 중 한 가지 방법을 선택하여 잠금 상태를 쉽고 빠르게 확인할 수 있습니다. 이 도구는 액세스 가능한 모든 도메인 컨트롤러에 쿼리하여 대상 사용자의 계정 상태를 확인합니다. 자동화하는 데 가장 효과적인 도구 중 하나인 Robust File Copy Utility(Robocopy.exe)는 파일을 이동하거나 복사하는 데 사용할 수 있는 여러 가지 옵션을 제공합니다. 이 도구를 사용하면 와일드카드 문자와 파일 특성을 사용하여 복사할 대상을 지정할 수 있으며 복사 작업을 반복하도록 설정할 수도 있습니다. 또한 이 도구를 동기화 작업에도 사용하여 원본 디렉터리에서 삭제된 대상 파일이나 디렉터리를 모두 제거하도록 설정할 수 있습니다.

Tail(tail.exe)이라고 하는 간단한 도구도 개인적으로 즐겨 사용하는 유틸리티 중 하나입니다. 이 도구는 Linux/UNIX 유틸리티와 마찬가지로 파일에서 마지막 'N'개의 줄을 표시하고 새 줄이 추가될 때마다 화면을 새로 고칩니다. 이 방법은 로그 파일에 기록하는 모든 작업을 디버깅하거나 모니터링할 경우에 매우 유용합니다.

Time It(timeit.exe)을 사용하면 명령 실행 시간을 확인할 수 있고 데이터가 개별 데이터베이스 파일에 저장되기 때문에 관리 작업에 소요되는 실제 시간을 테스트할 수 있습니다.

이러한 도구는 영어로만 작성 및 테스트되었고 아직 다른 언어 버전으로 지역화되지 않았으므로 실행 시 "예기치 않은 결과"가 나타날 수 있습니다. 프로덕션 환경에서 이러한 유틸리티 중 하나를 사용하려면 먼저 영어 이외의 언어 기반 시스템에서 반드시 테스트하십시오.

가격: 무료 다운로드

posted by 엘도라도29
Active Directory 스키마 확장
2008/05/10 19:54 기술 잡지

Windows 2000 릴리스와 함께 Active Directory를 소개하면서 Microsoft는 고객에게 Active Directory 구현에 대한 기본 스키마 정의를 제공해 왔습니다.

Active Directory®는 Windows®에서 많은 응용 프로그램이 작성되고 구현되는 방식이 변화했음을 의미하기도 합니다. 이전에는 Microsoft® Exchange 5.5와 같은 응용 프로그램이 자체 디렉터리 구조를 가지도록 빌드되었습니다. Active Directory를 사용할 수 있게 되면서 Microsoft 및 다른 회사의 여러 응용 프로그램에서는 처음부터 자체 스키마를 빌드하는 대신 Active Directory에서 제공하는 기본 구조의 이점을 이용하기 시작했습니다.

이러한 응용 프로그램은 Active Directory에서 제공하는 기본 아키텍처로 시작하여 필요에 따라 이를 확장했습니다. 예를 들어 Microsoft Exchange 2000은 메시징 구현을 위해 Active Directory를 이용함으로써 Microsoft 메시징 아키텍처의 미래를 정의합니다.

현재 Active Directory 환경에서 작동하도록 작성된 많은 응용 프로그램이 기본 스키마를 사용하여 작동하며 필요에 따라 자체 변경 내용을 스키마로 정의하는 경우도 많습니다. 물론 이렇게 하려면 확장 가능한 스키마가 필요하며 이 기사에서는 이러한 스키마에 대해 다룹니다. 또한 많은 응용 프로그램이 Active Directory의 기본 정의에 종속되기 때문에 핵심 스키마의 지속적인 안정성은 매우 중요합니다. 응용 프로그램 대부분은 같은 Active Directory의 다른 응용 프로그램과 함께 작동해야 하므로 한 응용 프로그램에 대한 변경이 다른 응용 프로그램에 영향을 미치지 않아야 합니다.

스키마란?

Active Directory 스키마의 개념을 정확히 모르는 경우가 종종 있을 수 있으며 스키마를 직접 수정하는 작업이 어려워 보일 수도 있습니다. 물론 Active Directory 스키마를 확장하는 작업을 자주 해야 하는 것은 아니지만 특정 응용 프로그램이나 비즈니스 필요에 따라 자주 확장해야 할 수도 있습니다. 따라서 Active Directory는 많은 조직에 있어 핵심 자산이며 잘못된 업데이트로 오작동이 발생하면 심각한 영향을 미칠 수 있기 때문에 스키마가 무엇이며 여기에 무엇이 포함되는지 정확하게 이해하는 것이 매우 중요합니다.

Active Directory 스키마를 확장하는 대신 사용자 지정된 스키마 정의를 직접 테스트하거나 구현하는 작업에 대한 대안으로 Windows Server® 2008의 ADLDS(Active Directory Lightweight Directory Service) 또는 Windows Server 2003의 ADAM(Active Directory Application Mode)의 사용을 고려하는 조직이 많습니다.

스키마는 디렉터리 서비스에 대한 형식을 제공하는 기본 구조입니다. Active Directory 스키마는 ADDS(Active Directory Domain Services)에서 사용되는 개체 클래스 및 특성을 정의합니다. 핵심 스키마는 잘 알려진 다양한 클래스(예: 사용자, 컴퓨터 및 organizationalUnit) 및 특성(예; telephoneNumber 및 objectSID)에 대한 정의를 제공합니다. 핵심 스키마 정의의 개체를 범주 1 개체라고 하며 추가되는 개체를 범주 2 개체라고 합니다.

Active Directory 스키마는 경로 cn=Schema,cn=Configuration,dc=X에 정의된 컨테이너에서 찾을 수 있습니다. 여기서 X는 Active Directory 포리스트의 네임스페이스입니다. Active Directory 포리스트에는 하나의 스키마만 포함됩니다. 포리스트에서 스키마 정의를 변경하면 해당 포리스트의 모든 도메인에 영향을 미칩니다. 그림 1은 여러 버전의 Windows Server에서 Active Directory 스키마에 추가되는 클래스 및 특성의 수를 보여 줍니다.

Figure 1 클래스 및 특성 수

버전
추가된 특성 수
추가된 클래스 수
스키마 확장 파일

Windows Server 2003
208
49
Sch14.ldf - sch30.ldf

Windows Server 2003 R2
81
29
Sch31.ldf

Windows Server 2008
136
10
Sch32.ldf - sch44.ldf

여러 Windows Server 버전에 대한 스키마 업데이트는 Adprep라는 유틸리티를 사용하여 수행합니다. Windows Server 2003 R2 업데이트에서 스키마 버전은 31로 업데이트되며 Windows Server 2008에서는 44로 변경됩니다.

ADSIEdit와 같은 도구를 사용하여 Active Directory에서 cn=Schema,cn=Configuration,dc=X의 objectVersion 특성 값을 검사하면 버전을 확인할 수 있습니다. Exchange Server, SMS(System Management Server) 또는 Active Directory에 종속적인 기타 응용 프로그램에서는 응용 프로그램 필요에 따라 스키마를 수정할 수 있습니다.

기본 구성 요소

Active Directory는 classSchema(줄여서 클래스)와 attributeSchema(줄여서 특성)의 두 종류의 개체로 구성됩니다. 일반적으로 조직에서는 기존 스키마에서 사용할 수 없는 특정 특성으로 데이터를 저장하려고 할 때 Active Directory 스키마의 확장을 고려합니다. 먼저 스키마 컨테이너에 attributeSchema 개체를 지정한 다음 새 개체에 필요한 속성을 정의하여 Active Directory 스키마에 특성을 만들 수 있습니다.

attributeSchema 개체의 속성 목록과 이에 대한 정보를 보려면 go.microsoft.com/fwlink/?LinkId=110445를 참조하십시오. 여기서 볼 수 있듯이 attributeSchema 개체에 대해 정의할 수 있는 속성은 여러 가지이며 이들 속성 중 대부분이 필수입니다.

일반적인 특성 이외에도 정방향 링크 및 역방향 링크를 제공하여 한 쌍으로 구현되는 Linked라는 특수한 특성도 스키마 내에 있습니다. Active Directory의 그룹 구성원을 예로 들 수 있습니다. 그룹의 구성원 특성(예를 들어 John Doe라는 구성원이 있는 ContosoEmployees 그룹)은 정방향 링크이며 구성원 개체의 해당 memberOf 특성은 역방향 링크입니다. 예를 들어 John Doe의 memberOf 특성을 쿼리하면 ContosoEmployees 그룹의 고유 이름(DN)이 계산됩니다.

정방향 링크는 다른 특성과 매우 비슷하게 동작합니다. 그룹 구성원으로 여러 개체가 포함될 수 있는 구성원 특성과 마찬가지로, 값은 단일 값이거나 다중 값일 수 있으며 디렉터리에 부모 개체와 함께 저장됩니다.

반면에 역방향 링크는 참조 무결성을 보장하기 위해 시스템에서 유지됩니다. 역방향 링크 특성의 값을 쿼리하면 결과는 일치하는 모든 정방향 링크 값에서 계산됩니다. 역방향 링크는 항상 다중 값입니다.

ADDS의 각 개체 클래스는 스키마 컨테이너의 classSchema 개체로 정의됩니다. classSchema 개체를 정의하는 데 필수적인 특성 목록은 go.microsoft.com/fwlink/?LinkId=110445에서 확인할 수 있습니다.

클래스에는 Structural, Abstract 및 Auxiliary의 세 가지 형식이 있습니다. 이 형식은 objectClassCategory 특성 값으로 정의됩니다. 88이라는 네 번째 범주에는 X.500 1993 표준 이전에 정의된 클래스가 포함됩니다. 이러한 클래스 형식은 objectClassCategory 특성에서 0 값으로 지정됩니다. 이 클래스 형식은 더 이상 정의되지 않아야 합니다.

ID 가져오기 및 사용

디렉터리의 각 classSchema 및 attributeSchema 개체 ID는 classSchema 개체의 governsID와 attributeSchema 개체의 attributeID에 대해 정의되는 필수 OID(개체 ID)를 사용하여 정의됩니다. 이 ID는 특정 발행 기관에서 개체 식별을 위해 제공하는 고유한 숫자 값입니다. 숫자 지정은 LDAP 프로토콜의 정의(RFC 2251)에 의해 구성됩니다. Active Directory 스키마의 일부 OID는 ISO(국제 표준화 기구)에서 발행하며 나머지 일부 OID는 Microsoft에서 발행합니다. OID는 디렉터리 내의 개체에 대해 고유해야 합니다.

OID는 그림 2에서처럼 1.2.840.113556.1.y.z와 같은 숫자 문자열입니다. 예를 들어 사용자 classSchema 개체의 OID는 1.2.840.113556.1.5.9입니다.

Figure 2 사용자 개체에 대한 ID


의미
설명

1
ISO
루트 기관 식별

2
ANSI
ISO에서 할당한 그룹 지정

840
미국
조직에서 할당한 국가/지역 코드

113556
Microsoft
국가/지역에서 할당한 조직 지정

1
Active Directory
조직에서 할당(이 경우 Microsoft)

Y
개체 유형
classSchema 또는 attributeSchema와 같은 여러 개체 유형(범주)을 정의하는 숫자. 예를 들어 5는 개체 클래스를 정의합니다.

Z
개체
범주 내에서 특정 개체를 식별하는 숫자. 예를 들어 사용자 클래스에는 숫자 9가 할당되어 있습니다.

조직에서는 스키마를 확장하려고 할 때 자체 OID 루트 번호를 가져와서 OID가 고유한지 확인합니다. 이 루트 번호에서 분기하여 조직에서 만드는 새 개체 클래스와 특성에 고유한 ID를 제공합니다. OID 루트는 ISO NRA(National Registration Authority)에서 직접 가져올 수 있습니다. 미국의 경우 NRA는 ANSI(American National Standards Institute)입니다.

ansi.org에서 루트 OID를 가져오기 위한 절차와 비용 일정을 참조할 수 있습니다. 다른 지역의 경우는 해당 ISO 회원 조직에 문의하십시오. ISO에서 제공하는 목록은 iso.org/iso/about/iso_members.htm에서 확인할 수 있습니다.

이전에는 조직에서 schemreg@microsoft.com으로 전자 메일을 보내 Microsoft로부터 OID를 얻을 수 있었습니다. 하지만 이제는 go.microsoft.com/fwlink/?LinkId=110453에서 VBScript를 다운로드하여 실행하도록 요청자를 안내하는 자동 회신이 전송됩니다.

Microsoft에서 발행하는 OID의 경우에는 Microsoft OID 번호 공간인 1.2.840.113556.1.8000.x 아래에 번호가 할당됩니다. 여기서 x는 조직에 할당된 고유한 번호입니다. 조직에서는 이 OID를 추가 분할하여 개체를 지정할 수 있습니다. 따라서 조직에서는 새 classSchema 개체에 1.2.840.113556.1.8000.x.1.y를 사용하고 attributeSchema 개체에 1.2.840.113556.1.8000.x.2.z를 사용할 수 있습니다. 여기서 x는 조직의 고유 번호를 나타내며 y와 z는 각각 특정 classSchema 및 attributeSchema 개체에 할당된 번호입니다. 이들 개체의 이름에는 서로 구분할 수 있도록 조직 고유의 접두사를 사용하는 것이 좋습니다.

연결된 특성 정의

정방향 링크의 attributeSyntax 값은 2.5.5.1, 2.5.5.7 또는 2.5.5.14가 되어야 합니다. 이들 값은 Object (DS-DN) 구문과 같은 고유 이름이 포함된 구문에 해당합니다.

역방향 링크의 attributeSyntax 값은 Object (DS-DN) 구문인 2.5.5.1이어야 합니다. 관례에 따라 역방향 링크 특성은 최상위 추상 클래스의 mayContain 값에 추가됩니다. 이렇게 하면 역방향 링크 특성이 실제로 개체와 함께 저장되지 않고 정방향 링크 값을 기반으로 계산되기 때문에 모든 클래스의 개체에서 역방향 링크 특성을 읽을 수 있습니다.

Windows Server 2003에는 조직이 스키마의 두 개체를 연결하는 데 사용할 수 있는 기능인 linkID 자동 생성이 추가되었습니다. 특성의 linkID 특성이 1.2.840.113556.1.2.50으로 설정될 경우 시스템에서는 이 기능을 통해 자동으로 새로 연결된 특성의 linkID를 생성합니다. 해당 역방향 링크는 linkID를 정방향 링크의 attributeId 또는 ldapDisplayName으로 설정하여 생성됩니다. 정방향 링크를 만든 후와 역방향 링크를 만들기 전에 스키마 캐시를 다시 로드해야 합니다. 그렇지 않으면 역방향 링크가 만들어질 때 정방향 링크의 attributeId 또는 ldapDisplayName을 찾을 수 없습니다. 스키마 캐시는 필요할 때, 즉 스키마가 변경되고 몇 분 후 또는 도메인 컨트롤러가 다시 부팅되었을 때 다시 로드됩니다.

Active Directory가 Windows 2000 수준에 있는 경우에는 schemreg@microsoft.com으로 전자 메일을 보내 Microsoft에 linkID를 요청해야 합니다. 자동 회신 안에는 "E-mails sent to schemreg@microsoft.com will be processed only if they are related to linkID registrations for legacy environments"라는 줄이 있습니다. 여기서 전자 메일에는 회사 이름, 연락처 이름, 전자 메일 주소, 전화 번호, 등록된 접두사(적용 가능한 경우), 등록된 OID(적용 가능한 경우) 등의 정보가 포함됩니다.

스키마 확장 준비

Active Directory 스키마를 확장하기로 결정했다고 가정하겠습니다. 이 분석에서는 ADLDS(또는 Windows Server 2003에서는 ADAM)를 사용하여 구현되는 대체 디렉터리가 요구 사항에 맞지 않음을 확인한 후 그 사용을 고려하지 않을 수 있습니다. 다음 단계에서는 스키마에 추가할 새 attributeSchema 개체를 식별하고 이 과정에서 이 새 개체를 지정하는 모든 필수 값(예: cn, ldapDisplayName 등)을 정의합니다. 개체의 특성 값을 정의하면서 Microsoft 또는 다른 소스에서 OID를 받습니다. 기본적으로 위 내용을 비즈니스 요구 사항 및 기술 사양으로 문서화했습니다. 또한 실제 Active Directory와 비슷한 랩 환경을 구현하고 테스트할 준비를 완료했습니다.

실제로 많은 조직에서는 이러한 변경을 승인하거나 거부하고 이를 구현하기 위한 프로세스를 수립하는 위원회를 구성하고 있습니다. Active Directory는 많은 조직에서 권한 정보 소스로 사용되며 변경을 적용한 후에도 지속적으로 정상 작동해야 하기 때문에 이러한 검사와 조정 절차는 필수입니다.

조직에서 변경을 진행하기로 결정한 경우에는 이 프로젝트에 대한 테스트 및 구현 계획을 정의해야 합니다. MMC(Microsoft Management Console) 내에서 Active Directory 스키마 스냅인을 사용하거나 프로그래밍 방식 또는 준프로그래밍 방식을 사용하여 새 개체를 추가함으로써 스키마를 확장할 수 있습니다. LDIFDE를 사용하여 .ldif 형식 파일을 가져오거나, CSVDE를 사용하여 .csv 형식 파일을 가져오거나, Active Directory Service Interfaces, ADSI, 스크립팅을 사용하는 경우를 예로 들 수 있습니다.

어떤 방식을 사용하든지 이 기능은 Active Directory 포리스트에서 스키마 마스터의 FSMO(신축 단일 마스터 작업) 역할에 연결하거나 이 역할을 저장하는 서버에서 수행되어야 합니다. 또한 스키마 업데이트에 사용하는 계정에는 충분한 관리 권한이 있어야 업데이트를 수행할 수 있으므로 해당 계정을 Schema Administrators 그룹의 구성원으로 지정해야 합니다. 마지막으로 포리스트에 대한 스키마 업데이트를 사용하도록 설정해야 합니다(기본적으로 사용하지 않도록 설정되어 있음).

변경이 매우 단순한 경우 이외에는 테스트 구현 및 프로덕션 구현 단계 사이의 표준화를 향상시키고 단계를 수동으로 수행할 때 발생할 수 있는 유형의 오류를 줄이기 위해 자동화된 방식으로 변경을 수행해야 합니다. 이제 LDIFDE를 사용하여 변경을 구현하기로 결정했다고 가정하겠습니다. 스키마를 확장할 때 업데이트를 적용하려면 새 특성과 클래스를 추가하고 클래스에 새 특성을 추가한 다음 캐시 다시 로드를 트리거합니다. 몇 가지 시나리오를 살펴보겠습니다.

특성 추가

설명을 위해 Contoso라는 조직에서 각 직원의 신발 크기를 식별하는 특성을 Active Directory에 추가하고자 한다고 가정하겠습니다. Active Directory 포리스트에는 contoso.com과 employees.contoso.com의 두 가지 도메인이 있습니다. 여기서 중요한 점은 사용자 지정 클래스 정의를 사용하여 만들어지는 모든 개체에 이 새 특성이 포함되어야 한다는 것입니다.

같은 포리스트에 있기 때문에 스키마 변경은 두 도메인 모두에 영향을 미친다는 점을 염두에 두어야 합니다. Microsoft에서 1.2.840.113556.8000.9999의 OID를 받았으며 이를 Contoso의 classSchema 개체에 대한 1.2.840.113556.8000.9999.1과 attributeSchema 개체에 대한 1.2.840.113556.8000.9999.2로 다시 나누었다고 가정하겠습니다. 이제 그림 3에서처럼 이 새 개체에 대한 모든 특성 값을 정의하려고 합니다.

Figure 3 contosoEmpShoe 특성 정의

특성

참고

Cn
contosoEmpShoe

lDAPDisplayName
contosoEmpShoe

adminDisplayName
contosoEmpShoe

attributeSyntax
2.5.5.12
유니코드 문자열 지정

oMSyntax
64
유니코드 문자열 지정

objectClass
top, attributeSchema

attributeID
1.2.840.113556.8000.9999.2.1
조직에서 정의

isSingleValued
TRUE
하나의 신발 크기 값만 저장할 수 있음

searchFlags
1
분석을 통해 이 특성을 인덱스해야 한다고 판단되었습니다. 참고: 랩 환경에서 스트레스 테스트 분석을 수행합니다.

isMemberOfPartialAttributeSet
TRUE
이 특성을 글로벌 카탈로그에서 사용하려고 합니다.

또한 contosoEmpShoe 특성은 사용자 클래스 개체로 만들어진 모든 개체에 사용 가능해야 하지만 사용자 클래스의 기본 정의는 수정하지 않는 것이 좋습니다. 대신 그림 4에서처럼 contosoEmpShoe로 지정된 mayContain 값이 있는 contosoUser라는 보조 클래스를 정의해야 합니다. 그런 다음 contosoUser 보조 클래스에 대해 정의된 특성을 사용자 클래스에 추가합니다.

Figure 4 contosoUser 클래스 정의

특성

Cn
contosoUser

lDAPDisplayName
contosoUser

adminDisplayName
contosoUser

governsID
1.2.840.113556.8000.9999.1.1(조직에서 정의)

mayContain
contosoEmpShoe

possSuperiors
organizationalUnit, 컨테이너

objectClassCategory
3(보조 클래스 정의)

지금까지 분석을 수행하고 값을 정의했으므로 이제 그림 5의 코드와 비슷한 .ldif 파일을 만들어야 합니다. 그림 5의 내용을 메모장에 복사하고 파일을 contosoUser.ldif로 저장할 수 있습니다. 또는 technetmagazine.com에서 다운로드한 코드에서 사본을 사용할 수도 있습니다.

Figure 5 .스키마를 확장하기 위한 ldif 파일

코드 복사

#Attribute definition for contosoEmpShoe

dn: CN=contosoEmpShoe,CN=Schema,CN=Configuration,DC=X
changetype: ntdsschemaadd
objectClass: top
objectClass: attributeSchema
cn: contosoEmpShoe
attributeID: 1.2.840.113556.1.8000.9999.2.1
attributeSyntax: 2.5.5.12
isSingleValued: TRUE
adminDisplayName: contosoEmpShoe
adminDescription: contosoEmpShoe
oMSyntax: 64
searchFlags: 1
lDAPDisplayName: contosoEmpShoe
systemOnly: FALSE

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-

# Classes

dn: CN=contosoUser,CN=Schema,CN=Configuration,DC=X
changetype: ntdsschemaadd
objectClass: top
objectClass: classSchema
cn: contosoUser
governsID: 1.2.840.113556.1.8000.9999.1.1
mayContain: contosoEmpShoe
rDNAttID: cn
adminDisplayName: contosoUser
adminDescription: contosoUser
objectClassCategory: 3
lDAPDisplayName: contosoUser
name: contosoUser
systemOnly: FALSE

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-

dn: CN=User,CN=Schema,CN=Configuration,DC=X
changetype: ntdsschemamodify
add: auxiliaryClass
auxiliaryClass: contosoUser
-

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1

.ldif 파일을 생성한 후에는 랩 환경에서 구현을 완벽하게 테스트하고, 도메인과 포리스트의 종단 간 복제를 확인하며, 포리스트에서 스키마의 업데이트를 사용할 수 있도록 설정할 수 있습니다. 이 단계에서는 Schema Admin 권한이 있는 계정으로 로그인해야 합니다. 변경이 수행될 스키마 마스터에서 아웃바운드 복제를 사용하지 않도록 설정하고 다음 명령을 실행하여 .ldif 파일을 가져올 수 있습니다.

코드 복사

ldifde –i –f <Path>\contosoUser.ldif –b
<username> <domain> <password> -k –j. –c
"CN=schema,CN=Configuration,DC=X"
#schemaNamingContext

변경이 수행되면 스키마 마스터에서 아웃바운드 복제를 사용할 수 있도록 설정하고 모든 도메인 컨트롤러에 대해 복제가 수행되었는지 확인합니다.

이제 모두 마쳤습니다! 사용자 클래스, 즉 사용자 계정을 사용하여 만든 개체와 연결될 새 특성을 스키마에 정의했습니다.

변경을 확인하려면 Active Directory 사용자 및 컴퓨터를 열고 employees.contoso.com 도메인에 연결하여 Users OU(조직 구성 단위)로 이동한 다음 ContosoTestUser라는 새 사용자 계정을 만듭니다. 이제 adsiedit.msc 콘솔을 열고 도메인 파티션 dc=employees,dc=contoso,dc=com에 연결한 다음 Users OU를 확장하고 ContosoTestUser를 마우스 오른쪽 단추로 클릭하여 속성 페이지를 엽니다. contosoEmpShoe 특성을 찾습니다. 이 특성을 편집하여 값을 입력할 수 있습니다. 또한 Ldp.exe 유틸리티를 사용하여 특성을 확인하고 수정할 수 있습니다.

이제 두 특성을 정의하고 연결하는 예제를 살펴보겠습니다. 그리고 Contoso에서 직원의 신발 크기를 중요 요소로 고려하여 회사에서 신발 크기를 재는 사람의 연간 성과를 추적하는 시나리오를 가정해 보겠습니다. 조금 이상한 예제이기는 하지만, Contoso에서 직원의 신발 크기 측정을 담당한 사람과 신발 크기 측정을 마친 사람 및 수를 하나의 특성 쿼리를 통해 추적하고자 한다고 가정하겠습니다. 이러한 유형의 데이터는 데이터베이스 테이블에 저장하는 것이 더 적절하다고 생각할 수 있지만, 여기서는 단지 정방향 링크와 역방향 링크를 설명하기 위한 것입니다.

물론 앞의 예제에서 설명한 것과 같은 종류의 분석을 수행할 수 있습니다. 하지만 여기서는 그림 6에서처럼 .ldif 파일 linkids1.ldif 및 linkids2.ldif를 생성해 보겠습니다. 그런 다음 이 명령을 실행하여 .ldif 파일을 가져옵니다.

Figure 6 정방향 및 역방향 링크 .ldif 파일

코드 복사

 
#linkids1.ldif
#Attribute definition for Forward Link Attribute

dn: CN=ContosoShoeSizeTaker,CN=Schema,CN=Configuration,DC=X
changetype: ntdsschemaadd
objectClass: top
objectClass: attributeSchema
cn: ContosoShoeSizeTaker
attributeID: 1.2.840.113556.1.8000.9999.2.2
LinkID: 1.2.840.113556.1.2.50
attributeSyntax: 2.5.5.1
isSingleValued: TRUE
adminDisplayName: ContosoShoeSizeTaker
adminDescription: ContosoShoeSizeTaker
oMSyntax: 64
searchFlags: 1
lDAPDisplayName: ContosoShoeSizeTaker
systemOnly: FALSE

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-

#Reload schema

#linkids2.ldif

#Attribute definition for Backward Link Attribute

dn: CN=ContosoShoeSizesTakenByMe,CN=Schema,CN=Configuration,DC=X
changetype: ntdsschemaadd
objectClass: top
objectClass: attributeSchema
cn: ContosoShoeSizesTakenByMe
attributeID: 1.2.840.113556.1.8000.9999.2.3
LinkID: 1.2.840.113556.8000.9999.2.2
attributeSyntax: 2.5.5.1
isSingleValued: FALSE
adminDisplayName: ContosoShoeSizesTakenByMe
adminDescription: ContosoShoeSizesTakenByMe
oMSyntax: 64
searchFlags: 1
lDAPDisplayName: ContosoShoeSizesTakenByMe
systemOnly: FALSE

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-

#Add ContosoShoeSizeTaker and ContosoShoeSizesTakenByMe Attribute as MayContain in 
#contosoUser class

dn: CN= contosoUser,CN=Schema,CN=Configuration,DC=X
changetype: ntdsschemamodify
add: mayContain
mayContain: ContosoShoeSizeTaker
mayContain: ContosoShoeSizesTakenByMe

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-

#Add Backward Link Attribute as MayContain in Top

dn: CN=Top,CN=Schema,CN=Configuration,DC=X
changetype: ntdsschemamodify
add: mayContain
mayContain: ContosoShoeSizesTakenByMe

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1

코드 복사

ldifde –i –f <Path>\linkedids<>.ldif –b
<username> <domain> <password> -k –j. –c
"CN=schema,CN=Configuration,DC=X"
#schemaNamingContext

이제 사용자 개체가 만들어지면 해당 개체는 ContosoShoeSizeTaker 및 ContosoShoeSizesTakenByMe의 특성을 가집니다. John이라는 사용자의 사용자 개체를 만들 때는 ContosoShoeSizeTaker 특성이 신발 크기를 잰 Frank라는 사람의 DN으로 채워집니다. Frank의 사용자 개체의 속성에서 ContosoShoeSizesTakenByMe 특성을 쿼리하면 결과에는 John의 DN 및 Frank가 신발 크기를 잰 다른 사람이 포함됩니다. 경영진은 Frank의 사용자 계정의 ContosoShoeSizesTakenByMe 특성에 있는 DN 수에 따라 Frank에게 포상할 수 있습니다.

시스템 검사 및 조정

스키마 수정과 같은 중요한 업데이트는 아키텍처 요구 사항에 대한 검사 없이 수행할 수 없습니다. Active Directory에서는 이러한 일관성 검사와 안전 검사를 통해 Active Directory 스키마에 추가나 수정이 이루어질 때마다 해당 변경으로 인한 불일치 또는 기타 문제가 발생하지 않는지 확인합니다.

먼저 각 클래스에 대한 governsID의 값은 스키마 내에서 고유해야 합니다. schemaClass 개체를 정의할 경우 systemMayContain, mayContain, systemMustContain 및 mustContain 목록에 정의되는 모든 특성은 미리 존재해야 합니다. 동시에 subClassOf, systemAuxiliaryClass, auxiliaryClass, systemPossSuperiors 및 possSuperiors 목록에 정의되는 모든 클래스도 미리 존재해야 합니다.

또한 systemAuxiliaryClass 및 auxiliaryClass 목록에서 모든 클래스의 objectClassCategory는 88 클래스 또는 Auxiliary 클래스여야 합니다. 마찬가지로 systemPossSuperiors 및 possSuperiors 목록에서 모든 클래스의 objectClassCategory는 88 클래스 또는 Structural 클래스로 지정되어야 합니다.

여러 클래스를 정의할 때, Abstract 클래스는 다른 Abstract 클래스에서만 상속할 수 있으며 Auxiliary 클래스는 Structural 클래스에서 상속할 수 없고 Structural 클래스는 Auxiliary 클래스에서 상속할 수 없습니다. 또한 rDNAttID 특성에 지정된 특성에는 유니코드 문자열이 구문으로 있어야 하며 단일 값이어야 합니다.

다음은 classSchema 개체와 관련된 몇 가지 규칙입니다. attributeSchema 개체의 경우는 어떻습니까? 클래스의 governsID 값과 마찬가지로 attributeID 값은 고유해야 합니다. 또한 mAPIID 값은 있는 경우 반드시 고유해야 합니다. rangeLower 및 rangeUpper가 있는 경우 rangeLower는 rangeUpper보다 작아야 합니다. attributeSyntax 및 oMSyntax의 값은 일치해야 합니다. 특성이 개체 구문인 경우(oMSyntax =127) 올바른 oMObjectClass가 있어야 합니다. linkID는 있는 경우 반드시 고유해야 합니다. 또한 역방향 링크에는 해당하는 정방향 링크가 있어야 합니다.

실수한 경우

스키마가 새 개체(클래스 및 특성)로 확장된 경우에는 삭제할 수 없습니다. 하지만 스키마 개체에서 특성 isDefunct를 TRUE로 설정하여 클래스나 특성을 비활성화할 수 있습니다. Active Directory와 함께 제공되는 기본 스키마의 일부인 스키마 개체(범주 1 개체)는 비활성화할 수 없습니다. 기본 스키마에 추가된 개체만 비활성화할 수 있습니다. 즉, 범주 2 개체만 비활성화할 수 있으며 Active Directory에서 클래스가 기존의 모든 존재하는 클래스의 subClassOf, auxiliaryClass 또는 possSuperiors 목록에서 사용되지 않음을 확인한 경우에만 비활성화할 수 있습니다.

특성을 비활성화하려는 시도를 통해 Active Directory는 특성이 기존의 존재하는 클래스의 mustContain 또는 mayContain에 사용되지 않는지 확인합니다. 비활성화된 개체는 특성 isDefunct를 FALSE로 설정하여 다시 활성화할 수 있습니다. Active Directory가 Windows Server 2003 수준에 있는 경우에는 비활성화된 개체의 ldapDisplayName, schemaIdGuid, OID 및 mapiID 값을 재사용할 수 있습니다.

결론

스키마의 클래스 또는 특성 정의를 추가하거나 수정하려면 해당 classSchema 개체 또는 attributeSchema 개체를 추가하거나 수정해야 합니다. 이 프로세스는 해당 변경으로 인해 나중에 스키마에서 불일치나 문제가 발생하지 않음을 확인하기 위한 추가적인 검사가 수행된다는 점을 제외하면 Active Directory에서 개체를 추가하거나 수정하는 것과 비슷합니다.

Active Directory 스키마는 쉽게 수정할 수 있지만 스키마의 구조 및 이러한 변경을 구현하기 위해 스키마가 어떻게 작동하는지 이해하는 것이 좋습니다. 프로덕션 Active Directory 스키마를 변경하려면 많은 계획이 필요하며 신중하게 수행해야 합니다. 새 개체에 대한 비즈니스 요구 사항과 기술 사양을 정의하고 철저한 랩 테스트를 수행하는 것이 중요합니다. 변경으로 인해 심각한 영향을 미칠 수 있으므로 꼭 필요한 경우에만 Active Directory 스키마를 확장하는 것이 좋습니다.

posted by 엘도라도29
디렉터리 관리 자동화 ( Windows PowerShell )
2008/05/09 18:52 기술 잡지

Windows PowerShell의 최초 버전에서 가장 아쉬운 점은 타이밍입니다. Windows PowerShell 팀은 제품 출시에 대한 부담을 어느 정도 느끼고 있었으며(Exchange Server 2007 출시가 예정되어 있었는데 여기에는 Windows PowerShell이 필요했음) Active Directory 팀은 시간적 여유가 충분했습니다(Windows Server® 2008이라는 다른 제품 작업 중에 있었음). 이러한 이유로 Windows PowerShell은 다소 강력하지 않은 Active Directory® 관리 기능을 탑재한 상태로 출시되었습니다.

그렇다고 해서 Windows PowerShell®에 Active Directory 기능이 전혀 없는 것은 아닙니다. 사실 Windows PowerShell 팀은 VBScript 사용자에게 이미 잘 알려져 있는 스크립팅 용이한 기술인 ADSI(Active Directory Services Interface)에 대한 적절한 지원을 제공하기 위해 많은 노력을 했습니다.

ADSI 방식

ADSI의 동작 방식은 WMI(Windows® Management Instrumentation)와 비슷합니다. 특수 구문을 사용하여 작성한 쿼리를 실행하면 이 쿼리는 도메인 컨트롤러와 같은 원격 컴퓨터로 전송되어 실행됩니다. 쿼리 결과는 Active Directory 개체이거나 개체 컬렉션(예: 사용자 또는 그룹)이며 해당 개체에 대한 참조를 얻어 작업할 수 있습니다. 개체의 속성을 수정하거나 메서드를 실행하여 변경 내용을 저장하고, 새 개체를 만들고, 개체를 삭제하는 등의 작업을 할 수 있습니다. 예를 들어 사용자를 만들려면 사용자가 포함될 OU(조직 구성 단위)나 컨테이너를 쿼리합니다. 반환되는 개체에는 사용자를 만드는 데 사용할 수 있는 Create 메서드가 있습니다.

극히 기본적인 수준에서 보면 Windows PowerShell에서 ADSI를 사용하는 것은 간단하고 쉬워 보입니다. 예를 들어 다음 명령은 사용자를 검색하여 해당 사용자의 Company 특성을 표시합니다.

코드 복사

$user = [ADSI]"LDAP://cn=Ringo,ou=Singers,dc=company,dc=pri"
$user.Get("Company")

사용자를 Get-Member로 전달하여 해당 사용자의 속성과 메서드를 볼 수 있습니다. 하지만 Windows PowerShell 1.0에서는 이러한 디렉터리 개체가 완벽하게 구현되지 않습니다. 그림 1에서 볼 수 있듯이, 셸에서는 개체의 디렉터리 특성을 열거하지 않으며 앞서 사용한 Get 메서드와 같은 개체의 메서드를 표시하지도 않습니다.

그림 1 사용자를 Get-Member로 전달하여 해당 사용자의 속성을 볼 수 있음 (더 크게 보려면 이미지를 클릭하십시오.)

이 지원은 Windows PowerShell 2.0의 CTP(Community Technology Preview)에서 약간 향상되었지만 아직은 제한적입니다. 근본적으로 Microsoft® .NET Framework에서는 관리자가 원하는 것을 쉽게 볼 수 있는 기능을 제공하지 않습니다. 애초에 Framework는 개발자를 위해 설계된 것이기 때문입니다. 또 다른 문제는 Windows PowerShell 팀에서 할 수 있는 일이 많지 않으며 Active Directory를 완벽하게 지원하려면 디렉터리를 가장 잘 아는 팀에서 작업을 해야 한다는 점입니다. 즉, Active Directory 팀의 지원이 필요합니다. Windows PowerShell은 아직은 미비하지만 언젠가는 완벽한 기능을 갖출 것으로 확신합니다. 하지만 그 전에는 어떻게 해야 할까요?

이 칼럼의 2007년 6월호(technetmagazine.com/issues/2007/06/PowerShell)에서 Windows PowerShell에 포함된 ADSI 기술을 이용하는 방법을 다룬 적이 있습니다. 이 "기본" 기술에 대한 자세한 내용을 보려면 이 칼럼을 참조하시기 바랍니다. 이번 칼럼에서는 다른 접근법을 소개하겠습니다.

풍부한 환경

Windows PowerShell 설계자인 Jeffrey Snover는 Windows PowerShell의 풍부한 환경을 자주 언급하곤 합니다. 이는 팀에서 Microsoft 내의 프로그래머뿐만 아니라 모든 사용자가 Windows PowerShell의 기능을 확장할 수 있도록 노력했음을 의미합니다. 이미 많은 회사에서는 명령줄을 통해 제품을 관리할 수 있는 기본 Windows PowerShell cmdlet을 만들어 기능을 확장하고 있으며 VMWare, IBM, Citrix 및 Foundry가 이러한 회사에 해당합니다.

이러한 풍부한 환경의 예로 Quest Software를 들 수 있습니다. 이 회사에서는 Active Directory 관리를 위해 설계된 비상업용 cmdlet 집합을 무료로 제공하며 quest.com/powershell에서 다운로드할 수 있습니다. 또한 아직 명령줄에 익숙하지 않은 사람들을 위해 Windows PowerShell을 기반으로 하는 비상업용 무료 그래픽 UI인 PowerGUI(powergui.org)도 제공합니다. PowerGUI를 사용하면 Active Directory 관리 cmdlet을 사용하는 방법을 쉽게 배울 수 있습니다. 이 방법은 사용자에게 매우 유용합니다. 이 cmdlet을 사용하면 Active Directory 관리 기능을 효율적이고 손쉽게 활용할 수 있습니다. PowerGUI에 대한 자세한 내용을 보려면 2008년 1월호의 Toolbox 칼럼(technetmagazine.com/issues/2008/01/Toolbox)을 참조하십시오.

Windows PowerShell 방식

cmdlet과 관련된 모든 것이 사실 Windows PowerShell의 작동 방식입니다. 기존의 스크립트나 프로그래밍 개체를 다룰 필요가 없습니다. 다음은 필자가 좋아하는 한 줄 코드입니다. 이 코드는 CSV 파일을 가져오고 해당 파일의 정보를 사용하여 수십 또는 수백 개의 새 Active Directory 사용자를 만드는 간단한 명령줄입니다.

코드 복사

Import-CSV 'C:\provision1.csv' |
ForEach-Object {New-QADUser -organizationalUnit 'company.pri/Singers' -name ($_.'First Name' + '.' + $_.'Last Name') 
-samAccountName $_.'Logon name' -city $_.city -title $_.'Job title' -department $_.department} 

이것은 매우 긴 명령이지만 기능은 아주 강력합니다. 이 명령에서는 먼저 CSV 파일을 읽고 개체를 반환하는 기본 셸 cmdlet인 Import-CSV부터 시작합니다. CSV 파일의 각 줄은 단일 개체이며 CSV 파일의 열은 개체의 속성이 됩니다. Provision1.csv 파일에서 "Logon Name" 및 "First Name" 등이 열 이름입니다. 여기서 열 이름이 Active Directory 사용자 특성과 직접 매핑되지 않는다는 점을 주목하십시오. 이러한 파일에서는 Active Directory에만 적용되는 이름보다는 친숙한 열 이름을 사용하는 경우가 일반적입니다. 이러한 파일은 회사의 인사 부서로부터 받는 경우가 많은데, 인사 부서에서는 Last Name이 실제로는 Active Directory의 sn 특성이라는 사실을 모를 수 있습니다.

CSV 파일의 모든 데이터를 가져와서 개체로 변환한 후 이러한 개체를 ForEach-Object cmdlet으로 전달합니다. 그러면 여기에서 각 개체에 대해 한 줄 코드의 중괄호에 포함된 코드 블록을 실행합니다. 즉, CSV 파일의 각 줄에 대해 이 스크립트가 한 번 실행됩니다. 스크립트 안에서 특수 변수 $_는 현재 개체 또는 CSV 파일의 현재 줄에 대한 참조입니다.

각 개체에 대해 New-QADUser cmdlet을 실행한다는 것을 알 수 있습니다. 이는 Quest 추가 기능에 있는 여러 cmdlet 중 하나입니다. 여기서 잠시 QADUser라는 이름에 대해 설명하겠습니다. 짐작할 수 있겠지만 Q는 Quest를 나타냅니다. 이러한 이름 지정 규칙은 Microsoft Active Directory 팀이 향후 만들 수 있는 New-ADUser cmdlet과의 충돌을 피하기 위한 것입니다. 두 cmdlet이 동시에 셸에 로드된 경우 이를 통해 사용자와 셸에서 두 가지를 쉽게 구분할 수 있습니다.

한 줄 코드의 나머지 부분은 New-QADUser cmdlet에 대한 매개 변수로 구성됩니다. 먼저 모든 새 사용자를 만들 organizationalUnit을 지정합니다. 그 다음은 First Name 열의 내용, 마침표 및 Last Name 열의 내용으로 구성되도록 설정된 name 특성을 지정합니다.

마지막으로 다음과 같은 점을 살펴보아야 합니다. 먼저 city 매개 변수는 실제로 Active Directory의 1 특성(또는 Locality-Name)을 변경합니다. 또한 cmdlet은 같은 역할을 하는 l이라는 매개 변수도 사용합니다. 대부분의 경우 Active Directory 특성을 참조하는 매개 변수는 Active Directory 사용자 및 컴퓨터 도구의 특성 이름이나 텍스트 레이블을 사용할 수 있습니다.

기타 Windows PowerShell 방식

Active Directory는 계층적 저장소입니다. 그리고 Windows PowerShell의 강점 중 하나는 모든 계층적 저장소를 디스크 드라이브로 제공할 수 있기 때문에 Dir, Del, Ren, Copy 등과 같은 익숙한 명령을 사용하여 다양한 저장소를 관리할 수 있다는 점입니다. 하지만 Windows PowerShell 1.0에는 PSDrive Provider for Active Directory가 포함되어 있지 않기 때문에 셸에는 Active Directory 자체를 드라이브로 제공할 방법이 없습니다.

다행히 앞서 언급한 풍부한 환경이 PowerShell Community Extensions를 통해 그 역할을 합니다. 이 공개 소스 추가 기능은 codeplex.com/powershellcx에서 무료로 구할 수 있습니다. PowerShell Community Extensions를 설치하면 셸을 도메인 이름으로 리디렉션하여 디렉터리를 드라이브처럼 관리할 수 있습니다.

코드 복사

CD COMPANY:
CD SINGERS
DIR

이 명령은 COMPANY 도메인으로 이동하고 Singers OU로 이동한 다음 그림 2와 같은 개체 목록을 표시합니다. 이 위치에서 Del과 같은 명령을 사용하여 사용자를 삭제하거나 Md를 사용하여 새 OU를 만드는 등의 작업을 수행할 수 있습니다. Community Extensions PSDrive Provider에 대해 몇 가지 알아둘 내용이 있습니다. 이는 구현되었을 것으로 예상하는 기능이기는 하지만 Active Directory 자체가 작동하는 방식에 매핑되지 않기 때문에 사용할 수 없습니다. 또한 도메인의 루트로 이동하여 del * -recurse를 실행하면 권한이 있는 경우 도메인의 모든 개체가 삭제되기 때문에 매우 주의해야 합니다. 기본적으로 "삭제하시겠습니까?"와 같은 메시지도 나타나지 않습니다. 이렇게 명령줄은 강력한 반면 사용 경험이 없고 신중하지 않으면 위험할 수 있습니다.

그림 2 PowerShell Community Extensions을 사용하여 셸을 리디렉션하고 디렉터리를 관리함 (더 크게 보려면 이미지를 클릭하십시오.)

셸 사용 시작

필자의 강의를 듣는 학생들은 Windows PowerShell로 바로 할 수 있는 일이 무엇인지 묻는 경우가 많습니다. Microsoft 제품 중 Windows PowerShell을 사용하도록 재설계되지 않은 제품도 있으며 Windows PowerShell을 아직은 더 발전을 거쳐야 하는 도구로 생각할 수 있습니다.

하지만 사실은 지금 바로 사용할 수 있습니다. Microsoft에서는 아직 Active Directory에 명령줄 관리 기능을 구현하지 않았지만 타사에서는 이를 위한 도구를 제공해 왔으며 이러한 도구들은 상당히 유용합니다. Windows PowerShell을 사용하면 많은 사용자를 새로 만드는 것과 같은 시간이 많이 걸리고 부담스러운 일부 작업의 자동화를 포함하여 많은 관리 작업을 수행할 수 있습니다. Windows PowerShell을 더 유용한 도구로 만들기 위해 노력 중인 커뮤니티의 결과물을 찾아보는 것도 도움이 됩니다. Microsoft 후원 사이트이며 필자가 관리에 참여하고 있는 PowerShellCommunity.org를 방문해 보십시오. Windows PowerShell에 적절한 도구를 갖춘다면 귀찮고 시간이 많이 걸리는 일부 관리 작업을 스크립트로 처리함으로써 관리 작업을 보다 효과적이고 효율적으로 수행할 수 있습니다.

posted by 엘도라도29
System Center Essentials SP1의 새로운 기능
2008/05/07 20:42 기술 잡지

지난 7월 출시된 System Center Essentials 2007과 함께 Microsoft는 고가의 복잡한 엔터프라이즈 도구와 셰어웨어 솔루션 간의 차이를 좁혀 IT 작업을 위한 통합된 관리 솔루션을 제공함으로써

중기업에 크게 기여했습니다. Essentials 2007은 IT 전문가가 다양한 업무를 수행해야 하는 중기업에서 발생하는 문제를 해결하기 위해 특별히 설계되었습니다.

Essentials는 설치 및 구성이 쉬우므로 IT 전문가가 클라이언트와 서버를 사전에 모니터링할 수 있을 뿐만 아니라 하드웨어 및 소프트웨어 자산을 추적할 수도 있습니다. 이 제품은 응용 프로그램 및 IT 서비스 모니터링, 클라이언트/서버 소프트웨어 배포, 데스크톱 문제 해결 등 기존의 복잡한 작업을 간소화하도록 설계되었습니다.

초기 릴리스 이후 Microsoft에서는 IT 인프라를 관리하는 데 Essentials를 이미 사용하고 있는 실사용자로부터 의견을 수집해 왔으며 제품의 첫 번째 서비스 팩에 이 정보를 반영했습니다. SP1에는 단순히 버그 수정을 제공하는 차원을 넘어 다양한 배포 시나리오에서 보다 융통성 있게 고객의 요구 사항을 충족할 수 있도록 제품에 대한 중요한 개선 사항이 포함되어 있습니다. 뿐만 아니라 향상된 성능은 사용자 환경을 개선하고 관리 작업을 능률화하는 데 큰 영향을 줍니다.

이 기사에서는 Essentials 2007 SP1에 포함된 주요 개선 사항을 살펴보고 이러한 개선 사항이 환경을 관리하는 데 얼마나 도움이 되는지 알아봅니다.

쉬운 설치

SP1 통합 설치 관리자 패키지에는 최신 Essentials 핫픽스가 모두 포함되어 있기 때문에 마우스를 몇 번만 클릭하면 쉽게 설치할 수 있습니다. 이제 Essentials Server는 32비트 Windows Server® 2003 인스턴스에 두고 Essentials는 원격 64비트 SQL Server® 2005 인스턴스를 사용하도록 구성할 수 있습니다. 이렇게 하면 관리자가 현재 환경의 기존 서버 인프라를 분산된 Essentials 배포 토폴로지에서 보다 유연하게 활용할 수 있습니다. 또한 Windows Server 2008이 Essentials 2007 SP1 Server, 콘솔 및 에이전트 플랫폼으로 지원될 예정입니다. Windows Server 2008은 새 운영 체제의 RTM 버전이 출시된 직후에 완벽하게 지원될 것입니다.

향상된 콘솔 성능

Essentials 2007 RTM 릴리스를 사용해봤다면 응답 성능이 크게 향상된 SP1의 Essentials 콘솔 인터페이스에 만족할 수 있을 것입니다. 경고, 이벤트, 성능, 상태 및 작업 상태 보기의 성능이 개선되었습니다. 예를 들어 모든 경고 보기에서는 데이터 가져오기(검색) 방식이 변경되어 경고 데이터 선택 속도가 3배까지 빨라졌습니다. 이제는 작업과 보고서 가져오기가 백그라운드에서 실행되기 때문에 UI 성능이 더욱 향상되었습니다. 마찬가지로 운영 콘솔 오른쪽의 작업 창에 표시되는 컨텍스트 기반의 작업 및 보고서도 백그라운드에서 로드되기 때문에 사용자의 선택 항목이 보기에 더 빠르게 반영됩니다.

이제 Show Knowledge(정보 표시) 또는 Hide Knowledge(정보 숨기기) 링크(그림 1 참조)를 클릭하여 경고 정보 창에 표시되는 경고 정보를 사용자의 필요에 따라 표시하거나 숨길 수 있습니다. 이 기본 설정은 향후 경고를 볼 때도 그대로 적용됩니다. 또한 관리자가 표준 바로 가기 키(예: Ctrl+C 및 Ctrl+V)를 사용하여 경고 정보를 복사하고 붙여 넣을 수도 있습니다.

그림 1 정보 표시/숨기기 링크가 있는 경고 정보 창 (더 크게 보려면 이미지를 클릭하십시오.)

재정의 개선 사항

재정의는 불필요한 규칙과 모니터를 사용하지 않도록 설정하고 여러 임계값을 적절하게 수정하여 관리 팩을 조정하는 데 사용됩니다. 재정의와 관련하여 몇 가지 주요 기능이 개선되어 규칙과 모니터를 사용자의 환경에 맞게 보다 쉽게 조정할 수 있을 뿐만 아니라 Essentials 환경에 이미 적용되어 있는 재정의를 보다 효율적으로 파악할 수 있습니다. 그 결과 사용자 지정 규칙을 만들어야 하는 번거로움이 줄어들고 현재의 환경에 적용되어 있는 재정의를 보다 빠르게 파악할 수 있습니다.

예를 들어 특정 관리 팩 개체에 대한 재정의를 만든 후 재정의 요약 상자에서 개체 형식별로 재정의에 대한 요약을 볼 수 있습니다. Essentials 2007 SP1에서는 재정의 대상에 대한 완벽한 설명을 제공합니다. 예를 들어 Server1의 C:\ 드라이브에 대해 논리 디스크 여유 공간에 대한 재정의를 만들면 요약에 'server1/c:'가 표시됩니다. 이러한 변경된 기능의 중요성을 예를 들어 설명하겠습니다.

그림 2의 경우 Essentials 2007 RTM 릴리스에서 볼 수 있는 Windows Server 2003 논리 디스크 여유 공간에 대한 재정의 요약에서는 재정의 대상인 C:\ 드라이브 인스턴스가 어떤 컴퓨터에서 호스팅되는지 전혀 알 수 없습니다. 그러나 Essentials SP1에서는 동일한 재정의 요약의 이름 열에 대상 드라이브 인스턴스뿐만 아니라 해당 드라이브를 호스팅하는 컴퓨터도 표시됩니다(그림 3 참조).

그림 2 Essentials 2007 RTM의 재정의 요약 (더 크게 보려면 이미지를 클릭하십시오.)

그림 3 Essentials 2007 SP1의 같은 재정의 요약 (더 크게 보려면 이미지를 클릭하십시오.)

경고 심각도는 관리자가 수집하는 경고 트래픽의 양에 큰 영향을 줄 수 있습니다. 지금까지는 중요한 경고를 생성하도록 Essentials 규칙을 봉인된 관리 팩에 구성하면, 일부 서버에서는 이 경고가 중요하지 않더라도 경고 심각도와 우선 순위가 규칙 재정의에 제공되지 않기 때문에 관리자가 이 설정을 조정할 수 없었습니다. 유일한 해결 방법은 일부 컴퓨터에 대해서는 규칙을 사용하지 않도록 하는 재정의를 만든 다음, 경고 매개 변수를 조작할 수 있도록 봉인된 관리 팩의 규칙을 다시 만드는 것입니다. 하지만 이 방법은 번거로울 뿐만 아니라 관리자의 측면에서 볼 때 그리 권장할 만한 방법이 아닙니다.

그림 4에서 볼 수 있듯이 SP1에서는 봉인된 모든 관리 팩 규칙에 경고 심각도와 우선 순위가 재정의 매개 변수로 제공되어 이러한 문제가 깔끔하게 해결되었습니다. 따라서 관리자가 재정의를 만들어 Essentials 2007의 규칙을 통해 생성된 경고의 심각도와 우선 순위를 쉽고 빠르게 높이거나 낮출 수 있습니다.

그림 4 경고 민감도 및 우선 순위 규칙 재정의 (더 크게 보려면 이미지를 클릭하십시오.)

이미 눈치채셨을지 모르지만 Essentials RTM 릴리스의 콘솔 인터페이스에서는 볼 수 없었던 적용 확인란(그림 4 참조)이 새로 추가되었습니다. 개체에 대해 재정의를 여러 개 설정한 경우 적용 플래그가 선택된 재정의에 더 높은 우선 순위가 부여됩니다. 이 옵션은 개체 그룹 두 개에 동일한 재정의를 설정하고 일부 개체가 두 그룹 모두에 속해 있는 경우에 유용합니다. 우선적으로 적용할 재정의에 적용 옵션을 설정하면 적용되는 재정의 설정을 정확하게 제어할 수 있습니다.

Essentials 2007 SP1에서는 새 관리 팩을 보다 쉽게 만들 수 있도록 기존 관리 팩의 보기를 봉인된 관리 팩에 복사할 수 있는 기능이 추가되었습니다. 이 복사 작업은 이벤트, 경고, 성능, 대시보드, 다이어그램 등과 같이 모든 종류의 보기에서 지원되며 모니터링 영역에서 수행할 수 있습니다. 예를 들어 Active Directory® 재정의 관리 팩을 만든 후 Active Directory 관리 팩의 보기 중 하나를 Active Directory 재정의 관리 팩에 사용하려는 경우, 모니터링 영역의 탐색 창에서 적절한 보기를 선택한 후 원하는 사용자 지정 관리 팩 폴더에 복사하여 붙여 넣습니다.

새 재정의 보고

Microsoft® Generic Reporting Library의 재정의 보고서도 주목할 만한 새로운 기능으로, Essentials 콘솔의 보고 창에 포함되어 있습니다. 이 보고서를 사용하면 재정의가 저장된 관리 팩 또는 해당 재정의가 적용된 관리 팩의 관점에서 재정의에 대해 설명할 수 있습니다(그림 5 참조). 사용자는 봉인된 MP 재정의를 보고서에서 제외하는 보고서 매개 변수를 설정할 수도 있습니다. Microsoft 또는 타사의 봉인된 관리 팩에는 사용자의 환경에서 변경된 사항을 보고할 때 신경 쓰지 않아도 되는 재정의가 많이 포함되어 있기 때문에 이 필터링 옵션을 사용하는 것이 좋습니다.

그림 5 재정의 보고서 매개 변수 (더 크게 보려면 이미지를 클릭하십시오.)

Microsoft에서 제시하는 모범 사례에 따라 봉인된 각 관리 팩(Active Directory MP, Exchnage MP 등 각각에 하나씩)에 대해 별도의 사용자 지정 관리 팩을 만들면 보고서의 범위를 보다 효율적으로 좁혀 특정 관리 팩에 적용되는 재정의만 필터링하여 볼 수 있습니다.

봉인되지 않은 적절한 관리 팩을 선택하면 보고서를 실행할 수 있으며 그러면 그림 6과 같이 결과가 표시됩니다. 보고서에는 재정의가 적용되는 규칙 또는 모니터(영향을 받는 요소 열)뿐만 아니라 모니터와 관련된 설치 및 삭제 날짜/시간이 정확하게 표시됩니다. 이는 재정의 보고서가 활성 재정의 목록임은 물론 재정의 구성 변경 기록에 대한 보고서임을 의미합니다.

그림 6 재정의 보고서 정보 (더 크게 보려면 이미지를 클릭하십시오.)

마지막으로, 영향을 받는 각 규칙 또는 모니터에 대한 세부 보기의 맨 아래에는 Rule configuration view(규칙 구성 보기)라는 하이퍼링크가 있습니다. 이 링크를 클릭하면 영향을 받는 개체 형식에 맞게 범위가 지정된 별도의 규칙 보기 또는 모니터 보기가 열립니다. 예를 들어 그림 6에 나와 있는 Active Directory Domain Controller Server 2003 컴퓨터 역할의 규칙에 대한 재정의에 대해 Rule configuration view(규칙 구성 보기) 링크를 클릭하면 규칙 보기에 해당 개체 형식에 해당되는 규칙만 표시됩니다.

작업 그룹 컴퓨터 지원

고객의 의견 중에서는 작업 그룹 구성에서 서버와 워크스테이션을 관리할 필요성과 관련된 지적이 많았습니다. 대부분의 환경에는 도메인에 가입되지 않은 경계 네트워크 또는 지점에 설치된 서버가 적어도 하나씩은 있습니다. Essentials에서는 Essentials Server와 에이전트 관리 컴퓨터 간에 상호 인증이 필요하기 때문에 Essentials 서버의 트러스트 경계 밖에 있는 작업 그룹 컴퓨터는 Essentials 에이전트 배포 범위에 포함되지 않습니다. 즉, 이것은 대부분의 환경에서 인프라의 핵심적인 구성 요소가 모니터링되지 않은 상태로 Essentials 패치 관리 프로세스에서 배제되어야 한다는 의미입니다. 이러한 컴퓨터를 안전하게 관리하려면 어떻게 해야 할까요?

SP1에서는 Active Directory 및 Kerberos 인증을 사용할 수 없는 시나리오에서 인증서 기반 인증을 사용할 수 있습니다. 이 기능을 사용하려면 Essentials Server와 에이전트 관리 컴퓨터 모두에 X.509 디지털 인증서가 설치되어 있어야 합니다. 디지털 인증서는 Windows® Standalone 또는 Enterprise 루트 인증 기관에서 발급받을 수 있습니다. 현재 사용 중인 환경에 Windows 인증 기관이 없는 경우, 프로그램 추가/제거를 통해 Essentials Server를 포함하여 현재 환경 내의 도메인 컨트롤러나 구성원 서버에 이 기능을 설치할 수 있습니다. Windows Server 2003의 인증서 서비스 및 PKI(공개 키 인프라)에 대한 자세한 내용은microsoft.com/windowsserver2003/technologies/pki를 참조하십시오.

Essentials에서 인증서 기반 인증을 구성하려면 먼저 Essentials Server와 관리 대상 컴퓨터 모두에 대해 인증서를 요청하고 발급해야 합니다. 요청은 인증 기관으로 사용하는 서버에서 웹 사이트를 통해 입력할 수 있습니다.

인증서를 발급받아 설치한 후에는 MOMCertImport 명령줄 유틸리티를 사용하여 Essentials에서 사용할 수 있도록 "등록"해야 합니다. 인증서 구성을 완료하려면 인증서를 파일(.pfx 형식)로 내보낸 후 로컬 컴퓨터에서 다음 구문을 사용하여 MOMCertImport를 실행하면 됩니다.

코드 복사

MOMCertImport.exe <cert path \ name>

Essentials Server와 관리 대상 컴퓨터에서 이 모든 단계를 실행했으면 두 시스템이 상호 인증되어 암호화된 채널을 통해 데이터를 안전하게 주고받을 수 있습니다. 에이전트 배포 프로세스를 완료하려면 대상 컴퓨터에 Essentials 에이전트를 직접 설치하면 됩니다.

네트워크 및 장치 모니터링

Essentials 2007에는 SNMP 지원 네트워크 장치 대부분의 일반적인 특성을 파악할 수 있는 네트워크 장치 모니터링 기능이 포함되어 있습니다. SNMP 버전 2c(SNMPv2c)가 가장 많이 사용되고는 있지만 모든 네트워크 장치가 동일하게 만들어지는 것은 아닙니다. 이 점을 감안하여 SP1에서는 SNMPv2c를 지원하지 않는 UPS, 라우터, 인쇄 서버 등과 같은 많은 이전의 네트워크 장치를 모니터링할 수 있도록 SNMP 버전 1(SNMPv1)을 지원합니다. 그림 7에서 볼 수 있듯이 관리자는 컴퓨터 및 장치 관리 마법사에서 추가 드롭다운 필드를 통해 Essentials에서 사용할 SNMP 버전을 직접 지정할 수 있습니다.

그림 7 네트워크 장치 검색을 위한 향상된 인터페이스 (더 크게 보려면 이미지를 클릭하십시오.)

향상된 업데이트 관리

또한 SP1에서는 업데이트 관리 기능이 크게 향상되었습니다. WSUS(Windows Server Update Services) 3.0 자동 승인 규칙을 사용하면 Microsoft Word에 대한 정의 업데이트의 자동 승인과 같이 여러 제품 및 업데이트 분류를 지정할 수 있습니다.

이제 여러 자동 승인 규칙에 대한 지원이 Essentials에 추가되어 WSUS 3.0 플랫폼에서와 동일한 기능을 사용할 수 있습니다(그림 8 참조). 따라서 관리자는 Windows Vista®의 중요 업데이트 및 2007 Office system용 서비스 팩을 포함하여 여러 종류의 업데이트에 대해 자동 승인을 만들 수 있습니다. 이렇게 하면 WSUS 서버에서 사용할 수 있는 모든 업데이트에 대해 자동 승인 규칙이 적용됩니다. 관리자는 자동 승인 대화 상자에서 지금 규칙 실행 작업을 클릭하여 Essentials 콘솔에 있는 기존 업데이트에 변경 사항을 즉시 적용할 수 있습니다.

그림 8 업데이트 관리의 자동 승인 (더 크게 보려면 이미지를 클릭하십시오.)

또한 관리자는 작업 그룹의 컴퓨터에 에이전트를 배포할 수 있는 추가적인 지원을 통해 Essentials 콘솔에서 전체 환경의 업데이트 관리를 제어할 수 있습니다.

개체 상태 계산

이전에는 상태 탐색기에서 모니터 상태를 확인할 때 복구나 다른 조치가 성공적으로 수행되었는지 확인하려면 모니터 상태가 정기적으로 새로 고쳐질 때까지 기다려야 했습니다. 그러나 SP1의 상태 탐색기 버전에는 모니터 상태를 필요할 때 다시 계산할 수 있는 Recalculate Health(상태 다시 계산) 작업이 새로 추가되었습니다(그림 9 참조). 이 기능을 사용하면 조치를 취한 후 기다릴 필요 없이 모니터 상태가 정상인지 확인할 수 있기 때문에 문제 해결 프로세스를 훨씬 빠르게 수행할 수 있습니다.

그림 9 상태 탐색기의 상태 재계산 작업 (더 크게 보려면 이미지를 클릭하십시오.)

이와 마찬가지로 상태를 정상(녹색)으로 다시 설정하는 요청이 실제로 모든 모니터에 적용될 수 있도록 기존의 상태 다시 설정 작업(RTM 버전부터 추가)도 크게 개선되었으며, 이 개선 사항은 RTM 릴리스에서 다시 설정 요청에 응답하지 않는 경우가 많던 Essentials Server 자체에 대해 다시 설정 요청을 실행하는 경우에도 적용됩니다.

스크립트를 사용한 진단

진단은 경고가 발생하면 데이터 수집 작업을 자동 또는 수동으로 실행할 수 있도록 Essentials 2007에 새로 도입된 특별한 형식의 인라인 작업입니다. 자동 진단은 모니터가 오류 상태가 될 때마다 실행되도록 구성된 것으로 진단 결과는 상태 탐색기의 상태 변경 이벤트 탭에 있는 세부 정보 창에 표시됩니다. 주문형 진단은 자동 진단과 같은 영역에 하이퍼링크로 표시되며 해당 링크를 클릭하여 간단하게 실행할 수 있습니다. 주문형 진단의 결과는 로컬 컴퓨터의 팝업 창에 표시됩니다.

그림 10에서 볼 수 있듯이 SP1에서는 명령줄 응답만 가능했던 RTM에 비해 진단 작업에 스크립트를 사용할 수 있도록 진단 기능이 확장되었습니다. 이러한 확작된 기능을 통해 오류가 발생했을 때 보다 정교하고 다양한 자동 데이터 수집 응답을 실행할 수 있습니다. 이러한 진단 작업에는 VBScript와 JScript®가 모두 지원됩니다.

그림 10 정보 표시/숨기기 링크가 있는 경고 정보 창 (더 크게 보려면 이미지를 클릭하십시오.)

Visio로 내보내기

SP1에 새로 추가된 다른 기능으로는 사용자가 다이어그램 보기를 선택하면 도구 모음에 나타나는 단추를 사용하여 다이어그램을 Microsoft Visio® 2007 형식으로 내보내는 기능이 있습니다. 또한 Active Directory 및 Exchange Server 2003 관리 팩에서는 세부적인 토폴로지 다이어그램을 기본적으로 제공하여 관리자가 문서를 작성하는 데 소중한 시간을 버리지 않아도 되므로 매우 편리합니다. 또한 다이어그램 레이아웃에 대한 기본 설정을 저장할 수도 있습니다. 이러한 기본 설정은 다음번에 다이어그램 보기를 선택했을 때 Essentials 콘솔에 그대로 적용됩니다.

향상된 백업 및 복구 지침

Essentials 2007 SP1을 설치한 직후 Essentials Management Server 암호화 키를 백업하라는 메시지가 설치 마법사에 자동으로 표시됩니다(그림 11 참조). Essentials Server에서는 운영 데이터베이스에서 실행 자격 증명을 안전하게 저장하기 위해 이 키 쌍을 사용합니다. 이들 키는 Essentials Server를 백업에서 복원해야 하는 경우에도 필요하며 이 키 쌍이 없으면 Essentials를 다시 설치하여 처음부터 구성해야 합니다.

그림 11 Essentials 암호화 키 백업 (더 크게 보려면 이미지를 클릭하십시오.)

향상된 관리 팩 품질

Essentials SP1에서 향상된 수많은 기능 이외에도 Essentials 제품 팀에서는 더욱 다양하고 엄격한 테스트 절차와 여러 제품 팀 및 응용 프로그램 관련 전문가와의 상호 작용을 통해 Essentials 플랫폼용 관리 팩의 품질을 개선하는 데 주력하고 있습니다. 이러한 노력의 결과는 자동 튜닝 임계값, 분산 응용 프로그램 모델을 사용하는 서비스 기반 모니터링과 같이 Microsoft 모니터링 플랫폼의 새로운 기능을 비롯하여 강력한 보고 엔진의 장점을 활용하는 추가적인 관리 팩의 출시에 반영될 것입니다.

Microsoft에서는 Essentials의 새로운 기능을 활용하는 더 많은 기본 관리 팩을 2008년부터 출시할 예정입니다. Essentials 2007용 관리 팩은 System Center 관리 팩 카탈로그(go.microsoft.com/fwlink/?LinkId=112399)에서 다운로드할 수 있습니다.

평가판 안내

SP1에서는 중기업의 IT 인프라를 관리하는 데 부족함이 없을 정도로 System Center Essentials 2007의 성능이 크게 향상되었습니다. 현재의 환경에서 Essentials 2007을 이미 사용하고 있는 경우에는 SP1을 다운로드하여 향상된 기능과 성능을 직접 경험해 보십시오. Essentials 2007을 아직 배포하지 않은 경우 Essentials 2007 SP1을 사용해 보려면 SP1 통합 설치 관리자 패키지를 다운로드할 수 있습니다. 이 두 패키지와 추가적인 제품 정보는 Essentials 2007 홈 페이지(microsoft.com/systemcenter/essentials)에서 확인할 수 있습니다.

posted by 엘도라도29
사용 가능한 OU 구조 설계
2008/05/06 20:36 기술 잡지

올바른 OU(조직 구성 단위) 구조 설계의 중요성과 복잡성을 과소 평가하지 마십시오. IT 부서에서는 간혹 극단적인 방향으로 결정을 내리기도 합니다.

즉, OU 구조에 너무 많은 의미를 부여하거나 그 중요성을 간과합니다. 어느 쪽이건 Active Directory® 모델에 문제를 유발할 수 있습니다.

OU 구조에 너무 신경 쓰면 사이트 토폴로지 계획이나 도메인 컨트롤러 크기 지정과 같은 Active Directory 설계의 다른 영역을 간과할 수 있습니다. 반대로 OU 계획을 미루다 보면 그룹 정책 및 위임에 소홀할 수 있습니다.

이렇게 문제를 방치하는 사람들은 OU 구조는 유연하므로 나중에 변경할 수 있다는 변명을 늘어놓곤 합니다. OU 구조가 유연한 것은 사실이지만 관리자의 입장에서는 OU 구조를 중간에 변경하는 작업이 처음 예상했던 것보다 더 힘들 수 있습니다. 물론 새 OU를 추가할 수 있지만 기존 OU를 정리하기는 어렵습니다.

처음에 OU 구조를 잘못 계획하면 끝까지 나쁜 영향을 미칩니다. 디렉터리에 새 개체가 만들어졌는데 관리자가 개체를 배치할 OU 구조를 잘 모르면 새 OU를 다시 만들거나 적합하지 않은 위치에 개체를 배치하게 됩니다. 두 가지 경우 모두 위험이 따릅니다. 새 OU를 만드는 것은 쉽지만 장기적으로 추적하는 데 어려움이 있습니다. OU를 무분별하게 만들면 OU 구조가 복잡해지고 디렉터리가 문서화되지 않은 상태가 되기 쉽습니다. 반대로 적합하지 않은 기존 OU에 개체를 추가하면 새 개체에 해당하지 않는 정책이 적용되거나 개체에 대한 사용 권한이 의도하지 않은 사용자에게 위임될 수 있습니다.

OU 구조를 설계할 때 염두에 두어야 하는 기본 공식은 "단순성 + 적응성 = 지속 가능성"입니다. 설계가 너무 단순하면 적응성이 떨어지므로 자주 변경해야 할 수 있고, 적응성에 너무 많이 초점을 맞추다 보면 모든 것이 세분화되므로 너무 복잡해질 수 있습니다.

설계를 결정하는 데 도움이 되는 세 가지 주요 원칙에는 그룹 정책, 위임 및 개체 관리가 있습니다. 이러한 원칙에 대해 세 가지 질문을 던져 만들고 있는 OU 구조가 오래 지속되고 조직의 변화에 적응할 수 있는지 확인할 수 있습니다.

  1. 고유한 GPO(그룹 정책 개체)를 적용할 수 있도록 이 OU를 만들어야 합니까?
  2. 특정 그룹의 관리자가 이 OU의 개체에 대한 사용 권한을 가져야 합니까?
  3. 이 새로운 OU를 사용하면 포함된 개체를 관리하기가 쉬워집니까?

모든 질문에 대한 대답이 "예"라면 OU를 만들 이유가 충분히 있습니다. 하나라도 "아니요"라는 대답이 있으면 레이아웃을 다시 검토해 보고 다른 설계가 더 적합하지 않은지 확인해야 합니다. 이 문제에 대해 깊이 논의하고 이러한 원칙을 적용하는 방법을 시연하기 전에 우선 이러한 원칙이 왜 중요한지부터 설명하겠습니다.

원칙 1: 그룹 정책

OU 설계의 첫 번째 원칙은 OU에 적용할 그룹 정책 개체를 고려하는 것입니다. GPO를 사용하면 사용자 및 컴퓨터에 대한 설정을 강제적인 방식으로 구성할 수 있습니다. Active Directory에서 여러 GPO를 정의한 후 전체 도메인, 여러 OU 또는 도메인의 사이트에 적용할 수 있습니다. GPO는 사용자용과 컴퓨터용의 두 가지 범주로 나뉩니다.

컴퓨터 정책과 사용자 정책을 모두 같은 GPO에 정의할 수 있습니다. GPO의 사용자 구성 섹션에서는 대부분 사용자가 로그인할 때 표시되는 환경을 정의합니다. 이러한 유형의 설정은 컴퓨터 구성 섹션에도 있지만 이 섹션에는 컴퓨터에 로컬로 로그온할 수 있는 사용자 또는 데이터 암호화 방법과 같은 컴퓨터 보안 관련 설정이 추가적으로 포함되어 있습니다.

GPO를 지원하는 OU를 정의할 때 고려해야 할 기본 사항은 다음과 같습니다. 첫 번째로, 사용자 정책과 컴퓨터 정책을 모두 같은 GPO에 정의할 수 있다는 이유만으로 사용자 개체와 컴퓨터 개체를 같은 OU에 배치하는 것은 그다지 좋지 않습니다. 같은 GPO에 결합하면 GPO 적용 문제를 해결하는 데 어려움이 따릅니다. 루프백 정책이 설정된 경우에는 문제 해결이 특히 어렵습니다.

두 번째로, 많은 사람들이 사이트 수준에서 GPO를 적용할 수 있다는 사실을 잊고 GPO 용도로 사이트 구조를 모델링하는 데 OU 구조를 설계한다는 점입니다. 이것은 지리적 모델로 알려진 OU 설계의 일반적인 모델입니다. 이 모델에 대해서는 이후에 좀 더 설명하도록 하겠습니다. OU 설계에 지리적 모델이 사용된다는 사실은 잠시 잊고, 나중에 설명하겠지만 GPO 적용이 이 모델 구현의 결정적인 이유가 되어서는 안 된다고 생각합니다.

또한 GPO의 관점에서 OU 구조를 생각해 보면 복잡성을 줄이는 것이 목표일 것입니다. OU를 GPO 상속의 흐름에 추가하십시오. OU에 다른 서버와 같은 정책을 필요로 하는 서버가 포함되어 있으면 이러한 컴퓨터 개체를 보다 광범위한 Servers OU에 배치하고 Servers OU 아래에 서로 다른 서버 유형에 대한 여러 OU를 만드는 방법도 고려해 보십시오(그림 1 참조). 이렇게 하면 하위 OU의 각 컴퓨터 개체가 Servers OU의 정책 및 해당 특정 서버 유형과 관련된 다른 정책을 가져오므로 정책 적용이 간단해질 수 있습니다.

그림 1 서로 다른 서버 유형에 대한 여러 OU 만들기 (더 크게 보려면 이미지를 클릭하십시오.)

다른 기본 사항은 여러 GPO를 불필요하게 만들거나 연결하지 않는 것입니다. GPO를 사용하면 하나의 정책을 만들어 여러 OU에 적용할 수 있습니다. 이 방식은 유용할 때도 있지만 악영향을 미칠 수도 있습니다. GPO 설정을 변경해야 하는데 연결된 GPO 시스템이 너무 복잡하면 변경 내용을 실수로 잘못된 개체에 적용할 수 있습니다. 링크를 많이 만들수록 정책 범위를 가늠하기 어려워집니다. 마찬가지로 다른 정책과 같은 설정으로 추가 정책을 만들지 말아야 합니다. 이러한 상황이 발생하면 OU 구조를 수정하여 새 GPO 상속 모델을 적용하는 것이 좋습니다.

마지막으로, 사용자 개체 및 컴퓨터 개체에 대해 거의 항상 새 OU를 만들어야 합니다. 기본적으로 사용자 개체와 컴퓨터 개체는 컨테이너 안에 위치하므로 GPO를 직접 연결할 수 없습니다. GPO를 도메인의 사용자 및 컴퓨터 컨테이너에 적용할 수 있지만 상속을 차단하지 않으면 도메인에 있는 모든 사용자 및 컴퓨터에 이러한 정책이 적용됩니다. Windows Server® 2003에서는 rediruser.exe 및 redircomp.exe 도구를 사용하여 사용자 개체와 컴퓨터 개체의 기본 위치를 사용자가 만든 OU로 변경할 수 있습니다.

원칙 2: 위임

도메인에서 사용 권한이 위임된 방식과 일관되게 OU 구조를 만들어야 합니다. Active Directory에서 사용 권한이 위임되는 경우에는 사용 권한에 대한 변경이 개체에만 적용됩니다. 따라서 사용자에게 특정 컴퓨터 개체에 대한 모든 권한을 부여하면 해당 사용자는 개체의 특성을 수정할 수 있지만 컴퓨터 자체에 대해서는 관리자 권한이 없습니다.

OU 구조를 설계할 때 유용한 위임 관련 권장 방법을 몇 가지 소개하겠습니다.

사용 권한 상속을 고려하여 설계 예를 들어 계층 1 관리자에게 대부분의 계정에 대한 암호를 변경할 수 있는 권한을 부여하려는 경우, 관리자가 암호를 다시 설정할 수 있는 권한을 가지면 안 되는 특수한 사용자 그룹이 있지만 이러한 관리자에게 해당 계정에 대한 표시 이름을 변경할 수 있는 권한이 필요할 수 있습니다.

두 가지 옵션 중 하나를 선택할 수 있습니다. 첫 번째 옵션은 별개의 두 병렬 OU를 만들고 일반 사용자와 특수 사용자를 구분하는 것입니다. 그러나 이렇게 하면 모든 사용자에 대한 위임 옵션을 변경하려는 경우 두 위치에서 이러한 사용 권한을 변경해야 합니다. 또한 이 옵션은 불필요한 여러 개의 연결을 사용하지 않아야 한다는 정책과 모순될 수 있습니다(그림 2 참조).

그림 2 별개의 두 병렬 OU 유지 관리 (더 크게 보려면 이미지를 클릭하십시오.)

또 다른 옵션은 중첩 OU를 만들고 특수 사용자가 포함된 OU에 명시적인 거부 권한을 설정하는 것입니다. 모든 위임 전문가가 명시적인 거부는 사용하지 않는 것이 좋다고 말하겠지만 이 경우에는 최악의 조건 둘 중에서 하나를 선택해야 합니다(그림 3 참조). 별개의 두 OU에 대해 설정을 복제하고 유지 관리하거나 OU 중 하나에 명시적인 거부를 설정할 수 있습니다. 장기적인 안목에서 볼 때는 명시적인 거부를 사용하는 것이 좋습니다.

그림 3 명시적인 거부 권한 사용 (더 크게 보려면 이미지를 클릭하십시오.)

AdminSDHolder에 주의 이 예제는 특수 사용자가 모두 관리 그룹(Domain Admins, Schema Admins, Enterprise Admins 또는 Administrators) 중 하나에 속하지 않는 경우 더욱 잘 작동합니다. 이러한 그룹의 계정에 대한 사용 권한은 다루기 어렵기 때문입니다. 이 예제의 목적은 일반 사용자의 사용 권한을 실수로 관리 계정으로 부여하지 않기 위함입니다.

관리자용으로 별개의 OU를 만들면 여기에 위임하는 사용 권한이 보이지 않게 됩니다. 그 이유는 AdminSDHolder 때문입니다. AdminSDHolder는 지정된 간격으로 해당 액세스 제어 목록을 모든 관리자 계정에 적용하는 특수 컨테이너입니다. 따라서 관리 계정에 대한 위임이 변경된 후 AdminSDHolder 컨테이너에서도 변경되지 않으면 변경 내용이 되돌려집니다. 따라서 관리자 계정을 위임에 사용되는 다른 계정과 분리해 놓지 말아야 합니다. 하지만 그룹 정책에 사용되는 관리자 계정과는 분리해 놓는 것이 좋습니다. 이는 여러 암호 정책을 사용할 수 있는 Windows Server 2008에서 특히 유용합니다.

원칙 3: 개체 관리

OU에서 개체 관리를 활용해야 합니다. 개체를 같은 OU에 그룹화하면 일괄 변경을 수행하기 쉽습니다. Active Directory 사용자 및 컴퓨터 스냅인을 통해 여러 개체를 선택하여 특정 특성을 편집할 수 있습니다. 따라서 개체 그룹에 대해 정기적으로 특성을 변경해야 하는 경우 이러한 개체 그룹이 같은 OU에 있으면 작업하기 쉬워집니다.

또한 스크립트를 사용하여 업데이트하는 경우에도 특히 유용합니다. 스크립팅 언어를 사용하면 하나의 OU에 있는 모든 개체를 열거하고 이러한 개체를 하나씩 처리하기가 매우 쉬워집니다. 각 개체를 하나씩 검색하고 수정하는 방법도 있습니다. 관리하기 쉽도록 같은 OU에 개체를 배치하기만 하면 매주 불필요한 작업을 수행하는 시간을 절약할 수 있습니다.

개체 관리에 유용한 다른 방법으로는 형식에 따라 다른 OU에 개체를 분리해 놓는 방법이 있습니다. 프린터 개체 또는 게시된 공유에 대해 별개의 OU를 만들면 OU의 다른 개체에 대한 관리 작업을 수행할 때 이러한 개체를 따로 제외시킬 필요가 없습니다. 이 방법은 같은 OU에 사용자 계정과 컴퓨터 계정을 함께 그룹화하지 않는다는 방침과도 일맥상통합니다.

모델 선택

이제 OU 설계의 원칙에 대한 설명을 마치고 일반적인 설계 모델 몇 가지를 더욱 자세히 살펴보겠습니다. 여기에서 설명하는 모델은 극히 일부에 불과하며 여러 개의 모델에 대해서도 작업할 수 있습니다. 각 모델에서 원하는 부분을 선택하여 사용자의 특정 요구 사항에 맞는 하이브리드 모델을 직접 만들 수 있습니다.

작은 규모에서는 어떠한 모델에 대해서도 성공적으로 작업을 수행할 수 있겠지만 기업이 성장함에 따라 환경을 제어할 수 있는 범위가 줄어들 수 있습니다. 따라서 적합한 테스트 환경에서 처음부터 모델을 철저히 테스트하십시오. 또한 OU 구조도 처음에는 쉽게 변경할 수 있지만 시간이 지날수록 변경하기가 점점 어려워진다는 사실을 잊지 마십시오.

단순 모델

단순 모델이라는 이름은 거의 평면적으로 유지된다는 사실에서 따온 것입니다. 이 모델에서는 높은 수준의 OU 몇 개에 대부분의 개체가 포함되어 있습니다(그림 4 참조). 이 모델은 대개 IT 조직의 규모가 작고 부서가 많지 않거나 사람들이 여러 역할을 수행하는 소규모 기업에서 사용됩니다. 성능 저하를 막기 위해 Microsoft에서는 하위 OU를 15개로 제한하지만 필자는 10개로 제한할 것을 권장합니다.

그림 4 높은 수준의 OU 몇 개에 대부분의 개체가 포함된 단순 모델 (더 크게 보려면 이미지를 클릭하십시오.)

인적 자원 담당자와 지급 담당자가 동일인이라면 인적 자원 부서와 지급 부서에 대해 별개의 두 OU를 만들 필요가 없습니다. 단순 모델에서는 모든 사용자 개체를 하나의 큰 Accounts OU로 그룹화하거나 기본 Users 컨테이너에 유지할 수 있습니다. 그래도 사용자 개체는 컴퓨터 개체와 분리해야 합니다.

이 모델의 경우 한 단계 더 나아가 서버에서 워크스테이션을 분리하는 것도 좋습니다. 그런 다음 최소한 WMI(Windows® Management Instrumentation) 쿼리를 사용하는 GPO를 정의할 필요 없이 서로 다른 그룹 정책을 적용하여 워크스테이션 또는 서버를 필터링하여 제외시킬 수는 있습니다.

OU 구조를 광범위하게 유지하면 좋은 점 중 하나는 Active Directory 검색이 빠르게 실행된다는 것입니다. 개인적으로는 하위 OU를 10개 이상 사용하지 않도록 권장합니다. 이 모델에서는 개체를 매우 세부적으로 제어할 수 없지만 소규모 기업에서 개체를 관리하는 경우 그렇게까지 세부적으로 제어할 필요는 없을 것입니다. 따라서 대규모 기업에서는 이 모델을 제대로 사용하기 어려울 수 있지만 소규모 조직에서는 매우 유용하게 사용할 수 있습니다.

지리적 모델

지리적 모델에서는 지역별로 별개의 OU를 만듭니다. 이 모델은 IT 부서가 분산되어 있지만 여러 도메인을 운영하는 데 비용을 들이지 않으려는 조직에 가장 적합합니다(그림 5 참조).

그림 5 지역별로 OU를 구분하는 지리적 모델 (더 크게 보려면 이미지를 클릭하십시오.)

애틀랜타, 볼티모어 및 시애틀에 사무실이 있다고 가정해 봅시다. 각 사이트에서 자체적으로 사용자 및 컴퓨터를 관리하면 위임의 개념을 도입할 수 있습니다. 그러나 시애틀 사용자가 교육을 받기 위해 볼티모어에 오면 계정이 잠깁니다. 볼티모어의 IT 담당자는 이 사용자 계정에 대한 사용 권한을 위임 받지 않는 한 이 사용자를 도울 수 있는 방법이 없습니다. 볼티모어에서 오전 8시이면 시애틀에서는 오전 5시입니다. 즉, 시애틀 사무실에 도움을 요청하려면 몇 시간 기다려야 할 수 있습니다.

일부 다국적 기업에서는 "태양을 따르는" 모델을 사용합니다. 즉, 지원 부서 호출이 현재 영업 시간인 표준 시간대에 위치한 사이트로 전달됩니다. 이렇게 하면 각 사이트에서 24시간 지원 부서를 운영할 필요는 없지만 필요한 경우 계정 잠금을 해제하는 등의 지원을 위해 야근 직원을 배치할 수 있습니다.

이 모델을 사용할 경우 지리적 위치에 따라 별개의 OU를 만드는 것이 운영 요구 사항에 적합하지 않을 수 있습니다. 모든 사용자 OU의 각 지역 지원 부서에 대해 별개의 사용 권한을 위임해야 합니다. 그러나 사이트에 자체 IT 부서가 있으면 지리적 모델이 조직에 적합할 수 있습니다.

또한 지리적 모델은 도메인 운영 방식의 특성상 단일 도메인에서 사용하기 어렵습니다. 도메인은 다른 도메인과 서로 다른 보안 모델을 갖는 경향이 있습니다. Microsoft® Exchange 같은 엔터프라이즈 응용 프로그램을 보면 이러한 사실을 확실하게 알 수 있습니다.

애틀랜타의 Exchange Server에는 다른 메시지 정책이 정의되어 있을 수 있지만 기업의 모든 Exchange Server에는 같은 GPO가 적용되어 있을 것입니다. 이 경우 Exchange Server를 지역별로 별개의 OU에 배치하면 여러 OU에 같은 GPO를 불필요하게 연결하게 될 수 있습니다. 위임의 관점에서는 Exchange Server용 컴퓨터 개체에 실제로 고유한 사용 권한이 필요한지 Exchange 관리자에게 문의해야 합니다. 대부분의 경우 컴퓨터 개체를 지리적 OU로 분리해 놓는 것은 그룹 정책에 따른 용도일 뿐 위임을 위한 용도는 아닙니다.

형식 기반 모델

형식 기반 모델에서는 용도별로 개체를 분류합니다(그림 6 참조). 마지막으로 만든 사용자 개체가 일반 사용자 계정을 위한 것인지, 관리 계정을 위한 것인지 또는 서비스 계정을 위한 것인지 묻는다면 형식 기반 모델에서는 이러한 개체가 각각 별개로 취급됩니다.

그림 6 기능에 따라 개체를 그룹화하는 형식 기반 모델 (더 크게 보려면 이미지를 클릭하십시오.)

대부분의 경우 정책별로 사용자 개체를 다르게 분류해야 합니다. 대부분 사용자 계정 유형에 따라 정책이 달라집니다. 잘못된 사용의 예로 서비스 계정을 사용하여 컴퓨터에 로그온하는 것을 허용하는 경우를 들 수 있습니다. 서비스 계정 암호는 일반적으로 많은 사용자들이 공유하므로 한 사용자가 서비스 계정으로 로그온하면 정확한 신원을 파악할 수 없습니다. 문제가 발생하면 이벤트가 발생한 시각에 로그인한 사용자를 추적하기가 힘듭니다. 이 예제에서는 대화형 로그온을 방지하도록 서비스 계정에 대한 정책을 설정해야 합니다. 이 방법은 그림 3에 나와 있는 계층 모델에 적합합니다.

이러한 장점과 더불어 GPO 상속을 사용할 수 있습니다. 예를 들어 모든 사용자 개체에 대한 정책을 나타내는 모든 사용자 정책을 사용할 수 있습니다. 또한 모든 사용자 정책을 기반으로 하는 서비스 계정용 정책을 구분하여 사용할 수 있습니다. 이러한 접근 방법을 통해 서비스 계정에 다른 모든 계정과 같은 기본 정책 집합 및 특정 로그온 제한을 사용할 수 있습니다.

이 방식은 GPO 상속 대신 사용 권한 상속을 사용하는 위임의 경우에도 효과적입니다. 계층 2 관리자에게 계층 3 관리자 계정을 제외한 모든 계정에 대해 암호를 다시 설정할 수 있는 권한을 부여하려는 경우, 평면적인 OU 구조에서는 사용자 계정이 있는 각 OU에 대해 사용 권한을 위임해야 합니다. 그러나 계층 구조가 있는 형식 기반 모델에서는 계층 2 그룹에 Accounts OU에 대해 "암호를 다시 설정"할 수 있는 권한을 부여한 다음 계층 3 OU에서 단순히 사용 권한을 상속 받지 않거나 암호 다시 설정에 대한 계층 2의 명시적인 거부를 설정할 수도 있습니다.

이 방법은 컴퓨터 개체에 대해서도 효과적입니다. 서버와 워크스테이션을 구분하고 서로 다른 정책을 적용할 수 있습니다. 그런 다음 서버를 기능별로 세분화할 수 있습니다(그림 1 참조). 이러한 설계에서는 모든 서버에 영향을 미치는 Servers OU에 대해 높은 수준의 정책을 설정하고 각 하위 수준의 OU에 개별 정책을 설정할 수 있습니다.

예를 들어 MOM(Microsoft Operations Manager) 서비스 계정이 있다고 가정합니다. 이 계층 모델을 사용하여 MOM GPO를 만든 후 MOM Servers OU에 적용할 수 있습니다. 그런 다음 해당 GPO 내에서 MOM 서비스 계정에 서비스로 로그온할 수 있는 권한을 부여할 수 있습니다. 이 작업은 해당 OU의 MOM 서버에만 적용됩니다. MOM 서버는 여전히 높은 수준의 Servers OU에서 Servers GPO를 가져오지만 MOM OU에서 연결된 특수한 MOM GPO도 가져옵니다.

설계 문서화

Active Directory 환경에서 발생하는 수많은 변경 작업에도 전혀 문제가 발생하지 않는 OU 구조를 설계할 수 있다면 매우 좋겠지만 OU의 동적 특성을 추적할 수 있는 방법이 필요한 순간이 반드시 있습니다. 추적할 수 있는 방법이 없으면 환경에 대한 제어 능력을 급속하게 상실하게 됩니다. 변경 사항이 있으면 OU를 추가하거나 삭제해야 하므로 모델이 세 가지 기본 원칙을 지키면서 설계 모델을 계속 추구하는 데 필요한 작업에 대한 명확한 지침이 있어야 합니다. 이것이 바로 설계 문서화가 중요시되는 이유입니다.

Microsoft의 Windows Server 리소스 키트에는 문서화 가이드가 있습니다. 이러한 가이드는 사용하고 있는 구조가 그다지 많이 변경되지 않는 견고한 프레임워크인 경우에 유용합니다. 그러나 대부분의 조직에서는 자주 변경되는 매우 동적인 구조를 사용합니다. 따라서 OU 구조를 올바르게 문서화하고 동적 환경을 지원하는 데 필요한 중요한 몇 가지 팁을 소개합니다.

모든 정보가 관련되어 있는지 확인 용도가 분명한 문서를 작성하는 것이 중요합니다. 별로 관련 없는 정보가 너무 많이 포함된 조작 설명서를 너무 많이 작성하면 중요한 자료를 찾기 힘듭니다. 문서화를 위한 문서 작업이 되지 않도록 주의하십시오. OU의 액세스 제어 목록에 대해 모든 OU 또는 모든 ACE(액세스 제어 항목)의 개체 수를 포함하는 것이 실제로 필요합니까? OU 문서화의 경우 다음 정보만 있어도 충분합니다.

  • OU 이름
  • 간략한 설명
  • 만든 사람 또는 추가 정보나 변경 사항이 있을 때 연락할 담당자
  • 만든 시간

업데이트하기 쉽게 작성 복잡한 Microsoft Word 문서를 장황하게 업데이트해야 한다면 업데이트를 입력하는 작업이 더욱 싫어질 것입니다. 곧 많은 양의 업데이트를 한 번에 입력할 예정이라면 소소한 변경 사항은 당장 입력하지 않아도 좋습니다. 하지만 이러한 소소한 변경 사항은 잊어버리거나 미뤄둔 채 아무 것도 하지 않는 경우도 많긴 합니다. 따라서 문서 업데이트 작업은 매우 쉽고 지루하지 않아야 합니다. 대부분의 경우 간단한 Microsoft Excel® 스프레드시트에 열만 몇 개 작성하는 것으로 충분할 것입니다.

개체 자체에 설명 달기 OU 개체에는 설명을 입력할 수 있는 설명 특성이 있습니다. 설계 문서에 설명을 작성하는 것보다는 다른 사람들이 OU의 용도를 쉽게 알 수 있도록 설명 특성에 설명을 입력하는 것이 좋습니다. 자세한 정보를 포함해야 하면 설명 특성에 간략한 설명을 입력하고 자세한 정보는 OU 문서에 포함하십시오.

문서화 자동화 OU 구조의 내용을 텍스트 파일, Excel 스프레드시트 또는 HTML 파일로 수집하는 스크립트를 작성할 수 있습니다. 이 스크립트는 매일 밤 예약 작업을 통해 실행할 수 있습니다. 또한 OU의 설명 필드에 있는 설명을 통합하는 경우에도 매우 유용할 수 있습니다. 이렇게 하면 설명 특성의 내용이 파일로 수집되므로 자동으로 항상 최신 상태의 OU 구조 전체를 문서화할 수 있습니다. 기존 문서를 덮어쓰는 대신 스크립트를 실행할 때마다 새 파일을 만들면 시간의 흐름에 따른 OU 구조의 변화를 기록으로 남길 수 있습니다.

필요한 순간이 오기 전에는 잘 작성된 OU 구조 문서화의 중요성을 실감하지 못하는 관리자가 대부분입니다. 그러다가 어느 날 새벽 3시에 실수로 삭제된 다른 OU가 더 있는지 찾아내려면 복원하는 방법밖에 없게 됩니다.

이러한 일이 발생하지 않도록 미리 대비해야 합니다. 이 글을 읽은 후 즉시 OU 문서화를 시작하고 업데이트를 담당할 사람을 지정하시기를 바랍니다. 규칙에 따라 문서 업데이트 작업을 쉽게 해놓으면 이를 유지하는 일은 더욱 쉬워질 것입니다.

posted by 엘도라도29
Windows Server 2008에서 Active Directory 백업 및 복원
2008/05/05 23:35 기술 잡지

누구나 알고 있듯이 ADDS(Active Directory 도메인 서비스)는 Windows 인프라에서 매우 중요한 구성 요소입니다. Active Directory가 중단되면 네트워크가 쓸모없게 됩니다. 따라서 Active

Directory의 백업 및 복구 계획은 보안, 비즈니스 연속성 및 규정 준수를 위한 기본 요소입니다.

Windows Server® 2008에서 Active Directory®에 많은 새로운 기능이 추가되었으며 그 중 새로운 Windows Server 백업 유틸리티와 Active Directory의 볼륨 섀도 복사본 서비스 스냅숏 작업 기능은 백업과 복구 계획에 큰 영향을 미칩니다. 이 기사에서는 이러한 기능 향상이 가져온 변경 내용을 소개하고 이러한 변경 내용을 활용하여 Active Directory 백업 작업을 효율적으로 수행하는 방법을 살펴봅니다.

NTBACKUP과 Windows Server 백업 비교

그룹 정책 설정

Windows Server 백업은 서버에서 백업이 작동하는 방식을 어느 정도 제어할 수 있는 몇 가지 그룹 정책 설정을 제공합니다. 이 백업 정책을 사용하면 사용자가 무단으로 백업을 수행하여 권한이 없는 데이터에 액세스함으로써 발생할 수 있는 몇 가지 위험에 대처할 수 있습니다. 다음과 같은 옵션을 사용할 수 있습니다.
Allow Only System Backup(시스템 백업만 허용) 이 옵션을 설정하면 Windows Server 백업은 주요 시스템 볼륨만 백업할 수 있고 볼륨 백업은 수행할 수 없습니다.
Disallow Locally Attached Storage as Backup Target(로컬로 연결된 저장소를 백업 대상으로 허용 안 함) 이 옵션을 설정하면 로컬로 연결된 드라이브로 백업할 수 없습니다. 네트워크 공유로만 백업할 수 있습니다.
Disallow Network as Backup Target(네트워크를 백업 대상으로 허용 안 함) 이 옵션을 설정하면 어떠한 네트워크 공유로도 백업할 수 없습니다.
Disallow Optical Media as Backup Target(광 미디어를 백업 대상으로 허용 안 함) 이 옵션을 설정하면 Windows Server 백업에서는 기록 가능 DVD 드라이브와 같은 어떠한 광학 장치로도 백업할 수 없습니다.
Disallow Run-Once Backups(백업 한 번 실행 허용 안 함) 이 옵션을 설정하면 Windows Server 백업에서는 예약되지 않은 임시 백업을 실행할 수 없습니다. Windows Server 백업 MMC 스냅인을 통해 예약된 백업만 실행할 수 있습니다.

Windows NT® 3.5 이후에 많이 사용되던 NTBACKUP은 이제 사라지고 대신 Windows Server 백업이 사용되고 있습니다. 이 새로운 도구는 NTBACKUP의 기능을 약간 좋게 향상시킨 것이 아니라 시스템 백업 방법을 다시 생각하게 하는 전혀 새로운 백업 기술입니다.

Windows® Server 백업은 Windows Server 2008의 기본 백업 솔루션이기는 하지만 단순히 NTBACKUP의 기능을 대신하는 솔루션으로는 볼 수 없습니다. 가장 큰 차이점은 Windows Server 백업이 디스크 대 디스크 백업 솔루션이라는 점입니다. 즉, 테이프로의 백업은 지원하지 않습니다. 직접 연결 디스크 볼륨 및 네트워크 공유뿐 아니라 외부 USB 하드 드라이브 및 다중 볼륨 기록 가능 DVD에도 백업 이미지를 만들 수 있습니다. 하지만 테이프로는 백업할 수 없습니다. 물론 Windows Server 2008 서버에 테이프 드라이브를 연결하고 Windows Server 백업에서 생성된 백업 이미지를 테이프 드라이브로 복사할 수는 있지만 이렇게 하려면 다른 소프트웨어를 사용해야 합니다.

NTBACKUP은 파일 기반 백업 및 복원 도구지만 Windows Server 백업은 볼륨 및 블록 기반 도구입니다. Windows Server 백업에서는 백업 소스를 볼륨 집합으로 다루며 각 볼륨은 디스크 블록의 모음으로 다룹니다. 이러한 방식은 파일 시스템을 통해 파일을 백업하는 방식보다 훨씬 효율적입니다. 또한 블록 단위로 백업을 처리하기 때문에 Windows Server 백업에서는 볼륨 섀도 복사본 서비스 스냅숏을 사용하여 블록 수준의 증분 백업을 수행할 수 있을 뿐 아니라 대상 볼륨에 스냅숏을 만들어 여러 백업을 간단하게 사용하고 백업에서 사용하는 공간도 절약할 수 있습니다.

전체 백업을 수행하는 경우에도 Windows Server 백업에서는 대상 디스크의 공간을 매우 효율적으로 이용합니다. 예를 들어 같은 볼륨에 대해 여러 번의 전체 백업을 수행하는 경우, Windows Server 백업은 백업 이미지가 저장되는 대상 디스크에서 볼륨 섀도 복사본 서비스 스냅숏을 사용하기 때문에 스냅숏에는 변경된 블록만 저장됩니다. 따라서 여러 번의 전체 백업에 사용되는 공간이 크게 줄어듭니다. 이렇게 되면 증분 백업을 복구하기 위해 여러 번의 복원 작업을 수행할 필요가 없습니다. 스냅숏에 각 백업의 델타(변경된 블록)만 저장된 경우라도 볼륨 섀도 복사본 서비스를 통해 각 백업은 완전한 백업으로 나타납니다.

하지만 로컬 하드 디스크로 백업할 경우에만 대상 디스크에서 볼륨 섀도 복사본 서비스 스냅숏의 이점을 얻을 수 있습니다. Windows Server 백업에서는 DVD나 네트워크 공유에 저장된 백업에 대해 볼륨 섀도 복사본 서비스 작업을 수행할 수 없습니다.

또한 Windows Server 백업에서는 백업 이미지를 Microsoft® VHD(가상 하드 디스크) 형식으로 저장합니다. 실제로 백업 이미지를 만들어 Microsoft Virtual Server 2005에서 실행되는 가상 컴퓨터에 볼륨으로 탑재할 수 있습니다. 특정 파일이 어느 테이프에 있는지 확인하기 위해 테이프의 테스트 복원을 수행할 필요 없이 가상 컴퓨터에 VHD를 탑재하고 해당 파일을 탐색하기만 하면 됩니다. 주의: 백업 이미지를 만들어 해당 이미지에서 가상 컴퓨터를 부팅할 수 없습니다. 백업된 하드웨어 구성이 가상 컴퓨터의 구성과 다르기 때문에 실제 구성을 가상 구성으로 마이그레이션하는 도구로서 Windows Server 백업을 사용할 수 없습니다.

Windows Server 백업의 볼륨 및 블록 기반 특성에는 단점도 있습니다. 이 새로운 도구는 백업 소스를 볼륨 및 블록 집합으로 인식하기 때문에 선택한 파일만 백업할 수 없습니다. 즉, 전체 볼륨을 백업해야 합니다. 더욱 큰 문제는, 기본적으로 현재 백업하고 있는 볼륨 중 하나에 백업 이미지를 저장할 수 없다는 점입니다. 이 문제를 해결하는 몇 가지 방법이 있습니다. 이에 대해서는 support.microsoft.com/kb/944530을 참조하십시오. 이 문제는 이 기사의 뒷부분에서 설명하는 것처럼 시스템 상태 백업에 깊은 영향을 미칩니다.

Windows Server 백업 설치

Windows Server 백업은 Windows Server 2008의 "기능"이며 기본적으로 설치되지 않습니다. Windows Server 백업으로 백업을 수행하려면 서버 관리자 또는 다음 SERVERMANAGERCMD 명령줄 유틸리티를 사용하여 이 기능을 설치해야 합니다.

코드 복사

C:\> servermanagercmd -install Backup-Features

Windows Server 백업은 두 가지 하위 기능인 Windows Server 백업과 명령줄 도구로 구성됩니다. 명령줄 도구는 WBADMIN .EXE 명령줄 도구가 아니라 Windows PowerShellTM cmdlet 집합을 가리킵니다. 따라서 두 하위 기능을 모두 설치하기로 선택한 경우에는 Windows PowerShell 기능을 설치해야 합니다.

Windows Server 백업을 설치한 후에 Administrative Tools(관리 도구) 메뉴와 Server Manager(서버 관리자)의 Storage(저장소) 노드 아래에서 MMC(Microsoft 관리 콘솔) 스냅인을 찾을 수 있습니다. Windows Server 2008 Server Core 설치에 Windows Server 백업을 설치할 때는 OCSETUP 명령을 사용합니다. 이때 OCSETUP 명령은 대/소문자를 구분한다는 점에 유의해야 합니다.

코드 복사

C:\> ocsetup WindowsServerBackup

설치 프로세스에 대한 전체 설명을 보려면 go.microsoft.com/fwlink/?LinkId=113146을 참조하십시오.

NTBACKUP으로 만든 이미지는 Windows Server 백업에서 복원할 수 없습니다. 자주 발생하지는 않지만 이러한 경우에 사용할 수 있도록 Microsoft는 다운로드 가능한 Windows Server 2008용 NTBACKUP 버전을 제공합니다(go.microsoft.com/fwlink/?LinkId=113147 참조).

Windows Server 백업 구성 요소

Windows Server 백업 응용 프로그램의 설계 방식도 크게 변화되었습니다. 이 새로운 백업 솔루션은 다음 네 가지 구성 요소로 구성됩니다.

  • MMC 사용자 인터페이스(WBADMIN.MCS)
  • 명령줄 인터페이스

(WBADMIN.EXE)

  • 백업 서비스(WBENGINE.EXE)
  • Windows PowerShell cmdlet 집합

응용 프로그램을 클라이언트와 서비스로 분리하면 몇 가지 장점이 있는데 그 중 가장 중요한 장점은 안정성이 향상된다는 것입니다. MMC 클라이언트 또는 명령줄 인터페이스에서 백업을 시작하면 WBENGINE 서비스는 많은 작업을 수행합니다. 반면 클라이언트 프로그램은 백업의 상태만 보고합니다. 따라서 클라이언트를 종료해도 백업이 불완전해지지는 않습니다. 즉, 클라이언트는 중지되지만 서비스는 백업이 완료될 때까지 계속 진행됩니다. 물론, 실제로 백업을 중지하려는 경우에는 명시적으로 중지할 수 있습니다.

이렇게 분할된 아키텍처의 다른 장점은 클라이언트를 사용하여 원격 컴퓨터에서 백업을 관리할 수 있다는 것입니다. 이 장점은 Windows Server 2008 Core 컴퓨터를 백업해야 할 경우에 특히 유용합니다.

Windows Server 백업에서는 Windows Server 2008 설치 미디어에 함께 제공되는 Windows 복구 환경(WinRE)을 사용한 BMR(Bare Metal Restore)을 지원합니다. WinRE는 서버를 처음부터 복구하는 프로세스를 단순화합니다. BMR(Bare Metal Restore) 수행에 대해서는 이 기사의 뒷부분에서 다룹니다. Windows Server 백업에서는 백업 관리를 위한 몇 가지 그룹 정책 설정을 지원합니다. 이 내용은 "그룹 정책 설정" 추가 기사에 간략하게 소개되어 있습니다.

볼륨 섀도 복사본 서비스

Windows Server 백업에서는 볼륨 섀도 복사본 서비스를 세 가지 방식으로 사용합니다. Windows Server 2008에서 전체 백업을 시작하면 응용 프로그램에서는 제일 먼저 모든 소스 볼륨의 섀도 복사본을 만듭니다. 이렇게 하면 백업 소프트웨어가 작업할 파일 시스템에 대한 일관된 보기가 만들어집니다. 이 과정은 NTBACKUP에서 수행되는 과정과 비슷합니다. 그런 다음 Windows Server 백업은 소스 볼륨의 블록을 블록 단위로 백업 대상에 복사하여 이 프로세스에서 백업된 각 볼륨에 대한 VHD 이미지를 만듭니다.

또한 다른 옵션을 지정한 경우가 아니면 Windows Server 백업에서는 볼륨 섀도 복사본 서비스가 볼륨에서 변경된 블록을 모두 추적할 수 있도록 소스 볼륨의 스냅숏도 만듭니다. 이를 통해 Windows Server 백업은 소스 볼륨의 변경된 블록만 읽으면 되는 블록 수준의 증분 백업을 만들 수 있습니다. 파일에서 1비트만 변경되었는데도 전체 파일을 읽고 써야 하는 기존 방식과는 달리, Windows Server 백업에서는 변경된 블록만 읽고 쓰면 됩니다.

따라서 매우 효율적인 증분 백업이 만들어지지만 소스 볼륨에서 쓰기 작업을 위한 추가적인 디스크 I/O 비용이 발생합니다. 작업량이 많거나 성능이 중요한 볼륨을 백업할 경우 성능 구성 설정 링크를 선택한 다음 해당 볼륨에서 증분 백업을 사용하지 않도록 설정하여(그림 1 참조) 소스 볼륨에서 볼륨 섀도 복사본 서비스 스냅숏을 사용하지 않도록 해야 합니다.

그림 1 작업량이 많은 볼륨에서 증분 백업을 사용하지 않도록 설정 (더 크게 보려면 이미지를 클릭하십시오.)

백업이 완료되면 Windows Server 백업에서는 대상 볼륨의 스냅숏을 만듭니다(로컬로 연결된 하드 드라이브로 백업한다고 가정). 다음 백업을 수행하는 동안 대상 VHD 파일은 덮어쓰기됩니다. 하지만 볼륨 섀도 복사본 서비스에서 대상 볼륨의 섀도 복사본을 유지하므로 실제로는 각 전체 백업에 해당하는 개개의 VHD 파일이 여러 버전 존재합니다. 이렇게 한 번의 전체 백업과 변경된 블록의 비용만으로 여러 개의 전체 백업을 얻을 수 있습니다.

네트워크 공유로 백업

네트워크 공유로 백업하는 것은 로컬 볼륨으로 백업하는 것처럼 쉽습니다. 중요한 차이점은 네트워크 공유로 백업하면 원격 볼륨의 볼륨 섀도 복사본 서비스 스냅숏을 만들 수 없다는 점입니다. 따라서 각 전체 백업은 이전 백업을 덮어쓰며 이에 따라 네트워크 공유에는 각 서버의 최신 전체 백업 이미지만 남게 됩니다. 이러한 제한 때문에 Windows Server 백업 스케줄러를 사용하여 네트워크 공유로 백업을 예약할 수 없습니다. 하지만 Windows 작업 스케줄러를 사용하여 네트워크 공유로 전체 백업을 수행하는 WBADMIN 명령줄 프로그램을 실행할 수 있습니다. 이 방법을 사용하여 네트워크 공유로 전체 백업을 예약하는 경우에는 이전 백업을 덮어쓰지 않도록 각 백업의 대상 폴더를 변경하십시오.

기록 가능 DVD로 백업

Windows Server 백업에서는 쓰기 가능한 DVD와 같은 광 미디어로의 백업도 지원합니다. 또한 여러 볼륨에 걸쳐 있는 백업 세트도 만들 수 있습니다. Windows Server 백업에서는 항상 백업을 DVD로 압축하기 때문에 DVD에서 전체 시스템 또는 전체 볼륨 복원만 수행할 수 있습니다. DVD를 사용할 때는 Windows Server 백업에서 시스템 상태 또는 파일 수준의 백업 및 복원을 지원하지 않습니다. 또한 DVD로의 백업을 예약할 수 없습니다.

시스템 상태 백업 및 복원

전체 볼륨이 아니라 선택된 파일 및 일부 응용 프로그램 데이터베이스만 포함되는 시스템 상태 백업은 매우 간편하며 꼭 필요한 경우가 많습니다. 하지만 Windows Server 2008의 초기 빌드에서는 시스템 상태 백업 및 복원을 지원하지 않았습니다. 대신 백업 도구에서 주요 시스템 볼륨, 즉 OS와 주요 응용 프로그램의 복구 및 다시 부팅에 필요한 볼륨만 백업했습니다. 이러한 주요 시스템 볼륨은 시스템 상태 백업의 볼륨 기반 방식이었습니다.

Microsoft에서는 고객 피드백을 수용하여 Windows Server 백업에 시스템 상태 백업 및 복원 기능을 추가했습니다. 응용 프로그램에서는 시스템 상태 데이터를 호스팅하는 각 볼륨마다 하나씩 여러 VHD 파일을 만들지만 필요한 파일과 데이터베이스만 VHD에 복사합니다. 다른 문제는 시스템 상태 백업을 수행할 때 Windows Server 백업에서 일반 백업 프로세스에서처럼 대상 볼륨의 스냅숏을 만들지 않는다는 점입니다. 대신 각 시스템 상태 백업은 완전히 새로운 VHD 파일 집합을 생성합니다. 즉, 스냅숏 기반 볼륨 백업처럼 공간을 효율적으로 활용하지 못합니다.

시스템 상태 백업은 WBADMIN.EXE 명령줄 프로그램을 통해서만 수행할 수 있습니다. MMC 스냅인에서는 이 옵션을 제공하지 않습니다. 시스템 상태 백업을 수행하려면 다음 명령을 사용합니다.

코드 복사

C:\> wbadmin start systemstatebackup
–backuptarget:e:

그러면 WBADMIN은 주요 시스템 파일과 응용 프로그램 데이터베이스를 대상 볼륨에서 시스템 상태 백업용으로 예약된 폴더에 백업합니다. 기본 DIT(디렉터리 정보 트리)가 있는 32비트 Windows Server 2008 DC(도메인 컨트롤러)에서의 시스템 상태 백업은 6GB가 조금 넘습니다. Windows Server 백업은 NTBACKUP과 달리 핵심 OS 파일을 캡처하기 때문에 이 크기는 Windows Server 2003에서보다 5GB 이상 더 큽니다.

당연히 시스템 상태를 백업하는 데 걸리는 시간도 더 깁니다. 물론 이러한 초기 수치는 OS의 시험판 버전을 기준으로 한 것이므로 각자의 환경에서 테스트해봐야 하지만, 도메인 컨트롤러를 Windows Server 2008로 이동할 경우 시스템 상태 백업이 더 커지고 백업 시간도 더 길어질 수 있다는 것을 예상하고 계획을 세워야 합니다.

MMC를 사용하여 서버 백업

Windows Server 백업 MMC(그림 2 참조)를 실행할 경우 백업 일정을 설정하거나 임시 백업을 즉시 실행할 수 있습니다. 여기서 필자는 Backup once(한 번 백업)를 선택하여 즉시 백업을 수행합니다.

그림 2 Windows Server 백업 MMC (더 크게 보려면 이미지를 클릭하십시오.)

그림 3에서 볼 수 있듯이 서버의 모든 볼륨을 백업할지 아니면 필자가 선택한 것처럼 특정 볼륨만 백업할지 선택할 수 있습니다. Full server(전체 서버)를 선택하면 Windows Server 백업은 탑재된 모든 볼륨을 백업하지만 탑재된 하드 드라이브로 백업하는 옵션이 없으므로 대신 기록 가능 DVD 또는 네트워크 공유로 백업해야 합니다.

그림 3 백업 구성 대화 상자를 사용하여 모두 백업 또는 볼륨 선택 (더 크게 보려면 이미지를 클릭하십시오.)

이 예제에서는 로컬 하드 드라이브를 백업하려고 하므로 Custom(사용자 지정) 옵션을 선택합니다. 그러면 백업할 볼륨을 선택할 수 있는 대화 상자가 열립니다(그림 4 참조). Windows Server 백업에서는 "Enable system recovery(시스템 복구 사용)" 상자가 기본적으로 선택됩니다. 이 상자가 선택된 경우 Windows Server 백업은 부트 볼륨, OS 볼륨 및 주요 시스템 파일과 응용 프로그램 데이터베이스가 있는 기타 볼륨을 선택합니다. DC에서는 SYSVOL, Active Directory DIT 및 Active Directory 로그를 호스팅하는 볼륨이 여기에 포함됩니다. 이 백업 방식은 시스템 상태 백업과 동일하지만 해당 볼륨의 주요 파일만이 아니라 모든 주요 볼륨을 백업합니다. 실제로 시스템 복구 백업 세트에서 시스템 상태 복구를 수행할 수도 있습니다.

그림 4 백업할 특정 볼륨 선택 (더 크게 보려면 이미지를 클릭하십시오.)

대상 유형(로컬 드라이브 또는 네트워크 공유)을 선택하고 대상을 지정하면 Windows Server 백업에서 "VSS copy(VSS 복사본)" 백업 또는 "VSS full(VSS 전체)" 백업을 선택하라는 메시지를 표시합니다. 두 옵션 모두 선택된 볼륨을 전체적으로 백업하기 때문에 용어가 약간 혼동스럽습니다. 두 옵션의 차이점은 Windows Server 백업에서 백업 후 소스 파일을 처리하는 방식에 있습니다. 복사본 옵션을 선택하면 Windows Server 백업은 백업된 파일을 그대로 둡니다. 전체 옵션을 선택하면 Windows Server 백업은 아카이브를 다시 설정합니다.

명령줄에서 서버 백업

백업 프로세스를 스크립트로 수행하려고 하거나 Server Core 설치에서 서버를 백업하는 경우에는 WBADMIN.EXE 명령줄 프로그램을 사용할 수 있습니다. WBADMIN에서는 백업 일정 관리를 포함하여 기본적으로 MMC 스냅인과 같은 기능을 수행하는 전체 옵션 집합을 제공합니다.

WBENGINE 서비스를 시작하여 백업 프로세스를 수행하려면 다음 명령만 입력하면 됩니다.

코드 복사

C:\> wbadmin start backup –include:c:,d:
–backuptarget:e:

또는 주요 시스템 볼륨을 모두 백업하려면 다음 명령을 입력할 수 있습니다.

코드 복사

C:\> wbadmin start backup -allcritical
–backuptarget:e:

백업을 시작하면 WBADMIN은 계속 실행되면서 백업 진행률을 표시합니다. WBADMIN을 종료하면 백업은 백그라운드에서 계속됩니다. 다음 명령을 사용하여 실행 중인 백업에 WBADMIN을 다시 연결할 수 있습니다.

코드 복사

C:\> wbadmin get status

실행 중인 백업을 종료하려면 다음을 입력합니다.

코드 복사

C:\> wbadmin stop job

MMC를 사용하여 백업 예약

Windows Server 백업에 통합된 백업 스케줄러는 로컬 디스크 볼륨으로의 매일 전체 시스템 백업을 간단하게 예약할 수 있는 기능을 제공합니다. 기본 제공 스케줄러를 사용하여 자동으로 백업을 여러 대상 볼륨 간에 돌아가며 수행할 수 있습니다. 쉽게 이동할 수 있는 하드 드라이브 또는 USB 연결 하드 드라이브를 사용하는 경우에는 이와 같은 기능으로 백업 디스크를 분리하여 별도의 장소에 보관하고 다음으로 예약된 백업을 위해 가장 오래된 백업 디스크를 서버에 다시 연결하는 순환 방식을 설정할 수 있습니다.

Windows Server 백업 스케줄러에서는 항상 매일 수행되는 백업만 예약할 수 있습니다. 예를 들어 월요일, 수요일, 금요일에 백업하도록 예약하는 방법은 없습니다. 따라서 예약된 백업을 매일 실행하지 않으려면 Windows 작업 스케줄러에서 직접 작업해야 합니다.

로컬 디스크로 예약 백업을 설정하면 Windows Server 백업에서는 디스크를 포맷하고, 특정 폴더 구조를 설정하고, 대상 디스크가 Windows 탐색기에 표시되지 않도록 하는 작업을 수행합니다. 대상 디스크는 기본 볼륨이어야 합니다. Windows Server 백업은 동적 볼륨으로 구성된 디스크에 백업할 수 없습니다.

MMC 스냅을 통해 백업을 예약하는 것은 매우 쉽습니다. 이 예제에서는 먼저 Backup Schedule(백업 일정) 링크를 선택하고, 백업 유형과 백업할 볼륨을 지정합니다. 그러면 Windows Server 백업에서 "Specify backup time(백업 시간 지정)" 대화 상자가 표시됩니다(그림 5 참조).

그림 5 매일 백업 시간 지정 (더 크게 보려면 이미지를 클릭하십시오.)

백업을 수행할 시간을 선택한 후에는 백업 대상 볼륨을 선택할 수 있습니다. 이 예제에서는 그림 6과 같이 백업 볼륨 E:를 선택합니다. Windows Server 백업에서는 적절한 대상 볼륨을 선택하려고 시도하지만 자신이 백업하려는 대상 디스크가 나타나지 않으면 Show All Available Disks(사용 가능한 모든 디스크 표시) 단추를 사용하여 연결된 모든 디스크 장치를 표시할 수 있습니다. 몇 개의 "확인" 대화 상자가 나타난 후 Windows Server 백업에서는 대상 볼륨을 포맷하고 Windows 작업 스케줄러를 사용하여 백업 작업을 예약합니다.

그림 6 예약된 백업을 수행할 대상 디스크 지정 (더 크게 보려면 이미지를 클릭하십시오.)

예약된 백업이 완료될 때마다 Windows Server 백업은 대상 볼륨의 스냅숏을 만듭니다. 또한 7일마다 새 기본 이미지를 만듭니다. 작업 내역은 Microsoft/Backup/Operational 로그에 기록됩니다. 이 로그에서 백업이 성공적으로 완료되었는지 확인할 수 있습니다. 또한 언제든지 예약 백업의 상태를 알 수 있도록 전자 메일 메시지 전송과 같은 작업을 성공 및 실패 이벤트와 연결할 수 있습니다.

명령줄에서 백업 예약

Server Core 설치에서 백업을 예약하거나 프로세스를 스크립트로 수행하려면 WBADMIN 명령줄을 사용하여 백업 예약을 관리할 수 있습니다. 예약 백업을 추가하려면 WBADMIN ENABLE BACKUP 명령을 사용하여 다음과 같이 대상, 소스 및 예약 시간을 지정합니다.

코드 복사

C:\> wbadmin enable backup –addtarget:e:
-include:c:,d: -schedule:06:00,12:00,18:00

이 명령은 하루 세 번(오전 6:00, 오후 12:00, 오후 6:00) C:와 D: 드라이브를 E: 드라이브로 백업합니다. 모든 시간은 24시간제를 사용하여 지정됩니다. BMR(Bare Metal Restore) 또는 시스템 상태 복원을 수행할 수 있는 모든 주요 시스템 볼륨을 백업하려면 –include 스위치를 –allcritical로 바꿉니다.

다음과 같이 WBADMIN을 사용하여 모든 예약 백업의 설정을 해제할 수도 있습니다.

코드 복사

C:\> wbadmin disable backup

이 명령은 Windows Server 백업 스케줄러에서 만든 예약된 모든 백업 작업을 삭제하고 모든 백업 대상 볼륨을 일반 용도로 사용하도록 해제합니다. 언제든지 WBADMIN MMC 스냅인을 사용하여 Server Core 서버의 백업 및 복원 작업을 원격으로 관리할 수 있습니다.

도메인 컨트롤러의 BMR(Bare Metal Recovery)

백업 및 복구에서 가장 주목할 만한 향상 중 하나는 WinRE가 설치 프로세스에 통합된 방식입니다. Windows Server 2008을 설치 미디어에서 부팅하면 그림 7에서처럼 컴퓨터 복구 옵션을 선택할 수 있습니다. 이 옵션은 그냥 지나치기 쉽기 때문에 여기서 잠깐 언급하고자 합니다.

그림 7 설치 화면에서 사용할 수 있는 컴퓨터 복구 옵션 (더 크게 보려면 이미지를 클릭하십시오.)

설치 화면에서 복구 옵션을 선택하면 그림 8에서처럼 복구 옵션을 선택할 수 있습니다. 여기서는 Windows Complete PC Restore(Windows Complete PC 복원)를 선택하여 Windows 복구 환경을 호출합니다.

그림 8 시스템 복구 옵션 지정 (더 크게 보려면 이미지를 클릭하십시오.)

복구할 운영 체제를 선택하면(대개 선택 항목은 한 개만 있음) WinRE에서 복원할 백업을 선택할 수 있습니다. 기본적으로 WinRE는 가장 최근의 전체 시스템 백업을 선택하지만 로컬 디스크에 저장된 다른 백업을 지정하거나 다른 서버의 파일 공유에 저장된 백업을 네트워크에서 검색할 수도 있습니다.

이 예제에서는 가장 최근의 전체 시스템 백업을 선택합니다. 다음 대화 상자(그림 9 참조)에서는 복원하기 전에 모든 디스크를 포맷하고 파티션을 다시 지정할 수 있습니다. 이 옵션은 현재 복구 중인 문제가 특정 유형의 디스크 오류 때문에 발생했거나 서버에서 하나 이상의 디스크 드라이브를 교체한 경우에 선택할 수 있습니다.

그림 9 복원 전에 쉽게 디스크 포맷 및 파티션 다시 지정 (더 크게 보려면 이미지를 클릭하십시오.)

몇 개의 확인 대화 상자가 나타난 후 WinRE에서 복원 프로세스를 시작하고 서버가 다시 부팅됩니다. 이 방법을 사용하면 서버에서 매우 쉽게 BMR(Bare Metal Recovery)을 수행할 수 있습니다.

도메인 컨트롤러의 시스템 상태 복구

백업에서 삭제된 OU를 복구하는 것과 같이 특정 유형의 Active Directory 문제에서 복구해야 할 경우에는 전체 시스템을 복원하는 대신 ADDS(Active Directory 도메인 서비스) 데이터베이스를 이전 상태로 복원해야 합니다. ADDS는 Windows Server 2008의 다른 서비스처럼 중지할 수 있지만 도메인 컨트롤러에서 시스템 상태 복원을 수행하려면 서버를 DSRM(디렉터리 서비스 복원 모드)으로 부팅해야 합니다.

Windows Server 2008이 DSRM으로 부팅되도록 부팅 옵션을 변경하는 작업은 기존처럼 쉽지 않습니다. 새로운 EFI(Extensible Firmware Interface)를 지원하도록 전체 Windows 부팅 환경이 다시 설계되었으며 이전의 boot.ini 파일은 더 이상 사용되지 않습니다. 대신 Windows Server 2008에서는 BCD(부팅 구성 데이터)를 사용하여 부팅 프로세스를 제어합니다.

BCD를 관리하는 가장 간단한 방법은 BCDEDIT 명령줄 프로그램을 사용하는 것입니다. 모든 BCDEDIT 명령과 옵션을 다루려면 별도의 기사가 필요하므로 여기서는 몇 가지 유용한 예제만 소개하겠습니다.

Windows Server 2008 DC를 DSRM으로 다시 부팅하려면 다음 명령을 사용합니다.

코드 복사

C:\> bcdedit /set safeboot dsrepair

이렇게 하면 기본 부팅 로더 항목에 safeboot 옵션이 설정됩니다. 새로 설치된 Windows Server 2008에는 부팅 로더 항목이 WINLOAD.EXE 하나만 있습니다. safeboot 옵션을 제거하고 표준 모드로 다시 부팅하려면 다음 명령을 사용합니다.

코드 복사

C:\> bcdedit /deletevalue safeboot

더 쉽게 작업하려면 표준 부팅과 DSRM 부팅을 위해 각각 하나씩 두 bootloader 항목을 DC에 구성할 수 있습니다. 이 방법을 사용하면 System Settings(시스템 설정) 아래의 Startup and Recovery(시작 및 복구) 설정 대화 상자에서 부팅 옵션을 변경할 수 있습니다. 새 bootloader 항목을 추가하려면 다음 명령을 사용합니다.

코드 복사

C:\> bcdedit /copy {default}
/d "Directory Service Repair Mode"

이 명령은 기본 bootloader 항목을 복사하여 새 bootloader 항목을 만듭니다. BCDEDIT에서 다음과 비슷한 메시지를 표시합니다.

코드 복사

The entry was successfully copied to
{c50d4710-a1f0-11dc-9580-0003ff402ae9}.

GUID는 새 항목을 식별합니다. 그리고 나서 다음 명령을 사용하여 BCD의 새 bootloader 항목에 safeboot 옵션을 설정합니다.

코드 복사

C:\> bcdedit /set {<GUID for new entry>}
safeboot dsrepair

이제 Startup and Recovery(시작 및 복구) 설정을 사용하여 표준 부팅 모드에서 DSRM 부팅 모드로 전환할 수 있습니다(그림 10 참조).

그림 10 표준 및 DSRM 부팅 모드 간 전환

WBADMIN을 사용하여 시스템 상태 복원을 시작하기 전에 복원할 백업을 식별해야 합니다. WBADMIN은 주요 시스템 볼륨만 포함된 백업인 전체 시스템 백업 또는 시스템 상태 백업에서 시스템 상태 복원을 수행할 수 있습니다. 두 경우 모두 사용할 백업의 버전을 지정해야 합니다. 사용 가능한 백업 버전을 식별하는 가장 쉬운 방법은 다음 WBADMIN 명령을 사용하는 것입니다.

코드 복사

C:\> wbadmin get versions

그러면 WBADMIN은 그림 11에서 볼 수 있는 정보와 비슷한 형식으로 백업 버전을 표시합니다. 각 백업마다 백업 시간, 백업 대상, 버전 식별자(백업이 시작된 UMT 시간 및 날짜) 및 백업이 지원할 수 있는 복구 작업 유형의 목록이 있습니다.

Figure 11 복구에 사용할 수 있는 백업 식별

코드 복사

wbadmin 1.0 - Backup command-line tool
(C) Copyright 2004 Microsoft Corp.
Backup time: 11/30/2007 3:47 PM
Backup target: Fixed Disk labeled E:
Version identifier: 11/30/2007-22:47
Can Recover: Application(s), System State
Backup time: 12/1/2007 10:46 PM
Backup target: Fixed Disk labeled Backup(E:)
Version identifier: 12/02/2007-05:46
Can Recover: Volume(s), File(s), Application(s), Bare Metal Recovery, System State
Backup time: 12/2/2007 5:58 PM
Backup target: Fixed Disk labeled Backup(E:)
Version identifier: 12/03/2007-00:58
Can Recover: Volume(s), File(s), Application(s), Bare Metal Recovery, System State
Backup time: 12/3/2007 11:25 AM
Backup target: Fixed Disk labeled E:
Version identifier: 12/03/2007-18:25
Can Recover: Application(s), System State

여기서는 가장 최근 백업을 선택하고 다음 WBADMIN 명령으로 시스템 상태 복원을 시작합니다.

코드 복사

C:\> wbadmin start systemstaterecovery
–version:12/03/2007-18:25

이 명령은 비정식 복원을 수행합니다. SYSVOL의 정식 복원을 수행하려면 WBADMIN 명령에 authsysvol 옵션을 추가하여, 복원된 SYSVOL 복제본을 정식 복원으로 표시하기만 하면 됩니다. 이 프로세스에 대한 자세한 내용은 go.microsoft.com/fwlink/?LinkId=113152를 참조하십시오.

Active Directory 스냅숏 만들기

Active Directory 백업의 측면에서 가장 흥미로운 변경 내용 중 하나는 Windows Server 백업과 아무런 관계가 없습니다. Windows Server 2008에서는 Active Directory에서 볼륨 섀도 복사본 서비스 스냅숏을 제공할 수 있다는 점을 활용할 수 있습니다. 이러한 스냅숏은 실행 중인 Active Directory 서비스의 매우 간단한 특정 시점 백업입니다. 게다가 몇 초 안에 만들 수 있습니다. 스냅숏을 만든 다음 탑재하고 LDP 도구와 같은 일반적인 LDAP 기반 유틸리티를 사용하여 액세스할 수 있습니다.

다음과 같이 NTDSUTIL 명령을 사용하여 ADDS 또는 ADLDS(Active Directory Lightweight Directory Services)의 스냅숏을 만듭니다.

코드 복사

ntdsutil: snapshot
snapshot: activate instance ntds
Active instance set to "ntds".
snapshot: create
Creating snapshot...
Snapshot set {42c44414-c099-4f1e-8bd8-4453ef2534a4} generated successfully.
snapshot: quit
ntdsutil: quit

이 NTDSUTIL 명령은 Active Directory DIT, 로그 및 SYSVOL이 포함된 볼륨의 볼륨 섀도 복사본 서비스 스냅숏을 만듭니다. Active Directory는 계속 업데이트되지만 볼륨 섀도 복사본 서비스는 기록 중 복사 방식을 사용하여 만든 스냅숏을 적절하게 유지 관리합니다. 스냅숏은 DIT의 전체 사본이 아니라는 점에 유의하십시오. 실제로는 스냅숏을 만든 이후 수정된 DIT의 디스크 블록 모음일 뿐입니다. VSS는 이러한 블록을 DIT의 현재 복사본과 결합하여 Active Directory DIT를 스냅숏이 만들어진 시점의 상태대로 나타낼 수 있습니다. 그림 12에서는 오래되었거나 불필요한 스냅숏을 삭제하는 방법을 보여 줍니다.

Figure 12 불필요한 스냅숏 삭제

코드 복사

C:\> ntdsutil
ntdsutil: snapshot
snapshot: list all
 1: 2007/12/03:23:18 {42c44414-c099-4f1e-8bd8-4453ef2534a4}
 2:   C: {c0dd71ba-5bcd-4daf-9fbb-5cfbdd168022}
 3:   D: {2bbd739f-905a-431b-9449-11fba01f9931}
snapshot: delete 1
Snapshot {c0dd71ba-5bcd-4daf-9fbb-5cfbdd168022} mounted as C:\$SNAP_200712032318_VOLUMEC$\
Snapshot {2bbd739f-905a-431b-9449-11fba01f9931} mounted as C:\$SNAP_200712032318_VOLUMED$\
snapshot: quit
ntdsutil: quit
C:\>

Active Directory 스냅숏 탑재

이 스냅숏 중 하나를 사용하려면 먼저 볼륨 섀도 복사본 서비스에 지시하여 스냅숏을 파일 시스템에서 사용할 수 있게 해야 합니다. 이렇게 하려면 ntdsutil 명령을 사용하여 사용 가능한 스냅숏을 나열한 다음 원하는 스냅숏을 탑재합니다(그림 13 참조).

Figure 13 ntdsutil을 사용하여 스냅숏 탑재

코드 복사

C:\> ntdsutil
ntdsutil: snapshot
snapshot: list all
 1: 2007/12/03:23:18 {42c44414-c099-4f1e-8bd8-4453ef2534a4}
 2:   C: {c0dd71ba-5bcd-4daf-9fbb-5cfbdd168022}
 3:   D: {2bbd739f-905a-431b-9449-11fba01f9931}
snapshot: mount 1
Snapshot {c0dd71ba-5bcd-4daf-9fbb-5cfbdd168022} mounted as C:\$SNAP_200712032318_VOLUMEC$\
Snapshot {2bbd739f-905a-431b-9449-11fba01f9931} mounted as C:\$SNAP_200712032318_VOLUMED$\
snapshot: quit
ntdsutil: quit
C:\>

"list all" 명령을 사용하면 현재 볼륨 섀도 복사본 서비스에 의해 유지 관리되고 있는 사용 가능한 모든 Active Directory 스냅숏이 나열됩니다. "mount 1" 명령은 로그 볼륨 및 Active Directory DIT의 선택된 스냅숏을 탑재하여 파일 시스템에서 사용할 수 있도록 합니다. 위치는 C:\$SNAP_200712032318_VOLUMEC$\ 및 C:\$SNAP_200712032318_VOLUMED$\입니다.

이 폴더를 살펴보면 해당 볼륨의 전체 내용을 스냅숏이 만들어진 시점의 상태대로 볼 수 있습니다. 하지만 탑재된 스냅숏은 읽기 전용이므로 탑재된 스냅숏의 파일은 수정할 수 없습니다.

Active Directory 스냅숏에서 데이터 복구

Active Directory가 포함된 볼륨의 스냅숏을 탑재하는 작업은 조금 신기해 보일 수 있습니다. 해당 스냅숏에 포함된 Active Directory 데이터를 어떻게 가져올 수 있을까요? 그 비밀은 바로 DSAMAIN 명령에 있습니다. 이 명령은 ADLDS를 실행하는 실행 파일입니다. 이것은 기본적으로 코드 대부분을 ADDS와 공유하는 독립 실행형 LDAP 서버입니다. DSAMAIN을 사용하면 탑재된 스냅숏이 해당 스냅숏을 만든 시점의 Active Directory 데이터가 포함된 읽기 전용 LDAP 서버처럼 표시되도록 할 수 있습니다.

다음 명령을 살펴보겠습니다.

코드 복사

C:\> dsamain –dbpath
c:\$snap_200712032318_volumed$\ntds\dit
\ntds.dit -ldapport 10000

이 명령은 c:\$snap_200712032318_volumed$\ntds\dit 폴더에 있는 ntds.dit 파일을 탑재하고 TCP 포트 10000(또는 지정한 다른 열린 포트)의 LDAP 작업에서 사용할 수 있도록 합니다. DSAMAIN는 사용자가 지정한 포트에 1을 더한 포트(이 경우 10001)에서 LDAPS 포트(SSL(Secure Sockets Layer) 상의 LDAP에 사용되는 포트)를, 지정한 포트에 2를 더한 포트(10002)에서 GC 포트(글로벌 카탈로그 연결에 사용되는 포트)를, 지정한 포트에 3을 더한 포트(10003)에서 GCS(SSL 상의 글로벌 카탈로그) 포트를 엽니다.

LDP와 같은 모든 LDAP 프로그램을 사용하여 지정된 포트에서 탑재된 DIT에 액세스할 수 있습니다. 하지만 Windows Server 2008에서는 ADUC(Active Directory 사용자 및 컴퓨터), 사이트 및 서비스, 도메인 및 트러스트, ADSIEDIT가 수정되어 DSAMAIN을 사용하여 탑재된 DIT에 연결할 수 있습니다. ADUC의 탐색 창에서 최상위 노드를 마우스 오른쪽 단추로 클릭하고 Change Domain Controller(도메인 컨트롤러 변경)를 선택하면 그림 14와 같은 대화 상자가 나타납니다. 탑재된 스냅숏을 호스팅하는 서버의 이름이나 IP 주소를 포트(이 경우 localhost:10000)와 함께 입력하기만 하면 ADUC는 탑재된 스냅숏에 연결되어 스냅숏이 만들어진 시점의 상태대로 디렉터리 내용을 탐색할 수 있습니다. 너무 놀랍지 않습니까?

그림 14 Active Directory 사용자 및 컴퓨터를 탑재된 스냅숏에 연결 (더 크게 보려면 이미지를 클릭하십시오.)

이 방법으로 디렉터리 데이터에 액세스할 수 있기 때문에 여러 유형의 데이터 복구 작업을 이전보다 훨씬 쉽게 수행할 수 있습니다. 예를 들어 삭제된 개체를 백업에서 복구하려면 이전에는 기존 DC에서 백업의 비정식 복원을 수행한 다음 삭제된 개체의 정식 복원을 수행해야 했습니다. 또한 복원한 백업에 올바른 데이터가 없으면 다른 백업을 사용하여 동일한 과정을 다시 반복해야 했습니다. 이제는 삭제 표시 항목 재사용 기능 및 스냅숏을 사용하여 삭제된 데이터를 신속하게 찾고 복구할 수 있으며 이 작업을 위해 도메인 컨트롤러를 오프라인으로 전환할 필요도 없습니다.

하지만 몇 가지 제한 사항이 있습니다. 예를 들어 각 활성 스냅숏은 디렉터리에 대한 쓰기 작업과 연결된 디스크 I/O를 증가시키기 때문에 프로덕션 DC에서는 특정 시점에 한두 개의 스냅숏만 활성화해야 합니다. 또한 스냅숏 활성화 시간이 길수록 볼륨 섀도 복사본 서비스 델타 저장소가 커지기 때문에 성능에 영향을 미칠 수 있습니다. 물론 삭제된 개체의 단순한 복구는 복구 문제의 첫 번째 부분일 뿐입니다. 이 외에도 그룹 구성원과 같은 개체의 연결된 특성을 복구해야 할 수 있습니다. 하지만 이러한 경우에도 스냅숏을 사용하면 삭제된 개체가 구성원으로 속해 있던 모든 그룹을 식별하는 데 도움이 됩니다.

Active Directory에 대한 강력한 백업 및 복구 전략

Windows Server 2008은 완전히 새로운 백업 및 복구 시스템을 제공합니다. 변경 내용 중 일부는 처음에는 다소 어려울 수 있습니다. 하지만 IT 조직에서 이러한 변경 내용을 받아들여 일상 작업에 새 백업 기술을 통합하면 더욱 효율적인 백업 및 복구 기능을 구현하게 될 것입니다.

Windows Server 2008에서 서버를 백업하는 방법이 크게 변경되었다 하더라도 Active Directory를 백업하고 복구하는 기본 전략에는 그다지 크게 변경된 내용이 없습니다. 따라서 전략을 세울 때는 다음과 같은 최선의 방법을 염두에 두십시오.

  • 하드웨어 실패 후 DC를 복구할 수 있도록 주기적인 전체 시스템 백업을 예약합니다. DC의 전체 백업을 예약하는 주기는 데이터 업데이트 주기, 중단 시간 및 데이터 손실 허용 범위, DC를 처음부터 다시 구축하는 데 필요한 노력 등을 고려하여 결정합니다.
  • Active Directory의 변경 내용을 백업하도록 자주 시스템 상태 백업을 예약합니다. 시스템 상태 백업 주기는 Active Directory 데이터 손실 허용 범위를 고려하여 결정합니다. 하지만 적어도 하루에 한 번은 수행해야 합니다. 하드웨어가 있는 경우에는 적어도 하나 또는 두 개의 시스템 상태 백업을 로컬 디스크에 보관하고 이전의 시스템 상태 버전은 DVD나 네트워크 공유로 복사합니다.
  • 각 도메인의 적어도 두 개의 DC에서 시스템 상태 백업을 수행합니다. 이렇게 하면 백업 중 하나가 손상되거나 사용할 수 없는 상태일 경우에 대비할 수 있습니다.

DC를 정의한 경우 응용 프로그램 파티션 복제본으로 백업합니다. 또한 주요 시스템 드라이브에 문제가 발생한 경우 신속하게 WinRE로 부팅할 수 있도록 DC에 Windows 복구 환경 파티션을 만듭니다.

posted by 엘도라도29
균등한 공유
2008/04/28 23:53 기술 잡지

프로그램을 제거할 Windows®에서 "다른 응용 프로그램이 올바르게 실행되지 않도록 중지할 수 있는" 파일의 삭제 여부를 묻는 메시지를 표시하는 이유가 무엇인지 생각해 본 적이 있나요? 사실 이러한 메시지(스크린샷 참조)는 Windows에서 표시하는 것이 아니라 제거 프로그램에서 표시하는 것입니다. 따라서 정확하게 말하자면 "응용 프로그램 제거 프로그램에서 이러한 대화 상자를 표시하는 이유가 무엇인가요?"라고 해야 옳을 텐데요. 이것이야말로 사용자에게 대답할 수 없는 질문을 하는 가장 좋은 예라 할 수 있습니다. 왜 이러한 질문에 제대로 대답할 수 없는지에 대해 알아보도록 하겠습니다.

설치 관리자는 여러 관련 없는 프로그램에서 사용하는 MFC 런타임 라이브러리와 같이 여러 응용 프로그램에서 사용하는 파일에 대한 참조 횟수를 관리하기 위해 SharedDLLs 레지스트리 키에 항목을 만듭니다. 이 항목에는 파일 및 해당 파일의 참조 횟수가 기록됩니다. 파일에 대한 항목이 이미 있는 경우 참조 횟수가 증가하며, 파일에 대한 항목이 아직 없는 경우 참조 횟수가 1로 설정됩니다. 반대로 프로그램이 제거되면 참조 횟수가 감소하고 0이 되면 해당 파일을 사용하는 프로그램이 더 이상 존재하지 않는 것이므로 파일이 삭제됩니다. 일단 이론은 이와 같습니다.

삭제 여부를 묻는 메시지 (더 크게 보려면 이미지를 클릭하십시오.)

그런데 이러한 모델에는 심각한 문제가 있습니다. 바로 모든 사용자가 규칙을 준수한다고 가정한다는 것인데요. 사실 이러한 규칙은 어긴다고 해도 위반한 사용자에게 벌칙이 주어지는 것도 아니므로 지켜지지 않을 가능성이 매우 높습니다.

예를 들어 MFC 런타임 라이브러리를 사용하는 프로그램의 경우 해당 설치 관리자가 참조 횟수를 업데이트하지 않고 시스템 디렉터리로 이러한 라이브러리를 복사한다고 가정해 봅시다. 이런 경우 이 프로그램을 제거할 때 라이브러리만 삭제됩니다. 그렇다면 이제 이 프로그램과 규칙을 준수하는 프로그램을 같은 시스템에 설치하는 경우 어떠한 상황이 벌어지는지 살펴봅시다. 기본적인 예를 들면 다음과 같습니다.

1. 좋은 프로그램 설치: 라이브러리가 설치되고 참조 횟수가 1로 설정됩니다.

2. 나쁜 프로그램 설치: 라이브러리가 설치되나 참조 횟수가 변경되지 않습니다.

3. 나쁜 프로그램 제거: 라이브러리가 삭제됩니다.

결과적으로 라이브러리가 삭제되므로 좋은 프로그램이 작동하지 않게 됩니다.

또 다른 예를 들어 보겠습니다.

1. 좋은 프로그램 설치: 라이브러리가 설치되고 참조 횟수가 1로 설정됩니다.

2. 나쁜 프로그램 설치: 라이브러리가 설치되나 참조 횟수가 변경되지 않습니다.

3. 좋은 프로그램 제거: 참조 횟수가 0이 되고 라이브러리가 삭제됩니다.

위 예에서는 나쁜 프로그램의 작동이 중지됩니다.

좋은 프로그램 작성자는 나쁜 프로그램으로 인해 좋은 프로그램의 사용이 중지되는 것을 막을 수는 없지만 최소한 자신으로 인해 나쁜 프로그램이 중지되는 것을 막을 수는 있겠다는 사실을 깨달았습니다. 따라서 프로그램에서 파일을 삭제하기 전 "저기요, 제가 지금 파일을 삭제하려 하거든요? 이 파일을 사용 중인 나쁜 프로그램이 있으면 나쁜 프로그램의 사용이 중지될 거에요. 나쁜 프로그램을 사용 중이라면 삭제 안 함을 클릭하세요."라는 내용의 경고 메시지를 표시합니다. 정확한 표현은 아니지만 설명하는 대화 상자가 어떤 것인지는 알 수 있을 겁니다. 이 방법은 유명한 Jeffrey Richter가 1996년 Microsoft Systems Journal 문서에서 권장한 방법이기도 합니다.

그러나 유감스럽게도 이러한 메시지를 표시함으로써 사용자는 올바르게 대답할 수 없는 질문을 받게 되는 것입니다.

물론 일일이 참견해야 직성이 풀리는 지배광들은 Windows에서 이전의 모든 항목 각각을 무시할 수 있는 옵션을 제공하도록 요구하므로 모두 이러한 대화 상자에 찬사를 보낼 것입니다. 실제로 제거 프로그램에서는 제거 프로세스를 파일 단위로 제어할 수 있습니다. 따라서 무엇을 바랄 때에는 신중하십시오. 혹시 그대로 될지도 모르니까요.

posted by 엘도라도29
WAIK를 사용한 Windows XP 배포
2008/04/27 03:50 기술 잡지

다양한 고객의 요구 사항을 접하다보면 항상 놀라고 두렵기까지 합니다. 모든 고객이 동시에 같은 버전의 Windows를 배포하고, 항상 같은 배포 단계를 진행한다면 이상적이겠지요. 테스트도 훨씬 쉬워질 겁니다. 물론 그런 세상은 꿈에서나 가능하겠죠. 실제로는 이미 Windows Vista® 배포 프로젝트를 진행 중이거나 완료한 고객

또는 Windows Server® 2008 RODC(읽기 전용 도메인 컨트롤러)를 프로덕션 환경에 처음으로 배포하기 위한 준비를 한창 진행하는 고객도 있지만, 장기적인 Windows® XP 및/또는 Windows Server 2003 R2 배포 계획을 수행 중이어서 고맙게도 정기적으로 필자를 일깨워주는 고객도 많습니다.

얼마 전에 한 독자로부터 "WAIK(Windows 자동 설치 키트)를 Windows XP에 사용할 수 있는지, Windows XP를 배포할 때 WAIK를 사용하려면 어떻게 해야 하는지"를 묻는 전자 메일 메시지를 받았습니다. 이 칼럼에서는 이 질문에 최대한 성실히 답해 드리도록 하겠습니다.

WAIK 재조명

Windows Vista를 쉽게 배포할 수 있도록 설계된 강력한 도구 집합인 WAIK에 대해서는 1년쯤 전에 이미 칼럼(technetmagazine.com/issues/2007/01/DesktopFiles)에서 다룬 적이 있습니다. WAIK는 이제 Windows Server 2008 배포에도 사용할 수 있습니다. 이 두 운영 체제에는 새로운 설치 인프라가 공통적으로 사용되었고, WAIK의 도구는 주로 이러한 인프라를 이용하도록 설계되었습니다. 또한 잘된 일인지 아닌지는 모르겠지만 무인 설치 파일이나 Sysprep를 사용하는 Windows Vista 이전 버전의 Windows의 경우 특별히 설계된 전용 도구를 사용해야 합니다. 하지만 이 칼럼에서는 Windows XP 배포에 사용할 수 있는 도구를 중심으로 WAIK를 재조명해보겠습니다.

Windows PE 2.0 일단 공통되는 부분이 있으므로 Windows PE 2.0과 Windows XP의 이중 부팅에 관한 필자의 2008년 2월 칼럼(technetmagazine.com/issues/2008/02/DesktopFiles)을 살펴보겠습니다. 기본적으로 그러한 시나리오에서 Windows PE 2.0이 작동했다면 여기서도 작동할 것입니다. 여기서 한 가지, "Windows XP를 배포할 시스템 중에 RAM이 512MB 미만이거나 Windows Vista의 ACPI(고급 구성 및 전원 인터페이스)를 지원하지 않는 시스템이 있는지"를 확인해야 합니다. 두 경우 중 하나에 해당한다면 Windows PE 1.6을 사용해야 하고 Software Assurance의 일부로 제공되는 Windows PE 1.6에 액세스할 권한이 있는지 확인해야 합니다. 현재 Windows PE 2.0 및 2.1만 무료로 제공되고, 1.6 이하 버전은 Software Assurance 멤버 자격이 있어야 사용할 수 있습니다.

ImageX/WIM ImageX와 WIM(Windows 이미징 형식)은 원래 NTFS 볼륨이든, FAT 볼륨이든 관계없이 Windows 2000 이상 모든 버전의 Windows에서 작동하도록 설계되었습니다. 따라서 Windows XP(또는 Windows Server 2003)를 배포하는 데에도 사용할 수 있습니다.

Windows 배포 서비스 RIS(원격 설치 서비스)를 대체하는 WDS(Windows 배포 서비스)는 원래 WAIK 1.0에서 OOB(Out-Of-Band) 릴리스로 제공되다가 업데이트되어 Windows Server 2003 SP2에 통합되었습니다. 이제는 Windows Server 2008에서 기능이 향상된 버전이 제공되지만 이 서비스를 Windows XP 배포에 여전히 유용하게 사용할 수 있습니다.

RIS 서버나 레거시 모드로 실행되는 WDS 서버가 있으면 WDS가 그렇게 유용하지는 않습니다. 그러나 혼합 모드나 기본 모드로 실행되는 WDS로 전환한 경우라면 Windows XP 배포 시나리오에 WDS를 활용할 수 있습니다.

WSIM(Windows 시스템 이미지 관리자) WSIM은 Windows Vista와 Windows Server 2008 배포에만 적용할 수 있습니다. Windows Server 2003 이하 버전을 배포하는 경우에는 WSIM이 별로 도움이 되지 않습니다.

Windows XP 배포 도구

Windows NT® 4.0부터 Windows Server 2003까지 모든 버전의 Windows가 그렇듯 Windows XP도 unattend.txt 파일이나 "이미지"를 통해 배포할 수 있습니다. 그 중 무인 설치의 경우 이제는 정말 과거의 것이 되었으므로 여기서 다루지 않겠습니다. WAIK, 특히 ImageX를 활용하려면 이미지 기반 배포 방식을 선택해야 합니다. 즉, unattend.txt 파일 대신에 Sysprep에 사용할 수 있는 응답 파일 형식인 Sysprep.inf가 필요합니다.

여기서 '이미징'이라는 용어는 OS 이미지를 만드는 방식을 통칭합니다. 과거에는 대개 Ghost, PQDI 같은 이미징 도구를 사용했을 것입니다. Microsoft에서는 ImageX를 발표하기 전까지 Sysprep에 사용할 OS와 응용 프로그램의 이미지를 만들어 하나 이상의 대상 컴퓨터에 복사하는 도구를 제공하지 않았습니다.

Windows의 이미지를 만들 때에는 다음 두 가지 중요 사항을 유의해야 합니다.

* 단일 프로세서 시스템과 다중 프로세서 시스템 사이를 전환하는 경우 외에는 HAL(하드웨어 추상화 계층)을 변경할 수 없습니다. 이전에 게시했던 칼럼에서 언급했듯이 ACPI 아키텍처와 비ACPI 아키텍처 사이를 전환하는 경우에는 이미지를 안전하게 변경할 수 없습니다.

* 대용량 저장 컨트롤러는 변경할 수 있습니다. 대용량 저장 컨트롤러 변경이 불가능하다는 것은 잘못 알려진 상식입니다. 그러나 이를 위해서는 Sysprep를 사용하여 대상 컴퓨터에 필요할 수 있는 대용량 저장 컨트롤러를 모두 설치하고 배포 후에 Sysprep로 대상 시스템에 실제로 사용되는 드라이버를 제외한 드라이버를 모두 제거해야 합니다. 이에 대해서는 잠시 후에 자세히 설명하도록 하겠습니다.

위 두 가지 문제만 신경 쓰면 한 시스템에서 이미지를 준비하여 HAL이 동일하거나 호환되는 다른 대상 시스템에 사용할 수 있습니다.

필요한 도구

이미지 기반 배포 시나리오로 Windows XP를 배포할 때에는 다음 세 가지 항목을 사용할 수 있도록 준비해야 합니다.

Ref.chm 무인 설치 텍스트 파일 참조입니다. Windows Vista 이전 버전의 Windows에서 선택적 구성 요소는 이미지를 만들기 전에 구성하는 것이 바람직합니다. 그러나 Windows 설치 후에 선택적 구성 요소를 설치해야 하는 경우 support.microsoft.com/ kb/222444에서 설명하듯이 sysocmgr.exe를 실행하면 됩니다. Windows XP Tablet PC Edition을 배포하는 경우 go.microsoft.com/fwlink/?LinkId=108589에서 설명하는 단계에 따라 단일 이미지를 만들어 해당하는 시스템에 Tablet PC 구성 요소를 설치합니다.

Sysprep Microsoft에서 지원하는 디스크 복제 시스템 작성 도구입니다. 타사 SID(보안 식별자) 교환기 사용을 권장하는 경우도 종종 볼 수 있지만 다른 도구는 중요한 Windows SID 위치, 특히 외부로 드러나지 않는 위치를 놓치기 쉬우므로 Sysprep만 사용하는 것이 좋습니다.

설치 관리자 sysprep.inf 파일을 가장 빠르고 쉽게 만들 수 있는 도구입니다. 언제나 그렇듯이 올바른 버전(대개 배포하는 Windows와 동일한 버전)을 사용해야 합니다. 예를 들어 Windows XP SP2에는 Windows XP SP2 배포 도구를 사용합니다.

이 세 가지 항목은 모두 Windows XP CD에 들어 있으며 업데이트된 버전은 go.microsoft.com/fwlink/?LinkId=107541에서 다운로드할 수 있습니다.

tap.exe 파일도 준비해 두는 것이 좋습니다. 이 유틸리티는 무료 평가판을 비롯한 Windows XP Embedded 도구(go.microsoft.com/fwlink/?LinkId=108590)에 포함되어 있습니다. Windows PE에서 tap.exe는 Windows PE가 검색한 모든 PnP(플러그 앤 플레이) 장치에 대한 정보를 반환합니다. 특히 Windows PE에서 장치에 대해 선택한 HAL을 알려 줍니다(그림 1 참조). 이러한 기능은 Windows PE에서 HAL을 선택하는 데 사용하는 논리가 전체 Windows 설치에서 사용할 HAL을 결정하는 데 사용하는 논리와 같다는 점에서 중요합니다. 즉, Windows PE에서 tap.exe를 사용하면 특정 시스템에 대해 Windows가 추천하는 HAL을 간편하게 확인할 수 있습니다.

그림 1 특정 시스템에 대해 Windows PE에서 선택한 HAL 알려 주는 tap.exe 유틸리티 (더 크게 보려면 이미지를 클릭하십시오.)

이미지 만들기

다음 단계에 따라 ImageX를 사용하여 배포할 Windows XP 이미지를 직접 만들 수 있습니다. 물론 다른 이미징 도구를 사용할 수도 있지만 이 워크플로에 왜 ImageX가 가장 적합한지는 곧 알 수 있을 것입니다.

우선 Sysprep, 설치 관리자, ImageX, Windows PE 등 필요한 도구와 구성 요소를 모두 준비합니다. Windows PE는 요구 사항이나 액세스 가능 여부에 따라 버전 2.0과 1.6 중 하나를 선택합니다. 단, 버전 2.0을 ImageX와 사용하는 경우에는 부팅 코드가 Windows XP와 호환되도록 파티션을 만들 때 /nt52 스위치를 사용하여 bootsect.exe를 실행해야 합니다.

당연히 PC에는 Windows XP(SKU는 관계없음)와 Windows의 최신 업데이트, 그리고 필요한 다른 소프트웨어도 설치되어 있어야 합니다. 이상적으로 이 시스템은 이전에 도메인에 가입된 적이 없어야 합니다. 그래야 나중에 도메인/네트워크 문제가 발생할 가능성이 적습니다. 시스템에는 안전하게 이미징할 수 있는 응용 프로그램만 설치되어 있어야 하고, SID 변경 시 Sysprep가 놓치거나 바꿀 수 없는 컴퓨터 이름, SID, 도메인 또는 사용자별 정보를 개별적으로 저장하는 응용 프로그램이 있어서는 안 됩니다. 또한 가장 자주 배포할 것으로 예상되는 HAL을 사용해야 합니다. 최신 하드웨어에는 ACPI와 다중 코어(MP HAL을 사용한 이전의 하이퍼스레딩)가 모두 사용되기 때문에 ACPI MP(다중 프로세서) HAL이 주로 사용됩니다.

이제 최종 사용자에게 제공하려는 구성대로 Windows XP 시스템을 구성합니다. 대부분의 사용자에게 제공할 응용 프로그램과 무인으로 설치할 수 없는 응용 프로그램을 모두 설치합니다. 선택적 Windows 구성 요소를 설치하거나 제거하여 최종 사용자에게 제공할 시스템을 설정합니다. 그런 다음 바탕 화면을 구성합니다. Administrator로 로그인하여 바탕 화면 배경, 화면 보호기, 시작 메뉴 등 프로필 항목을 적절하게 수정합니다. Windows XP SP2부터는 기본적으로 Sysprep에서 Administrator 계정의 설정을 Default User 계정으로 자동 복사합니다.

다음으로 설치 관리자(그림 2 참조)를 실행하여 새 Sysprep 무인 파일을 만들고 설치 과정을 완전히 자동화하도록 지정합니다. 설치 관리자에서 작업을 진행하는 과정에서는 제품 키를 입력해야 합니다. 제품 키가 없거나 나중에 스크립팅하려면(볼륨 라이선스 키도 없는 경우) Windows XP 또는 Windows Server 2003 CD의 기본 unattend.txt 파일에서 제공되는 키를 지정하여 설치를 완료할 수 있지만 정품 인증은 받을 수 없습니다.

그림 2 설치 관리자를 사용하여 Sysprep 응답 파일 만들기 (더 크게 보려면 이미지를 클릭하십시오.)

컴퓨터 이름도 지정해야 합니다. 나중에 SQL이나 기타 메커니즘을 사용하여 이 작업을 자동화할 수 있지만 여기서는 특정 값을 입력한 다음 컴퓨터에 WIM이 배포된 후, Sysprep를 실행하기 전에 스크립팅을 통해 컴퓨터 이름을 바꾸도록 하겠습니다.

Administrator 계정의 암호를 지정하면 이미지의 기존 Administrator 계정에 암호가 없는 경우에만 적용됩니다. 또한 도메인 가입 섹션에서 도메인 가입 자격 증명을 암호화할 수 없다는 사실도 유의해야 합니다. 컴퓨터 계정을 설정할 수 있는 최소 권한 계정을 사용해야 합니다. 마지막으로 설치 관리자의 Version String(버전 문자열) 옵션을 사용하여 새로 만든 이미지의 "버전"을 관리하는 것이 좋습니다.

이제 Sysprep.inf 파일을 sysprep.exe 및 setupcl.exe 파일이 있는 C:\Sysprep 디렉터리에 넣고 .inf 파일에 다음을 추가합니다.

코드 복사

[Sysprep]
BuildMassStorageSection = Yes
 
[SysprepMassStorage]

그런 다음 Sysprep –bmsd를 실행합니다. 그러면 그림 3과 같이 sysprep.inf 파일이 수정되고 Windows 설치에서 인식되는 모든 대용량 저장소 ID가 추가됩니다. 다른 장치를 추가하려는 경우 직접 추가할 수도 있고 Windows 설치에 추가한 다음 sysprep –bmsd를 다시 실행할 수도 있습니다.

그림 3 sysprep.inf 대용량 저장소 ID 추가 (더 크게 보려면 이미지를 클릭하십시오.)

다음으로 sysprep.inf 파일을 공유 위치에 복사하고 sysprep.exe –factory를 실행한 다음 시스템을 종료합니다. Windows PE로 다시 부팅하고 다음을 사용해 UNC 공유(권장)에 연결합니다.

코드 복사

NET USE Y: \\myserver\myshare
/USER:DOMAIN\USER password

이제 다음 코드를 사용해 이미지를 캡처합니다.

코드 복사

ImageX /capture C: Y:\NewImage.wim 
"Factory Mode capture from 4/1/2008"

그런 다음 시스템을 종료합니다.

이제 공장 모드를 통해 업데이트할 이미지가 준비되었습니다. 자세한 사항은 여기서 설명하지 않겠지만 한 마디로 공장 모드는 배포를 위해 이미징할 준비가 될 때까지 이미지를 유지할 수 있는 가장 안전한 모드입니다. 자세한 내용은 앞서 소개한 Windows XP deploy.cab 설명서를 참조하십시오.

배포할 이미지에 대해 prep를 실행할 준비가 되었으면, 즉 롤아웃할 준비가 되면 Windows PE로 부팅하고 Diskpart를 사용하여 원하는 파티션을 만듭니다. format 명령을 사용하여 파티션을 포맷하고 필요에 따라 bootsect.exe를 사용하여 Windows Vista 이전의 부팅 코드(/nt52)를 적용합니다. 이제 다음 코드를 사용하여 UNC 공유에 연결하거나 이미지가 있는 위치로 디렉터리를 변경합니다.

코드 복사

NET USE Y: \\myserver\myshare
/USER:DOMAIN\USER password

그런 후 다음과 같이 이미지를 적용합니다.

코드 복사

ImageX /apply Y:\NewImage.wim C: 1

마지막으로 Windows 공장 모드로 다시 부팅하고 필요에 따라 이미지를 업데이트합니다. 이때 winbom.ini 파일을 사용해야 하므로 자세한 내용은 deploy.cab의 ref.chm을 참조하십시오. winbom.ini에는 항상 다음 코드 줄이 포함됩니다. 이 코드는 다음에 다시 부팅할 때 최소 설치를 실행할 수 있게 이미지를 다시 봉인하여 준비하도록 합니다.

코드 복사

[FACTORY]
ResealMode = Mini

작업을 마쳤으면 시스템을 종료합니다. 이미지를 캡처하는 데 수행한 이전 단계를 다시 반복합니다. 단, 이번에는 다음과 같이 캡처 명령을 수정합니다.

코드 복사

ImageX /append C: Y:\NewImage.wim "Resealed 
and ready for deployment – captured 4/4/2008"

/append 스위치를 사용하면 공간을 많이 절약할 수 있습니다. 그리고 공장 모드에서 이미지를 다시 봉인했으므로 손쉽게 이미지를 전환할 수 있습니다. 또한 /delete 스위치를 사용하여 사용하지 않을 이미지를 삭제할 수도 있습니다. 그러나 이렇게 하면 지정된 볼륨 이미지에 대한 참조만 삭제되므로 공간이 절약되지는 않습니다. 사용되지 않는 공간을 정리하려면 유지하려는 모든 볼륨 이미지를 내보내야 합니다.

지금까지 주로 Windows Vista 및 Windows Server 2008용으로 설계되고 지원되는 WAIK가 최신 Windows 버전뿐만 아니라 이전 버전의 배포 시에도 어떤 식으로 도움이 되는지를 살펴보았습니다. Windows XP 도구와 WAIK 도구(주로 ImageX와 경우에 따라 Windows PE 2.0)를 함께 사용해야 하지만 이제는 Microsoft에서 모든 버전의 Windows를 롤아웃하는 데 필요한 도구를 완벽하게 제공합니다.

posted by 엘도라도29
NAP 적용 문제 해결
2008/04/26 02:04 기술 잡지

Windows Vista, Windows Server 2008 및 Windows XP SP3에서 기본 제공되는 새로운 NAP(네트워크 액세스 보호) 플랫폼을 사용하면 컴퓨터 상태 요구 사항을 준수하도록 함으로써 개인 인트라넷을 보호할 수 있습니다. NAP의 주요 구성 요소는 NAP 클라이언트, NAP 적용 지점 및 NAP 상태 정책 서버입니다.

NAP 클라이언트는 시스템 상태 평가를 위한 상태 정보를 제공할 수 있는 컴퓨터입니다. NAP 적용 지점은 NAP를 사용하거나, NAP 클라이언트의 상태 평가를 요구하고 제한된 네트워크 액세스나 통신을 제공하기 위해 NAP와 함께 사용할 수 있는 컴퓨터 또는 네트워크 액세스 장치입니다. NAP 상태 정책 서버는 Windows Server® 2008과 상태 요구 사항 정책을 저장하고 NAP 클라이언트의 상태 평가를 수행하는 NPS(네트워크 정책 서버) 서비스를 실행하는 컴퓨터입니다. NAP 상태 정책 서버와 NAP 적용 지점에서는 RADIUS(Remote Authentication Dial-In User Service) 서버 및 프록시 메시지를 통해 시스템 상태 정보와 제한된 액세스 명령을 교환합니다.

이 칼럼에서는 상태 요구 사항 정책의 구성 요소, NPS 서비스에서 NAP 평가를 위해 들어오는 요청을 처리하는 방법, 그리고 NAP 적용과 관련된 가장 일반적인 문제를 해결하는 방법에 대해 설명합니다.

상태 요구 사항 정책

NAP 상태 평가 작동 방식

NAP 상태 정책 서버에서 실행되는 NPS 서비스는 다음과 같은 프로세스를 사용하여 상태 평가를 수행합니다.

1. NPS 서비스가 들어오는 요청 메시지를 구성된 연결 요청 정책 집합과 비교합니다. NAP의 경우 NPS 서비스가 로컬에서 인증 및 승인을 수행하도록 지정하는 연결 요청 정책과 요청 메시지가 일치해야 합니다. 연결 요청 정책에 연결 요구 사항이 포함될 수도 있습니다. 예를 들어 802.1X 및 VPN 적용의 경우 연결 요청 정책이 PEAP(Protected Extensible Authentication Protocol) 기반 인증 방법을 사용하도록 요구합니다. 연결하는 클라이언트가 PEAP를 사용하지 않으면 연결 요청이 거부됩니다.

2. NPS 서비스는 요청 메시지에서 SSoH(시스템 상태 설명)에 포함된 상태 정보를 평가합니다. NPS 서비스는 상태 정보를 설치된 SHV에 전달합니다. 그러면 SHV에서 상태 평가 정보를 NPS 서비스로 반환합니다.

3. NPS 서비스는 요청 메시지와 SHV에서 반환하는 상태 평가 정보를 해당하는 네트워크 정책 집합과 비교합니다. 상태 평가 정보는 NAP 기반 네트워크 정책의 상태 정책 조건과 비교됩니다. 상태 정책 조건은 상태 정책 준수 여부에 대한 조건을 지정합니다. NPS 서비스는 처음 일치하는 네트워크 정책을 요청 메시지에 적용합니다.

4. 일치하는 NAP 기반 네트워크 정책과 관련 NAP 설정을 기반으로 NPS 서비스는 SSoHR(시스템 상태 설명 응답)을 만듭니다. 이 응답은 SHV에서 반환된 상태 평가 정보를 포함하고 NAP 클라이언트의 액세스 제한 여부와 NAP 클라이언트가 자동으로 상태를 업데이트하는지 여부를 나타냅니다.

5. NPS 서비스는 SSoHR을 포함한 RADIUS 응답 메시지를 NAP 적용 지점으로 보냅니다. 클라이언트에 제한된 액세스가 부여된 경우 이 응답 메시지에 NAP 클라이언트의 액세스를 제한하는 방법을 지정하는 명령이 포함될 수 있습니다.

6. NAP 적용 지점은 SSoHR을 NAP 클라이언트로 보냅니다.

상태 요구 사항 정책은 연결 요청 정책, 하나 이상의 네트워크 정책, 하나 이상의 상태 정책, 그리고 NAP 적용 방법에 대한 NAP 설정의 조합입니다. 상태 요구 사항 정책을 만들려면 네트워크 정책 서버 스냅인의 NAP 구성 마법사를 사용하십시오. 평가 프로세스에 대한 자세한 내용은 "NAP 상태 평가 작동 방식" 추가 기사를 참조하십시오.

연결 요청 정책 연결 요청 정책은 NPS 서비스가 들어오는 연결 요청을 로컬로 처리할지 또는 다른 RADIUS 서버로 전달할지를 결정할 수 있는 순서가 지정된 규칙 집합입니다. NAP 상태 정책 서버는 연결 요청을 로컬로 처리합니다.

Windows® 기반 NAP 적용 지점에서 들어오는 RADIUS 요청에는 DHCP(Dynamic Host Configuration Protocol) 서버 또는 VPN(가상 사설망) 서버 같은 NAP 적용 지점 유형을 지정하는 소스 태그가 포함될 수 있습니다.

들어오는 요청 메시지에 소스 태그가 포함되어 있는 경우 NAP 상태 정책 서버의 NPS 서비스는 다른 모든 연결 요청 정책은 무시하고 일치하는 소스가 있는 연결 요청 정책에 대해서만 요청을 일치시키려고 합니다. 이와 반대로 들어오는 요청 메시지에 소스 태그가 포함되어 있지 않은 경우 NPS 서비스는 소스를 지정하는 다른 모든 연결 요청 정책은 무시하고 소스를 지정하지 않은 연결 요청 정책에 대해서만 요청을 일치시키려고 합니다.

예를 들어 NAP 사용 DHCP 서버에서 들어오는 요청은 소스 태그를 DHCP로 지정합니다. NPS 서비스는 DHCP 서버에서 들어오는 요청을 소스가 DHCP인 연결 요청 정책과 일치시키려고 시도합니다. 802.1X 지원 스위치 및 무선 액세스 지점에서 들어오는 요청은 소스 태그를 지정하지 않습니다. NPS 서비스는 이러한 요청을 소스를 지정하지 않은 연결 요청 정책과 일치시키려고 시도합니다.

로컬 또는 원격 처리 평가에 사용되는 연결 요청 정책은 들어오는 요청에 적용되는 정책 하위 집합의 순서가 지정된 목록에서 처음 일치하는 연결 요청 정책입니다. 일치하는 연결 요청 정책이 없는 요청은 거부됩니다.

네트워크 정책 네트워크 정책은 들어오는 요청 메시지에 해당하는 연결 시도를 승인하거나 거부하는 상황을 지정하는 순서가 지정된 규칙 집합입니다. 각 규칙에는 액세스를 부여하거나 거부하는 액세스 권한, 조건 집합, 제약 조건 집합 및 네트워크 정책 설정이 있습니다. 연결이 승인되면 네트워크 정책 제약 조건과 설정에 따라 연결 제한 집합이 지정될 수 있습니다. NAP의 경우 네트워크 정책에서 상태 요구 사항과 적용 동작 설정을 확인하는 상태 정책 조건을 지정할 수 있습니다.

연결 요청 정책과 마찬가지로 네트워크 정책은 소스 태그를 사용하여 들어오는 요청과 일치시킬 네트워크 정책을 결정합니다. 들어오는 요청 메시지에 소스 태그가 포함되어 있는 경우 NPS 서비스는 다른 모든 네트워크 정책은 무시하고 일치하는 소스가 있는 네트워크 정책에 대해서만 요청을 일치시키려고 합니다. 이와 반대로 들어오는 요청 메시지에 소스 태그가 포함되어 있지 않은 경우 NPS 서비스는 소스를 지정하는 다른 모든 네트워크 정책은 무시하고 소스를 지정하지 않은 네트워크 정책에 대해서만 요청을 일치시키려고 합니다.

승인 또는 상태 평가에 사용되는 네트워크 정책은 연결 시도에 적용되는 정책 하위 집합의 순서가 지정된 목록에서 처음 일치하는 네트워크 정책입니다. 연결 시도에 일치하는 네트워크 정책이 없는 경우 해당 요청은 거부됩니다.

상태 정책 상태 정책을 사용하면 상태 평가에 사용되는 설치된 SHV(시스템 상태 검사기)에서 상태 요구 사항을 지정할 수 있으며 선택한 SHV 중 일부 또는 전체에 대한 NAP 클라이언트 통과 여부도 지정할 수 있습니다. 예를 들어 정책을 준수하는 NAP 클라이언트에 대한 상태 정책에서는 클라이언트가 모든 상태 검사를 통과하도록 지정할 수 있으며 정책을 준수하지 않는 NAP 클라이언트에 대한 상태 정책에서는 클라이언트가 적어도 하나의 상태 검사나 모든 상태 검사를 통과하지 못하도록 지정할 수 있습니다.

네트워크 액세스 보호 설정 이 설정은 NAP 상태 정책 서버에 설치된 상태 요구 사항과 오류 조건에 대한 SHV의 구성과 DHCP 및 VPN 적용 방법에 대해 제한된 네트워크 액세스로 정책을 준수하지 않는 NAP 클라이언트에 액세스할 수 있는 서버 집합을 지정하는 업데이트 관리 서버 그룹으로 구성됩니다.

NAP 적용 문제의 범위 확인

문제를 해결할 때에는 논리적인 접근 방식이 도움이 됩니다. 문제 해결에서 자주 묻는 질문은 다음과 같습니다. 작동하는 것은 무엇입니까? 작동하지 않는 것은 무엇입니까? 작동하는 것과 작동하지 않는 것은 어떤 관계가 있습니까? 작동하던 것 중에 작동하지 않게 된 것이 있습니까? 그렇다면 마지막으로 작동한 후에 변경된 것은 무엇입니까?

NAP 적용 문제를 해결할 때에는 이러한 질문에 더 집중해야 합니다. NAP 적용 방법을 배포하기 전에는 연결 또는 연결 기능이 작동했습니까? 예를 들어 IPsec(인터넷 프로토콜 보안) 적용을 배포하기 전에는 IPsec 서버나 도메인 격리가 작동했습니까? 802.1X 적용을 배포하기 전에는 802.1X 인증이 작동했습니까? VPN 적용을 배포하기 전에는 VPN 원격 액세스가 작동했습니까? DHCP 적용을 배포하기 전에는 DHCP가 작동했습니까?

이전에는 특정 NAP 적용 방법이 작동했습니까? 그렇다면 NAP 클라이언트, NAP 적용 지점 또는 NAP 상태 정책 서버에서 변경된 것은 무엇입니까? 이러한 질문에 대한 답을 통해 어디에서부터 문제 해결을 시도해야 할지 알 수 있으며 문제를 일으킨 구성 요소, 계층 또는 구성을 찾을 수 있습니다.

NAP 적용 문제의 일반적인 해결 방법에서는 문제의 범위를 결정해야 합니다. 첫 번째 단계는 NAP 적용 자체가 문제가 아닌지 확인하는 것입니다. IPsec 적용의 경우에는 NAP 클라이언트에 IPsec 피어 협상과 데이터 보호를 위한 올바른 IPsec 정책 집합이 있는지 여부를 확인합니다. DHCP 적용의 경우에는 NAP 클라이언트가 DHCP 서버와 DHCP 메시지를 교환할 수 있는지 여부를 확인합니다. 802.1X 및 VPN 적용의 경우에는 NAP 클라이언트가 인증할 수 있는지 여부를 확인합니다. 예를 들어 VPN 클라이언트가 VPN 연결에 대한 인증을 수행할 수 없다면 VPN 클라이언트의 인증 설정과 자격 증명을 확인합니다.

NAP 적용이 문제라는 것을 확인했으면 이제 문제가 영향을 미치는 범위를 확인합니다. 모든 NAP 적용 방법의 모든 NAP 클라이언트가 영향을 받습니까? 특정 적용 방법의 모든 NAP 클라이언트가 영향을 받습니까? 특정 적용 방법의 모든 NAP 클라이언트와 NAP 적용 지점이 영향을 받습니까? 특정 그룹의 구성원인 모든 NAP 클라이언트가 영향을 받습니까? 특정 NAP 클라이언트만 문제의 영향을 받습니까?

예를 들어 모든 유형의 NAP 적용 방법에 대해 모든 NAP 클라이언트에서 문제가 발생한다면 NAP 상태 정책 서버에 구성 문제가 있는 것일 수 있습니다. 특정 NAP 적용 방법에 대해 모든 NAP 클라이언트에서 문제가 발생한다면 NAP 클라이언트에 대한 그룹 정책 설정에 구성 문제가 있거나 NAP 상태 정책 서버의 특정 NAP 적용 방법에 대한 상태 요구 사항 정책에 구성 문제가 있는 것일 수 있습니다. 특정 NAP 클라이언트에서만 NAP 적용 문제가 발생한다면 해당 NAP 클라이언트에만 NAP 적용 관련 구성 문제가 있는 것일 수 있습니다.

공통적인 NAP 적용 문제

NAP 리소스

* 네트워크 액세스 보호 소개

* 네트워크 액세스 보호 플랫폼 아키텍처

* Windows Server 2008의 네트워크 액세스 보호 정책

* NPS 네트워크 액세스 보호

무제한 액세스 NAP 클라이언트가 무제한으로 액세스할 수 있는 경우(액세스가 제한되지 않는 경우) NAP 클라이언트가 NAP 상태 정책 서버에 의해 정책을 준수하는 것으로 평가되었기 때문일 수 있습니다. 이것이 바로 사용자가 원하는 것입니다. 하지만 NAP 클라이언트가 SSoHR을 받지 못해 무제한 액세스가 부여된 것일 수도 있습니다. 일반적으로 NAP 클라이언트에 대한 상태 평가가 수행되지 않는 경우 이러한 문제가 발생합니다. NAP 상태 평가가 수행되지 않으면 NAP 클라이언트로 반환되는 SSoHR이 없으므로 NAP 클라이언트가 무제한으로 액세스할 수 있습니다.

예를 들어 DHCP 적용에 대해 구성된 NAP 클라이언트는 SSoHR을 해당 DHCP 서버로 보냅니다. Windows Server 2008을 실행하는 DHCP 서버가 NAP에 대해 구성되어 있지 않으면 NAP 상태 정책 서버로 상태 평가 요청 메시지를 보내지 않습니다. 뿐만 아니라 Windows Server 2008을 실행하는 DHCP 서버가 NAP에 대해 구성되어 있어도 NAP 상태 정책 서버에 연결할 수 없으면 기본적으로 액세스가 제한되지 않는 주소 구성을 할당합니다.

들어오는 요청이 NAP 상태 평가를 요구하지 않는 네트워크 정책과 일치하기 때문에 NAP 상태 정책 서버가 상태 평가를 수행하지 않는 경우에도 무제한 액세스가 부여될 수 있습니다. NAP 클라이언트의 요청과 일치하는 네트워크 정책을 확인하는 방법에 대한 자세한 내용은 이 칼럼의 "단계별 NAP 적용 문제 해결" 단원을 참조하십시오.

제한된 액세스 액세스가 제한된 NAP 클라이언트는 NAP 상태 정책 서버에 의해 정책을 준수하지 않는 것으로 평가된 것입니다. 무제한 액세스가 필요하지만 액세스가 제한된 NAP 클라이언트가 있다면 NAP 클라이언트의 요청과 일치하는 네트워크 정책에 해당하는 상태 정책 설정과 비교하여 NAP 클라이언트의 상태를 확인하십시오.

자동 업데이트 관리 수행 안 됨 올바르게 구성한 경우 NAP 클라이언트는 자신의 상태를 자동으로 업데이트할 수 있습니다. NAP 클라이언트가 자동 업데이트를 수행하지 못하면 NAP 클라이언트의 요청과 일치하는 네트워크 정책의 NAP 적용 설정에서 클라이언트 컴퓨터의 자동 업데이트 관리 사용 확인란이 선택되어 있는지 확인하십시오.

자동 업데이트 관리에 영향을 줄 수 있는 다른 문제는 제한된 NAP 클라이언트가 자동 업데이트 서버에 연결하여 업데이트를 다운로드할 수 없는 경우입니다. IPsec 적용의 경우에는 자동 업데이트 관리 서버에 올바른 IPsec 정책이 적용되었는지 확인하십시오. 802.1X 적용의 경우에는 일치하는 네트워크 정책에서 ACL(액세스 제어 목록) 또는 VLAN ID(가상 LAN 식별자)를 지정하는 설정을 확인하고 스위치나 무선 AP(액세스 지점)에 대한 ACL 또는 VLAN 구성을 확인하십시오. VPN 또는 DHCP 적용의 경우에는 일치하는 네트워크 정책에서 업데이트 관리 서버 그룹에 대한 설정을 확인하고 모든 업데이트 관리 서버가 그룹의 구성원으로 구성되어 있는지 확인하십시오. DHCP 적용의 경우에는 NAP 클라이언트에 대한 DHCP 범위 옵션이 올바르게 구성되어 있는지 확인하십시오(예: NAP 사용자 클래스의 기본 게이트웨어 옵션).

NAP 불가능 평가 모든 NAP 적용 방법의 경우 NAP 클라이언트에서 해당하는 적용 클라이언트가 설정되어 있는지 확인합니다. 802.1X 및 VPN 적용의 경우에는 NAP 클라이언트에 PEAP 인증 방법에 대한 시스템 상태 검사가 연결 요청 정책과 NAP 클라이언트 모두에 설정되어 있는지 확인합니다(보호된 EAP 속성 대화 상자에서 격리 확인 사용 확인란이 선택되어 있는지 확인함).

제한되지 않지만 인트라넷에 연결할 수 없는 NAP 클라이언트 IPsec 적용의 경우에는 정책을 준수하는 NAP 클라이언트의 IPsec 정책과 인트라넷 컴퓨터의 IPsec 정책에 협상 및 보호 설정이 공통적으로 지정되어 있는지 확인합니다. 802.1X 적용의 경우에는 정책을 준수하는 NAP 클라이언트에 대한 네트워크 정책이 제한된 네트워크가 아니라 인트라넷에 대한 ACL 또는 VLAN ID를 지정하는지 확인합니다. 또한 스위치나 무선 AP에서 인트라넷에 대한 ACL 또는 VLAN ID 구성을 확인합니다. VPN 적용의 경우에는 정책을 준수하는 NAP 클라이언트에 대한 네트워크 정책에 VPN 클라이언트의 트래픽을 제한하는 IP 패킷 필터가 구성되어 있지 않은지 확인합니다.

단계별 NAP 적용 문제 해결

특정 NAP 클라이언트와 관련된 NAP 적용 문제를 단계별로 해결하는 한 가지 방법은 NAP 클라이언트를 구성하고, NAP 클라이언트 이벤트 로그를 확인한 다음 NAP 상태 정책 서버로 이동하여 NPS 서비스에서 NAP 클라이언트의 요청을 어떻게 처리했는지 확인하는 것입니다.

1단계: NAP 클라이언트 구성 확인 NAP 클라이언트 구성은 Windows 서비스, 적용 클라이언트, NAP 적용별 설정으로 이루어져 있습니다. NAP 클라이언트 상태와 구성 정보를 표시하려면 netsh nap client show state 및 netsh nap client show configuration 명령을 사용합니다.

NAP 클라이언트 설정이 그룹 정책으로 제공되면 NAP 클라이언트의 모든 설정이 그룹 정책으로 지정되고 로컬 NAP 클라이언트 설정은 모두 무시됩니다. 이 경우에는 netsh nap client show grouppolicy 명령을 사용하여 그룹 정책 기반 NAP 클라이언트 구성을 표시하고 그룹 정책을 통해 변경합니다.

Windows Vista®를 실행하는 컴퓨터에 IPsec를 적용하는 경우에는 net start 명령을 사용하여 네트워크 액세스 보호 에이전트, IKE 및 AuthIP IPsec 키 지정 모듈, 그리고 IPsec 정책 에이전트 서비스가 시작되었는지 확인합니다. netsh nap client show configuration 명령을 사용하여 IPsec 신뢰 당사자 적용 클라이언트가 사용되는지 확인합니다. 필요한 경우 NAP 클라이언트 구성 스냅인을 사용하여 IPsec 신뢰 당사자 적용 클라이언트를 사용하도록 설정하거나 netsh nap client set enforcement 79619 enabled 명령을 사용합니다. netsh nap client set enforcement 명령은 상승된 권한으로 명령 프롬프트에서 실행해야 합니다.

Windows Vista를 실행하는 컴퓨터에 802.1X를 적용하는 경우에는 net start 명령을 사용하여 확장할 수 있는 인증 프로토콜, 네트워크 액세스 보호 에이전트, 유선 자동 구성(유선 연결에서 802.1X를 적용하는 경우) 및 WLAN 자동 구성(무선 연결에서 802.1X를 적용하는 경우) 서비스가 시작되었는지 확인합니다.

netsh nap client show configuration 명령을 다시 사용하여 EAP 격리 적용 클라이언트가 사용되는지 확인합니다. 필요한 경우 NAP 클라이언트 구성 스냅인을 사용하여 EAP 격리 적용 클라이언트를 사용하도록 설정하거나 netsh nap client set enforcement 79623 enabled 명령을 사용합니다. 유선 또는 무선 연결의 보호된 EAP 인증 방법 속성에서 격리 확인 사용 확인란이 선택되어 있는지 확인합니다.

Windows Vista를 실행하는 컴퓨터에 VPN을 적용하는 경우에는 net start 명령을 사용하여 확장할 수 있는 인증 프로토콜, 네트워크 액세스 보호 에이전트 및 원격 액세스 연결 관리자 서비스가 시작되었는지 확인합니다.

netsh nap client show configuration 명령의 출력에서 원격 액세스 격리 적용 클라이언트가 사용되는지 확인합니다. 필요한 경우 NAP 클라이언트 구성 스냅인을 사용하여 원격 액세스 격리 적용 클라이언트를 사용하도록 설정하거나 netsh nap client set enforcement 79618 enabled 명령을 사용합니다. VPN 연결의 보호된 EAP 인증 방법 속성에서 격리 확인 사용 확인란이 선택되어 있는지 확인합니다.

Windows Vista를 실행하는 컴퓨터에 DHCP를 적용하는 경우에는 net start 명령을 사용하여 네트워크 액세스 보호 에이전트 및 DHCP 클라이언트 서비스가 시작되었는지 확인합니다. 필요한 경우 서비스 스냅인이나 Sc.exe 도구를 사용하여 이러한 서비스를 시작하고 자동으로 시작되도록 구성합니다.

netsh nap client show configuration 명령의 출력에서 DHCP 격리 적용 클라이언트가 사용되는지 확인합니다. 필요한 경우 NAP 클라이언트 구성 스냅인을 사용하여 DHCP 격리 적용 클라이언트를 사용하도록 설정하거나 netsh nap client set enforcement 79617 enabled 명령을 사용합니다.

2단계: NAP 클라이언트 이벤트 로그 확인 이벤트 뷰어 스냅인을 사용하여 이벤트 로그에서 네트워크 액세스 보호 에이전트 서비스가 생성한 이벤트를 확인합니다. Windows Vista를 실행하는 컴퓨터에서는 이벤트 뷰어 스냅인을 사용하여 응용 프로그램 및 서비스 로그\Microsoft\Windows\Network Access Protection\Operational에서 이벤트를 확인합니다. Windows XP SP3을 실행하는 컴퓨터에서는 이벤트 뷰어 스냅인을 사용하여 시스템 이벤트 로그에서 NAP 이벤트를 확인합니다.

NAP 클라이언트 이벤트에서 NAP 클라이언트 상태 평가에 대한 상관 관계 ID를 확인합니다. 이 상관 관계 ID나 NAP 클라이언트의 컴퓨터 이름을 사용하여 NAP 상태 정책 서버에서 해당하는 상태 평가 이벤트를 찾을 수 있습니다. 그림 1에서는 상관 관계 ID가 있는 정책을 준수하지 않는 NAP 클라이언트에 대한 이벤트의 예를 보여 줍니다.

clip_image001

그림 1 Windows Vista NAP 클라이언트 이벤트의 (더 크게 보려면 이미지를 클릭하십시오.)

3단계: NPS 이벤트 로그 확인 NAP 상태 정책 서버에서 이벤트 뷰어 스냅인을 사용하여 Windows 로그\보안 로그에서 NPS 서비스가 생성한 이벤트를 확인합니다. NPS 이벤트를 보려면 이벤트 뷰어에서 사용자 지정 보기, 서버 역할을 차례로 연 다음 네트워크 정책 및 액세스 서비스를 클릭합니다. 이벤트와 관련된 온라인 도움말 항목을 보려면 이벤트의 일반 탭에서 "이벤트 로그 온라인 도움말" 링크를 클릭합니다.

일반적인 NAP 상태 평가 이벤트는 이벤트 ID 6278(무제한 액세스 관련) 또는 6276(제한된 액세스 관련)입니다. NAP 클라이언트의 컴퓨터 이름(이벤트 설명의 클라이언트 컴퓨터 섹션에서 계정 이름 필드)이나 상관 관계 ID(이벤트 설명의 격리 정보 섹션에서 세션 식별자 필드)를 기준으로 해당하는 NAP 상태 정책 서버 이벤트를 찾습니다.

NPS 이벤트 로그의 이벤트 6278과 6276에는 NAP 상태 평가에 대한 정보가 포함됩니다. 즉, 일치하는 연결 요청 정책 이름(이벤트 설명의 인증 정보 섹션에서 프록시 정책 이름 필드), 일치하는 네트워크 정책 이름(이벤트 설명의 인증 정보 섹션에서 네트워크 정책 이름 필드) 등이 포함됩니다. 그림 2는 이벤트 ID 6276의 자세히 탭을 보여 주는 예입니다. 여기에는 프록시 정책 이름, 네트워크 정책 이름, 상관 관계 ID(QuarantineSessionID) 등이 나와 있습니다. 이는 그림 1의 Windows Vista NAP 클라이언트 이벤트에 해당하는 NAP 상태 정책 이벤트입니다.

clip_image002

그림 2 NAP 상태 정책 서버 이벤트의 (더 크게 보려면 이미지를 클릭하십시오.)

NAP 클라이언트 이벤트에 해당하는 이벤트가 없으면 네트워크 정책 서버 서비스가 시작되었는지, NAP에 대한 NAP 적용 지점이 올바르게 구성되었는지, NAP 상태 정책 서버를 RADIUS 서버로 사용하는지 확인합니다. NAP 적용 지점과 NAP 상태 정책 서버 간에 RADIUS 메시지를 전송할 수 있는지도 확인합니다.

이러한 세 가지 단계를 따르면 NAP 적용이 예상대로 작동하지 않는 이유를 쉽게 확인할 수 있습니다. NAP에 대한 자세한 내용은 "NAP 리소스" 추가 기사를 참조하십시오.

posted by 엘도라도29
여기 서명해 주세요 ( Windows PowerShell )
2008/04/25 03:07 기술 잡지

지난 2008년 1월 Windows PowerShell 칼럼에서 Windows PowerShell 스크립트에 있어서 디지털 서명이 얼마나 중요한지에 대해서는 이미 강조한 바 있습니다. 그리고 AllSigned 외에 다른 실행 정책을 사용할 경우 사용자 환경에 중대한 보안 취약점이 발생할 수 있는 몇 가지 시나리오에 대해서도 설명했습니다.

자세히 설명하지 않은 내용을 들라면 실제로 스크립트에 서명하는 방법이 있습니다. 이 내용은 technetmagazine.com/issues/2008/01/PowerShell을 참조하면 됩니다. 그렇다면 이번 달에는 어떤 내용을 다룰까요?

서명 이상의 무엇

서명이라는 단어는 여기서 다루려는 내용에 알맞은 기술 용어이지만 그 자체로는 실제 기능을 제대로 나타내지 못합니다. 스크립트에 서명한다고 해서 계약서 또는 신용 카드 전표의 경우처럼 스크립트를 승인하거나 인증하는 것은 아니기 때문입니다. 디지털 보안에서 서명은 어떤 항목에 자신의 ID를 첨부하여 해당 항목이 수정되지 않은 원본 그대로의 상태 또는 조건임을 보증하는 프로세스를 말합니다. 그리고 이러한 프로세스는 암호화를 기반으로 하며, 적어도 이 시나리오의 경우 암호화는 한 쌍의 암호화 키로 시작됩니다.

이러한 한 쌍의 키는 서로 다르기 때문에 비대칭 키라고도 합니다. 즉, 서명한 사용자만 액세스할 수 있는 개인 키와 누구나 액세스할 수 있는 공개 키의 쌍으로 이루어집니다. 간단하게 설명하자면 개인 키를 사용해 암호화한 모든 항목은 기본적으로 일치하는 공개 키로만 암호를 해독할 수 있습니다.

이러한 암호화가 어떻게 작동하는지 알아보겠습니다. 이번에도 칼럼을 진행하는 데 필요한 내용만 최대한 간단히 설명하겠습니다. 필자는 인증서에 들어 있는 개인 키를 사용하여 Windows PowerShell® 스크립트에 서명하려 합니다. Windows PowerShell 자체에는 스크립트와 인증서를 가져와서 실제 서명을 수행하는 cmdlet이 있습니다. 이 cmdlet에 대해서는 잠시 후에 설명하겠습니다. Windows PowerShell에서는 이러한 프로세스를 수행할 때 스크립트를 가져와서 필자의 개인 키를 통해 암호화합니다. 이렇게 암호화된 복사본은 스크립트 아래쪽에 알아볼 수 없는 텍스트 형식의 일련의 주석으로 추가됩니다(그림 1 참조). 필자의 ID도 이러한 주석으로 인코딩되지만 암호화되지는 않습니다. 따라서 ID 자체는 암호화 기술 없이도 읽을 수 있습니다.

그림 1 스크립트 아래에 저장된 서명 블록 (더 크게 보려면 이미지를 클릭하십시오.)

그리고 나중에 Windows PowerShell은 서명을 찾아 필자의 ID를 디코딩하여 공개 키를 얻는 데 사용합니다. 서명의 나머지 부분은 필자의 공개 키로만 해독할 수 있으므로 Windows PowerShell에서 서명을 해독할 수 있다면 필자가 스크립트에 서명했다는 사실이 자연스럽게 증명됩니다. 다른 사람이 서명했다면 필자의 공개 키로는 서명을 해독할 수 없기 때문입니다. 서명이 해독되면 Windows PowerShell은 서명으로 암호화된 복사본과 스크립트를 비교합니다. 두 스크립트가 일치하면 서명이 변조되지 않은 것으로 간주됩니다. 그런데 두 스크립트가 서로 다르면 서명이 손상되어 잘못된 것으로 간주됩니다.

서명은 이러한 방식으로 다른 사람의 눈에 띄지 않게 일반 텍스트 스크립트가 수정되지 않도록 보호합니다. 스크립트 자체는 쉽게 수정할 수 있지만 서명은 필자의 개인 키 없이는 수정된 스크립트에 맞게 변경할 수 없습니다. 그리고 이러한 개인 키는 필자만 소유합니다.

여기서는 기본적인 기술 프로세스만 아주 간략하게 설명했습니다. 실제로는 서명에 공개 키의 복사본, 키를 발급한 CA(인증 기관)에 대한 정보 등 훨씬 많은 정보가 포함될 수 있습니다. 그러나 여기서 설명하는 내용만으로도 이 프로세스의 핵심적인 부분을 개괄하고 서명이 실질적으로 스크립트의 무단 수정을 방지하는 데 효과가 있음을 강조하는 데에는 충분하리라 생각합니다.

개인 키가 다른 사람의 손에 들어가면 이러한 프로세스는 의미가 없기 때문에 개인 키의 보호야말로 중요한 보안 요소라 할 수 있습니다. Windows에 키를 설치할 때에는 즉시 암호로 보호하여 악의적인 프로세스에 키가 무단으로 사용되는 일이 없도록 해야 합니다. 이 경우 개인 키를 스마트 카드에 보관하면 보다 효과적으로 보호할 수 있습니다. 스마트 카드의 개인 키는 절대 외부로 유출되지 않기 때문입니다. 대신 암호화할 데이터가 판독기 하드웨어를 통해 카드로 전송되고, 카드 자체의 회로에서 암호화를 수행한 후 결과를 다시 전송합니다.

인증서 얻기

이달의 Cmdlet: Export-CSV

PowerShellCommunity.org 포럼 참가자들은 Windows PowerShell에서 Microsoft Excel®로 데이터를 내보낼 수 있는지 많이 묻곤 합니다. 당연히 가능합니다. Excel은 기본적으로 CSV 파일을 열고 편집하고 저장할 수 있으므로 Export-CSV cmdlet을 사용하면 됩니다. 예를 들어 서비스 목록을 내보내려면 Get-Service | Export-CSV MyServices.csv를 실행하면 됩니다. 사실 Export-CSV는 모든 파이프라인의 끝에 첨부할 수 있으며 해당 파이프라인의 모든 개체가 지정한 CSV 파일로 내보내집니다. 기본적으로 Export-CSV는 파일의 맨 위에 헤더 줄을 추가합니다. 이 헤더는 내보낸 개체의 형식을 지정하는 데 사용됩니다. 그리고 이 줄은 주석으로 처리되므로 Excel에서 파일을 여는 데 방해가 되지 않습니다. 형식 정보를 내보내지 않으려면 Export-CSV에 -notype 매개 변수를 추가하면 됩니다. 또한 -force 매개 변수를 추가하여 기본적으로 표시되는 확인 메시지를 표시하지 않고 같은 이름의 기존 CSV 파일을 덮어쓰거나, 이름에서 잘 알 수 있듯이 -noClobber라는 매개 변수를 추가하여 기존 파일을 덮어쓰지 않도록 할 수 있습니다.

스크립트에 서명하려면 Class III Authenticode 코드 서명 인증서라는 특별한 인증서가 필요합니다. 이 인증서는 주로 세 가지 방법으로 얻을 수 있습니다. 첫째로, 조직의 내부 PKI(공개 키 인프라)가 있으면 해당 PKI를 사용합니다. 잘 구현된 PKI의 경우 루트 CA가 조직의 모든 컴퓨터에서 신뢰됩니다. 이는 CA에서 발급한 인증서를 조직 내에서 사용하기 위한 필수 조건입니다.

Windows® 2000부터 Windows Server®에는 자체 인증서 서버 소프트웨어가 포함되어 있는데, 이 소프트웨어를 사용하면 직접 PKI를 만들 수 있습니다. PKI를 완벽하게 구현하려면 치밀하게 계획해야 하지만 단지 코드 서명 인증서 발급 때문에 PKI가 필요한 경우에는 복잡한 계획 작업을 굳이 거치지 않아도 됩니다. 즉, 그룹 정책을 사용하여 CA의 루트 인증서를 컴퓨터에 배포하여 해당 컴퓨터에서 신뢰되도록 하기만 하면 됩니다.

둘째로, 상용 CA를 사용할 수 있습니다. 상용 CA를 사용할 경우 주요 CA 중 하나를 선택하면 해당 CA가 발급한 인증서를 신뢰하도록 조직의 컴퓨터가 이미 구성되어 있을 가능성이 크다는 장점이 있습니다. 한 가지 유의할 것은 Windows XP에서는 기본적으로 신뢰되는 CA 수가 많지만 Windows Vista®에서는 그 수가 훨씬 적다는 것입니다. 많이 사용되는 상용 CA로는 VeriSign(verisign.com)이 있습니다. 그 외에도 CyberTrust(cybertrust.com), Thawte (thawte.com) 등 고려할 만한 상용 CA가 많습니다.

코드 서명 인증서를 얻는 세 번째 방법은 Makecert.exe와 같은 도구를 사용해 자체 서명된 인증서를 만드는 것입니다. Windows Platform SDK와 함께 제공되는 Makecert.exe는 몇 가지 Microsoft® Office 버전에 설치되며 다른 곳에도 많이 사용됩니다. 자체 서명된 인증서의 장점은 무료로 사용할 수 있고 인프라가 필요 없다는 점입니다. 반면 해당 컴퓨터에서만 사용 가능하다는 단점도 있지만, 자신의 컴퓨터에서 스크립트를 실행(코드 서명 테스트 또는 일반적인 실험용으로)하는 데에만 사용하려는 경우에는 Makecert.exe가 바람직한 선택이 될 수 있습니다. 이 도구에 대한 자세한 내용은 go.microsoft.com/fwlink/?LinkId=108538에서 확인할 수 있습니다. 지난 수년 동안 이 도구의 여러 버전이 발표되었기 때문에 현재 사용자의 컴퓨터에서 실행하는 버전이 설명서의 내용과 다르게 작동할 수도 있다는 점을 유의하십시오.

Makecert.exe가 준비되면 Windows PowerShell 명령줄에서 다음과 같은 코드를 실행하여 자체 서명된 인증서를 만들 수 있습니다. 이 칼럼에서는 cmd.exe를 사용하는 경우는 설명하지 않겠습니다.

코드 복사

makecert -n "CN=MyRoot" -a sha1 –eku
1.3.6.1.5.5.7.3.3 -r -sv root.pvk root.cer 
–ss Root -sr localMachine

그리고 다음 코드를 실행합니다.

코드 복사

makecert -pe -n "CN=MyCertificate" -ss MY 
–a sh1 -eku 1.3.6.1.5.5.7.3.3 -iv root.pvk 
–c root.cer

그러면 Makecert.exe가 키를 보호하는 데 사용할 암호를 묻고 인증서를 만듭니다. Windows PowerShell에서 다음 코드를 실행하면 설치 여부를 확인할 수 있습니다.

코드 복사

gci cert:\CurrentUser\My -codesigning

이 코드를 실행하면 CERT: 드라이브(Windows 인증서 저장소)의 모든 항목, 즉 코드 서명 인증서의 목록이 표시됩니다. Windows PowerShell에는 이러한 모든 프로세스에 대한 설명도 포함되어 있습니다. 이러한 설명을 보려면 About_Signing 도움말을 실행하고 화면에 표시되는 내용을 어느 정도 읽어 보십시오.

스크립트 서명

이제 인증서와 스크립트가 준비되었으므로 실제로 스크립트에 서명할 차례입니다. 마땅한 스크립트가 없다면 테스트용으로 간단히 하나를 만들면 됩니다. Windows PowerShell에서 다음 코드를 입력하기만 하면 됩니다.

코드 복사

$cert = @(gci cert:\currentuser\my
-codesigning)[0]
Set-AuthenticodeSignature myscript.ps1 $cert

첫 부분에서는 먼저 설치된 코드 서명 인증서를 검색합니다. 여러 인증서가 설치되어 있는 경우 첫 번째 인증서 외에 다른 인증서를 사용하려면 "0"을 해당 번호로 바꾸면 됩니다. 두 번째 부분에서는 파일에 서명합니다. 물론 이때에는 파일 이름을 서명하려는 파일 이름으로 변경해야 합니다. 매우 간단하지 않습니까? 이 과정에서 약간의 수고가 들어간 부분을 솔직히 밝히자면 Set-AuthenticodeSignature라는 cmdlet 이름이 너무 길어서 Sign이라는 별칭을 만든 것입니다. 이제 다음 코드를 실행하면 됩니다.

코드 복사

Sign myscript.ps1 $cert

해당 스크립트를 열면 맨 아래에 서명 블록이 삽입된 것을 확인할 수 있습니다. 그리고 실행 정책을 AllSigned(Set-ExecutionPolicy AllSigned)로 설정하고 스크립트를 실행해보면 문제 없이 작동하는 것을 확인할 수 있습니다. 이제 스크립트를 수정하고 저장할 수 있는데, 이 경우 다시 서명하지 않도록 주의해야 합니다. 다시 서명하면 서명이 손상되어 Windows PowerShell에서 수정된 버전의 실행이 거부됩니다.

약간의 수고와 효과

이러한 프로세스가 그 효과에 비해 너무 번거롭다고 생각하십니까? 인증서에 500달러를 투자하거나 완전히 새로운 인프라 요소를 구현하지 않고 몇 가지 관리 작업을 스크립팅할 수 있다면 좋겠는데 요구 사항이 너무 많습니까? 필자 자신도 관리자의 입장에서 여러분의 생각은 충분히 이해할 수 있습니다. 그러나 단언컨대 여기서 설명하는 내용은 그만한 가치가 있습니다.

사실 보안과 관련해서는 항상 어느 정도의 노력과 비용이 뒤따릅니다. 바이러스 백신 소프트웨어가 골칫거리일 수도 있지만 그렇다고 바이러스 백신 소프트웨어를 사용하지 않을 수는 없습니다. 방화벽 소프트웨는 확실히 귀찮고 번거롭지만 방화벽 없이 안전을 보장할 수는 없습니다. 그리고 Windows Vista UAC(사용자 계정 컨트롤)도 번거롭게 여겨질 수 있지만 컴퓨터의 보안을 강화하기 위한 약간의 수고일 따름입니다. 어쨌든 우리의 궁극적인 목표가 바로 이렇게 강화된 보안이 아닙니까?

Windows PowerShell은 강력한 도구이지만 다른 도구와 마찬가지로 악의적인 사용자에 의해 보안 취약점으로 악용될 소지를 항상 가지고 있습니다. 따라서 이러한 악의적인 사용자를 막기 위한 조치가 중요합니다.

그러한 맥락에서 코드 서명은 가장 효과적인 방법이며 번거로운 작업이 많이 요구되지도 않습니다. 예를 들어 필자의 경우에는 저장 단추를 누를 때마다 스크립트에 자동으로 서명하는 그래픽 스크립트 편집기를 사용하기 때문에 코드 서명 프로세스에 신경을 쓰지 않아도 됩니다.

그래픽 편집기 없이 훨씬 간편하게 처리할 수 있는 방법도 있습니다. 예를 들어 고유한 Windows PowerShell 프로필(문서 폴더의 WindowsPowerShell 폴더에 Microsoft.PowerShell_profile.ps1이라는 파일을 생성)을 만들고 거기에 다음 함수를 추가하면 됩니다.

코드 복사

function sign ($filename) {
  $cert = @(gci cert:\currentuser\my 
-codesigning)[0]
Set-AuthenticodeSignature $filename $cert
}

그리고 다음을 입력하여 간단히 스크립트에 서명할 수 있습니다.

코드 복사

Sign c:\scripts\myscript.ps1

물론, 이 경우 해당 프로필 스크립트를 가장 먼저 서명해야 합니다. 여기서 핵심은 가능한 한 편리하게 스크립트에 서명할 수 있도록 하자는 것입니다.

코드 서명 인증서를 발급하는 용도로만 사용할 단일 서버 PKI를 배포하는 일을 그리 어렵지 않습니다. 그러나 특히 다른 용도로도 사용하는 경우에는 루트 CA를 보호하고 재해 복구 기능을 제공하는 등 PKI에 대해 철저히 연구하고 계획해야 합니다. 환경에서 스크립트를 실행하는 사용자가 여러분 혼자라면 언제든 Makecert.exe를 사용할 수 있습니다. Makecert.exe로 만든 인증서를 보호하는 방법에 대한 자세한 내용은 About_Signing Windows PowerShell 도움말 항목에서도 제공됩니다.

posted by 엘도라도29
Microsoft Office Access 데이터베이스와 SharePoint 통합
2008/04/24 01:30 기술 잡지

필자는 최종 사용자에게 Microsoft Office SharePoint Server(MOSS) 2007에 대해 강의할 때마다 이들이 어떤 도구를 사용하고 어떻게 사용하는지 질문하곤 합니다. 그러면 예외 없이 조직의 어디에서든 누군가는

비즈니스의 필수 요구 사항을 해결하기 위해 Microsoft® Office AccessTM를 사용하고 있음을 알 수 있습니다. Access는 여전히 많은 기업에서 유용한 도구이자 중요한 자산입니다.

MOSS 2007은 Access 기반 응용 프로그램을 SharePoint®에 통합하여 보다 광범위한 기능이 포함된 새로운 솔루션을 만드는 방법을 제공합니다. 이 기사에서는 MOSS와 Access를 통합하는 방법과 통합되는 지점을 보여 주고 최종 사용자가 두 제품을 구성하여 솔루션을 만드는 방법을 설명합니다.

MOSS가 Access에 제공하는 기반 기술에는 워크플로, 일반 저장소(SQL Server®) 및 웹 기반 인터페이스(브라우저)가 포함됩니다. SharePoint 기능에는 문서 관리, 작업 영역과 함께 사용자 지정 목록을 설정하는 기능이 포함됩니다. 또한 이벤트 알림에서 연락처 목록 또는 문제점 목록 만들기 기능, 그리고 사용자 정의 양식 관리에 이르는 모든 사항을 다루는 기본 제공 워크플로와 웹 파트를 사용할 수 있습니다. 또한 사용이 간편하고 익숙한 Office 기술이므로 최종 사용자가 별다른 어려움 없이 접근할 수 있습니다. 나중에 살펴보겠지만 MOSS는 현재 사용 중인 솔루션에 방해가 되지 않습니다. 응용 프로그램을 다시 작성할 필요가 없으므로 최종 사용자가 기술적 문제가 아닌 비즈니스 문제를 해결하는 데 주력할 수 있어서 MOSS를 통해 기존 솔루션의 효율성이 더욱 높아집니다.

최종 사용자만 혜택을 보는 것이 아닙니다. IT 부서와 관리자는 최종 사용자가 회사의 업무와 관련하여 생성되는 모든 사용자 지정 데이터베이스를 유지 관리할 수 있도록 지원하기 위해 고군분투하고 있습니다. 대부분의 사용자는 저장소 제한, 다중 사용자 액세스, 보안, 손상된 데이터베이스 복구, 웹 사용, 호환되지 않는 Access 버전, 여러 데스크톱에 변경 내용 배포와 같은 특정 문제가 발생하기 전까지는 업무와 관련된 중요한 문제를 해결하기 위해 Access가 사용되고 있다는 사실조차 알지 못합니다. SharePoint는 이러한 각각의 문제에 대한 해결책을 제시합니다.

나름의 한계는 있지만 여전히 Access는 전문적인 코드 작성자가 아닌 일반 사용자들에게 특히 강력하고 사용이 편리한 제품입니다. 구성 가능한 관계형 테이블, 단순한 쿼리와 복잡한 쿼리, 끌어서 놓기 방식의 고급 폼 생성기, 데이터 기반 보고서 및 다중 사용자 구성 기능을 모두 사용할 수 있습니다. Access 및 SharePoint를 기반으로 하는 솔루션 구축은 리소스와 역량을 공동으로 이용하려는 조직과 수년간 축적된 기술 및 응용 프로그램을 활용하려는 개인 모두에게 유용한 방법입니다.

시작

Access 2007은 MOSS 2007과의 여러 통합 지점을 제공합니다. 그림 1에서 볼 수 있듯이 여기에는 SharePoint 목록에서 데이터 가져오기, SharePoint 사이트에 데이터 게시, SharePoint 목록 만들기, SharePoint 데이터를 외부 원본으로 사용, Access 데이터베이스를 새 SharePoint 사이트나 기존 SharePoint 사이트로 마이그레이션, SharePoint 데이터에 대한 오프라인 액세스가 포함됩니다.

그림 1 SharePoint와의 통합을 위한 간편한 진입점을 제공하는 Access 2007 (더 크게 보려면 이미지를 클릭하십시오.)

먼저 Access 테이블에서 SharePoint 목록을 만드는 것부터 시작하는 것이 좋습니다. SharePoint 목록은 Access의 테이블과 매우 유사합니다. SharePoint 목록은 SQL Server 콘텐츠 데이터베이스에 저장되고 특정 필드 특성을 포함하며 조회를 지원합니다.

SharePoint 목록을 만드는 경우 몇 가지 제한이 있습니다. 최적의 성능을 얻으려면 보기당 항목 수가 2,000개를 넘지 않도록 하는 것이 좋습니다. 또한 SharePoint에서는 참조 무결성이 적용되지 않고 OLE 개체는 SharePoint로 내보낼 수 없으며 데이터 유효성 검사가 제한됩니다.

Access 테이블에서 SharePoint 목록을 만들려면 먼저 외부 데이터 탭을 선택한 다음 내보내기 그룹에서 활성화된 SharePoint 목록 단추를 클릭합니다. 이제 그림 2에 나오는 내보내기 - SharePoint 사이트 대화 상자를 채우거나 테이블을 마우스 오른쪽 단추로 클릭하고 내보내기, SharePoint 목록을 차례로 선택하여 이 목록을 사용할 SharePoint 사이트를 지정해야 합니다. 내보내는 테이블이 부모/자식 관계에서 자식 테이블이면 해당 부모 테이블도 모두 내보내집니다.

그림 2 지정한 SharePoint 사이트로 Access 데이터 내보내기 (더 크게 보려면 이미지를 클릭하십시오.)

내보내기 프로세스가 끝나면 나중에 반복할 필요가 없도록 내보내기 단계를 저장하는 옵션이 제공됩니다. 이때 SharePoint 사이트로 이동하여 업로드된 데이터를 볼 수 있습니다. 이러한 단순한 작업은 데이터를 SharePoint로 이동하여 사용자가 액세스할 수 있도록 하는 데 유용합니다. 이렇게 하면 데이터가 SQL Server 데이터베이스에 저장되므로 보안이 향상되고 브라우저를 통해 정보를 볼 수 있으므로 데이터에 대한 액세스가 간편해지는 이점을 얻을 수 있습니다.

그러나 SharePoint의 목록을 Access의 테이블로 연결하는 또 다른 방법을 사용할 경우 Access와 SharePoint를 훨씬 효과적으로 통합할 수 있습니다. 이렇게 하려면 Access에서 외부 데이터 탭을 클릭하고 가져오기 그룹에서 SharePoint 목록을 선택합니다. 그러면 그림 3의 대화 상자가 나타납니다.

그림 3 Access SharePoint 연결 (더 크게 보려면 이미지를 클릭하십시오.)

연결된 데이터 원본으로 사용할 SharePoint 목록이 포함된 사이트를 선택한 다음 연결할 목록을 선택합니다. 이 작업이 끝나면 해당 목록이 Access에서 연결된 테이블로 표시되고 응용 프로그램의 오른쪽 아래 모서리에 "SharePoint에서 온라인으로 작업" 표시기가 나타납니다. 이제 Access와 SharePoint 간에 양방향 동기화가 이루어지므로 SharePoint나 Access 중 하나에서 추가, 변경 및 삭제 작업을 수행할 수 있습니다. 나중에 살펴보겠지만 테이블에 대해 코드를 작성하여 추가 기능을 제공할 수 있습니다.

Access에서 SharePoint 목록에 연결하면 Windows® SharePoint Services(WSS) 사용자 정보 목록이라는 또 다른 테이블도 가져오게 됩니다. 이 테이블은 기본적으로 연결됩니다. 또한 "SharePoint 사이트로 이동 문제점"이라는 문제점 테이블이 생성되며 이 테이블에서는 데이터 충돌 문제를 검토할 수 있습니다.

데이터 마이그레이션 및 변환 중 데이터 형식 처리 방법에 대한 자세한 내용은 "Access 및 SharePoint 간의 데이터 형식 변환 방법"(office.microsoft.com/en-us/access/HP010477131033.aspx) 및 "데이터베이스를 이동하고 해당 테이블을 SharePoint 사이트에 연결"(office.microsoft.com/en-us/access/HA101314681033.aspx)의 마이그레이션 제한 관련 단원을 참조하십시오.

테이블과 목록을 통합하는 세 번째 방법은 SharePoint에서 시작합니다. 목록을 선택하고 작업 탭에서 "Access에서 열기" 옵션을 클릭합니다. 데이터베이스(새 데이터베이스 또는 기존 데이터베이스) 이름을 묻는 대화 상자가 나타납니다. 데이터베이스 이름을 입력한 후 단순히 SharePoint 사이트의 데이터에 연결할지 또는 데이터를 곧바로 Access로 내보낼지 여부를 선택합니다(그림 4 참조).

그림 4 Access 통해 SharePoint 데이터에 연결할 있도록 설정 (더 크게 보려면 이미지를 클릭하십시오.)

데이터베이스를 SharePoint 이동

지금까지 SharePoint 목록을 연결된 테이블로 가져오고 Access 테이블을 SharePoint 목록으로 내보내는 방법을 살펴보았습니다. 그렇다면 전체 데이터베이스에 액세스해야 하는 경우에는 어떻게 해야 할까요? 많은 조직이 Access에서 실행되는 중요 업무용 응용 프로그램을 보유하고 있으며, 이러한 응용 프로그램은 개인이 보고서와 쿼리를 실행하고 데이터를 입력할 수 있도록 원격에서 사용이 가능해야 합니다. 이와 같은 경우 응용 프로그램을 다시 작성해야 하지만 경제적으로나 가용 기술을 고려했을 때 이것이 현실적으로 적절하지 않을 때가 있습니다. SharePoint와 Access에서는 Access의 SharePoint 목록 탭에 있는 "SharePoint로 이동" 옵션을 통해 이 문제를 해결합니다. 이 옵션은 Access 97에 처음 소개되었던 업사이징 마법사를 사용하여 SQL Server로 이동하는 옵션과 유사합니다.

전체 Access 데이터베이스를 SharePoint로 이동하면 모든 테이블이 SharePoint 목록으로 변환되고, Access 데이터베이스에 대한 백업이 만들어지며, 목록이 자동으로 Access의 연결된 테이블이 되고, 테이블뿐만 아니라 전체 데이터베이스를 이동할 수 있으며, 데이터베이스가 이동 전과 거의 비슷하게 작동하는 등 다양한 이점을 얻을 수 있습니다.

SharePoint로 이동 단추를 클릭하면 그림 5의 대화 상자가 나타납니다. 사이트를 지정한 후 데이터베이스 저장 옵션을 선택할지 여부를 결정해야 합니다. 그러면 전체 데이터베이스가 선택한 문서 라이브러리에 저장됩니다. 이는 폼, 보고서, 쿼리 및 매크로를 포함한 전체 데이터베이스가 SharePoint에 저장되며 서버에서 사용 가능한 상태가 됨을 의미합니다. 데이터베이스에 액세스하려는 사용자는 데이터베이스가 있는 라이브러리로 이동한 후 데이터베이스를 클릭하기만 하면 됩니다. 그러면 데이터베이스가 자동으로 사용자의 데스크톱에 배포됩니다.

그림 5 데이터베이스를 이동할 SharePoint 사이트 지정 (더 크게 보려면 이미지를 클릭하십시오.)

전체 데이터베이스를 이동하도록 선택하면 변경 내용 게시라는 메시지 표시줄이 리본 메뉴 아래에 나타납니다. 이 옵션을 통해 디자인 및 데이터에 대한 로컬 변경 내용이 서버의 복사본과 동기화되도록 할 수 있습니다. 이 옵션을 선택하지 않으면 테이블만 목록으로 변환되고 Access에 연결됩니다. 이 경우 사용자 커뮤니티에서 전체 데이터베이스를 사용할 수 없을 뿐만 아니라 전체 데이터베이스가 SharePoint에서 하나의 개체로 백업되지도 않습니다.

이러한 옵션 중 하나를 선택하면 선택한 SharePoint 사이트를 통해 데이터베이스 및 데이터베이스와 관련된 정보를 사용할 수 있습니다. 다시 말하지만 "SharePoint 사이트로 이동 문제점"이라는 테이블이 자동으로 생성되며 이 테이블에는 마이그레이션으로 인한 모든 충돌 문제가 설명되어 있습니다. 이 테이블에서는 SharePoint 사이트에 테이블을 업로드하는 동안 Access에서 발생한 모든 문제를 검토할 수 있습니다.

보기, 보고서

데이터베이스를 이동한 후에는 데이터베이스가 올바르게 작동하는지 테스트할 수 있습니다. 테스트를 시작하기 전에 "SharePoint에서 온라인으로 작업" 표시기가 표시되어 있는지 확인합니다. 이제 Access 쿼리가 SharePoint 보기로 바뀌었습니다. SharePoint 보기는 Access 쿼리와 매우 유사합니다.

전체 데이터베이스를 이동하는 경우 기존 쿼리는 SharePoint에 보기로 복사됩니다. Access 사용자는 쿼리를 작성하면 데이터 하위 집합을 볼 수 있다는 것을 알게 됩니다. SharePoint 보기에서 이를 수행하는 방법을 배우면 SharePoint 목록에서 데이터가 구성되는 방법을 쉽게 이해할 수 있습니다.

만들 수 있는 가장 유용한 보기 중 하나가 Access 보기입니다. Access 보기를 만들려면 먼저 보기를 만들 목록으로 이동한 후 보기를 선택한 다음 보기 만들기를 선택합니다. 그러면 목록을 기반으로 폼과 보고서를 만드는 데 사용할 수 있는 Access 보기 옵션이 표시됩니다. 이 옵션을 클릭하고 Access 데이터베이스를 선택하면 그림 6과 같은 대화 상자가 나타납니다. 그림에서 볼 수 있듯이 이제 형식(폼 종류, 피벗 차트, 피벗 테이블 또는 보고서)을 정의합니다. 이 프로세스가 완료되면 연결된 폼이나 보고서가 Access 데이터베이스에 생성됩니다.

그림 6 Access 보기 만들기 (더 크게 보려면 이미지를 클릭하십시오.)

오프라인 액세스

실제 환경에서 중요 업무용 응용 프로그램의 범위를 확장하면 ROI가 발생합니다. Access/SharePoint 통합 응용 프로그램의 범위를 확장하는 한 가지 방법은 응용 프로그램을 사용하기 위해 SharePoint에 연결할 필요가 없다는 점을 인식하는 것입니다. 이러한 융통성을 지원하기 위해 Access 2007에는 오프라인으로 작업할 수 있는 기능이 도입되었습니다. 서버에 연결될 때까지 정보는 데이터베이스의 로컬 복사본에 캐시됩니다. 데이터베이스를 오프라인으로 전환하려면 리본 메뉴의 외부 데이터|SharePoint 목록 그룹에서 오프라인으로 작업 단추를 클릭합니다.

SharePoint에 다시 연결할 준비가 되면 온라인으로 작업이나 동기화를 선택할 수 있습니다. 두 옵션 모두 데이터를 업로드하고 충돌되는 부분을 표시하여 검토할 수 있도록 합니다. 그러나 동기화를 선택하는 경우 데이터는 업로드되지만 응용 프로그램은 오프라인 상태로 유지됩니다.

SharePoint 목록 그룹에서 주의해야 할 또 다른 항목은 두 가지 옵션이 포함된 변경 내용 취소입니다. 첫 번째 옵션은 모든 변경 내용을 취소하지만 Access에서 SharePoint 데이터를 업데이트하지는 않습니다. 두 번째 옵션은 모든 변경 내용을 취소하고 SharePoint 데이터(연결된 목록)를 업데이트합니다.

Access 서식 파일

Access 2007에는 사용자가 비즈니스 솔루션을 손쉽게 만들 수 있도록 미리 작성된 여러 가지 서식 파일이 포함되어 있습니다. 만들기 탭에 있는 테이블 그룹에서 SharePoint 목록 단추를 클릭하면 이러한 서식 파일을 볼 수 있습니다(그림 7 참조). 서식 파일 중 하나를 선택하면 SharePoint에 연결된 테이블의 스키마가 자동으로 정의됩니다. 현재는 연락처, 작업, 문제점 및 이벤트만 지원됩니다. 따라서 이러한 정보 유형 중 하나가 포함된 테이블을 내보내면 데이터가 해당 콘텐츠 형식으로 나타납니다(예: 문제점 정보 유형을 내보내면 문제점 형식으로 나타남).

그림 7 목록 유형 선택

SharePoint 목록에 사용할 수 있는 사용자 지정 서식 파일을 만들거나 자동 연결되는 Access 2007 데이터베이스를 사용하여 SharePoint 사이트 서식 파일을 만들 수도 있습니다. 이를 위해서는 Access 2007 Developer Extensions가 설치되어 있어야 하고 테이블의 WSSTemplateID를 설정해야 합니다. 이 속성은 어떤 테이블이 해당 SharePoint 목록 서식 파일을 가지고 있는지 추적합니다.

Access 메타데이터

보안이 설정된 Access 응용 프로그램을 사용하는 기업은 이러한 응용 프로그램을 모두 SharePoint로 이동할 수 없거나 이동하고 싶지 않을 수도 있습니다. 이러한 경우에는 Access에서 코드를 작성하여 SharePoint를 업데이트하는 것이 적절할 수도 있습니다. 코드를 사용하여 SharePoint와 Access를 연결할 수 있습니다.

간단한 예로 제품, 공급업체 및 고객 주문에 대한 정보가 저장된 Northwind Trader 데이터베이스를 들 수 있습니다. 각 제품에는 일반적으로 협력업체에서 제공하는 .pdf 파일 형식의 제품 시트가 연결되어 있습니다. Access 데이터베이스는 지리적 위치, 제품 번호, 수정 기록, 회사 부서 코드 등 제품 시트에 포함된 모든 정보를 추적합니다. 이 정보는 SharePoint 엑스트라넷을 통해 공급업체와 협력업체에서 사용할 수 있어야 합니다.

이를 위해 SharePoint 사이트를 설정하고 모든 문서를 연결된 문서 라이브러리로 이동했습니다. 그러나 그림 8에서 볼 수 있듯이 메타데이터 필드는 비어 있는데 이는 해당 데이터가 Access에서 추적되기 때문입니다. 또한 이를 모니터링하는 담당자가 Access를 선호할 뿐만 아니라 변화를 바라지 않습니다.

그림 8 메타데이터가 누락된 상태로 SharePoint 표시된 Northwind 문서 (더 크게 보려면 이미지를 클릭하십시오.)

다행히 그림 9에서 볼 수 있듯이 Visual Basic® for Applications(VBA) 코드를 추가하여 Access 응용 프로그램을 통해 메타데이터를 업데이트할 수 있습니다. 응용 프로그램을 다시 작성할 필요는 없습니다. 직원들은 이전부터 사용하던 도구로 웹에서도 작업할 수 있으며 협력업체는 부여받은 사용 권한에 따라 엑스트라넷에 액세스하여 허용된 정보를 볼 수 있습니다. 또한 동시성이나 데이터베이스 크기 문제는 발생하지 않습니다.

그림 9 코드를 사용하여 메타데이터 업데이트 (더 크게 보려면 이미지를 클릭하십시오.)

기본 제공 보안

Access 응용 프로그램을 SharePoint로 이동하는 경우 얻을 수 있는 가장 큰 이점 중 하나는 Active Directory® 인증이 기본적으로 포함된 SharePoint 보안 모델을 사용할 수 있다는 것입니다. 즉, 스키마와 테이블을 만든 다음 사용자를 추가하여 Access 응용 프로그램에 보안을 구현하는 방법에 대해 더 이상 신경쓸 필요가 없습니다. SharePoint 목록을 사용하는 경우 사용자가 자신에게 허용된 정보만 볼 수 있도록 하는 SharePoint 고유의 기능인 보안 조정을 활용할 수 있습니다. 그뿐만 아니라 SharePoint로 이동하고 싶지 않은 데이터베이스 구성 요소가 있는 경우 해당 구성 요소는 이동하지 않아도 됩니다.

SharePoint는 세분화된 역할 기반 보안 모델을 제공합니다. 데이터베이스 이동 방법 및 이동 위치를 결정할 때는 마이그레이션에 앞서 사이트와 보안을 디자인해야 합니다. 이렇게 하면 사용 권한을 설정하고 테스트하기가 쉽습니다. 또한 마이그레이션에 따르는 문제가 줄어들고 Access 데이터베이스가 보다 효율적으로 실행됩니다.

참조 무결성

참조 무결성에 대해서는 간단히라도 살펴보아야만 설명이 부족하지 않을 것입니다. 사실 SharePoint는 Access와는 달리 참조 무결성을 적용하지 않습니다. 대부분의 설치는 일정 수준에서 정규화됩니다. 중요 업무용 Access 데이터베이스가 올바르게 작동하려면 바로 이 점을 고려해야 합니다. 다행히 기존 시스템에 대한 향상 기능으로 간주할 수 있는 몇 가지 해결 방법이 있습니다.

앞서 데이터베이스를 SharePoint로 이동할 때 자식 테이블을 이동하면 해당 부모 테이블도 이동된다고 언급한 바 있습니다. 그뿐만 아니라 SharePoint에서는 선택한 특정 필드가 다른 테이블에 기반을 두고 있음을 파악한 경우 조회 필드를 사용합니다. 예를 들어 Northwind Traders 데이터베이스에서 고객이 선택되고 주문이 이루어졌다고 가정해 보십시오. 이러한 테이블이 SharePoint로 이동되면 고객 필드가 주문 목록에서 조회 필드가 됩니다.

연속적인 업데이트/삭제 작업 및 이보다 복잡한 작업의 경우는 어떨까요? 이와 같은 경우에는 SharePoint와 SharePoint 워크플로를 잠재적 솔루션으로 고려해야 합니다. 다시 Northwind Traders 데이터베이스로 돌아가서 고객이 전화를 걸어 기존 주문을 취소했다고 가정해 보십시오. 이 경우 재고를 원래대로 되돌리고, 공급업체에 이 사실을 알리고, 해당 주문에 연결된 직원이 고객에게 연락을 취해 주문 취소를 확인하고, 납품을 취소하고, 회계 정보를 업데이트하는 등의 여러 가지 작업이 시작됩니다. 이로 인해 많은 부분이 이동되고 조정되어야 합니다.

SharePoint Designer를 사용하면 주문 상태가 변경되는 즉시 앞서 설명한 모든 작업을 수행하는 워크플로를 SharePoint에서 만들 수 있습니다. 22개의 워크플로가 기본적으로 제공되며 수백 가지 작업에 맞게 이를 수정하여 사용할 수 있습니다. SharePoint Designer는 사이트를 꾸미거나 워크플로를 만드는 경우 모두에 유용한 도구입니다.

SharePoint Designer를 사용하여 워크플로를 만들 때 가장 좋은 점은 Access "프로그래밍" 방법을 알고 있는 사용자에게 친숙한 기술이 사용된다는 것입니다. 즉, Access 응용 프로그램을 만드는 사용자는 별다른 어려움 없이도 자신의 기술 지식을 워크플로 생성 분야로 확대할 수 있습니다. 워크플로를 만드는 데 SharePoint Designer를 사용할 경우 별도의 코드를 작성할 필요가 없으며 워크플로 배포 또한 매우 간단합니다.

posted by 엘도라도29
BDD 2007을 사용한 간단하고 확장 가능한 배포
2008/04/21 20:29 기술 잡지

Windows 배포에 관여하고 있는 사람은 대부분 Microsoft Solution Accelerator for Business Desktop Deployment에 대해 들어보았을 것입니다. BDD라고도 알려진 이 솔루션은 클라이언트 데스크톱에 Windows®를 쉽게 배포할 수 있도록

개발된 도구와 최상의 방법 지침을 모아 놓은 솔루션입니다. Windows Vista®에는 BDD 2007이라는 Solution Accelerator의 업데이트가 포함되어 있습니다. 이 버전에는 Systems Management Server(SMS) 2003의 후속 버전인 System Center Configuration Manager 2007을 기반으로 하는 새로운 Microsoft® Management Console(MMC)과 Task Sequencer가 포함되어 있습니다.

BDD 2007의 기능 중 완벽한 배포 솔루션으로서 작동하는 기능은 잘 알려져 있지 않습니다. 이전 버전의 BDD는 관리 및 반복 가능한 방식으로 데스크톱 이미지를 만들고 유지 관리하는 데 필요한 기능을 제공했습니다. BDD 2007에서는 BDD와 Windows 배포 서비스(WDS), SQL ServerTM 및 Windows Server® 2003 분산 파일 시스템 복제(DFS-R)를 결합하여 확장 가능한 배포 솔루션을 구축할 수 있는 추가 기능도 제공합니다.

잠깐! 그런데 지금까지는 Operating System Deployment(OSD) Feature Pack을 SMS 2003과 함께 사용하는 것이 권장되는 Windows 클라이언트 배포 방식이 아니었습니까?

맞습니다. SMS 2003 인프라가 이미 구축되어 있다면 BDD 2007, SMS 2003 및 OSD Feature Pack을 배포에 사용해야 합니다. 현재로서는 이 방식이 무인 배포를 구현할 수 있는 가장 포괄적인 방법이며, 이를 통해 조직에서 Windows를 구성, 설치 및 관리하는 비용을 실질적으로 절감할 수 있습니다.

그러나 SMS 2003이나 이와 동일한 기능의 소프트웨어 배포 솔루션을 보유하지 못한 고객이 많습니다. 이러한 고객은 이 기사에서 소개하는 다른 방법을 사용할 수 있습니다.

BDD 2007 핵심 개념

BDD 2007에서는 두 가지 기본 배포 방법을 제공합니다. 첫 번째 방법은 BDD 2007만 사용하여 클라이언트를 배포하는 Lite Touch Installation 방식입니다. 이 기능은 기본적으로 빌드 시에 클라이언트에 할당할 컴퓨터 이름(그림 1 참조), 사용할 자판 배열 및 표준 시간대 등 배포와 관련한 정보를 캡처하는 여러 가지 마법사를 제공합니다. 이 방식을 "Lite Touch"라고 하는 이유는 일반적으로 빌드 프로세스를 시작하기 전에 이 정보를 수집하는 데 최소한의 수동 입력이 필요하기 때문입니다.


그림 1 BDD 2007 Lite Touch 배포 마법사 (Click the image for a smaller view)


그림 1 BDD 2007 Lite Touch 배포 마법사 (Click the image for a larger view)

두 번째 방법은 BDD 2007과 통합된 SMS 2003 및 OSD Feature Pack에 기반을 두는 Zero Touch Installation 방식입니다. 이 구성은 완전히 자동화되고 확장 및 관리 가능한 무인 배포 솔루션을 제공할 수 있습니다.

빌드 시에 클라이언트 OS 배포의 첫 단계에서 BDD 2007은 여러 출처에서 정보를 수집합니다. 이러한 정보 출처에는 WMI 호출, BDD 2007 구성 파일(Bootstrap.ini 및 CustomSettings.ini) 등이 있습니다. 수집된 정보는 배포 프로세스 전반에 걸쳐 사용될 수 있도록 변수로 저장됩니다. Lite Touch 시나리오의 경우 배포 마법사에 수동으로 입력하여 수집해야 하는 모든 정보를 Bootstrap.ini 파일과 CustomSettings.ini 파일에 미리 정의해 둘 수 있습니다.

빌드 시에 Lite Touch 마법사에서 캡처해야 할 모든 정보를 미리 지정함으로써 SMS 2003이 지원하지 않는 환경에서 전체 Lite Touch 프로세스를 자동화하여 Zero Touch 솔루션으로 전환할 수 있습니다. 미리 정의할 수 있는 정보로는 RDG0001VDT라는 이름을 컴퓨터에 할당하는 ComputerName=RDG0001VST, 컴퓨터 표준 시간대를 그리니치 표준시로 설정하는 TimeZoneName=GMT Standard Time 등이 있습니다. BDD를 사용한 배포에 사용할 수 있는 모든 속성은 technet.microsoft.com/library/bb490302.aspx의 구성 참조에 자세히 나와 있습니다.

BDD 2007 설치 및 사용에 대한 자세한 내용은 TechNet Magazine 2007년 9월호에서 "BDD 2007을 사용한 Windows Vista 배포"(technetmagazine.com/issues/2007/09/BDD) 기사를 참조하십시오.

BDD 및 SQL Server

왜 데이터베이스를 BDD 2007과 같이 사용할까요? 이 질문에 대한 답은 Lite Touch Installation 마법사를 통해 수동으로 입력해야 할 정보를 배포 시에 동적으로 제공하는 방법과 관련이 있습니다. 앞서 설명했듯이 이러한 정보는 CustomSettings.ini 파일을 사용하여 제공할 수 있습니다. 그런데 문제는 실제 배포 시나리오에서는 배포 대상 컴퓨터에 따라 이러한 정보가 달라진다는 것입니다. 게다가 500개의 서로 다른 컴퓨터에 대한 구체적인 옵션과 설정을 정의하려고 하면 CustomSettings.ini 파일이 금방 관리할 수 없을 만큼 커져버릴 수 있습니다. 그런데 BDD 콘솔에 백 엔드 데이터베이스를 연결하면 동적이고 확장 가능하면서 훨씬 관리하기 쉬운 솔루션을 추가할 수 있습니다.

SQL Server를 BDD 2007과 통합하는 방법에 대해 조금 더 알아봅시다. 먼저 SQL Server(SQL Server 2005 이상 권장)가 배포 서버에 설치되어 있는지 확인해야 합니다. 다행스럽게도 BDD 2007에 데이터베이스를 만드는 단계는 매우 간단합니다. 즉, BDD 2007 Deployment Workbench(배포 워크벤치)에서 Database(데이터베이스) 노드를 마우스 오른쪽 단추로 클릭하고 New(새로 만들기)를 클릭한 다음 화면의 지시에 따르기만 하면 됩니다(그림 2 참조). BDD 팀에서는 시작 및 실행을 빠르고 쉽게 수행할 수 있는 뛰어난 마법사를 개발했습니다.


그림 2 BDD 2007 배포 데이터베이스 구성 (Click the image for a smaller view)


그림 2 BDD 2007 배포 데이터베이스 구성 (Click the image for a larger view)

데이터베이스를 만들었으므로, 이제 기능을 살펴볼 차례입니다. 데이터베이스의 항목은 Computer(컴퓨터), Role(역할), Location(위치) 및 Make and Model(제조업체 및 모델)이라는 네 가지 기본 범주로 분류됩니다. 각 범주별로 항목을 정의하고, 정의하는 각 항목에 대해 BDD 2007 변수로 채우고, 응용 프로그램을 할당하고, 기타 주요 설정을 구성할 수 있습니다(그림 3 참조).


그림 3 배포 속성 할당 (Click the image for a smaller view)


그림 3 배포 속성 할당 (Click the image for a larger view)

이 네 가지 범주는 두 개의 그룹으로 살펴보는 것이 좋습니다. Computer(컴퓨터), Location(위치) 및 Make and Model(제조업체 및 모델) 범주는 각각 빌드 시에 컴퓨터를 식별하는 고유한 방법을 제공합니다. 식별된 각 컴퓨터는 데이터베이스에서 영업, 마케팅, 재무 등의 특정한 역할에 연결하여 특정 용도로 제공할 수 있습니다. 이때 각 역할별로 관련 기간 업무(LOB) 응용 프로그램이 설치되어 있어야 합니다.

Computer(컴퓨터) 구역을 통해서는 MAC 주소, 자산 태그, UUID(Universal Unique Identifier) 또는 일련 번호로 컴퓨터를 식별할 수 있습니다. 이 구역에서는 항목이 많이 생성될 수 있으므로 조직에서 컴퓨터별로 하나의 항목만 생성하고, ComputerName과 같은 고유한 속성만 각 항목에 추가해야 합니다.

Location(위치) 구역을 통해서는 조직과 관련 있는 특정한 지리적 위치별로 항목을 만들 수 있습니다. 각 항목은 해당 위치의 기본 게이트웨이로 식별됩니다. 이는 Active Directory®에 위치 기반 OU(조직 구성 단위)가 있고 특정 위치에 구축된 컴퓨터를 그 위치에 해당하는 OU의 도메인에 추가해야 하는 경우에 특히 유용합니다.

Make and Model(제조업체 및 모델) 구역을 통해서는 배포에서 지원해야 하는 하드웨어 종류별로 항목을 만들 수 있습니다. BDD 2007은 이 정보를 WMI 호출을 통해 검색된 정보와 비교합니다. 배포 환경에서 Make and Model(제조업체 및 모델) 구역은 Make and Model(제조업체 및 모델) 속성이 "Microsoft Corporation"인지 또는 "Virtual Machine"인지를 검사하여 컴퓨터가 Virtual PC 2007인지, Virtual Server 2005 가상 컴퓨터인지를 확인할 수 있는 항목을 만드는 데 일반적으로 사용됩니다. 빌드 시에 이러한 속성을 확인하는 경우 Make and Model(제조업체 및 모델) 항목에 가상 컴퓨터용 추가 프로그램을 추가하기만 하면 배포 시에 이러한 응용 프로그램을 설치하도록 BDD에 지시할 수 있습니다.

지금까지 컴퓨터 식별 방법을 살펴보았으므로 이제 Roles(역할) 구역을 사용하여 제공할 각 배포 역할별로 항목을 만들어 봅니다. 예를 들어 BDD에 정의된 Windows XP 또는 Windows Vista 빌드에 해당하는 BuildID 속성을 각 항목에 추가하여 Windows XP 역할 및 Windows Vista 역할에 대한 항목을 구성할 수 있습니다. 또한 회계, 영업 또는 재무와 같은 부서 역할을 지정할 수도 있습니다. 필자는 이 구역에 표준 시간대, 국가별 설정, 조직 정보 등 대부분의 BDD 속성을 채웁니다. 이렇게 하면 항목이 특정 컴퓨터, 하드웨어 또는 위치에 한정되지 않으므로 데이터베이스 관리 부담이 최소화됩니다.

배포 시에 데이터베이스에서 현재 빌드 중인 컴퓨터에 해당하는 항목이 있는지 검색하도록 BDD 2007에 지시해야 합니다. 배포 시에 데이터베이스를 사용하도록 BDD를 구성하려면 배포 지점을 마우스 오른쪽 단추로 클릭하고 Configure DB(DB 구성)를 클릭합니다. 그러면 Lite Touch Installation 프로세스에서 데이터베이스에 정보를 쿼리하도록 하는 항목을 CustomSettings.ini 파일에 채우는 일련의 마법사가 실행됩니다.

확장 가능한 배포 만들기

이제 Lite Touch Installation을 자동화하고 특정 업무 역할에 맞게 작동하도록 각 컴퓨터를 동적으로 제공할 수 있는 배포 서버가 준비되었습니다. 하지만 이 솔루션을 확장하려면 어떻게 해야 할까요?

솔루션의 아키텍처는 그림 4와 같이 허브 및 스포크 토폴로지를 기반으로 합니다. 설치하는 첫 번째 배포 서버가 허브인 동시에 부모 배포 서버가 되며 각 자식 배포 서버는 스포크 역할을 합니다.


그림 4 허브 및 스포크 배포 아키텍처 (Click the image for a smaller view)


그림 4 허브 및 스포크 배포 아키텍처 (Click the image for a larger view)

이 아키텍처를 사용하려면 DFS-R을 이용하여 배포 공유를 각 배포 서버에 복제해야 합니다. 그런 다음 SQL Server 스냅숏 복제를 사용하여 BDD 배포 데이터베이스의 복사본을 각 자식 배포 서버에 제공합니다. 이 솔루션의 장점은 자식 배포 서버의 요구 사항이 최소화된다는 점입니다. 즉, 각 컴퓨터에 SQL Server Express, WDS 및 DFS-R만 설치되어 있으면 배포가 가능합니다.

BDD 2007 배포 공유에는 많은 양의 데이터가 저장될 수 있기 때문에 이전 버전의 Windows Server에서 제공되는 파일 복제 서비스 대신 Windows Server 2003 R2의 DFS-R을 사용하는 것이 좋습니다. DFS-R은 RDC(원격 차등 압축)를 사용하여 복제 그룹 구성원 파일 간의 차등(델타) 변경 내용만 복제합니다. 이는 새 드라이버와 같은 사소한 변경 내용이 사용자 지정 이미지 파일에 적용된 경우 복제 트래픽의 양에 큰 영향을 줄 수 있습니다. DFS-R을 사용하면 전체 이미지 파일을 다시 배포하는 대신 변경 내용의 크기에 해당하는 복제 트래픽만 발생합니다.

DFS와 관련한 정보는 Microsoft 웹 사이트에서 많이 볼 수 있지만(기본적인 정보의 예로 microsoft.com/windowsserver2003/technologies/storage/dfs를 들 수 있음) BDD 기반 배포와 관련한 프로세스의 개요를 살펴볼 수 있도록 기본 설치 및 구성 단계를 소개하도록 하겠습니다.

서버에서 R2 이전 버전의 Windows Server 2003 설치를 기반으로 하는 Active Directory를 실행하는 경우 복제 서비스에 새 개체 클래스가 필요하므로 DFS-R을 허용하려면 Active Directory 스키마를 업데이트해야 할 수 있습니다. Windows Server 2003 R2에서 Active Directory 스키마를 확장하는 데 대한 자세한 내용은 go.microsoft.com/fwlink/?LinkId=99936을 참조하십시오.

첫 번째 단계로 Windows Server 2003 R2 배포 서버에 DFS 구성 요소를 설치해야 합니다. 이 구성 요소는 여러 가지 방법으로 설치할 수 있습니다. 가장 간단한 방법으로는 Windows 구성 요소 추가/제거 마법사를 사용하는 방법이 있습니다. 설치가 끝나면 그림 5에 나와 있는 DFS Management(DFS 관리) 콘솔을 사용하여 복제 그룹을 설정해야 합니다.


그림 5 DFS 관리 콘솔 (Click the image for a smaller view)


그림 5 DFS 관리 콘솔 (Click the image for a larger view)

BDD 2007 배포 솔루션을 확장하려면 폴더 두 개를 복제해야 합니다. 그 중 첫 번째는 BDD 원본 파일과 구성 파일이 모두 들어 있는 BDD 2007 배포 공유입니다. 이 폴더에 있는 파일은 각 배포 서버에 제공되어야 합니다.

복제할 두 번째 폴더는 WDS에서 LiteTouch_x86.wim 파일을 보관하는 데 사용하는 Boot 폴더입니다. 이 파일은 배포 프로세스를 시작하기 위해 WDS에서 데스크톱 클라이언트 컴퓨터로 전달하는 BDD 부팅 환경입니다. 이 파일을 복제하여 부모 배포 서버의 부팅 환경이 변경되면 나머지 배포 인프라에도 변경 내용이 복제되도록 해야 합니다.

복제할 경로는 X:\Distribution과 Y:\RemoteInstall\boot입니다. 여기서 X와 Y는 각각 BDD 2007 설치 시에 지정한 드라이브 문자와 WDS RemoteInstall 공유가 있는 볼륨의 드라이브 문자입니다.

DFS-R의 복제 기능은 다중 마스터 복제 모델을 따르기 때문에 단방향 복제 토폴로지는 만들 수 없습니다. 따라서 배포 공유를 중앙 집중식으로 관리하려면 각 자식 배포 서버의 Distribution 폴더를 읽기 전용으로 구성해야 합니다. 이렇게 하면 백업 및 복원 권한을 사용하는 DFS-R 복제 기능만 폴더에 쓸 수 있습니다. 이러한 자식 서버에서 빌드되는 클라이언트 컴퓨터는 이 폴더에 쓸 일이 없기 때문에 읽기 권한보다 높은 수준의 권한을 부여할 필요가 없습니다.

DFS-R을 사용하여 데이터를 복제하는 데 필요한 마지막 구성 단계는 WDS에서 BCD(부팅 구성 데이터) 저장소 새로 고침 정책을 설정하는 것입니다. 이렇게 하면 부팅 환경이 변경된 경우 각 자식 배포 서버에도 변경 내용이 반영됩니다. 이 구성 변경 설정은 모든 WDS 서버에 설정해야 하며, 배포 서버를 제공하는 빌드와 구성 프로세스에 이 설정을 포함하는 것이 좋습니다.

각 배포 서버에서 다음 명령을 실행합니다.

WDSUTIL /set-server /BCDRefreshPolicy /Enabled:yes /RefreshPeriod:<time in minutes> 

새로 고침 간격은 배포 서버에서 얼마나 자주 데이터를 새로 고치는지에 따라 결정됩니다. 한 시간마다 복제하도록 DFS-R을 구성한 경우 60분마다 새로 고치도록 BCD 저장소 새로 고침 정책을 구성하는 것이 좋습니다.

SQL Server 복제

지금까지 주 배포 서버에서 각각의 자식 배포 서버로 BDD 배포 공유와 WDS 부팅 이미지를 복제하도록 BDD 2007을 확장해 보았습니다. 이제 프로세스를 완료하고 각 배포 서버에서 로컬로 사용할 수 있도록 BDD 2007 Deployment Workbench(배포 워크벤치) 데이터베이스를 복제해야 합니다.

SQL Server는 제품 설명서에서 설명하듯이 잡지 게시 방법과 유사한 복제 방식을 사용합니다. 잡지의 경우 잡지를 제작하는 게시자, 게시자를 대신해 잡지를 배포하는 배포자, 잡지를 구독하고 받아보는 구독자가 있습니다. SQL Server의 기본 제공 복제 기능에도 이와 동일한 용어가 사용됩니다.

SQL Server 데이터베이스 게시자가 되려면 서버에서 SQL Server Express Edition을 실행해서는 안 되며, 반드시 SQL Server의 정식 버전을 사용해야 합니다. 필자는 주 배포 서버에 SQL Server 2005(SQL Server 2000도 지원됨)를 사용합니다. 각 자식 배포 서버에는 SQL Server 2005 또는 SQL Server 2005 Express를 사용할 수 있습니다.

SQL Server 복제를 구성하기 전에 먼저 SQL Server가 복제를 지원하도록 올바르게 구성하는 데 필요한 몇 가지 단계를 수행해야 합니다. 배포 서버를 제공할 때에는 SQL Server 2005 또는 SQL Server 2005 Express Edition 설치 시 복제 구성 요소를 포함해야 합니다. 기본적으로 SQL Server Express는 복제 구성 요소를 설치하지 않습니다.

다음으로 Lite Touch 부팅 환경에서 SQL Server에 원격으로 연결할 수 있도록 하려면 SQL Server에서 원격 연결을 사용하도록 설정해야 합니다. 원격 연결이 가능하도록 SQL Server을 구성하려면 SQL Server 노출 영역 구성 도구를 시작하고, 서비스 및 연결에 대한 노출 영역 구성을 선택하고, TCP/IP 및 명명된 파이프로부터의 로컬 연결과 원격 연결을 모두 허용하도록 서버를 구성합니다.

그런 다음 주 배포 서버에서 각 자식 배포 서버의 복제 에이전트에서 읽을 복제 스냅숏 데이터를 보관할 공유 폴더를 만듭니다. 이 공유 폴더에 대해서는 나중에 설명하도록 하겠습니다. 필자는 이 폴더를 주로 나머지 배포 콘텐츠와 동일한 볼륨에 둡니다.

마지막 설치 단계는 자식 배포 서버에 SQL Server Express Edition이 설치된 경우에만 필요합니다. SQL Server Browser 서비스는 기본적으로 해제되어 있습니다. 복제를 허용하려면 이 서비스가 자동으로 시작되도록 설정해야 합니다. 이 서비스는 SQL Server 구성 관리자 도구를 사용하여 구성할 수 있습니다. 또한 자식 서버에 복제한 콘텐츠를 저장할 데이터베이스를 만들어야 합니다. 필요한 추가 구성 작업을 최소화하려면 이 데이터베이스의 이름을 주 배포 서버의 BDD 2007 데이터베이스 이름과 동일하게 유지해야 합니다.

복제 설정

이제 SQL Server 복제를 구성할 준비가 되었습니다. 먼저 SQL Server 2005의 정식 버전을 실행하는 마스터 배포 서버에서 SQL Server Management Studio를 시작합니다. 그리고 첫 단계로 배포를 만들고 구성합니다. 이 작업을 수행하려면 그림 6과 같이 관리 콘솔의 Replication(복제) 폴더로 이동합니다. Replication(복제) 폴더를 마우스 오른쪽 단추로 클릭하고 Configure Distribution(배포 구성)을 선택하여 배포 마법사를 시작합니다.


그림 6 SQL Server Management Studio: 복제 (Click the image for a smaller view)


그림 6 SQL Server Management Studio: 복제 (Click the image for a larger view)

마법사에서 주 배포 서버가 자체 배포자 역할을 하도록 합니다. 루트 스냅숏 폴더를 앞서 만든 SQL Server 복제 공유의 UNC 경로로 설정합니다. 마지막으로 게시자로 구성되도록 주 배포 서버를 설정합니다.

이 마법사가 서버를 게시자 및 배포자로 구성하면 SQL Server에 게시할 데이터베이스를 알려야 합니다. 이를 위해서는 복제 폴더를 마우스 오른쪽 단추로 클릭하고 게시자 속성을 클릭합니다. 그림 7과 같이 속성 대화 상자에서 Publication Databases(게시 데이터베이스)를 선택하고 트랜잭션 복제에 사용할 BDD 2007 데이터베이스를 선택합니다. 지금은 사실 트랜잭션 복제를 사용하는 것이 아니지만 스냅숏 복제이든, 트랜잭션 복제이든지에 관계없이 같은 옵션을 선택합니다.


그림 7 데이터베이스 게시 (Click the image for a smaller view)


그림 7 데이터베이스 게시 (Click the image for a larger view)

이제 자식 배포 서버가 구독할 수 있는 게시를 만들어야 합니다. 복제 폴더에서 로컬 게시를 마우스 오른쪽 단추로 클릭하고 새 게시를 클릭하여 게시 마법사를 시작합니다. BDD 데이터베이스를 게시할 데이터베이스로 선택합니다. 게시 유형으로 스냅숏 복제를 선택하고 모든 테이블, 저장 프로시저 및 보기를 복제하도록 지정합니다. 이때 초기 스냅숏이 즉시 생성되도록 선택해야 합니다. 스냅숏 에이전트 실행을 예약하는 경우 데이터베이스를 자주 변경하지 않는다면 기본적으로 하루에 한 번만 실행해도 충분합니다.

마지막 단계로, 각 자식 배포 서버가 이 게시를 구독하도록 해야 합니다. 이렇게 하면 SQL Server가 지정된 간격으로 데이터베이스의 복사본을 각 자식 배포 서버로 밀어넣게 됩니다. 복제 폴더의 로컬 게시 하위 폴더에서 방금 생성된 게시를 찾아 마우스 오른쪽 단추로 클릭한 다음 새 구독을 선택하여 구독 마법사를 시작합니다. 이 마법사에서 이전 단계에서 만든 BDD 게시를 선택합니다. 배포 시에 모든 에이전트를 실행하도록 선택하여 복제 토폴로지를 밀어넣기 구독으로 사용하도록 합니다. 그런 다음 각 자식 배포 서버를 구독자로 추가하고 각 서버에 만든 데이터베이스가 복제된 데이터의 복사본을 수신하도록 설정합니다. 이때 이 데이터베이스의 이름은 주 배포 데이터베이스의 이름과 동일하게 지정해야 합니다. 마지막으로 연결에 사용할 계정을 구성하고 복제 일정을 정의합니다. 이 일정은 스냅숏 에이전트에 대해 선택한 일정을 따라야 합니다. 지금까지 SQL Server 복제를 시작하고 실행하는 데 필요한 단계를 간단하게 살펴보았습니다. 이제 데이터가 너무나도 빠르게 복제되는 놀라운 경험을 직접 확인할 일만 남았습니다!

BDD 2007 구성

지금까지 데이터베이스를 사용하도록 BDD 2007을 구성하고 자식 배포 서버에 데이터베이스 복제와 BDD 2007 배포 공유를 설정했습니다. 이제 배포 솔루션을 완성하려면 클라이언트에서 BDD 부팅 환경을 다운로드할 때 로컬 배포 서버에 자동으로 연결하도록 BDD 2007을 구성해야 합니다.

Lite Touch Windows PE 환경에 부팅할 때 WDS 서버에서 클라이언트를 부팅한 경우 클라이언트에서 부팅 환경을 다운로드한 서버의 이름을 저장하는 레지스트리 값이 Windows PE에 설정됩니다. 초기 BDD 2007 배포 스크립트는 이 값을 가져와 %WDSServer%라는 환경 변수에 저장합니다.

초기 BDD 2007 릴리스를 사용하는 경우 Windows PE 레지스트리에 이 값이 올바르게 채워지지 않을 수 있습니다. 이러한 동작을 수정하는 업데이트는 support.microsoft.com/kb/937191에서 다운로드할 수 있습니다.

BDD 2007을 구성하려면 배포 서버에 대한 모든 참조가 %WDSServer%로 대체되도록 BootStrap.ini 및 CustomSettings.ini 구성 파일을 편집하기만 하면 됩니다. 일반적으로 이 과정에서는 SQL Server 인스턴스 이름의 값과 배포 공유를 저장하는 서버의 DeploymentRoot 값을 바꿉니다. 그림 8그림 9에는 샘플 Bootstrap.ini 파일과 CustomSettings.ini 파일의 일부가 나와 있습니다.

이 솔루션에서는 WDS가 BDD 2007에서 복제한 데이터베이스 및 배포 공유를 저장하는 동일한 서버에 설치되어야 합니다. 그 이유는 %WDSServer% 변수를 사용하여 클라이언트 컴퓨터에 로컬 배포 서버 위치를 알리고 컴퓨터가 WAN을 통해 다시 통신하지 않도록 간단한 안전 장치를 제공하기 위함입니다.

추가 고려 사항

BDD 2007의 가장 큰 장점은 확장이 가능하다는 점이므로, 이 솔루션을 확장하는 것과 관련하여 여러 가지 측면을 추가로 고려할 수 있습니다. 예를 들어 기본 제공 기능을 사용하여 SQL Server와 DFS-R을 모니터링하거나, 자산 관리 데이터베이스의 정보를 사용하여 환경 내 컴퓨터를 채우는 방법을 설계하거나, SQL 저장 프로시저를 사용하여 해당 정보를 검색할 수도 있습니다. 아쉽게도 지면이 부족하여 여기서 이 주제에 대해 다룰 수는 없지만 조직에서 BDD의 기능을 활용하는 방법에 대해 기본적인 개념을 파악하는 계기가 되었기를 바랍니다.

posted by 엘도라도29
Windows Vista의 오프라인 파일 변경 내용
2008/04/19 20:27 기술 잡지

데스크톱 관리에서 가장 힘든 문제 중 하나는 오프라인 사용자에게 온라인에서 작업할 때와 동일한 작업 환경을 제공하는 것입니다. 5년 전에 비해서도 훨씬 더 복잡한 모바일 환경이 사용되고 있어 생각보다 더 많은 것이 필요합니다. 오프라인으로 작업해야 하는 경우가 많이 있지만

가장 일반적인 세 가지 경우로는 이동 중에 랩톱과 사무실 네트워크 간의 연결을 끊는 경우, 느리거나 간헐적으로 끊기는 링크를 통해 연결하는 경우, 지사와 본사 간의 연결이 끊기는 경우를 들 수 있습니다.

이러한 상황에서 파일 원본이 주 서버에 있는 동안 오프라인 컴퓨터에 있는 복사본을 유지 관리하려면 어떻게 할까요? 더욱 중요한 것은 집에서 일하는 누군가와 이동 중인 다른 누군가가 동시에 서버의 파일을 변경할 경우 충돌을 처리하는 방법입니다. 다행히도 이러한 문제는 Windows® 2000, Windows XP 및 Windows Vista®에 기본 제공된 오프라인 파일 엔진으로 처리됩니다.

캐시가 해답

오프라인 파일 엔진은 정말로 거대한 캐시 시스템입니다. 실제로 이면에서 그리고 Microsoft 내부에서는 이 엔진을 CSC(클라이언트 쪽 캐시)라고 합니다. 오프라인 파일 엔진은 구성이 가능하고 유연하기 때문에 관리자 여러분이 원하는 방식으로 시스템 캐시를 설정할 수 있을 뿐만 아니라 사용자가 원하는 캐시 항목을 직접 결정할 수도 있습니다. 이 엔진을 사용하면 온라인에서와 같은 파일에 오프라인으로 액세스할 수 있으며 네임스페이스가 바뀌지 않습니다. 즉, 온라인으로 작업하든 오프라인으로 작업하든 같은 UNC 경로나 드라이브를 사용하여 파일이 액세스됩니다.

수동으로 또는 자동으로 캐시할 파일을 설정할 수 있습니다. 이동 중에 특정 파일이나 폴더를 자주 사용할 경우에는 가지고 다닐 파일이나 폴더로 지정하면 됩니다. 이렇게 하려면 Windows XP 사용자는 로컬로 저장되거나 네트워크 공유에 저장된 파일을 마우스 오른쪽 단추로 클릭하고 파일을 오프라인으로 사용할 수 있도록 만드는 옵션(그림 1 참조)을 선택합니다. Windows Vista에서는 이 옵션을 항상 오프라인 사용 가능이라고 합니다. 수동으로 파일을 오프라인으로 사용할 수 있도록 만드는 것을 파일 고정(Pinning)이라고도 합니다.


그림 1 파일을 오프라인으로 사용할 수 있도록 만들기 (Click the image for a smaller view)


그림 1 파일을 오프라인으로 사용할 수 있도록 만들기 (Click the image for a larger view)


그림 1a 오프라인 파일 폴더

사용 중인 공유는 UNC 경로를 통해 연결하거나 드라이브 문자로 매핑할 수 있습니다. 실제로 파일은 Windows Server®를 실행 중인 시스템에 저장된 것이 아니어도 됩니다. SMB 프로토콜도 준수하는 Samba 서버나 NAS 장치(드물지만 약간의 예외가 있음)와 같이 SMB(서버 메시지 블록) 프로토콜을 따르는 모든 시스템에 상주할 수 있습니다.

처음으로 파일을 고정하도록 선택하면 Windows XP에서 일련의 마법사 화면을 차례로 안내하면서 동기화할 시기를 묻습니다. 모든 화면에서 다음을 클릭하고 기본값을 그대로 사용하면 로그온 또는 로그오프할 때마다 동기화가 발생하는데, 유휴 상태일 때는 백그라운드에서도 동기화가 발생합니다. 마법사가 완료되면 아이콘이 변경되어 이제 파일을 오프라인으로 사용할 수 있다고 알려 줍니다.

네트워크 연결을 끊은 후에는 오프라인으로 사용할 수 있도록 선택한 파일을 제외하고 공유에 있는 다른 모든 파일이 사용 불가능해집니다. 이로 인해 문제가 발생하는 경우가 있습니다. 즉, 항상 오프라인으로 사용할 수 있는 파일은 아이콘으로 알 수 있지만 다른 모든 파일은 연결을 끊은 후에야 사용할 수 없다는 것을 분명히 알 수 있습니다. 이에 대해서는 뒷부분에서 자세히 살펴보겠습니다.

수동으로 파일을 오프라인으로 사용할 수 있도록 만드는 것에도 나름의 장점이 있지만 이 작업을 보다 자동화된 방식으로 수행하는 편이 더 나은 경우가 있습니다. 다음에 자동 캐시라고도 하는 방법을 사용하여 이러한 시나리오를 살펴보겠습니다.

자동 캐시가 수동 캐시보다 더 나은 경우

자동 캐시는 서버에서 공유별로 설정됩니다. 따라서 Sales라는 공유가 있는 경우 판매원이 이동 중에 파일을 가지고 다닐 수 있도록 하려면 CSC 엔진에 그렇게 하라고 지시할 수 있습니다. 그림 2는 Windows Server 2003에서 캐싱 탭을 클릭할 때 나타나는 오프라인 설정 대화 상자를 보여 줍니다. 설정은 그림 3에서 설명합니다.


그림 2 Windows Server 2003의 오프라인 설정 대화 상자 (Click the image for a smaller view)


그림 2 Windows Server 2003의 오프라인 설정 대화 상자 (Click the image for a larger view)

자동 캐시의 작동 방식을 보기 위해 Sales01.txt에서 Sales10.txt까지 10개의 파일이 들어 있는 Sales 공유가 있고, 사용자가 공유에서 여는 모든 파일 및 프로그램을 자동으로 오프라인에서 사용할 수 있게 해주는 설정을 활성화했다고 가정하겠습니다. 결과가 즉시 명확해지는 것은 아닙니다. 사용자 측면에서 볼 때 갑자기 오프라인으로 더 많은 파일을 사용할 수 있게 되었음을 알려 주는 외형적인 신호가 없습니다. 또한 Windows에서 열어 캐시한 파일만 나중에 오프라인으로 사용할 수 있습니다. 간단히 말해 네트워크 연결을 실제로 끊기 전에 오프라인으로 사용할 파일을 온라인으로 실제로 열어야 합니다. 그렇지 않으면 필요할 때 오프라인으로 사용할 수 없습니다.

더욱이 자동 캐시된 파일이 캐시에 영구적으로 머물지 않을 수도 있습니다. Windows XP와 Windows Vista의 캐시 처리 방식은 약간 다르지만 핵심은 공간 제약에 따라 캐시에서 파일을 방출할 수 있다는 점입니다. 파일은 사용 시점을 기준으로 보관됩니다. 한동안 열지 않은 파일은 새로 연 파일에 필요한 공간을 확보하기 위해 방출됩니다. 따라서 최근에 작업한 파일이 캐시에 여전히 머물러 있을 확률이 높지만 자동 캐시가 파일의 가용성을 보장한다고는 가정하지 마십시오. 파일의 가용성을 보장하려면 파일을 고정해야 합니다. 관리자는 그룹 정책을 사용하여 관리적으로 지정된 오프라인 파일이라는 설정을 사용하여 파일을 고정할 수도 있습니다.

실제 작업 예를 살펴보겠습니다. EastSalesUser1이라는 Windows XP 사용자는 Sales05.txt 파일을, EastSalesUser2라는 Windows Vista 사용자는 \\server\sales 공유에 있는 Sales05.txt 파일을 열었다고 가정해 봅시다.

Sales 공유에 자동 캐시가 설정되었기 때문에 Windows XP의 EastSalesUser1과 Windows Vista의 EastSalesUser2가 오프라인으로 전환되더라도 여전히 이들 파일에 대해 작업할 수 있습니다. Windows에서 이들 파일의 복사본을 오프라인 파일 캐시에 저장했습니다. 그러나 사용자가 아직 사용하지 않은 다른 파일은 어떨까요?

그림 4와 5에 표시된 바와 같이 사무실에 남겨진 파일에 대한 Windows XP와 Windows Vista의 반응은 서로 다릅니다. Windows XP에서는 캐시되지 않은 채로 남겨진 파일의 존재 여부조차 알 수 없습니다. 오프라인으로 전환할 때 이들 파일이 사라질 뿐이므로 잠재적으로 혼란을 야기할 수 있습니다. 반대로 Windows Vista에서는 아이콘 오버레이가 발생하며 캐시되지 않은 파일에 대해 약간 희미한 X 표시가 나타나는데, 이는 오프라인으로 사용할 수 있는 파일을 표시함에 있어 비약적인 발전입니다. 유일한 문제는 온라인 세션 중에는 볼 수 없고 연결을 끊은 후에야 볼 수 있다는 것입니다. 따라서 파일 상태를 더욱 명시적으로 만드는 것은 아주 환영할만한 추가 기능입니다.


그림 4 Windows XP - 오프라인으로 전환한 후 사용할 수 있는 파일만 표시 (Click the image for a smaller view)


그림 4 Windows XP - 오프라인으로 전환한 후 사용할 수 있는 파일만 표시 (Click the image for a larger view)


그림 5 Windows Vista - 오프라인인 동안 사용할 수 없는 파일 표시 (Click the image for a smaller view)


그림 5 Windows Vista - 오프라인인 동안 사용할 수 없는 파일 표시 (Click the image for a larger view)

사용 가능 또는 사용 불가능

오프라인으로 분명히 사용할 수 있는 파일과 사용할 수 없는 파일 그리고 이들을 구별하는 방법 등에 대한 잠재적인 혼란 때문에 오프라인 파일 활용을 주저하는 관리자가 있습니다. 그림 5에서 sales01.txt 위의 녹색 원 아이콘은 파일의 가용성이 보장됨을 나타냅니다. 다시 말해 파일이 고정되면 오프라인에서의 가용성이 보장됩니다.

하지만 앞서 설명한 바와 같이 Windows XP와 Windows Vista 모두 자동 캐시를 통해 오프라인 사용을 설정한 Sales05.txt는 오프라인에서 사용하지 못할 수도 있습니다. 작업한 파일만 오프라인으로 사용할 수 있습니다. 따라서 시스템에서 파일이 오프라인으로 임시로 사용할 수 있거나 오프라인으로 사용할 가능성이 있음을 나타내는 편이 더 낫습니다. 아이콘에 차이가 나지 않으므로 오프라인으로 사용할 수 있는 파일을 결정하기가 혼란스러울 수 있습니다. Windows Vista UI가 더 낫지만 여전히 세심한 주의가 필요합니다. Windows Vista에서는 오프라인 사용 가능이라는 탐색기 속성이 가용성 정보를 제공합니다. 이 속성은 항목 선택 시 미리 보기 창에 표시됩니다. 항목이 고정된 경우 값은 "항상 가능"입니다. 고정되지 않았지만 캐시된 경우에는 값이 "사용 가능"입니다.

오프라인 임시 사용 가능의 원리는 Windows XP와 Windows Vista에서 비슷하지만 구현은 약간씩 다릅니다. 그림 6은 Windows XP와 Windows Vista의 오프라인 파일 처리 방법을 보여 줍니다.


그림 6 Windows XP와 Windows Vista의 오프라인 파일 영역

단순화하기 위해 Windows XP와 Windows Vista 모두 오프라인 파일을 한 곳에 보관하지만 항상 오프라인 사용 가능 파일과 오프라인 임시 사용 가능 파일은 운영 체제마다 약간씩 다르게 저장됩니다.

Windows XP의 경우 항상 오프라인 사용 가능 파일(그림 1에 표시된 바와 같이 바뀐 아이콘으로 알 수 있음)은 영구적으로 머무는 곳에 저장됩니다. 수동으로 10GB의 파일을 고정하여 항상 오프라인 사용 가능으로 만들면 항상 10GB를 모두 사용할 수 있습니다. 최대 파티션 크기를 빼고는 사용자가 고정할 수 있는 파일 개수에 제한이 없습니다. 하지만 Windows XP에서는 자동 캐시된 파일 크기가 최대 2GB입니다. 원리에 따르면 정기적으로 열리는 파일만 여기에 저장되고 한동안 사용하지 않은 파일은 필요할 때 방출됩니다. 기본적으로 임시 사용 가능 캐시에는 그림 7에 표시된 바와 같이 사용 가능한 하드 드라이브 공간의 10%가 할당되어 있습니다. Windows XP에서는 관리자만 이 설정을 사용할 수 있습니다.


그림 7 Windows XP에서 오프라인 파일의 디스크 공간 설정

Windows Vista에서도 파일을 영구적으로 또는 임시로 저장할 수 있습니다. 그러나 차이가 있습니다. 임시 파일 캐시는 전체 캐시 내에 포함됩니다. 기본적으로 전체 캐시(임시 파일과 항상 오프라인 사용 가능 파일을 모두 포함)는 사용 가능한 하드 드라이브 공간의 25%로 제한됩니다. 이것이 변경된 이유는 Windows XP에서는 사용자가 수동으로 파일 캐시를 유지하여(수십 기가바이트까지) 결국 하드 드라이브 공간을 모두 소모할 수 있기 때문입니다. 새로운 체계에서는 관리자가 전체 캐시에 대한 공간을 할당하여 이러한 현상이 발생하지 않도록 할 수 있습니다. 그림 8을 보면 사용 가능한 드라이브 공간의 25%가 혼란스럽게도 전체 드라이브의 15.2%로 표시되어 있습니다. 또한 임시 공간을 설정하는 두 번째 슬라이더는 모든 오프라인 파일의 최대 공간을 설정하는 첫 번째 슬라이더보다 높게 설정될 수 없습니다. 이들 오프라인 파일 디스크 사용 한도 슬라이더는 한도 변경 옵션을 클릭하여 액세스되지만 이렇게 하려면 관리자 자격 증명이 있어야 합니다.


그림 8 Windows Vista에서 오프라인 파일에 사용할 수 있는 공간

과도한 캐시 방지

폴더 리디렉션이라는 또 다른 Windows 기능을 사용하면 대개 시스템에 로컬로 존재하는 특정 주요 폴더가 실제로 서버에 저장되도록 할 수 있습니다. 이 개념은 로컬 시스템이 망가지는 경우를 걱정할 필요가 없도록 중요한 파일을 네트워크 공유에 복사본으로 유지하는 것입니다.

리디렉션된 내 문서 폴더(Windows XP의 경우)나 문서 폴더(Windows Vista의 경우)가 있다고 가정해 봅시다. 이 경우(실제로는 임의의 폴더가 리디렉션된 경우) 운영 체제에서는 사용자가 파일을 오프라인으로 항상 사용할 수 있기를 바란다고 간주하며 그림 1에 표시된 기호가 리디렉션된 폴더 내의 모든 파일에 수신됩니다. 단점은 잘 연결되어 항상 온라인 상태인 네트워크에 있을 때 새 시스템으로 로밍하면 하나의 세션에만 사용할 계획이더라도 리디렉션된 폴더의 전체 내용이 새 시스템에 캐시된다는 것인데, 이는 공간 낭비일 뿐 아니라 제대로 처리하지 않을 경우 보안 위험이기도 합니다.

파일이 알지 못하는 사이에 자동으로 캐시되는 또 다른 사례는 Windows 탐색기를 사용하여 공유에 있는 파일을 찾아보는 경우입니다. 자동 캐시가 설정된 경우 탐색기로 네트워크 공유에 있는 그래픽 파일들을 보기만 해도 해당 파일들이 자동으로 다운로드되어 캐시에 저장될 가능성이 매우 높은데, 이는 탐색기를 사용하여 파일을 건드리면 임시 오프라인 캐시에 저장될 가능성이 높기 때문입니다. 이미지의 미리 보기나 파일 크기와 같은 메타데이터를 가져오기 위해 공유에 있는 모든 파일을 건드리는 경우가 있습니다. 이것이 잘 연결된 빠른 링크를 통해 발생하면 별 문제가 없습니다. Windows에서 나중에 사용할 수 있게 파일을 빠르고 조용하게 캐시합니다. 그러나 느린 링크를 통해 자동 캐시가 있는 네트워크 공유에 연결되어 있을 때는 정말로 문제가 커질 수 있습니다. Windows XP 탐색기와 Windows Vista 탐색기의 경우에도 기본적으로 상황이 바뀌지 않았습니다. 다만 좋은 소식이라고 한다면 Windows Vista의 오프라인 캐시 엔진은 학습을 통해 느린 링크 인식 기능을 향상시킬 수 있다는 점입니다.

그룹 정책이 있는 오프라인 파일

Windows Vista 오프라인 파일의 주요 변경 내용

오프라인 파일 팀원들마다 각기 독자들에게 알리고 싶은 변경 사항이 있었지만 지면 부족으로 모두 싣지는 못했습니다. 따라서 아래에서 오프라인 파일의 주요 변경 내용을 간략히 소개하겠습니다.

1. 열린 핸들이 더 이상 전환을 차단하지 않으므로 오프라인에서 온라인으로 매끄럽게 전환됩니다.

2. 파일 단위 오프라인 세분성. 하나의 오프라인 공유가 더 이상 오프라인으로 전체 서버를 책임지지 않습니다.

3. Windows 탐색기의 온라인으로 작업\오프라인으로 작업 단추를 통한 강제 오프라인 모드

4. 캐시된 콘텐츠의 사용자 단위 암호화

5. 변경 내용 검색 및 분석 시 훨씬 더 빠른 새 동기화 엔진

6. Windows 검색과의 통합. 리디렉션된 폴더를 인덱싱할 수 있습니다.

7. 로컬-원격 동기화에서 차등 비트맵 전송 기능을 활용할 수 있습니다.

8. 동기화 센터를 통한 지연된 충돌 해결

9. 알림 영역 풍선이 사라져서 더 이상 사용자를 괴롭히지 않습니다.

10. 관리를 위한 새 종합적인 COM API 및 WMI 지원. MSDN®(msdn2.microsoft.com/bb530662)에 문서화되어 있습니다.

11. WMI 공급자를 통한 스크립트 지원. MSDN에서 곧 문서화됩니다.

12. 새 셸 항목 속성인 오프라인 상태 및 오프라인 사용 가능

13. 오프라인인 동안 사용할 수 없는 네임스페이스 요소를 나타내는 고스트 기능. 탐색기에서 이러한 요소는 회색 X 표시가 겹쳐진 희미한 항목으로 표시되어 온라인에서 오프라인으로 전환할 때 급격한 셸 폴더 보기 변경을 방지할 수 있도록 합니다.

14. 새 제어판 설정 애플릿

원할 경우 필자가 집필한 책과 Microsoft 설명서에서 자세한 정보를 찾을 수 있습니다.

앞서 설명한 바와 같이 사용자나 탐색기가 파일을 건드릴 때마다 전체 파일이 캐시에 저장됩니다. 해당 파일이 80MB의 Visio® 또는 Word 문서여도 마찬가지입니다. Windows XP와 Windows Vista 모두 느린 링크가 무엇인지 이해합니다. 실제로 Windows XP에서는 기본적으로 느린 링크가 64Kbps라고 간주합니다. 연결 속도가 이보다 빠르더라도 클라이언트가 Windows XP이면 로그온할 때 이 느린 파이프라인을 통해 해당 파일이 다운로드되어 사용자를 매우 당황스럽게 만듭니다. 따라서 느린 링크를 통해 수행할 작업을 더 잘 관리하도록 Windows를 구성하는 것이 가장 좋습니다. 잠시 후 살펴볼 테지만 이 작업은 대상 계정(Windows XP 또는 Windows Vista)을 포함하는 OU(조직 구성 단위)에 연결될 GPO(그룹 정책 개체)를 만들어 그룹 정책을 통해 수행할 수 있습니다.

사용자가 느린 링크를 통해 연결하면 Windows XP에서는 네트워크 복사본을 사용하기 전에 로컬로 캐시된 파일을 사용하려고 합니다. 이는 적절한 동작입니다. 그러나 Windows XP에서는 여전히 예상할 수 없는 무언가를 수행합니다. 즉, 사용자가 네트워크에서 열거나 탐색기가 건드리면 아직 해당 사용자의 캐시에 없는 큰 파일이 다운로드됩니다. 애석하게도 말입니다. 그리고 필자의 테스트에서 로그오프할 때 발생하도록 동기화 일정을 잡은 경우(기본값) 해당 파일의 나머지는 느린 링크를 통해 다운로드되어 캐시에 저장되었습니다. 아주 애석하게도 말입니다.

Windows Vista의 동작은 다릅니다. 기본적으로 어떠한 상황도 느린 것으로 인식하지 않습니다. 깡통과 실로 연결하여 초당 1비트를 가져온다 해도 Windows Vista는 이 연결을 빠른 연결로 취급하고 네트워크의 파일 복사본을 사용합니다. 그러나 Windows Vista는 학습을 통해 연결이 느린 경우에 어떤 공유로 전환해야 할지 파악할 수 있습니다. 따라서 그와 같은 경우가 발생할 때 전보다 상황이 호전됩니다. 그룹 정책을 사용하여 구성한 후에는 일반 파일과 탐색기 작업을 사용하여 느린 링크를 통해 slow-link-defined 공유의 콘텐츠를 사용할 수 없도록 Windows Vista가 작동합니다.

오프라인 파일 서비스가 수행하는 백그라운드 동기화는 느린 연결을 통해 발생하지 않습니다. 하지만 수동 동기화는 동기화 센터를 통해 수행할 수 있습니다.

느린 링크 처리를 수정하도록 Windows Vista를 구성하는 작업은 느린 링크 모드 구성(비슷한 이름의 Windows XP 설정인 저속 링크 구성과 혼동하지 말 것)이라는 그룹 정책 설정을 통해 수행됩니다. 느린 링크 모드를 구성하는 데는 연결이 느릴 때 자동으로 오프라인으로 전환할 서버 및 공유 이름, 그리고 해당 서버\공유 조합이 오프라인으로 전환되는 느린 연결 속도의 기준이 값으로 사용됩니다. 서버\공유 조합은 임의의 \\서버\공유 조합이 될 수도 있고 모든 서버의 모든 공유를 나타내는 단일 별표(*)가 될 수도 있습니다. 두 번째 값 집합은 느린 연결 선언을 위한 임계점으로 사용되는 처리량(kbps)과 대기 시간(밀리초)을 선언합니다. 한 가지 알아 둘 점은 두 가지 중 더 유용한 값, 즉 처리량은 파일을 다운로드할 때 검사되지 않는다는 것입니다. 따라서 리디렉션된 문서 폴더에 10GB의 파일이 있고 아직 해당 파일을 포함하지 않는 랩톱에서 느린 링크를 통해 연결하는 경우에는 오래 기다릴 준비를 하십시오. 그러나 대기 시간 검사와 쌍으로 묶은 경우 대기 시간이 규정된 값 아래로 떨어지면 공유가 오프라인으로 전환되어 사용자가 해당 파일을 기다려야 하는 고통스러운 지연 시간이 없어집니다.

기술 자료 문서 934202에 설명된 Windows Vista 핫픽스(Windows Vista 서비스 팩 1에 포함할 예정임)를 사용하면 특정 느린 VPN 조건에서 성능이 개선됩니다. 이 문서는 support.microsoft.com/kb/934202에서 온라인으로 볼 수 있습니다. 실제로 이 핫픽스는 느린 링크를 통해 다운로드가 발생할 때 처리량 값을 검사하도록 설정합니다.

동기화 충돌

아마도 비행기에 타고 있는 누군가가 오프라인으로 파일을 변경함과 동시에 본사에 배선으로 연결된 다른 사용자가 온라인으로 해당 파일을 변경하면 어떻게 될지 궁금할 것입니다. 이 상황은 클라이언트 수준에서 처리됩니다. 오프라인에서 온라인으로 전환하면 Windows Vista의 오프라인 파일 백그라운드 동기화가 즉시 발생합니다. 그런 다음 작업 표시줄의 알림 영역에 아이콘이 표시된 후 동기화 센터에 있는 항목을 통해 무엇을 수행할지 묻는 메시지가 표시됩니다. 하나의 파일을 최신 파일로 표시하고 충돌에 대한 자세한 정보를 표시하도록 사용자 인터페이스가 다시 설계되었습니다. 그림 9와 같이 사용자가 서버에 다시 저장할 때 현재 자신의 시스템에만 있는 파일의 이름을 바꾸어 충돌이 발생한 파일을 보존할 수 있습니다.


그림 9 Windows Vista의 파일 변경 충돌 알림 (Click the image for a smaller view)


그림 9 Windows Vista의 파일 변경 충돌 알림 (Click the image for a larger view)

자세한 정보

오프라인 파일은 관리자와 사용자 모두에게 멋진 기능입니다. 실제로 폴더 리디렉션을 사용하고 있으면 오프라인 파일도 이미 사용하고 있는 것이므로 오프라인 파일을 더욱 잘 파악하는 것이 가장 큰 관심사입니다. Windows Vista의 많은 오프라인 파일 변경 내용을 설명했지만 모두 설명한 것은 아닙니다. 자세한 내용은 "Windows Vista 오프라인 파일의 주요 변경 내용" 추가 기사를 참조하십시오.

go.microsoft.com/fwlink/?LinkId=98141(Windows XP의 경우)과 go.microsoft.com/fwlink/?LinkId=98138(Windows Vista의 경우)에서 오프라인 파일에 대해 자세히 알아볼 수 있습니다.

또한 필자가 집필한 책(기사 끝부분의 약력 참조)에는 모든 그룹 정책 설정의 세부적인 사항을 포함한 오프라인 파일에 대한 내용이 많은 페이지에 걸쳐 설명되어 있습니다. 마지막으로 더 많은 정보가 필요하고 다른 사용자와 오프라인 파일에 대해 얘기해 보고 싶으면 GPanswers.com에서 이 주제만 다루는 섹션이 있는 커뮤니티 포럼을 방문하십시오.

posted by 엘도라도29
 <PREV 1 2 3 4 5 ... 13    NEXT>