<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>꼬알라의 하얀집...</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/koalra/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/koalra/feed.xml</link>
    <description />
    <lastBuildDate>Mon, 05 Dec 2016 04:05:37 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>지난 몇개월동안 경험한 꼬알라의 Microsoft Azure Stack TP1 구성 및 활용 이야기 2편</title>
      <link>https://docs.microsoft.com/archive/blogs/koalra/%EC%A7%80%EB%82%9C-%EB%AA%87%EA%B0%9C%EC%9B%94%EB%8F%99%EC%95%88-%EA%B2%BD%ED%97%98%ED%95%9C-%EA%BC%AC%EC%95%8C%EB%9D%BC%EC%9D%98-microsoft-azure-stack-tp1-%EA%B5%AC%EC%84%B1-%EB%B0%8F-%ED%99%9C</link>
      <pubDate>Fri, 29 Jul 2016 17:37:25 GMT</pubDate>
      <dc:creator><![CDATA[Seung Joo Baek]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/koalra/?p=13195</guid>
      <description><![CDATA[1편에서 Microsoft Azure Stack(MAS) TP1의 설치 및 운영시 발생할 수 있는 몇가지 이슈들 및 사항들을 살펴보았습니다. 오늘도 여기에 이어, 꼬알라가 경험,...]]></description>
      <content:encoded><![CDATA[<p><a href="https://blogs.technet.microsoft.com/koalra/2016/07/28/%ec%a7%80%eb%82%9c-%eb%aa%87%ea%b0%9c%ec%9b%94%ea%b0%84%ec%9d%98-%ea%bc%ac%ec%95%8c%eb%9d%bc%ec%9d%98-microsoft-azure-stack-%ea%b5%ac%ec%84%b1-%eb%b0%8f-%ed%99%9c%ec%9a%a9-%ec%9d%b4%ec%95%bc%ea%b8%b0/" target="_blank">1편</a>에서 Microsoft Azure Stack(MAS) TP1의 설치 및 운영시 발생할 수 있는 몇가지 이슈들 및 사항들을 살펴보았습니다. 오늘도 여기에 이어, 꼬알라가 경험, 또는 진행했던 사항들에 대해서 정리해보는 시간을 가져보죠.</p> <p><font color="#ff0000" size="5"><strong><u>추가 리소스 제공자 설치</u></strong></font></p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image832.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb743.png" width="500" height="350"></a></p> <p>MAS TP1을 설치하시면, 기본적으로 IaaS(Infrastructure as a Service)에서 필요한 가상 네트워크, 저장소, 가상 컴퓨터, 부하 분산기등은 설치가 되고, 제공됩니다. MAS는 이러한 서비스 영역을 리소스 제공자(Resource Provider, RP)라는 이름으로 제공하고, Compute RP, Network RP, Storage RP가 이를 담당합니다. 현재 MAS TP1에서 추가적으로 구성 가능한 RP는 Web Apps, MySQL, SQL이 있습니다. 이를 추가적인 서비스라고 아래 그림에서는 표현해놓았습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image833.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb744.png" width="500" height="206"></a></p> <p>MySQL RP를 설치하면, 서비스에서 제공할 수 있는 항목에 MySQL이 추가되며, SQL은 Microsoft SQL, Web Apps는 웹 서비스를 제공할 수 있는 PaaS 기반이 구성된다고 보시면 됩니다. Web Apps의 경우에는 웹 서비스의 형태에 따라 MySQL, SQL 서비스와 연계하여 WordPress 형태를 제공할 수도 있습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image834.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb745.png" width="500" height="375"></a></p> <p>MAS TP1 출시 초기에는 이러한 작업들을 모두 PowerShell 스크립트를 직접 입력하여 처리하는 형태로 하여, 에러의 가능성이 높았지만, 지난 4~5월 스크립트를 모두 구성한 형태로 패키지를 제공, 필요한 경우에는 Installer 형태의 설치할 수 있게 되었습니다.(<a href="https://azure.microsoft.com/en-us/blog/incremental-update-to-azure-stack-paas-services-sql-and-my-sql-resource-providers/" target="_blank">MySQL, SQL 공지</a>, <a href="https://azure.microsoft.com/en-us/blog/incremental-update-to-azure-stack-paas-services-web-apps/" target="_blank">Web Apps 공지</a>) 대표적으로 Azure Stack의 정보가 많은 azurestack.eu 사이트에서 정보를 찾아보신 분은 지금의 형태와 조금은 다른 모습을 보실 수 있습니다.</p> <p>설치는 MySQL 또는 SQL (순서 상관 없음) RP를 설치하고, SQL RP 설치시 만들어진 데이터베이스를 통해, Web Apps를 설치합니다. 설치 형태는 매우 간단하기에, 설치 단계가 정리된 Microsoft 페이지를 링크로 달아놓겠습니다.</p> <ol> <li><a href="https://azure.microsoft.com/en-us/documentation/articles/azure-stack-sqlrp-deploy/" target="_blank">SQL 리소스 제공자 설치</a></li> <li><a href="https://azure.microsoft.com/en-us/documentation/articles/azure-stack-mysqlrp-deploy/" target="_blank">MySQL 리소스 제공자 설치</a></li> <li><a href="https://azure.microsoft.com/en-us/documentation/articles/azure-stack-webapps-overview/" target="_blank">Web Apps 리소스 제공자 설치</a></li></ol> <p>이슈가 발생할 수 있는 부분은 몇가지 정도로 정리됩니다.</p> <ul> <li>각 RP 설치시 VM 생성 단계에서 Conflict 에러가 발생하고 실패하는 경우 : 1편에서 설명한 바와 같이, MAS TP1 호스트 운영 체제의 업데이트가 필요 이상으로 많이된 경우입니다.</li> <li>SQL RP 등록시 계정과 암호를 물어볼 때 : 이때는 VM 생성시 입력한 계정과 암호를 입력하는 것이 아니라, sqlRpUsername/sqlRpPassw0rd를 입력하시면 됩니다.</li> <li>MySQL RP 등록시 계정과 암호를 물어볼 때 : MySQL 구성시 입력한 기본 계정과 암호(BASICAUTHUSERNAME/BASICAUTHPASSWORD)를 입력합니다.</li> <li>Web Apps 설치 확인 단계에서 SQL 데이터베이스에 연결되지 않는 경우 : SQL RP를 설치하시고, MAS TP1 호스트를 다시 시작한 적이 있다면, 1편에서 언급드린 바와 같이 공용 IP 주소가 분리되는 이슈가 있기 때문입니다. 이 경우에는 SQL RP VM에서 원격 데스크톱 연결이 안될 것입니다. <img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none;border-left-style: none;border-bottom-style: none;border-right-style: none" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/2016/07/wlEmoticon-smile13.png"></li></ul> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image835.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb746.png" width="400" height="267"></a></p> <p>MAS 포탈에서 SQLRP VM의 공용 IP 주소를 재설정해줘야 합니다. VM의 정보에서 나오는 블레이드의 Network Interface를 클릭하고, NIC을 클릭하면, 아래의 그림과 같은 형태까지 가실 수 있습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image836.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb747.png" width="500" height="181"></a></p> <p>노란색으로 표시된 부분을 이용하여, Public IP 주소를 None으로 설정한 후, 다시 생성하시면 새 IP 주소가 생성되고, 연결됩니다. 이는 MAS TP1의 알려진 이슈로 차후 발표될 다음 프리뷰에서는 해결될 것으로 보입니다. IP가 변경되었다면, SQLRP로 접속하는 DNS 호스트 레코드도 변경해야 합니다. MAS TP1 호스트의 ADVM으로 로그온하고, DNS 관리자를 엽니다. 여기에 SQLRP 레코드를 변경된 주소로 업데이트합니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image837.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb748.png" width="400" height="72"></a></p> <p>이런 문제가 발생하지 않게 만드는 가장 좋은 해결책은 아쉽지만 현재로서는 MAS TP1 호스트의 다시 시작을 하지 않는 것입니다. <img class="wlEmoticon wlEmoticon-sadsmile" style="border-top-style: none;border-left-style: none;border-bottom-style: none;border-right-style: none" alt="Sad smile" src="https://msdnshared.blob.core.windows.net/media/2016/07/wlEmoticon-sadsmile1.png"></p> <p><strong><u><font color="#ff0000" size="5">추가 VM 템플릿 이미지 생성</font></u></strong></p> <p>기본적으로 MAS TP1을 설치하면, Windows Server 2012 R2 이미지만을 제공합니다. 몇가지 작업을 통해 Linux와 Windows Server 2016을 추가할 수 있습니다. 해당 작업은 대부분 PowerShell 기반이기에, 조금은 복잡하게 느낄 수 있습니다.</p> <p><em>$RefNetIsolation = Get-VM -Name ADVM | Get-VMNetworkAdapter | Get-VMNetworkAdapterIsolation</em></p> <p>이를 통해 MAS TP1의 VM에 구성된 네트워크 VLAN 정보를 가져올 수 있습니다. (<a href="https://blogs.technet.microsoft.com/koalra/2016/07/28/%ec%a7%80%eb%82%9c-%eb%aa%87%ea%b0%9c%ec%9b%94%ea%b0%84%ec%9d%98-%ea%bc%ac%ec%95%8c%eb%9d%bc%ec%9d%98-microsoft-azure-stack-%ea%b5%ac%ec%84%b1-%eb%b0%8f-%ed%99%9c%ec%9a%a9-%ec%9d%b4%ec%95%bc%ea%b8%b0/" target="_blank">1편 내용</a> 참고)</p> <p><em>$VM = New-VM –Name &lt;VM이름&gt; -MemoryStartupBytes 4GB -SwitchName 'CCI_External_vSwitch' -BootDevice CD -Generation 1 -NoVHD<br>$VM | Set-VMProcessor -Count 2<br>$VHD = New-VHD -Path C:\ClusterStorage\Volume1\Share\VM\&lt;파일이름&gt;.vhd -SizeBytes 40GB –Dynamic</em></p> <p>기존에 이미 만들어놓은 1세대 VHD 파일이 있다면, 이를 복사하셔서 사용하셔도 됩니다. 이 예제는 VHD를 생성하는 예제입니다.</p> <p><em>$VM | Add-VMHardDiskDrive -ControllerType IDE -ControllerNumber 0 -ControllerLocation 0 -Path $vhd.Path<br>$VM | Get-VMDvdDrive | Set-VMDvdDrive -Path C:\설치이미지.ISO</em></p> <p>역시나 이미 만들어놓은 1세대 VHD가 있다면, DVD를 추가하지 않아도 됩니다.</p> <p><em>$VMNetAdapter = $VM | Get-VMNetworkAdapter<br>$IsolationSettings = @{<br>&nbsp;&nbsp;&nbsp; IsolationMode = 'Vlan'<br>&nbsp;&nbsp;&nbsp; AllowUntaggedTraffic = $true<br>&nbsp;&nbsp;&nbsp; DefaultIsolationID = $RefNetIsolation.DefaultIsolationID<br>&nbsp;&nbsp;&nbsp; MultiTenantStack = 'off'<br>}<br>$VMNetAdapter | Set-VMNetworkAdapterIsolation&nbsp; @IsolationSettings</em></p> <p><em>. C:\ClusterStorage\Volume1\Share\NCDeployment\Scripts\NetworkControllerRESTWrappers.ps1<br>Set-PortProfileId -resourceID ([System.Guid]::Empty.tostring()) -VMName $VM.Name -NicName $VMNetAdapter.Name</em></p> <p>네트워크 구성 정보를 반영하고, MAS TP1내 VM간 기본 통신을 위해 PortProfileID를 지정합니다. Set-PortProfileID는 Hyper-V에서 제공하는 Cmdlet이 아니기에, NetworkControllerRESTWrappers를 실행한 후, 입력하는 것입니다.<br>이를 통해 VM을 구동하고 기본 OS 구성을 시작합니다. 기본적으로 MAS TP1은 인프라 네트워크(192.168.100.0/24)에 DHCP가 없으므로, 192.168.100.X(대략 20번대 이후, 안쓰는 IP)를 기본 IP 주소로 입력합니다. 게이트웨이는 192.168.100.1, 서브넷 마스크는 /24, DNS는 192.168.100.2입니다.</p> <p>Linux에 대한 부분은 CentOS를 기반으로 잘 정리된 링크가 있습니다. <a href="https://azurestack.eu/2016/02/adding-centos-7-to-azure-stack-tp1/" target="_blank">여기</a>를 참고합니다. SUSE의 경우에는 <a href="https://www.buchatech.com/2016/04/how-to-add-suse-linux-image-to-azure-stack/" target="_blank">여기</a>를 참고합니다.</p> <p>Windows의 경우, 필요한 업데이트를 모두 반영한 후, 네트워크 IP 구성을 다시 동적으로 변경한 후, SysPrep 명령어로 진행해주면 됩니다.</p> <p>이렇게 기본 이미지 생성이 완료되면, PowerShell 스크립트를 통해 MAS내 항목으로 추가할 수 있습니다.</p> <p>$ImageImport = @{<br>PlatformImageRespositoryPath = '\\SOFS\Share\CRP\PlatformImages\'<br>ImagePath = 'C:\ClusterStorage\Volume1\Share\VM\&lt;파일 이름&gt;.vhd'<br>Publisher = ‘적절한이름'<br>Offer = 'OS 종류’'(예, CentOS, WindowsServer)'<br>Sku = ‘큰버전(예, 7.2, 2016-TP5)'<br>Version = '세부버전(예, 1.0.0, 7.2.20160729)'<br>OsType = ‘Windows 또는 Linux'} <p>D:\CRP\VM\Microsoft.AzureStack.Compute.Installer\content\Scripts\CopyImageToPlatformImageRepository.ps1 @ImageImport <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image838.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb749.png" width="500" height="271"></a> <p>명령어가 완료되면, 조금만 기다리면, MAS 포탈내에 해당 이미지가 나와, 이제 VM 생성용으로 사용자나 관리자가 사용할 수 있습니다. 단일 형태의 이미지가 아닌, MarketPlace에 추가하는 형태는 <a href="https://scug.be/florent/2016/02/05/azure-stack-deploy-a-custom-item-in-the-market-place/" target="_blank">여기</a>를 참고하시면 됩니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image839.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb750.png" width="500" height="379"></a></p> <p>오늘도 크게 2가지 정도 MAS TP1을 사용하면서 알게 된, 그리고 필요했던 내용을 정리해보았습니다. 또다른 내용을 가지고 3편으로 되돌아 오겠습니다. <img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none;border-left-style: none;border-bottom-style: none;border-right-style: none" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/2016/07/wlEmoticon-smile13.png"></p>]]></content:encoded>
    </item>
    <item>
      <title>지난 몇개월동안 경험한 꼬알라의 Microsoft Azure Stack TP1 구성 및 활용 이야기 1편</title>
      <link>https://docs.microsoft.com/archive/blogs/koalra/%EC%A7%80%EB%82%9C-%EB%AA%87%EA%B0%9C%EC%9B%94%EA%B0%84%EC%9D%98-%EA%BC%AC%EC%95%8C%EB%9D%BC%EC%9D%98-microsoft-azure-stack-%EA%B5%AC%EC%84%B1-%EB%B0%8F-%ED%99%9C%EC%9A%A9-%EC%9D%B4%EC%95%BC%EA%B8%B0</link>
      <pubDate>Thu, 28 Jul 2016 14:51:43 GMT</pubDate>
      <dc:creator><![CDATA[Seung Joo Baek]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/koalra/?p=13045</guid>
      <description><![CDATA[지난 1월 Microsoft 하이브리드 클라우드의 핵심인 Microsoft Azure Stack(MAS)의 첫번째 기술 프리뷰(Technical Preview)가...]]></description>
      <content:encoded><![CDATA[<p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image785.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb698.png" width="500" height="279"></a></p> <p>지난 1월 Microsoft 하이브리드 클라우드의 핵심인 Microsoft Azure Stack(MAS)의 <a href="https://azure.microsoft.com/en-us/documentation/articles/azure-stack-poc/" target="_blank">첫번째 기술 프리뷰(Technical Preview)</a>가 릴리즈되었습니다. 이후 4월에 MAS 첫번째 프리뷰에 대한 <a href="https://azure.microsoft.com/en-us/blog/announcing-incremental-release-for-azure-stack-technical-preview-1/" target="_blank">추가 업데이트</a>가 발표되어 지금까지 사용해볼 수 있는 형태로 제공되고 있습니다. 첫 프리뷰가 나온 이후, 계획된 일정과는 달리, 두번째 프리뷰가 올해 연말 발표로 연기됨에 따라(실제 출시 역시 내년 중반으로 연기), 현재의 MAS TP1을 기반으로 테스트나 기술에 대한 확인을 하셔야 하는 시간이 늘어나게 되었죠.</p> <p>원래 꼬알라는 두번째 프리뷰가 발표되면, 관련된 기술 정리를 포스팅으로 진행할 마음을 가지고 있었지만, 이에 따라 TP1을 기반으로 몇가지 사항을 정리해보려고 합니다. 그 첫번째는 MAS TP1을 설치하시고, 자주 접하실 수 있는 사항에 대한 정리 및 이에 대한 트러블슈팅 방법을 써보려고 합니다. 몇몇 정보는 <a href="https://azure.microsoft.com/en-us/documentation/articles/azure-stack-troubleshooting/" target="_blank">공식 페이지</a>, 그리고 인터넷에 산재된 형태를 정리하기도 하였고, 몇몇 정보는 지난 6개월간 제가 직접 쓰면서 경험하고 해결한 문제들에 대한 정리입니다. 아직은 초기 단계인 첫번째 프리뷰이기에, 문제가 발생하거나, 야기했을 경우, 문제 소지를 없앤다고 다시 문제가 해결되지 않는 경우가 많습니다.</p> <p><font color="#ff0000" size="4"><strong><u>설치 관련 이슈</u></strong></font></p> <p>Windows Server 2016 TP4 영문판을 이용하셔야 합니다.(현재 최신은 TP5) MAS TP1이 릴리즈되었을 때, Windows Server 2016이 TP4였기에, TP4 버전만을 지원합니다. 또한 주의 사항 중 하나가, TP4가 작년 말에 릴리즈되었기에, 추가적으로 업데이트된 누적 업데이트가 꽤 많습니다. 이 누적 업데이트를 모두다 설치하시면 절대 안됩니다. MAS TP1이 출시되었을 당시에, 릴리즈된 업데이트인 KB3124262만 설치하시고, 나머지 업데이트는 모두 설치하시면 안됩니다. 다른 업데이트들이 설치되었을 경우, MAS 포탈에서 VM 생성시(특히 Windows 기반 VM), Conflict 상태가 되는 형태로 에러가 발생하고, 해결 방법이 없습니다. (TP4 재설치 필요)</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/clip_image00112.jpg"><img title="clip_image001" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="clip_image001" src="https://msdnshared.blob.core.windows.net/media/2016/07/clip_image001_thumb9.jpg" width="400" height="147"></a></p> <p>역시나 MAS TP1에 대한 설치 이후, 지속적으로 발표되는 업데이트를 설치하실 필요는 없습니다. 이에 저는 Windows Update 서비스를 아예 중지시키고 쓰고 있습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image786.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb699.png" width="300" height="226"></a></p> <p>시간 대역도 중요합니다. 한국 시간 대역이 아닌, 태평양 표준시로 맞추셔야 합니다. 또한 서버의 BIOS 설정에, 시간과 관련된 부분(UTC)이 있다면, 이를 사용하지 마셔야 합니다.(아니면 UTC에 근거하여 시간을 설정하셔야 합니다.)</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image787.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb700.png" width="400" height="28"></a></p> <p>NIC이 여러개인 경우, 연결된 NIC은 하나를 제외하곤 모두 설치 전, 사용 중지하셔야 합니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image788.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb701.png" width="500" height="285"></a></p> <p>서버 스펙 역시, TP1에서 요구하는 사양이 필요합니다. (최소 12개의 물리적인 코어, 96GB) 설치 후, 개별 메모리들의 용량을 줄여서 사용할 수 있다고 합니다만, 설치시 만들어주는 MAS용 역할 VM들의 메모리는 사용해본 느낌상 이미 최소 형태로 구성된다고 느껴집니다. MAS TP1의 기본 설치 후, MySQL, SQL, Web Apps에 대한 리소스 제공자를 추가하여, 제공 서비스를 늘릴 수 있습니다. 이 경우, 상단 그림의 VM이 생성되고, 대략 60GB의 메모리를 소모합니다. 이후 남은 메모리는 MAS에서 만들어지는 추가적인 서비스 VM들이나 서비스들이 차지하게 될 것입니다.</p> <p>MAS TP1 설치시, NATVM에서 외부 네트워크와 연결되는 형태를 가져갑니다. NATVM – BGPVM – 내부 이런 형태의 네트워크를 가지고 있습니다. 이에 NATVM에 DHCP 형태로 네트워크 IP가 제공되어야 합니다. 고정 IP가 필요한 경우, DeployAzureStack.ps1 -Verbose -NATVMStaticIP 10.10.10.10/24 -NATVMStaticGateway 10.10.10.1 를 이용하여 IP 주소를 연결해주셔야 합니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image789.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb702.png" width="400" height="193"></a></p> <p>사내 액티브 디렉터리를 통해 바로 MAS에 인증을 처리할 수 없습니다. MAS는 Azure AD를 이용하고 있으며, 사내 AD 인증 처리를 위해서는 Windows Server내 ADFS를 통해, Azure AD와 연결하는 작업이 필요합니다.</p> <p> MAS TP1은 PoC를 위한 프리뷰이므로, 아직 고가용성 기술은 지원하지 않습니다. 이에 MAS내 가용성 집합을 만들 수는 있지만, 이를 직접 동작시킬 수는 없습니다. 차후 정식 버전의 MAS에서는 물리적인 서버의 추가 요구 및 최대 지원 숫자가 발표될 것입니다.</p> <p><font color="#ff0000" size="4"><u><strong>MAS TP1의 네트워크의 기본 구조</strong></u></font></p> <p>설치 후, 꼬알라가 가장 궁금했던 부분은 바로 MAS내 네트워크의 구성이었습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image790.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb703.png" width="500" height="342"></a></p>  <p>MAS TP1은 크게 3개의 네트워크 영역을 가지고 있습니다. 192.168.100.0/24 (기본 인프라 영역) 192.168.133.0/24 (부하 분산기 외부 IP 영역) 192.168.200.0/24 (사용자 네트워크 영역)이 여기에 해당됩니다. 이 경우, 보통 3개의 가상 스위치가 필요할 것으로 예상하지만, MAS TP1의 Hyper-V 관리자는 하나의 가상 스위치만이 만들어져 있습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image791.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb704.png" width="400" height="183"></a></p> <p>IP 주소를 확인하기 위해, Hyper-V 관리자에서 VM 정보를 확인해도 IP 정보는 보이지 않습니다. <img class="wlEmoticon wlEmoticon-disappointedsmile" style="border-top-style: none;border-left-style: none;border-bottom-style: none;border-right-style: none" alt="Disappointed smile" src="https://msdnshared.blob.core.windows.net/media/2016/07/wlEmoticon-disappointedsmile.png"></p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image792.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb705.png" width="400" height="53"></a></p> <p>MAS TP1은 L2 네트워크간의 구분을 VLAN으로 하고 있습니다. 보통 VLAN은 Hyper-V 관리자내 VM 설정에서 한다고 생각하는 경우가 많습니다만, Windows Server 2016에서 새롭게 추가된 VMNetworkAdapterIsolation를 사용합니다. ExternalVirtualSubnet은 3rd 파티 네트워크 가상화, NativeVirtualSubnet은 Hyper-V 네트워크 가상화, VLAN은 가상 스위치 기반내 VLAN을 의미합니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image793.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb706.png" width="500" height="112"></a></p> <p>가장 바깥단에 위치한 NATVM은 VLAN 1002번의 Transit Network와 0번의 외부 네트워크에 연결되어 있습니다. IP 주소는 외부 IP와 내부 IP 192.168.200.1을 가지고 있죠. VLAN 1002의 192.168.200.0/24라고 보시면 됩니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image794.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb707.png" width="500" height="158"></a></p> <p>또하나의 내부 라우터인 BGPVM은 VLAN ID 1002에 소속된 192.168.200.3(Gateway 192.168.200.1), 그리고 VLAN 1001에 소속된 192.168.100.1을 가지고 있습니다. </p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image795.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb708.png" width="500" height="250"></a></p> <p>BGPVM은 라우터이기에 192.168.100.0/24 영역에서 라우팅된 패킷을 192.168.200.0/24 영역의 기본 게이트웨이로 전달하도록 만들어져 있습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image796.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb709.png" width="300" height="225"></a></p> <p>마지막으로 인프라내 ADVM은 VLAN ID 1001에 192.168.100.0/24 영역을 사용합니다. 게이트웨이로 192.168.100.1을 바라보고 있기에, BGPVM으로 네트워크를 전달하게 됩니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image797.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb710.png" width="500" height="212"></a></p> <p>참고로, MAS를 사용하시면서 만드신 가상 네트워크는 IsolationMode가 Vlan이 아닌, ExternalVirtualSubnet 형태로 만들어집니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image798.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb711.png" width="500" height="140"></a></p> <p>192.168.100.0(내부) - 192.168.200.0(사용자가 사용할 외부) - 실제 네트워크 외부 형태로 구성되어 있는 것이죠. 그럼 이제 192.168.133.0/24가 남았습니다. 차후 시간이 될때, 별도로 살펴볼 예정입니다만, 192.168.133.0은 부하 분산기의 외부 IP입니다. BGPVM에서 Get-BGPRouteInformation을 내려보면, 하기 그림과 같은 결과가 나옵니다. 192.168.133.XX/32 (해당 IP를 칭하는 것이죠)에 대한 다음 홉 경로가 나옵니다. 192.168.100.5인데, 해당 VM은 MuxVM입니다. </p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image799.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb712.png" width="500" height="279"></a></p> <p>결국 MAS 내부 인프라나 사용자가 사용할 외부 주소(NATVM에 고정 경로로 192.168.133.0/24를 BGPVM으로 전달하게 되어 있음)에서 192.168.133.0을 요청하면 처리할 수 있는 MuxVM이 있는 것이죠. 192.168.133.X의 IP들은 MAS 포탈내 공용 IP 주소에서 볼 수 있고, 이 주소가 부하 분산기에 연결되어 있습니다. 아니면 바로 VM에 할당하여, 부하 분산 처리를 받지 않는 형태로도 가능합니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image800.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb713.png" width="500" height="162"></a></p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image801.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb714.png" width="500" height="169"></a></p> <p>이제 조금 그림이 그려지시나요? 복잡해보이지만, 잘 생각해보시면 이해가 되실 것입니다. </p> <p><font color="#ff0000" size="4"><strong><u>MAS TP1 네트워크에서 쉽게 발생할 수 있는 문제와 해결책</u></strong></font></p> <p>MAS TP1을 이용하다보면, 실제 MAS 호스트가 다시 시작되면, 192.168.133.0의 IP를 가진 VM이나 서비스가 동작하지 않는 것을 경험할 수 있습니다. TP1이기에 발생하고 있는 버그죠. 이 경우는 해당 공용 IP와 연결된 서비스(부하 분산 또는 가상 컴퓨터)를 잠시 연결 해제하시고, 새롭게 공용 IP 주소를 생성한 후, 연결하면 재동작을 시작합니다. 조금 피곤한 일이지만, 이런 형태의 해결책이 있는 것도 다행입니다. 가장 이상적인 방법은 MAS TP1 호스트에 서비스 형태의 VM들을 구성하신 후에는 다시 시작을 최대한 안하셔야 합니다. <img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none;border-left-style: none;border-bottom-style: none;border-right-style: none" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/2016/07/wlEmoticon-smile10.png"></p> <p>추가적인 테스트 용도나 MAS내 베이스 이미지로 사용하기 위해서, MAS TP1 Hyper-V에 VM을 만드시는 경우가 있을 것입니다. (Windows Server 2016 또는 Linux 이미지 추가)</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image802.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb715.png" width="500" height="225"></a></p> <p>이 경우, 해당 VM이 192.168.100.0 등의 MAS내 네트워크와 교신이 되지 않는 것을 보실 수 있습니다. (네트워크 IP 주소를 맞췄음에도 불구하고) 이는 Port 프로필이 내부적으로 명시되어 있기 때문입니다. 이를 명시하기 위해서는 PowerShell 처리가 필요합니다. 먼저 해당 Cmdlet이 기본 포함되어 있지 않기에, 모듈을 불러와야 합니다. . C:\ClusterStorage\Volume1\Share\NCDeployment\Scripts\NetworkControllerRESTWrappers.ps1</p> <p>이후, Set-PortProfileId -resourceID ([System.Guid]::Empty.tostring()) -VMName &lt;VM이름&gt; –NicName &lt;네트워크 아답터 이름&gt;을 입력합니다. </p> <p><font color="#ff0000" size="4"><strong><u>실수하기 좋은 것들</u></strong></font></p> <p>Hyper-V 관리 도구를 많이 사용하다 보면, 아무렇지도 않게, VM을 직접 삭제하시고, 더불어, MAS 포탈에서 만든 파일들을 직접 호스트에서 삭제할 수 있습니다. MAS는 클라우드 기술이므로, 모든 기본 처리는 전부 MAS 포탈을 이용해야 합니다. (인프라는 사용자가 사용하는 클라우드의 추상화 계층 밑에 있는 형태입니다.)</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image803.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb716.png" width="500" height="169"></a></p> <p>MAS 호스트의 Hyper-V 관리도구에는 이렇게 GUID 형태로 표현된 VM들이 존재합니다. 이에 대한 필요성이 없거나, 삭제를 원할 경우에, 관리 도구를 이용해서는 안된다는 것입니다. 해당 VM이 클라우드에서 가지는 이름을 확인한 후, MAS 포탈에서 삭제해야 합니다.</p> <p>VM을 선택한 후, 하단 Summary를 보면, VMName이라는 형태로 확인이 가능합니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image804.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb717.png" width="400" height="115"></a></p> <p>이를 GridView 형태로 보여주는 PowerShell이 <a href="https://gallery.technet.microsoft.com/Azure-Stack-VM-GUI-Beta-1-9e55aa80" target="_blank">PowerShell Gallery</a>에 올라와있습니다.</p> <p>또한 MAS내 저장소내 VM용 VHD가 생성되면, 이는 MAS 호스트내 배치되어 있습니다. 이 역시 정상적인 처리는 MAS 포탈을 이용해야 합니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image805.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb718.png" width="400" height="145"></a></p> <p>MAS 포탈에 appsvclocalstor 저장소가 있죠.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/07/image806.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb719.png" width="500" height="300"></a></p> <p>이런 형태의 포스팅으로 MAS TP1에 대한 이야기를 정리해볼까 합니다. 또다른 이야기로 다음 포스팅에서 뵙겠습니다. 미약하지만, MAS TP1을 활용해보시는데 도움이 되셨으면 합니다.</p>]]></content:encoded>
    </item>
    <item>
      <title>IT 캠프에서 사용했던 실습 교재와 관련 가상 컴퓨터</title>
      <link>https://docs.microsoft.com/archive/blogs/koalra/it-%EC%BA%A0%ED%94%84%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%ED%96%88%EB%8D%98-%EC%8B%A4%EC%8A%B5-%EA%B5%90%EC%9E%AC%EC%99%80-%EA%B4%80%EB%A0%A8-%EA%B0%80%EC%83%81-%EC%BB%B4%ED%93%A8%ED%84%B0</link>
      <pubDate>Wed, 06 Jul 2016 16:00:49 GMT</pubDate>
      <dc:creator><![CDATA[Seung Joo Baek]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/koalra/?p=12605</guid>
      <description><![CDATA[2016/09/30 업데이트 : 3개월정도 오픈하고 있어, 필요하신 분들의 다운로드가 완료된 것으로 생각됩니다. 해당 자료에 대한 배포를 금일부로 종료합니다.

2016년...]]></description>
      <content:encoded><![CDATA[2016/09/30 업데이트 : 3개월정도 오픈하고 있어, 필요하신 분들의 다운로드가 완료된 것으로 생각됩니다. 해당 자료에 대한 배포를 금일부로 종료합니다.

2016년 6월까지, 대략 4년정도에 걸쳐, 다양한 IT 엔지니어 기술을 IT 캠프라는 이름으로 실습 세미나 형태의 진행을 하였습니다.

<a href="https://msdnshared.blob.core.windows.net/media/2016/07/image244.png"><img width="400" height="105" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb216.png" border="0" /></a>

기존 형태는 IT 캠프에 참석하신 후, 이에 대한 VM을 요청하시면, 별도의 다운로드 링크를 제공해드렸는데, 금일 자로, 모든 실습 자료(PDF) 및 가상 컴퓨터들의 묶음을 FTP로 제공합니다.

<u>해당 자료들은 모두 Microsoft의 공식적인 배포 형태가 아닌, 꼬알라가 캠프를 준비하면서, 만들었던 형태의 자료들이라는 것</u>을 유의하시면 좋겠습니다. 이에 상업적 용도로의 사용은 안됩니다. (실습 매뉴얼의 원본 형태의 요청은 받지 않겠습니다.)

더불어, FTP 서버는 제 데모 인프라내에서 구성해놓았기에, 접속자 제한(3명) 및 용량 제한, 그리고 유휴 접속 제한 시간이 걸려있습니다. <img class="wlEmoticon wlEmoticon-smile" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/2016/07/wlEmoticon-smile.png" /> 또한 FTPS 형태로 구성되어 있기에, FileZilla등의 클라이언트 프로그램을 이용하셔서, 접속하시면 됩니다.

<a href="https://msdnshared.blob.core.windows.net/media/2016/07/image245.png"><img width="250" height="70" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/07/image_thumb217.png" border="0" /></a>

암호가 변경되었을 경우, 해당 포스트를 업데이트하겠습니다. 대부분의 VM의 경우, 다운로드 후, Hyper-V에서 가져오기 형태로 진행하시면 됩니다. 또한 평가판으로 제작하였기에, 평가판 만료된 OS는 SLMGR /REARM 형태의 연장을 이용하시면 되며, SQL 및 System Center는 제품키를 입력하시면 구동이 가능합니다. Azure의 경우에는 폴더내 VHD 파일을 Azure내 Storage로 업로드하신 후, 이용하시면 됩니다.

아무쪼록 기술 스터디에 미약하지만 도움이 되셨으면 합니다.]]></content:encoded>
    </item>
    <item>
      <title>[20160502-0503] Cloud RoadShow 세션 발표 자료</title>
      <link>https://docs.microsoft.com/archive/blogs/koalra/20160502-0503-cloud-roadshow-%EC%84%B8%EC%85%98-%EB%B0%9C%ED%91%9C-%EC%9E%90%EB%A3%8C</link>
      <pubDate>Tue, 03 May 2016 23:40:56 GMT</pubDate>
      <dc:creator><![CDATA[Seung Joo Baek]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/koalra/?p=12558</guid>
      <description><![CDATA[길고 길었던 2일이 지나갔던 것 같습니다. 처음에는 가볍게 시작했던 마음이 1달이 흘러갈수록, 세션에서 많은 내용을 전달해드려야 한다는 생각에 준비를 하다보니, 쉽지 않았던...]]></description>
      <content:encoded><![CDATA[<a href="https://msdnshared.blob.core.windows.net/media/2016/05/image121.png"><img style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" title="image" src="https://msdnshared.blob.core.windows.net/media/2016/05/image_thumb113.png" alt="image" width="600" height="120" border="0" /></a>

길고 길었던 2일이 지나갔던 것 같습니다. 처음에는 가볍게 시작했던 마음이 1달이 흘러갈수록, 세션에서 많은 내용을 전달해드려야 한다는 생각에 준비를 하다보니, 쉽지 않았던 시간이었습니다. <img class="wlEmoticon wlEmoticon-smile" src="https://msdnshared.blob.core.windows.net/media/2016/05/wlEmoticon-smile.png" alt="Smile" />

2016년 5월 2일, 오전부터 시작했던 Cloud Roadshow 서울의 제 <a href="https://koalraseminarpt.blob.core.windows.net/pptx/0502-CloudRoadshow.zip" target="_blank">발표 자료</a>를 일단 포스팅드립니다. 발표 자료는 하나의 압축파일로 되어 있으며, 아래의 내용의 세션 발표를 합쳐놓았습니다.
<ul>
	<li>05022016 - Protect and manage Identity and devices with Microsoft Enterprise Mobility Suite (Repeated 동일)</li>
	<li>05022016 - Run Azure Services in your Datacenter</li>
	<li>05022016 - New Docker and Containers Introduction for IT Professionals</li>
	<li>05032016 - Create a Dynamic Datacenter with Software Defined Networking</li>
	<li>05032016 - Deliver scalable Software Defined Storage anywhere</li>
	<li>05032016 - Minimize reboots and improve security with next-gen server deployment</li>
</ul>
미약했지만, 2일동안의 제 세션이 도움이 되셨으면 좋겠습니다. 다음에는 더 좋은 내용으로 찾아뵙겠습니다!

<span style="font-size: xx-large"><strong>감사합니다!</strong></span>]]></content:encoded>
    </item>
    <item>
      <title>Windows 보안(Security)의 기초 동영상 세션이 릴리즈되었습니다.</title>
      <link>https://docs.microsoft.com/archive/blogs/koalra/windows-%EB%B3%B4%EC%95%88security%EC%9D%98-%EA%B8%B0%EC%B4%88-%EB%8F%99%EC%98%81%EC%83%81-%EC%84%B8%EC%85%98%EC%9D%B4-%EB%A6%B4%EB%A6%AC%EC%A6%88%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4</link>
      <pubDate>Mon, 18 Apr 2016 13:52:55 GMT</pubDate>
      <dc:creator><![CDATA[Seung Joo Baek]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/koalra/?p=12525</guid>
      <description><![CDATA[작년 12월이후, 언 4달만에 포스팅을 하는 것 같습니다. 그 사이 제 블로그인 TechNet 블로그는 Wordpress 기반으로 변신도 하였고, 새 기술도 많이 출시되고,...]]></description>
      <content:encoded><![CDATA[<p>작년 12월이후, 언 4달만에 포스팅을 하는 것 같습니다. 그 사이 제 블로그인 TechNet 블로그는 Wordpress 기반으로 변신도 하였고, 새 기술도 많이 출시되고, 개인적으로 새로 나올 Windows Server 2016에 대한 준비, 그리고 많은 Camp 및 행사로 앉아서, 포스팅할 글을 쓸 여유가 없는 핑계아닌 핑계였습니다. <p>각설하고, 12월에 포스팅했던 <a href="https://blogs.technet.microsoft.com/koalra/2015/12/27/ad-active-directory/">[동영상] 액티브 디렉터리(AD, Active Directory)의 정석, 탄탄한 기초를 위해~!</a> 세션에 열화와 같은 성원을 보내주셔서, 2월말, Windows 보안의 기초라는 세션을 2편에 걸쳐 촬영하였습니다. <p>보안의 고수분들께서는 보실 필요가 없지만, Windows 엔지니어를 준비하시는 분들에게는 시간되실 때 한번 살펴보시는 것을 권장드립니다. 아래 이미지를 클릭하시면, 해당 사이트로 연결됩니다. <p>Windows 보안의 기초 1편 <p><a href="https://channel9.msdn.com/Events/Channel9-Korea/iti-fundamental/Windows-Security-1"><img title="image[7]" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image[7]" src="https://msdnshared.blob.core.windows.net/media/2016/04/image718.png" width="240" height="126"></a> <p>Windows 보안의 기초 2편 <p><a href="https://channel9.msdn.com/Events/Channel9-Korea/iti-fundamental/Windows-Security-2?ocid=SessionsInEvent"><img title="image[13]" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image[13]" src="https://msdnshared.blob.core.windows.net/media/2016/04/image1313.png" width="240" height="128"></a> <p>반응이 역시나 좋으시면, 다른 형태의 기초 콘텐츠는 2016년에 계속 만들어볼 예정입니다.]]></content:encoded>
    </item>
    <item>
      <title>[동영상] 액티브 디렉터리(AD, Active Directory)의 정석, 탄탄한 기초를 위해~!</title>
      <link>https://docs.microsoft.com/archive/blogs/koalra/ad-active-directory</link>
      <pubDate>Sun, 27 Dec 2015 17:01:00 GMT</pubDate>
      <dc:creator><![CDATA[Seung Joo Baek]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/koalra/2015/12/27/ad-active-directory/</guid>
      <description><![CDATA[2010년 10월에 포스팅한 Active Directory에 대한 기초 동영상 세션이 사실 제 블로그에서 가장 View가 높은 포스팅 중 하나입니다. 다양한 형태의 세미나나...]]></description>
      <content:encoded><![CDATA[<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_569ECDE8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_569ECDE8.png"><img width="500" height="308" title="image" style="background-image:none;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_7A5A8633.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_7A5A8633.png" border="0" /></a></p>
<p>2010년 10월에 포스팅한 <a href="/b/koalra/archive/2011/10/21/active-directory.aspx" target="_blank">Active Directory에 대한 기초 동영상 세션</a>이 사실 제 블로그에서 가장 View가 높은 포스팅 중 하나입니다. 다양한 형태의 세미나나 IT CAMP에서 AD에 관련된 기초 강좌가 있으면 좋겠다는 의견을 지속적으로 주셨고, 꼬알라가 생각해보아도, Microsoft 엔지니어 기술에서 기본중에 기본이 되는 기술이 바로 AD인 것은 틀림없는 사실입니다.</p>
<p>해당 동영상이 Windows Server 2008 R2에 대한 이야기로 구성되어 있고, 조금더 깊이 있고, 오랫동안 찾아보실 수 있는 형태가 되었으면 하는 바램으로, 금년 연말에는 액티브 디렉터리의 정석이라는 주제로 대략 6시간정도의 동영상을 구성해보았습니다.</p>
<p><a href="https://video.ch9.ms/ch9/a8c7/d91cf9d4-be25-4db2-97d1-3c7aff91a8c7/ActiveDirectory01_high.mp4" target="_blank">파트 1 : Active Directory를 살펴보기 전에 반드시 알아야 할 기본 지식 - Microsoft Active Directory를 살펴보기 위해, 반드시 이해해야 할 기본 단어들에 대한 정의</a></p>
<p><a href="https://video.ch9.ms/ch9/7c51/ef8540ff-16ad-4522-825d-9e6bda347c51/ActiveDirectory02_high.mp4" target="_blank">파트 2 : Active Directory의 기초 개념, 1편 - Microsoft Active Directory의 정의, 도메인(Domain), 조직 구성 단위(OU &ndash; Organizational Unit), 포리스트(Forest), 트리 및 트러스트(Trust)에 대한 기본 개념정의</a></p>
<p><a href="https://video.ch9.ms/ch9/fd8f/32744a8e-9f0d-49f5-a06f-737d3394fd8f/ActiveDirectory03_high.mp4" target="_blank">파트 3 : Active Directory의 기초 개념, 2편 - Microsoft Active Directory의 스키마(Schema), 파티션(Partition), 도메인 컨트롤러(DC &ndash; Domain Controller), 글로벌 카탈로그(GC &ndash; Global Catalog), 커베로스(Kerberos) 프로토콜 및 인증 프로세스, 작업 마스터(Operations Master)</a></p>
<p><a href="https://video.ch9.ms/ch9/6fb3/6f4cfee3-18e3-472b-9609-e61c191c6fb3/04revised_high.mp4" target="_blank">파트 4 : Active Directory 도메인 컨트롤러(DC)의 설치, Active Directory내 서비스 조회 구조 및 DNS 서버 기본</a></p>
<p><a href="https://video.ch9.ms/ch9/0626/3f483ae4-e1ef-474e-b268-3c3a844a0626/05revised_high.mp4" target="_blank">파트 5 : 서버 코어 및 전체 설치 버전의 Windows Server를 활용하여 Active Directory 추가 도메인 컨트롤러(DC)의 설치, Active Directory내 그룹 개체 이해 및 활용</a></p>
<p><a href="https://video.ch9.ms/ch9/aa54/1024b9c7-71cf-4417-9ce8-98edd670aa54/06revised_high.mp4" target="_blank">파트 6 : Active Directory 도메인 컨트롤러간 복제(Replication)에 대한 이해 및 Active Directory 사이트(Site) 구성</a></p>
<p><a href="https://video.ch9.ms/ch9/b66a/7fb0ca97-36b3-49d6-82fd-9d2db5e5b66a/AD071revised2_high.mp4" target="_blank">파트 7 : Active Directory 그룹 정책의 기본 이해</a></p>
<p>또 언젠가, 제가 계속적으로 이 일을 하고 있다면, 몇 년후, 다시 최신 버전으로 업데이트를 하겠죠. <img class="wlEmoticon wlEmoticon-smile" style="border-style:none;" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/wlEmoticon-smile_4C039137.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/wlEmoticon_2D00_smile_5F00_4C039137.png" /> 아무쪼록 Microsoft 기술을 지향하시는데, 미약하지만 도움이 되었으면 합니다!</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/telligent.evolution.components.attachments/01/5388/00/00/03/65/86/17/12012015%20-%20AD.pdf" original-url="https://blogs.technet.com/cfs-filesystemfile.ashx/__key/telligent-evolution-components-attachments/01-5388-00-00-03-65-86-17/12012015-_2D00_-AD.pdf">12012015 - AD.pdf</a></p>]]></content:encoded>
    </item>
    <item>
      <title>서버 코어보다 더 작은 Windows Server, 나노 서버(Nano Server)</title>
      <link>https://docs.microsoft.com/archive/blogs/koalra/windows-server-nano-server</link>
      <pubDate>Wed, 02 Dec 2015 07:20:21 GMT</pubDate>
      <dc:creator><![CDATA[Seung Joo Baek]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/koalra/2015/12/02/windows-server-nano-server/</guid>
      <description><![CDATA[보다 많은 리소스를 서비스 대상에 할당하기 위한 운영 체제의 다이어트 열풍은 Windows Server에도 예외는 아닙니다. Windows Server 2008에서 GUI를 제거한...]]></description>
      <content:encoded><![CDATA[<p>보다 많은 리소스를 서비스 대상에 할당하기 위한 운영 체제의 다이어트 열풍은 Windows Server에도 예외는 아닙니다. Windows Server 2008에서 GUI를 제거한 서버 코어(Server Core) 버전이 등장하였고, 이 서버 코어 버전을 활용하여 Hyper-V와 같은 무언가를 서비스해야 하는 기반 운영 체제에서 SQL Server 2016을 서버 코어에 설치할 수 있는 형태까지 발전하였습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_14654D78.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_14654D78.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_7F765BB5.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_7F765BB5.png" width="600" height="345" /></a></p> <p>Windows Server 2012에서는 GUI와 서버 코어 사이에 연결 고리를 Minimum Shell (MinShell) 형태로 만들어서, 관리자가 필요할 경우, GUI 관련 구성 요소를 추가적으로 설치하고, 필요하지 않을 경우엔 제거할 수 있는 형태까지 발전하였죠.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_0146B17D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_0146B17D.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_5DAFA486.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_5DAFA486.png" width="600" height="245" /></a></p> <p>Windows Server 2016에서는 서버 코어보다 훨씬(!) 더 적은 용량을 가지면서도, 강력한 서버 운영 체제의 기반을 만들기 위해, 기존 Windows Server의 명맥을 유지하면서, 완전히 새로운 운영 체제를 개발하고 있습니다. 바로 Nano Server (나노 서버)가 여기에 해당됩니다. 잘 아시다시피, Microsoft는 Microsoft Azure라는 공용 클라우드를 서비스하고 있습니다. Microsoft Azure에는 백만대 이상의 물리적인 서버들이 서비스를 제공하고 있는데, 물리적인 서버의 운영 체제 크기가 영향을 줄 수 있는 부분은 여러 곳이 있습니다. 우선 여러 구성 요소들이 엮일수록, 패치가 나올 확률이 높게 됩니다. 더불어, 해당 패치를 설치하였을 때, 리부팅을 할 확률 역시 높아지게 되죠. 서버 코어가 나오면서, GUI 버전보다 패치의 숫자와 이로 인한 다시 시작 빈도는 낮아졌지만, 더 높은 수준의 요구 사항이 Microsoft Azure에서 나타났던 것입니다. 또한 기반 운영 체제의 용량은 물리적인 서버내 운영 체제를 설치할 때, 소요되는 시간, 그리고 이를 설치하기 위해 네트워크로 전송하는 대역폭에 대한 요구 사항도 필요하게 됩니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_444A31FD.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_444A31FD.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_0C9777CD.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_0C9777CD.png" width="600" height="62" /></a></p> <p>최근 릴리즈된 Windows Server 2016 Technical Preview 4를 기준으로, GPT를 사용하는 형태의 VHDX 파일을 생성하였을 때, GUI 버전은 대략 9GB, 코어 버전은 6.5GB 정도를 차지합니다.</p> <p>나노 서버는 지금까지의 서버 코어와 GUI 버전과의 설치 연결 고리를 가지지는 않습니다. 별도의 Windows Server 형태로 설치가 진행되게 되며, 이를 서버 코어나 GUI 버전으로 변경할수는 없습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_0C9A087E.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_0C9A087E.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_696C9DCB.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_696C9DCB.png" width="600" height="302" /></a></p> <p>Windows Server 2016 설치 미디어를 열어보면, NanoServer라는 폴더가 있습니다. 해당 폴더에서 나노 서버의 이야기는 시작됩니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_66C672CB.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_66C672CB.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_55782C97.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_55782C97.png" width="600" height="185" /></a></p> <p>NanoServer.wim 파일이 바로 나노 서버의 설치 관련 파일입니다. 용량이 놀랍지 않나요? 약 130MB 정도밖에 되지 않습니다. 130MB 정도의 설치 파일이 Windows Server를 제공할 수 있다니… 도대체 어떠한 형태인지에 대해서 많이들 여쭤보십니다. 기본적으로 NanoServer.wim에는 Windows 관련 드라이버조차 포함되어 있지 않습니다. Windows Server가 제공하는 역할 및 기능 역시, 파일 형태로 포함하고 있지 않습니다. 말 그대로 Windows Server의 코어중 코어만을 집적해놓은 것입니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_4FBFA3A2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_4FBFA3A2.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_45FCCCDB.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_45FCCCDB.png" width="600" height="368" /></a></p> <p>Packages 폴더에 들어가보면, 현재 Windows Server 2016 Technical Preview 4에서 사용할 수 있는 나노 서버의 용도를 알 수 있습니다. Compute는 Hyper-V이며, Containers는 곧 업데이트된 내용으로 다시 포스팅할 Windows Container (Docker)입니다. 관련된 패키지에 대한 정리는 <a href="https://technet.microsoft.com/library/mt126167.aspx" target="_blank">TechNet 페이지</a>에서 볼 수 있습니다. </p> <p>앞서 언급한 바와 같이 나노 서버에는 기본적인 하드웨어 드라이버조차도 포함되어 있지 않습니다. 본인의 하드웨어에 적절한 드라이버를 WIM 파일내, 혹은 VHD/VHDX 파일내에 추가시켜줘야 합니다. Windows Server 서버 코어 버전에 포함된 형태의 드라이버 셋트와 동일한 형태의 드라이버를 나노 서버에 추가하려면, 패키지중 OEM-Drivers 패키지 파일을 추가하면 됩니다. 또한 나노 서버를 Hyper-V 기반에서 사용하려면, Guest 패키지가 이에 해당됩니다. 잠시 후 살펴볼, 이미지 제작에서 해당 패키지를 손쉽게 나노 서버 이미지에 넣는 방법을 살펴볼 것입니다.</p> <p>Windows Server 2016 Technical Preview 3에서는 이번 Technical Preview 4보다 나노 서버에서 활용할 수 있는 패키지가 적었습니다. 이 의미는 차후 정식 버전의 Windows Server 2016내 나노 서버는 더 많은 역할을 제공할 것임을 알 수 있게 합니다. 기존 Technical Preview 3에서는 Windows Container의 호스트로 나노 서버를 사용할 수 없었지만, 이번 버전에는 드디어 제공하며, <a href="https://blogs.technet.com/b/koalra/archive/2015/11/30/nested-virtualization.aspx" target="_blank">Nested Virtualization</a> 기술과 결합하면, Hyper-V Container까지 이용할 수 있습니다.</p> <p>자.. 이제 나노 서버를 이용할 수 있는 형태의 이미지로 제작해봐야겠죠. 앞서 언급한 바와 같이, 물리적인 서버에 나노 서버를 설치할 수도 있고(WIM 파일을 직접 하드 디스크에 풀어주는 형태), 아니면 VHDX 파일 형태로 제작하여, Hyper-V에서 가상 컴퓨터(VM) 형태로 사용하는 것입니다. 우선 VM 형태로 사용하기 위해 VHDX 파일을 제작하는 것을 살펴보죠.</p> <p>Windows Server 2016 Technical Preview 4 설치 미디어내 NanoServer 폴더에 보면, NanoServerImageGenerator.psm1 파일이 존재합니다. 해당 모듈을 가져오기(Import)하여, Windows PowerShell에서 손쉽게 이미지를 제작할 수 있게 합니다. 제 경우에는 해당 폴더를 서버내 디스크로 복사한 후, 가져오기를 진행하였습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_1DECAE6D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_1DECAE6D.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_0D0A9B2E.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_0D0A9B2E.png" width="600" height="128" /></a></p> <p>감이 올 것입니다. New-NanoServerImage Cmdlet을 이용해서, Hyper-V 가상 컴퓨터용 나노 서버 이미지를 생성하는 것입니다. New-NanoServerImage Cmdlet의 자세한 사용법은 <a href="https://msdn.microsoft.com/en-us/library/mt126167.aspx" target="_blank">관련 링크</a>를 활용하시면 됩니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_65D2E2A9.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_65D2E2A9.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_02DB9172.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_02DB9172.png" width="600" height="30" /></a></p>  <p>New-NanoServerImage의 옵션 중 MediaPath는 Windows Server 2016 원본 미디어의 위치입니다. 예제에서는 F:\가 여기에 해당됩니다. BasePath의 경우는 나노 서버의 WIM과 관련 패키지를 복사할 폴더를 의미하며, TargetPath는 결과로 생성될 이미지의 위치 및 이름입니다. 여기서 중요한 것은 VHD로 파일 확장자를 지정하면 1세대(MBR 기반)의 VHD 파일이 생성되며, VHDX로 지정하면 2세대(GPT 기반)의 VHDX 파일이 생성됩니다.</p> <p>Compute 옵션을 붙이면, Hyper-V가 설치되고, Containers 옵션을 사용하면 Container Host 관련 패키지가 설치됩니다. Storage는 파일 서버와 관련된, Clustering은 장애 조치 클러스터에 해당됩니다. </p> <p>New-NanoServerImage Cmdlet에 ? 옵션을 붙여서 모든 옵션들을 다 뽑아내면, 아래와 그림과 같습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_2E22B92A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_2E22B92A.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_2F1D39B8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_2F1D39B8.png" width="600" height="185" /></a></p> <p>제가 예제에서 사용한 EnableRemoteManagementPort 옵션은 Windows Remote Management(WinRM)을 이용하여 나노 서버에 다른 서브넷에서도 접근할 수 있도록 5985 포트를 방화벽에서 설정하라는 의미입니다. Windows Server 2016 Technical Preview 3의 나노 서버는 이미지 구성시, IP 주소와 같은 기본적인 설정조차, 이미지 생성시 고려해야 했지만, Windows Server 2016 Technical Preview 4부터는 기본 부팅 화면에서 IP 주소와 방화벽 설정은 구성이 가능하게 편의성을 높혔습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_61176AF3.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_61176AF3.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_4DF8CEF8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_4DF8CEF8.png" width="600" height="428" /></a></p> <p>New-NanoServerImage Cmdlet에서 가장 중요한 한가지가 있습니다. 사용하는 Windows의 언어에 따라서, 관련 패키지 언어를 사용하게 되어 있기에, 이미지를 제작하는 운영 체제가 한글판인 경우, 한글판 Windows Server 2016 이미지를 사용하면, 아무 문제가 없습니다만, 영문판 이미지를 사용할 경우에는 Language 옵션과 en-us를 붙여줘야 합니다. 반대의 경우도 동일합니다. Hyper-V용 드라이버만을 포함하여, 2세대 VM 이미지를 제작해보면, 아래와 같은 결과를 얻게 됩니다. 이미지 제작시 관리자 암호를 입력하게 됩니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_2ACB6446.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_2ACB6446.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_02BDD689.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_02BDD689.png" width="600" height="415" /></a></p>  <p>이를 MB로 환산해보니, 644MB밖에 되지 않는군요. 서버 코어가 6.5GB 정도였으니, 1/10 수준입니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_46949B91.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_46949B91.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_65D9D315.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_65D9D315.png" width="600" height="62" /></a></p> <p>이제 해당 VHDX 파일을 적절한 폴더로 복사하여, Hyper-V의 VM으로 동작시켜봅니다. 아주 심플한 형태의 로그온 창이 나타납니다. 이미지 제작시 지정한 암호를 Administrator 계정과 함께 입력합니다. 로컬 로그온이므로, Domain 항목은 비워놓아도 됩니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_50EAE153.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_50EAE153.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_06EF6061.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_06EF6061.png" width="600" height="380" /></a></p> <p>로그온은 마치면, 텍스트 기반의 기본 콘솔이 나타납니다. 여기서, IP 주소와 방화벽 설정은 변경할 수 있습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_59049E59.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_59049E59.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_6AE3C2D7.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_6AE3C2D7.png" width="600" height="422" /></a></p> <p>이제 어떻게 해야 하는지가 참 고민이 되실 것입니다. <img class="wlEmoticon wlEmoticon-smile" style="border-top-style:none;border-left-style:none;border-bottom-style:none;border-right-style:none;" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/wlEmoticon-smile_4C990BE1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/wlEmoticon_2D00_smile_5F00_4C990BE1.png" /> 나노 서버의 경우에는 모든 관리는 원격에서 PowerShell 형태의 관리나, 차후 출시될 Microsoft Azure Stack을 통해 웹 기반으로 관리하게 될 예정입니다. (사실 Microsoft Azure Stack의 경우에도 내부적으론 WS-Management를 활용한 원격 PowerShell과 동일합니다.) </p> <p>도메인 환경이 아니기에, 우선 세션을 연결하기 위한 계정 정보를 입력받아야 합니다. $Cred = Get-Credential “IP 주소\Administrator”라고 입력합니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_07803EAB.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_07803EAB.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_7944566B.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_7944566B.png" width="600" height="252" /></a></p> <p>암호를 입력하면, $Cred 변수에 계정 정보가 저장되게 됩니다. 이를 이용해서 세션을 연결해보죠. 이때, Enter-PSSession Cmdlet을 활용합니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_3FC3D725.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_3FC3D725.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_4127F9F7.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_4127F9F7.png" width="600" height="58" /></a></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_0C1DFB78.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_0C1DFB78.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_6B994C76.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_6B994C76.png" width="600" height="122" /></a></p> <p>프롬프트에 IP 주소가 추가되었습니다. 해당 서버에 원격으로 연결되었다는 의미입니다. 이제는 PowerShell Cmdlet으로 시스템들에 대한 설정을 할 수 있습니다. 이미지 제작시 컴퓨터 이름을 입력하지 않았거나, 이름을 변경할 경우, Rename-Computer Cmdlet을 이용합니다. 기본적으로 동작하는 프로세스의 목록을 살펴보면..</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_4B149D75.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_4B149D75.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_60946D81.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_60946D81.png" width="600" height="475" /></a></p> <p>22개밖에 되지 않습니다. Windows Server 2016 서버 코어 버전은 28개, GUI 버전은 46개의 프로세스가 기본 동작합니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_38F08208.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_38F08208.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_4A660442.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_4A660442.png" width="600" height="132" /></a></p> <p>동일하게 2GB씩 메모리를 할당한 VM에서 사용 가능한 물리 메모리의 크기는 나노 서버가 1894888, 서버 코어가 1589228, GUI 버전이 1135208입니다. 메모리에 대한 사용량도 매우 적죠.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_19665395.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_19665395.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_2428CC4C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_2428CC4C.png" width="600" height="282" /></a></p> <p>나노 서버에서 살펴볼 내용은 매우 많지만, 오늘의 기본적인 나노 서버 이야기는 도메인에 나노 서버를 가입시키는 것으로 끝낼까 합니다. GUI 라면 매우 손쉽게 진행할 수 있는 도메인 가입이 나노 서버에서는 도통 감이 안잡히실거라 생각합니다. Offline Domain Join (ODJ)를 활용해야 합니다. ODJ에 대한 자세한 설명은 <a href="https://technet.microsoft.com/en-us/library/offline-domain-join-djoin-step-by-step(v=ws.10).aspx" target="_blank">여기</a>를 살펴보시면 됩니다. 도메인에 가입된 서버 코어나 GUI 버전의 Windows Server에서 명령 프롬프트를 열고, djoin /provision /domain “KOALRA.COM” /machine “KOALRA-NANO-01” /savefile C:\ODJ\KOALRA-NANO-01 이라고 입력합니다. 도메인 이름과 컴퓨터 이름은 본인이 사용하는 이름을 입력하시면 됩니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_1441399B.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_1441399B.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_3C7372AD.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_3C7372AD.png" width="600" height="152" /></a></p> <p>C:\ODJ에 도메인 가입을 위한 BLOB이 생성되었습니다. 이 다음 난관은 이 파일을 어떻게 나노 서버 안으로 복사하느냐는 것입니다. 이때 Windows Server 2016의 개선 사항이 또다시 빛을 냅니다. <img class="wlEmoticon wlEmoticon-smile" style="border-top-style:none;border-left-style:none;border-bottom-style:none;border-right-style:none;" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/wlEmoticon-smile_4C990BE1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/wlEmoticon_2D00_smile_5F00_4C990BE1.png" />&nbsp;</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_5189A075.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_5189A075.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_1EBC2AB2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_1EBC2AB2.png" width="600" height="255" /></a></p> <p>Copy-Item Cmdlet이 ToSession, FromSession이라는 옵션이 추가되어, 세션내로 복사가 가능해졌습니다. 반대로도 파일을 가져나올 수도 있고.. 위의 그림을 살펴보시면, 매우 쉽게 이해되실 것입니다. 나노 서버로 세션을 연결하여, djoin /requestodj /loadfile “BLOB 파일” /windowspath “Windows 경로” /localos라고 입력합니다. 그리고 Shutdown /r /t 5 명령어를 이용하여 다시 시작을 시킵니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_6E28ACF9.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_6E28ACF9.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_2022DE35.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_2022DE35.png" width="600" height="155" /></a></p> <p>다시 시작이 완료되면, 도메인 계정으로 로그온할 수 있습니다. 서버의 표준 시간대는 tzutil 명령어로 수정할 수 있습니다.</p> <p>나노 서버는 기존의 Windows Server의 모든 모습을 다 호환할 수는 없을 것입니다. 그렇지만, 최대한 하위 호환성을 가지기 위해서 노력하고 있습니다. 패키지 중 ReverseForwarders 패키지가 이를 반증하고 있습니다. </p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_5144A986.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_5144A986.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_70F613FF.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_70F613FF.png" width="600" height="290" /></a></p> <p>나노 서버는 매우 최적화된 형태로 서비스에 보다 많은 자원을 할당해야 하는 클라우드 기반 운영 체제에 목적을 가지고 있으며, 기존 서버 코어는 Windows Server GUI 버전과의 호환성 및 기존 응용 프로그램과의 연관성을 방향으로 가지고 있습니다.</p> <p>조금 길었지만, 어떠신가요? 새로운 Windows Server의 세계가 느껴지시는가요? 앞으로 출시까진 시간이 남았지만, Windows Server 2016의 향상은 계속될 것이며, 여기 중심에 나노 서버가 있을 것이라고 생각합니다.</p>]]></content:encoded>
    </item>
    <item>
      <title>가상화안에 또다른 가상화를, Nested Virtualization</title>
      <link>https://docs.microsoft.com/archive/blogs/koalra/nested-virtualization</link>
      <pubDate>Sun, 29 Nov 2015 22:06:16 GMT</pubDate>
      <dc:creator><![CDATA[Seung Joo Baek]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/koalra/2015/11/29/nested-virtualization/</guid>
      <description><![CDATA[Windows Server 2008에서 Hyper-V를 출시한 이후, 많은 고객분들께서 말씀하시던 기술이 바로 가상화 안에 또다른 가상화를 설치하고, 운영할 수 있느냐에 대한...]]></description>
      <content:encoded><![CDATA[<p>Windows Server 2008에서 Hyper-V를 출시한 이후, 많은 고객분들께서 말씀하시던 기술이 바로 가상화 안에 또다른 가상화를 설치하고, 운영할 수 있느냐에 대한 부분이었습니다. 가상화 기술안에서 또다른 가상화 기술을 동작시키는 것은 이야기상으로는 매우 간단할 수 있지만, 기술적으로는 조금 생각을 해봐야 하는 측면이었습니다.</p> <p>우리가 사용하는 Hypervisor의 경우에는 CPU의 가상화 기술(Intel-VT, AMD-V)을 기반으로 동작하는 기술입니다. Hypervisor가 전체적인 하드웨어를 하단에 놓고, 실제 운영 체제를 포함하여, 가상 컴퓨터(VM)까지 Hypervisor의 통제하에 하드웨어를 사용하는 형태이죠.</p> <p>여기서 중요한 단어가 하나 나오게 됩니다. 바로 추상화(Abstraction)이라는 단어입니다. </p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_1442335C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_1442335C.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_3105EB35.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_3105EB35.png" width="600" height="285" /></a></p> <p>상단의 그림은 Hypervisor 위에서 동작하는 VM의 하드웨어 모습입니다. 네트워크 어댑터, 디스크 드라이브, 디스플레이 어댑터등이 모두 Microsoft Hyper-V 관련된 이름으로 표시되고 있습니다. (Intel® 82599로 표시된 NIC은 SR-IOV와 관련된 기술, <a href="https://blogs.technet.com/b/koalra/archive/2012/08/07/windows-server-2012-hyper-v-io-sr-iov.aspx" target="_blank">관련 포스팅</a>, 이기에, 조금 다른 의미입니다.) Microsoft Hyper-V라고 표시되는 하드웨어는 실제 하드웨어를 바로 VM이 사용하는 것이 아니라, Hypervisor의 통제를 받고 있다는 의미와 함께, 실제 하드웨어를 접근하지 않는 모조의 하드웨어 형태 접근을 의미합니다. 이를 Hyper-V에서는 Synthetic Device(모조 장치)라고 합니다. 가장 중요한 것은 하드웨어를 직접 쓰지 않는다는 것입니다.</p> <p><img alt=" " src="https://i-msdn.sec.s-msft.com/en-us/virtualization/hyperv_on_windows/user_guide/media/HVNoNesting.png" width="600" height="445" /></p> <p>이렇게 되면, Intel-VT, AMD-V와 같은 형태의 CPU 기술도 VM에서는 인지하지 못하는 기술입니다. 그러한 이유로 Hyper-V를 설치한 후, 실제 서버에서 CPU 관련 유틸리티를 실행하면, 가상화 기술이 검색되지 않는다고 뜨게 되죠. 상단 그림이 이러한 구조를 잘 보여주고 있습니다.</p> <ul> <li>Level 0 : 실제 하드웨어 및 Hypervisor가 사용하는 레벨</li> <li>Level 1 Root : Level 0 Hypervisor 및 VM을 관리하는 호스트 운영 체제</li> <li>Level 1 Guest : 우리가 잘 알고 있는 VM</li></ul> <p>Windows 10 TH2(10565 이상), 그리고 Windows Server 2016 TP4에서는 Level 1 Guest를 위한 vCPU에 가상화 관련 기술을 제공하는 형태가 되었습니다. 이를 이용하여, VM내 가상화 기술을 사용할 수 있게 되었죠.</p> <p><img alt=" " src="https://i-msdn.sec.s-msft.com/en-us/virtualization/hyperv_on_windows/user_guide/media/HVNesting.png" width="600" height="365" /></p> <ul> <li>Level 2 Root : Hyper-V가 설치된 VM</li> <li>Level 2 Guest : Hyper-V가 설치된 VM내에서 동작하는 VM</li></ul> <p>이렇게 가상화 안에서 또다른 가상화를 지원한다는 의미를 Nested Virtualization이라고 합니다. 둥지안에 둥지.. <img class="wlEmoticon wlEmoticon-smile" style="border-top-style:none;border-left-style:none;border-bottom-style:none;border-right-style:none;" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/wlEmoticon-smile_17A078AC.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/wlEmoticon_2D00_smile_5F00_17A078AC.png" /> 의미적으론 이해가 되시죠? 현재 Nested Virtualization은 Preview 단계이며, Intel-VT만을 지원하고 있습니다. 이에 Hyper-V만을 지원하고 있습니다. (차후 정식 버전에서는 VT를 지원하기에, VT를 사용하는 모든 가상화 기술을 지원할 예정입니다.)</p> <p>사용하는 방법은 매우 쉽습니다. GUI 설정이 없기에, Windows PowerShell에서만 설정할 수 있습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_11E7EFB7.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_11E7EFB7.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_0F41C4B7.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_0F41C4B7.png" width="600" height="428" /></a></p> <p>VM Processor를 Get-VMProcessor로 확인해보면, ExposeVirtualizationExtensions 속성이 False입니다. 이 속성이 바로 VT와 관련된 속성입니다. 이를 Set-VMProcessor -VMNAME &lt;VM이름&gt; -ExposeVirtualizationExtentions:$True 로 설정하시면 됩니다.</p> <p>이후, VM내에 Windows 10 TH2(10576+), Windows Server 2016 TP4를 설치하시면, Hyper-V를 사용할 수 있습니다. (현재 하위 버전 안됨)</p> <p><img alt=" " src="https://i-msdn.sec.s-msft.com/en-us/virtualization/hyperv_on_windows/user_guide/media/HyperVNesting.png" width="600" height="451" /></p>  <p>현재 Nested Virtualization은 Preview 단계이기에, 몇가지 제약사항이 있습니다. (정식 버전시 변경 예정)</p> <ul> <li>VM내에서 Device Guard를 사용할 수 없습니다. (VSM 및 vTPM 동작 안됨)</li> <li>호스트에 가상화 기반 보안이 적용되었을 경우에도 안됩니다.</li> <li>Nested Virtualization을 사용할 VM에서 동적 메모리 사용할 수 없습니다.</li> <li>Windows Server 2016부터 추가될 운영 중 VM 메모리 수정도 안됩니다.</li> <li>Nested Virtualization이 적용된 VM에서 검사점(Checkpoint)를 구성할 수 없습니다.</li> <li>실시간 마이그레이션은 현재 지원하지 않습니다.</li> <li>VM 운영 중 저장/복원이 불가능합니다.</li></ul> <p>Nested Virtualization을 기반으로, 다음에 소개해드릴 Windows Container 기술의 Hyper-V Container가 동작하게 됩니다. <img class="wlEmoticon wlEmoticon-smile" style="border-top-style:none;border-left-style:none;border-bottom-style:none;border-right-style:none;" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/wlEmoticon-smile_17A078AC.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/wlEmoticon_2D00_smile_5F00_17A078AC.png" /> 가상화 안에 가상화 Nested Virtualization을 통해, 보다 많은 구성 시나리오가 앞으로 사용될 수 있을거라 생각합니다.</p>]]></content:encoded>
    </item>
    <item>
      <title>[20151027] Windows Server 2016 Overview @ TechDays 2015 다시보기</title>
      <link>https://docs.microsoft.com/archive/blogs/koalra/20151027-windows-server-2016-overview-techdays-2015</link>
      <pubDate>Mon, 23 Nov 2015 22:07:00 GMT</pubDate>
      <dc:creator><![CDATA[Seung Joo Baek]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/koalra/2015/11/23/20151027-windows-server-2016-overview-techdays-2015/</guid>
      <description><![CDATA[지난 10월 27일, 세종대학교에서 진행된 TechDays에서 Windows Server 2016에 대한 소개를 130분정도 야간 세션으로 진행하였습니다.

관련된 세션의...]]></description>
      <content:encoded><![CDATA[<p>지난 10월 27일, 세종대학교에서 진행된 TechDays에서 Windows Server 2016에 대한 소개를 130분정도 야간 세션으로 진행하였습니다.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_07822C94.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_07822C94.png"><img width="600" height="312" title="image" style="background-image:none;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_72933AD1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_72933AD1.png" border="0" /></a></p>
<p>관련된 세션의 다시보기 영상이 Technical Preview 4 공개와 함께, 오픈되었습니다.</p>
<p>[View:https://video.ch9.ms/ch9/89d7/a86e3a55-504f-4159-beb7-5c0e50a189d7/T15_high.mp4:0:0]</p>
<p><a href="https://channel9.msdn.com/Events/TechDays/TDK2015/T1-5" target="_blank">1부 직접 보기 링크</a></p>
<p>[View:https://video.ch9.ms/ch9/7ace/6576e708-d5ee-4cdc-9fba-a94d6ead7ace/T16_high.mp4:0:0]</p>
<p><a href="https://channel9.msdn.com/Events/TechDays/TDK2015/T1-6" target="_blank">2부 직접 보기 링크</a></p>
<p>발표 자료 역시, 해당 링크에서 같이 확인해보실 수 있습니다.</p>
<p>추가적으로 Windows Server 2016 Technical Preview 4는 <a href="https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-technical-preview" target="_blank">여기</a>에서 다운로드 가능합니다.</p>
<p>아무쪼록 새롭게 출시할 Windows Server 2016에 대한 전반적인 내용을 살펴보시는데 도움이 되셨으면 합니다.</p>]]></content:encoded>
    </item>
    <item>
      <title>Microsoft의 컨테이너(Container) 기술, Windows Server 2016과 Docker.. 2편, Container Host 구성</title>
      <link>https://docs.microsoft.com/archive/blogs/koalra/microsoft-container-windows-server-2016-docker-2-container-host</link>
      <pubDate>Thu, 08 Oct 2015 01:02:32 GMT</pubDate>
      <dc:creator><![CDATA[Seung Joo Baek]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/koalra/2015/10/08/microsoft-container-windows-server-2016-docker-2-container-host/</guid>
      <description><![CDATA[약 한달전에, Microsoft의 컨테이너(Container) 기술, Windows Server 2016과 Docker.. Windows/Hyper-V Container 포스팅에서...]]></description>
      <content:encoded><![CDATA[<p>약 한달전에, <a href="https://blogs.technet.com/b/koalra/archive/2015/08/28/microsoft-container-windows-server-2016-docker-windows-hyper-v-container.aspx" target="_blank">Microsoft의 컨테이너(Container) 기술, Windows Server 2016과 Docker.. Windows/Hyper-V Container</a> 포스팅에서 Windows Server 2016 Technical Preview(TP) 3에서 새롭게 추가된 Windows Container 기술에 대한 대략적인 기술 정리 및 간단한 활용을 살펴보았습니다. 빠르게 2번째 포스팅을 해야지라는 마음은 굴뚝같았지만, Windows 10 Enterprise 쪽에 대한 오프라인 세미나 요청이 많으셔서, 이를 진행하느라, 지긋이 앉아, 새로운 글을 쓸 시간이 많지 않았습니다. ㅜㅜ</p> <p>각설하고! 오늘은 Windows Server 2016 TP3을 이용하여 Windows Container를 사용하기 위한, Container Host를 구성해보도록 하겠습니다. (Container Host라는 단어가 익숙하지 않으시다면, 앞선 개념 이해 포스팅을 다시 한번 읽어보시고~!)</p> <p>Container Host를 구성하기 위한 운영 체제는 Windows Server 2016 TP3이어야 합니다. Container Host는 실제 물리적인 서버에 설치하셔도 되고, Windows Server 2012/2012 R2 기반의 VM에 설치하셔도 무방합니다. </p> <p>다만 주의 사항은, Windows Server 2016 TP3을 코어(Core) 버전으로 사용하셔야 한다는 것입니다. 차후 Windows Server 2016이 릴리즈되면, 코어 버전의 Windows Server뿐만 아니라, Nano Server (언젠가 포스팅을 또 하겠습니다. ㅜㅜ) 기반에서도 활용할 수 있습니다. 많이 사용하시는 GUI 기반의 전체 설치 버전은 Container Host의 형태로 사용할 수 없는 방향으로 가고 있습니다. 어찌 생각해보면, Container 기술 자체가, 빠른 배포 및 유연성을 위한 기술이기에, 작은 용량의 형태가 필요해지고, 이러한 방향성에서는 전체 설치 버전은 잘 맞지 않는 것이라고 해석할 수 있습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_7D12ADBD.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_7D12ADBD.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_33835FC0.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_33835FC0.png" width="500" height="281" /></a></p> <p>Windows Server 2016 TP3 코어 버전을 설치하셨다면, Container Host를 구성하기 위한 절반의 절차는 완료하신 셈입니다. 또한, 현재 Container Host를 구성하시려면, 반드시 대상 서버(혹은 VM)이 인터넷에 연결되어 있어야 합니다. (관련 파일 다운로드를 위해) GUI에 익숙하신 분들은 시작부터 명령어가 감이 안오실 수 있습니다. 우선 서버의 이름, IP 주소등을 설정해야 하므로, 명령 프롬프트에서 sconfig를 이용하는 것입니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_37903E43.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_37903E43.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_7BD33640.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_7BD33640.png" width="600" height="440" /></a></p> <p>Container Host를 구성하는 가장 편리한 방법은 Windows PowerShell을 이용하시는 것입니다. 이를 위해 PowerShell이라고 입력하여, 이를 실행합니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_0B75D203.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_0B75D203.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_11BCA891.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_11BCA891.png" width="600" height="180" /></a></p>  <p>Windows PowerShell에서 Container Host를 구성하는 PowerShell 스크립트를 Microsoft에서 다운로드받습니다. 브라우저가 없기 때문에, Invoke-WebRequest(wget으로 Alias가 설정되어 있음)을 이용하여, <a href="https://aka.ms/setupcontainers">https://aka.ms/setupcontainers</a>의 스크립트를 ContainerSetup.ps1으로 다운로드합니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_1AAC3AD0.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_1AAC3AD0.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_3C979D54.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_3C979D54.png" width="600" height="172" /></a></p> <p><a href="https://aka.ms/setupcontainers">https://aka.ms/setupcontainers</a> 에 접속해보면, Setup용 스크립트임을 알 수 있습니다. 보다 세부적인 구성 순서나 기술 습득을 위해서 시간이 허락될 때, 해당 스크립트 파일을 분석해보시는 것도 좋습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_79BB58D9.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_79BB58D9.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_0553A6CA.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_0553A6CA.png" width="600" height="322" /></a></p> <p>한가지를 결정하고 이후 작업을 진행해야 합니다. Container들에 대한 네트워크 방식을 결정해야 합니다. Windows Server 2016 TP3의 Container는 2가지 형태의 네트워킹을 지원합니다.</p> <ol> <li>Container와 Container Host간의 NAT 구성</li> <li>Container와 Container Host가 동일한 네트워크에 배치(현재는 DHCP 시나리오만 지원)</li></ol> <p>그냥 방금 다운로드받은 스크립트를 실행하면, Container가 Container Host를 게이트웨이로 쓰는 형태인 NAT가 구성됩니다. 이 경우에 Container의 네트워킹을 위해 개인 네트워크(Private Network) 스위치가 생성되고, Container Host가 실제 NIC과 개인 네트워크에 연결된 vNIC의 네트워킹을 NAT 형태로 처리하게 됩니다. </p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_54BEC750.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_54BEC750.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_60571540.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_60571540.png" width="300" height="75" /></a></p> <p>NAT로 구성된 경우에는 Container가 외부 네트워크에 연결되어 서비스할 경우, 외부 IP 주소와 외부 포트를, 내부의 주소와 포트로 맵핑해주는 NAT의 포트 포워딩을 사용해야 합니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_1FB4C8D1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_1FB4C8D1.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_3D95DD83.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_3D95DD83.png" width="280" height="378" /></a></p> <p>이 경우, 많은 NetNat 관련 cmdlet 중 Add-NetNatStaticMapping을 이용합니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_134A981A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_134A981A.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_54E4D466.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_54E4D466.png" width="500" height="242" /></a></p> <p>Container도 직접 네트워크가 가능한 형태로 구성을 하기 위해서는 ContainerSetup.ps1 스크립트를 실행시 하나의 옵션을 설정해야 합니다. 바로 UseDHCP 옵션입니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_4E1C2F56.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_4E1C2F56.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_69548857.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_69548857.png" width="200" height="55" /></a></p> <p>해당 스크립트의 75번째 줄에는 UseDHCP에 대한 옵션을 지정할 수 있으며, </p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_54118FDE.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_54118FDE.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_355AA5F3.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_355AA5F3.png" width="600" height="210" /></a></p> <p>293번째 줄에서 UseDHCP를 지정했을 경우엔, New-ContainerDhcpSwitch Function으로, 아닐 경우엔 New-ContainerNatSwitch와 New-ContainerNat Function이 동작함을 알 수 있습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_3320ADE8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_3320ADE8.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_7B045173.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_7B045173.png" width="600" height="190" /></a></p> <p>203번째 줄에서 시작되는 New-ContainerDhcpSwitch Function은 전역 변수 SwitchName으로 그냥 VmSwitch를 생성합니다. (외부 네트워크입니다.)</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_51901033.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_51901033.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_2168C570.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_2168C570.png" width="400" height="63" /></a></p> <p>93번째 줄에 SwitchName에 대한 전역 변수가 선언되어 있습니다. (이를 바꾸시면 Container에서 사용 가능한 스위치 이름도 바뀝니다.) 물론, NAT로 구성 후, DHCP로 구성 후, 상호 변경이 가능합니다. 또한 2개 이상의 스위치를 생성하시고, 이를 묶어서 활용하실 수도 있습니다.</p> <p>외부 네트워크에 직접 Container들을 바로 연결하려면, ContainerSetup.ps1 -usedhcp 를 입력하시고, 그냥 NAT로 사용하실 것이라면, ContainerSetup.ps1만 바로 실행하면 됩니다. NAT 활용시, Container들은 기본적으로 스크립트내 61번째 줄에서 선언된 172.16.0.0/12 IP 서브넷을 사용합니다. 이 역시 실행 전, 차후 변경이 가능합니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_07948F41.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_07948F41.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_5E8C80F5.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_5E8C80F5.png" width="400" height="57" /></a></p> <p>설치는 한 줄로 되는 것을 알 수 있습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_02483941.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_02483941.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_000E4136.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_000E4136.png" width="400" height="78" /></a></p> <p>설치 이후, Windows Container가 동작할 때, 필요한 각종 파일을 다운로드받습니다. 자 이제 설치를 시작하기 위해, Windows PowerShell에서 ContainerSetup.ps1을 실행하죠.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_6F95D03A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_6F95D03A.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_37E3160A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_37E3160A.png" width="600" height="120" /></a></p> <p>한번의 다시 시작이 발생하고, 다시 로그온을 요청합니다. Windows Server 2016부터는 기존 코어 버전에 있었던 로그온 UI 페이지가 없이, 글자로 표시됩니다. <img class="wlEmoticon wlEmoticon-smile" style="border-top-style:none;border-left-style:none;border-bottom-style:none;border-right-style:none;" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/wlEmoticon-smile_60EDB506.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/wlEmoticon_2D00_smile_5F00_60EDB506.png" /></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_3193ED4F.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_3193ED4F.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_13493659.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_13493659.png" width="300" height="65" /></a></p>  <p>다시 로그온을 완료하면, 사전 다시 설치 프로세스가 시작되도록, 구성되고, 다시 시작되었으므로, Windows PowerShell이 자동 시작됩니다. 그 후, 옵션을 별도로 붙이지 않았기에, 네트워크는 NAT 모드로, 그리고 NAT 내부 IP 대역은 언급한 172.16.0.0/12입니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_293D8B87.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_293D8B87.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_71F7044B.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_71F7044B.png" width="600" height="142" /></a></p> <p>Container에서 활용할 Container OS 이미지를 <a href="https://aka.ms/ContainerOSImage">https://aka.ms/ContainerOSImage</a>에서 다운로드를 시작합니다. 해당 이미지가 각종 Container를 생성할 때, 기반이 될 OS 이미지가 되며, Windows Server 2016 TP3에서는 Windows Server 2016 Core만 제공하고 있습니다. 다운로드에 걸리는 시간은 네트워크의 상황에 따라 유동적입니다. 해당 경로를 직접 브라우저에 넣으면, 약 3G의 크기를 가진 Windows Server 2016 TP3 Core가 다운로드됩니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_1A957053.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_1A957053.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_2AA43F0A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_2AA43F0A.png" width="600" height="55" /></a></p> <p>다운로드가 잘 진행되는지 확인하고 싶다면, Ctrl+Alt+Del을 누르고, 작업 관리자를 선택합니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_7EF3750D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_7EF3750D.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_557F33CD.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_557F33CD.png" width="500" height="131" /></a></p>  <p>이더넷에 Receive 쪽이 속도가 나옴을 알 수 있습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_7BE11718.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_7BE11718.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_0B83B2DB.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_0B83B2DB.png" width="500" height="279" /></a></p> <p>그리고 작업 관리자의 메뉴 파일, 새 작업 실행을 통해 PowerShell이나 명령 프롬프트를 하나 더 열수 있습니다. 이를 통해 다른 작업을 하실 수도 있습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_7D47CA9B.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_7D47CA9B.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_216FB5DC.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_216FB5DC.png" width="600" height="265" /></a></p>      <p>설치가 완료된 이후, 작업 관리자의 세부 정보 탭에서 Docker.exe를 확인하실 수 있습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_40B4ED60.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_40B4ED60.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_5E29CF1D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_5E29CF1D.png" width="500" height="260" /></a></p> <p>NAT 형태로 네트워크를 구성하였기에, NAT 서비스가 구성되어 있고, Get-VMSwitch cmdlet에서 2개의 네트워크가 나타나게 됩니다. </p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_5C6EE212.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_5C6EE212.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_3A19DD4A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_3A19DD4A.png" width="400" height="195" /></a></p> <p>Container IP 주소 172.16.0.2의 80번 포트를 외부로 매핑하려면, Add-NetNatStaticMapping cmdlet을 사용하게 됩니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_1282A3B9.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_1282A3B9.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_0FDC78B9.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_0FDC78B9.png" width="600" height="72" /></a></p> <p>NAT는 외부에서 접속하는 형태의 Container는 조금 불편한 감이 있습니다. 이에 IP 주소를 직접 가지는 모드가 더 유용할 수 있습니다. 이를 외부 네트워크 유형의 가상 스위치라고 하며, 현재는 DHCP 서버가 IP 주소를 제공해야 합니다. 일단 현재의 NAT 유형의 VM Switch를 제거합니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_1FEB4770.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_1FEB4770.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_3811427C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_3811427C.png" width="600" height="195" /></a></p> <p>그 후, New-VMSwitch cmdlet으로 새롭게 외부 네트워크 유형의 가상 스위치를 생성합니다. Get-NetAdapter를 통해 NIC의 Name 속성을 확인하고, New-VMSwitch &lt;스위치 이름&gt; -NetAdapterName &lt;NIC의 Name 속성&gt;을 입력합니다. 이러면 SwitchType이 External인 가상 스위치가 만들어집니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_55862439.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_55862439.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_59296078.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_59296078.png" width="600" height="218" /></a></p> <p>물리적인 서버를 직접 이용하는 형태라면, 이 후, 해당 가상 스위치를 사용하는 Container는 IP 주소를 DHCP 서버에서 받아 옵니다. 그러나 VM의 경우에는 Hyper-V에서 구성해준 기본 설정을 사용한다면, IP 주소를 받지 못하는 문제(?!?!)아닌 문제가 발생합니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_342B9FFF.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_342B9FFF.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_4D4EAC4A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_4D4EAC4A.png" width="600" height="275" /></a></p> <p>이유는 Hyper-V의 보안 기능때문입니다. VM 설정에 NIC에 대한 MAC 주소 스푸핑(Spoofing)을 할 수 없게 하는 옵션이 기본이기 때문입니다. 하나의 NIC에서 여러 MAC 주소가 나오는 형태이기에, Hyper-V에서는 MAC 주소 스푸핑이라고 판단하는 것이죠. (소프트웨어 네트워크 로드 밸런싱인 NLB시에도 동일한 이슈가 발생합니다.) 이를 할 수 있게 하는 옵션이 VM 설정에 있습니다.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_55D20B94.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_55D20B94.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_7E70779B.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_7E70779B.png" width="600" height="205" /></a></p> <p>이럼, 이렇게 잘 해결이 됩니다. <img class="wlEmoticon wlEmoticon-smile" style="border-top-style:none;border-left-style:none;border-bottom-style:none;border-right-style:none;" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/wlEmoticon-smile_60EDB506.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/wlEmoticon_2D00_smile_5F00_60EDB506.png" /></p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_354D5C93.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_354D5C93.png"><img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/88/metablogapi/image_thumb_3DD0BBDD.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-88-metablogapi/image_5F00_thumb_5F00_3DD0BBDD.png" width="600" height="340" /></a></p>  <p>현재 Windows Container와 관련된 PowerShell Cmdlet은 <a href="https://msdn.microsoft.com/en-us/virtualization/windowscontainers/reference/powershell_overview?tduid=(320eaf7ea71e6aeabfc5c3044836b8d9)(256380)(2459594)(TnL5HPStwNw-.peDXxKUq09VPkVV9WlSSw)()" target="_blank">여기</a>에서 확인하실 수 있습니다.</p> <p>자세한 설정을 설명하고자, 스크린샷이 많아서, 길어졌던 포스팅이었습니다. 다음에는 Container를 직접 만들고, 운영하는 사항에 대해서 살펴보겠습니다.</p>]]></content:encoded>
    </item>
  </channel>
</rss>