GUI가 없는 Windows Server Core를 설치한 경우,
서버에 로그온해서 보면 명령 프롬프트 창 하나만 덜렁 실행되어 있어 몹시 당황스러워 진다.
특히 처음 설치한 경우에는 그 정도가 더 심해지는데...
기본 명령줄 관리도구인 sconfig는 워낙 기본이니 생략하고.
몇 가지 팁을 공유해 본다.
1. cmd 새 창으로 실행하기
새 창을 실행하는 방법은... 일단 작업관리자를 실행해야 한다.
Ctrl+Alt+Delete!
보통 이러면 바로 아!!! 하게 될 텐데...
그래도 잘 모른다면, 작업관리자의 [파일]-[새 작업 실행] 메뉴를 열고
cmd.exe 를 입력하면 명령 프롬프트 새 창이 실행되고,
powershell.exe 를 입력하면 PowerShell 창이 새로 실행된다.
2. 원격 데스크톱 방화벽 오픈하기
Windows Server Core를 설치하면 기본적으로 Windows 방화벽이 설치/실행되어 있는 상태다.
물론, 불필요한 경우 아래와 같은 PowerShell 명령으로 방화벽을 꺼 버리면 되긴 하지만,
PS C:\> Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled false |
Windows 방화벽은 끄고 나면 언젠가는 반드시 후회하게 되는 필수 서비스 중의 하나다.
그러니 별도 방화벽 장비가 있는 것이 아니라면 꺼버리는 극단적인 방법은 옳지 않다.
게다가 내가 다룰 주제도 그게 아니고...
아무튼, 원격 데스크톱 서비스를 방화벽에서 찾아서 열어주는 좀 더 정상적인 방법이 필요한데,
바로 이거다.
>> 참조: https://www.prajwaldesai.com/enable-remote-desktop-on-server-core/
그런데, 한글 Windows OS인 경우 netsh 명령으로 방화벽 포트를 허용하는 작업이 안 된다.
왜냐하면 방화벽 규칙 이름이 "Remote Desktop"이 아니라 한글로 되어 있기 때문인데...
그걸 확인하는 방법은,
일단 PowerShell 창을 실행한 다음 아래 명령어로 방화벽 규칙을 찾는다.
PS C:\> Get-NetFirewallRule | fl DisplayGroup |
그러면 기본 등록되어 있는 규칙들 이름이 주루룩 나오는데 잘 보면 "원격 데스크톱"이라는 이름이 보일 것이다.
그걸로 쓰면 된다.
물론 위 netsh 명령어로 해도 되고, 당연히 PowerShell 명령으로 써도 된다.
PS C:\> Enable-NetFirewallRule -DisplayGroup "원격 데스크톱" |
3. SMB 파일 공유 포트 방화벽에서 허용하기
Windows Server Core를 쓰다 보면 파일/폴더 공유를 해야 하는 경우가 있다.
net share 명령어로 공유하면 되는 건 기본이니까 그렇다 치고,
추가로 해야 하는 작업이 방화벽 포트 오픈 작업이다.
역시 아래와 같은 PowerShell 명령으로 하는 것이 편리하다.
PS C:\> Enable-NetFirewallRule -DisplayGroup "파일 및 프린터 공유" |
(영문 OS이면 당연히 영문 DisplayGroup 이름으로 써야 한다.)
추가로 방화벽과 관련해서 더 필요한 작업은 아래 사이트를 참고하면 좋다.
>> 참고: https://docs.microsoft.com/ko-kr/windows-server/administration/server-core/server-core-manage
4. 디스크 파티션 관리
Windows Server Core에서는 당연히 GUI 도구인 디스크 관리 도구를 쓸 수 없다.
그래서 하드디스크가 여러 개 있는 경우 처음 설치한 하드디스크 외에는 쓰기 어려운데,
아래와 같이 DISKPART 명령줄 도구를 사용하면 간단하게(?) 관리할 수 있다.
파티션 나누고, 포맷하고, 드라이브 문자 할당하고... 등등
>> 참조: https://serverfault.com/questions/449192/server-2012-core-no-gui-how-to-manage-disks
간단한 사용 예제인데, 구글링 해보면 훨씬 더 자세한 설명들이 많다. 잘 모르면 찾아서...
5. 디스크 I/O 작업 모니터링
Windows Server Core에서도 작업 관리자가 실행 가능하기 때문에
CPU, Memory, Network 등 어지간한 기본 상태는 모니터링이 가능하다.
그런데, 이상하게도 디스크 I/O 모니터링은 할 방법이 없다. 왜 빼먹었을까?
그래도 방법은 있다.
>> 참조: https://serverfault.com/questions/810948/windows-server-core-network-and-disk-resource-monitoring
PowerShell로 gwmi 명령을 실행하는 건데,
PS C:\> function topIO { > while ($true) { > gwmi Win32_PerfFormattedData_PerfProc_Process | select name,idprocess,IODataBytesPersec | sort -desc IODataBytesPersec | select -first 5 > start-sleep 1 > "" > } > } |
이렇게 입력해 놓고,
PS C:\> topIO |
이렇게 실행하면 1초에 한번씩 디스크 I/O가 프로세스별로 모니터링 된다.
끝.
'Tech: > Server·IIS' 카테고리의 다른 글
Docker 컨테이너 실행순서 조정하기 (0) | 2020.08.12 |
---|---|
Docker 컨테이너 시간을 UTC+09:00로 설정하기 (0) | 2020.08.11 |
Exchange EdgeSync 인증서 교체 (0) | 2020.06.25 |
Docker ASP.NET Core HTTPS로 동작하게 만들기 (0) | 2020.06.03 |
Docker로 ASP.NET Core SDK 3.1 앱 배포 (0) | 2020.04.22 |