2007년 11월 30일 금요일

Windows Administration에 대한 선입견

2007.11.30.ps

2007/02/24  당직근무중 처음 작성하다.

1. PowerShell(이하 PS) 1.0  RTM 버전이 작년(2006) 4Q에 발표되었다.

코드명 Monad, 예전에는 MSH로 불렸던 Microsoft의 새로운 Shell 환경이다. 예전 MS-DOS 시절의 작업환경과 99% 유사했던 CMD 대신, 강력한 스크립팅 언어와 다양한 명령(cmdlet)으로 무장한, "관리자(IT Pro)"들의 새로운 작업 환경이 될 것으로 예상된다.

 

2. 너무나 매력적인 PS

Naver에서 검색한  관련 블로그에서는 PS이 마치 기존의 후진(?) Windows 환경을 구원해 줄 해결사처럼 표현되어 있다. 분명 새로 사귀는 애인을 맞이하는 것처럼 매력적인 요소들이 눈에 바로 들어온다.

  • 능숙한 Unix 파워유저들에게 적응시간을 줄여줄 수 있는 Python/Perl과 유사한 문법
  • 잘 정리된 cmdlet과 강력해진 Pipeline
  • format-* cmdlet과 같이 console display의 제어가능
  • HKCU: 와 같은 레지스트리나 인증서의 System store 영역을 Filesystem 처럼 접근
  • 보안을 고려해서, 침입자가 임의의 스크립트 파일을 실행할 수 없는 기본정책 등

     PS는 이러한 장점을 무기로 IT Pro들에게 사랑해달라고 손짓하고 있다.  OS 설치 원본에 포함되어 제공되는 시기는 아마도 Vista SP1 이나 Windows Server code name "Longhorn" RTM부터 가능할 것으로 추측한다.  XP / Windows Server 2003 환경이라고 해도 Microsoft Download 사이트에서 구할 수 있다.

 

3. 과거에는 어떻게 운영했을까?

그런데, 이런 장점에 환호하기에 앞서 오히려 의문이 생긴다.  그럼, PS 없이 예전에는 관리를 어떻게  했다는 것일까?  자기 PC 관리하는 것과 동일하게 Windows Server를 운영했다는 뜻은 아닐것인데 말이다. 

CLI (Command Line Interface) 환경에서는 힘들어서 관리가 불가능했다는 얘기를 하고 싶다면 "No"라고 답해주겠다. 다음의 예제 작업들은 가끔 내가 하는 작업들이며, 현재 일하는 회사만의 특별한 그것은 아니라고 생각한다.

  • 60개 서버의 서브넷마스크를 변경
  • 40개 서버에서 특정 tcp state가 syn_sent 상태인 connection 찾기
  • 25대 서버에서 SNMP 서비스 추가하고, community string 기본값 변경하기
  • 10대 서버에서 특정 ip 패킷에 대해서 차단하도록 IPSec 필터생성 및 정책 할당/비할당
  • 6대 IIS 6.0 서버의 ApplicationPool 10개의 설정 변경 및 재구성 (6*10 = 60개)
  • 2대 서버의 원격데스크탑 설정을 활성/비활성화/서비스 기본 포트(3389-->xxxx) 변경
  • DC용 장비의 dcpromo 과정을 무인모드로 진행
  • SQL2K 설치 및 SP4 적용 과정을 무인모드로 진행
  • 특정 시간이 되면, nic 활성화/비활성화 작업 자동화
  • 특정 프로세스의 메모리 점유량이 과다하면, 종료시키고 & 이벤트로그에 기록 

  Windows 환경이 *nix의 그것보다 우월하다는 것은 아니지만, 적어도 비슷한 수준의 관리는 구현할 수 있다는 것이다. 그것도 최소한의 비용으로 말이다.  앞의 예제 작업에서 상용 프로그램을 사용한 것은 단 하나도 없으며, vbs 스크립트를 이용하면 보다 섬세한 제어가 가능하다.  

 

4. Why??

PS의 장점을 무시할 필요는 없다. 미리 배워 두면, 당신의 생산성은 분명 200% 이상 상승할 수 있다고 생각한다.  IF / FOR 구문 밖에 없는 CMD 환경에서 좌절해본 적 있다면 분명 행복하게 느낄 것이다. 비록 1.0 수준이긴 하지만.

PS가 없는 현재의 환경에서, 한국의 IT Pro들은 왜 생산성을 높이려고 하지 않을까?  정답과 내 올해 연봉이 아무런 상관이 없으므로, 자신있게 뻥을 쳐 본다 ^^

  1. 제대로 운영되는 환경에 대한 경험이 없다.
  2. 정리된, 한글 교재나 책이 없다.
  3. 툴과 솔루션 핑계를 대면서, 자동화에 대한 마인드가 없는 사람 (개인의 자질 문제)

