2장은 VM-support에 대한 내용들입니다.
기본적으로 저희 회사 엔지니어분들과 공유하기 위해서 만드는 문서를 블로깅하였습니다.
2장. VM-Support
기본적으로 장애지원을 하다보면 많은 트러블과 마주치게 됩니다.이럴 때 VM-support를 이용하여 SR요청도 가능하고 개인적으로 로그 분석이 가능하도록 로그를 수집할 수 있습니다.
장애시점에 VM-support를 수집해야 최대한 변경된 부분 없이 분석이 가능하기 때문에 조금 더 수월한 부분이 있습니다..
자 그럼 VM-support를 어떻게 사용하는지 알아봅시다.
기본적으로 사용하는 명령어는 다음과 같습니다..
\vm-support
위의 명령어를 사용하면 하위의 폴더에 다음과 같은 파일이 생성됩니다..
/var/tmp/esx-hostname-2013-08-06—09-43.tgz(수집날짜-수집시간)
그러면 VM-support에 대한 옵션에 대해서 알아봅시다.
[ESXi 5.0기준]
Options:
-h, --help show this help message and exit
-g GROUPS, --groups=GROUPS Gather data from listed groups
-a MANIFESTS, --manifests=MANIFESTS Gather from listed manifests
-e EXCLUDEMANIFESTS, --excludemanifests=EXCLUDEMANIFESTS Exclude the listed manifests
--listmanifests List available manifests
-G, --listgroups List available manifest groups
-t, --listtags List available manifest tags
-p, --performance Gather performance data
-d DURATION, --duration=DURATION Duration of performance monitoring (in seconds)
-i INTERVAL, --interval=INTERVAL Interval between performance snapshots
-v VM, --vm=VM Gather detailed information about this specific VM (ie --vm <path to .vmx file>)
-V, --listvms List currently registered VMs
-w WORKINGDIR, --workingdir=WORKINGDIR Directory to create .tgz in
-D, --dryrun Prints out the data that would have been gathered
-s, --stream stream data to stdout
-q, --quiet Output only the location of the bundle
-E ERRORFILE, --errorfile=ERRORFILE
Prints (non-fatal) errors to specified file (overrides
--quiet and --stream)
--loglevel=LOGLEVEL Set logging to specified level: 0-50 (0=most verbose)
--version Display the vm-support version
-l, --listfiles List all files gathered by vm-support
자 그럼 tgz파일에는 어떠한 내용들이 저장되는 걸까?
압축된 파일을 해제하게 되면 다음과 같은 폴더를 볼 수 있습니다.
자 위의 폴더를 보면 대충 이해가 될 것입니다.
ESX의 폴더내용을 대부분 그대로 수집해 옵니다.
자 그럼 분석을 위해서 꼭 확인해야 하는 부분은 어디일까요?
1. NIC관련부분
2. Storage관련부분
3. Kernel관련부분
4. 성능부분
이 정도면 어느 정도 분석이 가능할 것으로 예상됩니다.
추가로 장애가 어디서 발생했는지 확인이 된다면 어느 부분을 확인 해야 할 지 감이 오실 겁니다.
일단 기본적으로 장애분석을 하기 위해선 기본적으로 시스템의 Flow를 알아야 합니다.
VMware의 Flow는 bare-metal방식의 OS이기 때문에 H/W ->ESX Kernel -> Guest OS 순으로 사용되어집니다.
아래의 그림을 참조하세요.

위와 같이 H/W -> Hypervisor -> GuestOS(VM) 순으로 Driver가 Loading됩니다.
그러면 NIC or Storage측에서 Trouble이 발생하였다면 당연히 H/W쪽에서 봐야겠죠.
ESX에서 확인 할 수 있는 부분은 VMware ESXi 부분이 Kernel이 존재하는 부분입니다.
저 Kernel에서 H/W와의 Communication에 문제가 있는지 없는지 확인한다면 S/W or H/W분간이 수월하겠죠?
아래는 VMware ESXi Architecture입니다.
그림의 내용을 보시면 아시겠찌만 VMkernel에서 모든 것들이 동작합니다.
리소스 스캐쥴 , 스토리지 스택 , 네트워크 스택 , vNIC & Switch , Device drivers등등
VMkernel 위에 hostd , vpxa, DCUI , syslog등등의 것들이 있습니다.
VMware의 Architecture 만 이해하더라도 기술지원 시 어느 부분을 확인해야 하는지 감이 빨리 오실겁니다.
Architecture를 이해하더라도 관련 로그가 어디에 있는지 모른다면 분석이 어렵겠죠?
VM-support파일을 다시 한번 확인하겠습니다.
\var\log 폴더를 보게 되면 아래와 같이 로그파일이 저장되어 있습니다.
그리고 각종 디바이스들의 정보를 확인하는 부분은 아래의 폴더에 가시면 확인 가능합니다.
\commands
위의 그림에서 보시면 아시겠지만 필요한 H/W와 구성정보가 모두 수집되어 저장되어있습니다.
필요한 정보를 위에서 확인하시면 되겠죠.
이 외에도 더 있겠지만 기본적으로 두 개의 폴더만 확실히 파악하고 있어도 로그분석이 어느정도 가능하다고 여겨집니다.
로그분석을 하게되면 시스템의 구동순서를 확인할 수 있고 자연스레 Flow가 눈에 들어오게됩니다.
정상로그를 많이 봐 둬야 문제가 발생했을 때 원인파악이 더욱 수월하겠죠?
댓글 없음:
댓글 쓰기