가장 큰 문제는 역시 1번 같다.  플랫폼과 무관하게 뭔가 Automatic한, 자동화된 관리환경을 경험하지 못하면, 사람들은 변화를 시도하기 보단 자신이 익숙한 방법론에 젖어들게 된다.  물론 자기개혁적인, 진취적인 리더들이야 변화를 꾸준히 시도하겠지만, 조직 레벨에 영향을 주는 것은 힘들다.   그렇다고, manager 또는 그 이상의 boss들 위주의 (TOP-DOWN) 접근 방식은 한계가 있다. (강제로 시키는 공부의 성과에 대해서 우리 몸은 알고 있다)

2번은 당연한 결과다.  글쓰는 사람이 부족하니까, 당연히 책도 적다.

3번 케이스는 좀 심각한 문제다.  특히 경력은 있되 어설픈 시스템 관리자들이 이렇다.  쉬운 도구가 없어서, 통합된 솔루션이 없다는 핑계.  분명히 틀린 말은 아니다. 이런 인재들은 정말 인재(!)다.  조직의 IT 예산은 갈수록 빡빡해지고 있는 것이 사실이고, 뭔가 괜찮은 제품들은 왜 이렇게 비싼지.  라이센스 비싼 소프트웨어 벤더들 때리고 싶다.

(예) RHEL, VMware ESX 서버

그렇지만, 외부 환경(시장)을 제어할 수 없기에 이런 조건들은 언제나 발생한다.  그리고, 시장에 상용 솔루션과 툴만 있다면, OS에 아무런 관리도구들이 없다면 우리는 손쓸 방법이 없겠지만, 그렇지 않다.  MS 제품들의 경우, 관련 리소스킷과 문서, 예제 자료들을 언제든지 Microsoft downloads 사이트에서 받을 수 있다. 

당신이 작성한 스크립트가 유명 IT 벤더의 제품만큼 훌륭한 리포트를 제공하기는 힘들 것이다.  하지만, 사소한 노력과 경험이 꾸준히 축적된 상태가 아니라면, 제아무리 비싼 솔루션이 들어온다고 해도 마찬가지로 애물단지가 되기 쉽다.  (아니면, 운영 인력 자체를 아웃소싱해서 잘하는 회사에 맡기는 방법이 있다. 이 경우도 성공하기 쉽지 않다)  아무튼 주변에 이런 인력 있으면, 너무 기대하지 않는 것도 하나의 방법이 된다.

5. So, What?

일단 공부하자.  그리고, 하나만 기억하면 된다.

MMC 기반으로 할 수 있는 작업의 99.9%는 어떻게든 스크립팅 & 자동화할 수 있다. 스크립트 언어로 할 수 없다면, 그때는 MFC를 공부하고, 또 심하게는 Win32 API를 이용해서 어떻게든 제어할 수 있다.  (지식의 수준에 따라 접근 가능한 범위가 달라질 뿐, 할수 있다는 뜻이다)

그리고, 앞에서 말한 3번 같은 인재가 되지 않도록 노력하자.   여러분이 잘 구축해둔 환경이 이후의 후임자 또는 신입사원 등등 동료들의 시간을 보장해 주고 행복하게 한다.  스스로의 시간이 확보되면서, 아울러 다른 사람까지 행복하게 만들어 주는 일은 세상에 많지 않다. (win-win 게임)

내가 아는 것, 가지고 있는 책에 대해서 소개해 줄테니, 그 담은 알아서 해라~~

 

A.  서적
B. 웹사이트
C. 오픈소스 솔루션

 

May the Force be with you :-)

Server Manager Scenarios SBSGuide (번역)

Windows Server 2008의 기술문서 중에 기본적으로 읽어야 하는 것이 SBS (Step-By-Step) Guide 입니다. 그 중에서 Server Manager Scenarios Step-by-Step Guide를 번역했습니다. (20p)

 

2007.11.30.title

2007.11.30.toc.sbsguide

번역의 품질은 보장하지 않습니다만, 재미삼아 보세요 :-)

다운로드

2007년 11월 28일 수요일

Naming Standards

 

2007.11.28.rpt2_so_naming_convention

HP/Compaq Tablet PC 모델명의 규칙

 

  다른 조직의 Computer Name (or Hostname) 이름을 통해서 조직의 운영수준을 간접적으로 추측할 수 있다.  자녀의 이름에 대해서는 많은 비용과 시간을 투자하면서, 운영하는 컴퓨터 시스템에 대해서 쉽게 명명한다면 무언가 이상하지 않는가?

 

  명명 규칙(Naming Standards/Conventions)은 기술이 아닌, 정책의 문제이다. 그러나, 이런 부분에 대해서 얼마나 고민하느냐에 따라 생산성은 묘~하게 달라질 수 있다.  여기서 얘기하는 명명 규칙은 단순하게 Computer Name에 한정되지 않는다.

 

시스템관리자의 입장에서 많이 접하는 것들을 나열하면.

  • Computer Name
  • Volume Label
  • Directory Name
  • Device Name (Router / Switch / Storage / ....)
  • Database Object

이 외에도 소위 Notations, Conventions 으로 구글링하면 여러가지 규칙에 대해서 찾을 수 있다. Coding Style / Guideline 등의 문서들도 본질적으로는 비슷한 성격을 가지고 있다.

  규칙이란 기본적으로 인간의 사상과 행동을 제한할 수 밖에 없다. 규칙을 위한 규칙이 되는 경우도 많지만, 공동작업에서 예기치 않는 실수를 줄이는 가장 합리적인 방법이기도 하다.  그리고 시스템관리자와 갈이 본질적으로 administration 행위를 일상적으로 하는 엔지니어라면 잘 정리된 규칙을 물과 공기처럼 여겨야 할 것이다.  (좀 엉뚱한 얘기지만, 이런 점에서 시스템관리자들은 인류의 보편적 고민과 갈등이 집약된 법학 공부를 했으면 좋겠다)

  그런데, 수년간 지켜본 가장 비생산적인 토론중의 하나가 OS 논쟁, 코딩스타일 논쟁인만큼 명명 규칙에 있어서도 절대원칙은 없다.  그 대신 구성원들의 합의와 고민, 꾸준한 유지보수가 필수적이다.  (헌법도 개정하는 것처럼, 이런 명명규칙도 상황과 효율성을 고려해서 수정이 필요하게 된다. 당신이 시스템관리자라면 반드시 겪게 된다)

 

  처음부터 새로 규칙을 만드는 것보다, 기존의 사람들이 고민했던 내용을 참고하면 노력을 절약할 수 있다.  다음의 링크 자료를 보면서, 현재 내가 사용하고 있는 방법이 효율적인지 생각해 보자.

2007.11.22 MS Technet 세미나 (발표자료)

 

img_top1122_perfmon

2007.11.22.ms.technet.image_thumb_perfmon 

2007.11.22 (목) MS Technet 세미나에서 제가 맡았던 세션 "간편하고 빨라진 서버관리 패러다임 Windows Server 2008" 의 발표자료입니다.

세션 중에 사용했던 servermanagercmd / netsh 등 명령어 도구의 사용 예제를 포함했으며, PDF 또는 XPS 뷰어가 필요합니다.

부족한 발표자에게 인내심을 가지고 끝까지 들어주신 분들께 감사드립니다.

발표자료 다운로드

2007년 11월 27일 화요일

SQL Server 2000 기술 지원 중단 (예정)

 

2007.11.27.sql2k.eol.notice

sql2k.support.lifecycle

 

"Microsoft SQL Server 2000 기술 지원 중단에 따른 안내"가 공지되었습니다.  그리고, 내년(2008년)에 SQL Server 2008이 출시됩니다. 

이제 선택의 순간이네요^^

Windows Vista의 캡쳐 도구

2007.11.27.snippintool

2007.11.27.snippintool.01

매뉴얼 작성하면서 캡쳐된 화면이 필요할 때,  어떻게 하세요?

전통적인  화면 캡쳐 방법 (KB173884)을 그대로 사용하는 것도 좋습니다만  Windows Vista 환경이라면 새로 추가된 캡쳐 도구(Snipping Tool)를 사용해 보세요. 

 

** 참고자료

  1. KB173884 - How to Capture Screen Shots in Windows Using the Print Screen Key
  2. Windows Vista Help - Use Snipping Tool to capture screen shots
  3. Windows Vista Help - Spnipping Tool: frequently asked questions

2007년 11월 26일 월요일

인사

 

GiSeong.Eom.EmployeePhoto

첫번째 포스팅.

예전에 만들어 둔 blogspot.com에 자리를 잡았습니다.   Windows Live Writer 를 사용해서 IT Pro/시스템관리자들이 관심을 가질 내용을 포스팅할 예정입니다.

 

Extreme Performance

2000년 부터 IT 업계에 입문한 제가 가진 근본적인 "고민" 중의 하나입니다.  그리고, 기계가 아닌 사람들의 Performance도 높이고 싶은데 어떻게 하죠??

 

2010.06.13 updated

분당구 오리역 부근에 위치한 N모 게임사를 다니고 있습니다. 제 인생의 3번째 N사인데, 어떨지... 기대반 걱정반입니다.