Computer >> 컴퓨터 >  >> 소프트웨어 >> 가상 머신

HP MicroServer Gen8 ESXi 느린 디스크 성능 문제 해결 가이드

저는 오랜 세월 믿음직하게 사용해 온 HP MicroServer N40L을 보유하고 있었습니다. 2012년부터 24시간 풀타임으로 가동하며 ESXi 5.1 위에 Windows Server 2003 R2 기반의 DNS 서버와 웹 서버를 운영해 왔습니다. 외부 공격에 노출될 위험이 있었기 때문에, 해킹당하더라도 백업에서 손쉽게 복구해 재시작할 수 있도록 별도의 정보 웹 서버로 분리해 운영했고, 평소에는 콘텐츠 업데이트를 받을 때를 제외하고 내부 네트워크와 연결하지 않았습니다.

그러나 시간이 흐르면서 서버는 점점 한계에 다다르기 시작했습니다.

N40L에서 Gen8으로의 업그레이드 배경

DNS 서버와 웹 서버를 최소한 Windows Server 2008 R2에서, 이상적으로는 Windows Server 2012 R2에서 구동하고 싶었습니다. 하지만 N40L은 하드웨어 자원 부족으로 잦은 멈춤 현상을 보였습니다. 이 장비에는 1.5GHz AMD Turion II 프로세서(2코어/2스레드)와 8GB RAM 이상을 탑재할 수 없어 더 이상의 업그레이드 여지가 없었습니다.

HP MicroServer Gen8 역시 만능 해결책은 아니지만, 16GB 메모리와 초저전력 소비(약 17~20W)의 Intel Xeon E3-1220L(2코어/4스레드, 2.3/3.5GHz) 같은 CPU를 장착할 수 있습니다. 물론 Intel Xeon E3-1270(4코어/8스레드, 3.4/4.1GHz)을 장착하는 것도 가능합니다만, 그 정도로 업그레이드하면 프로세서 하나 가격이 마이크로서버 본체보다 1.5배 비싸진다는 사실에 놀라지 않으셔야 할 것입니다. :-)

HP MicroServer Gen8은 다음과 같은 특징을 지닌 마지막 HP 마이크로서버입니다.

  • 충분한 업그레이드 가능성
  • iLO 원격 관리 카드 탑재

아쉽게도 후속 격인 Gen9는 출시되지 않았고, 새로 나온 Gen10은… 직접 찾아보시면 금방 아시겠지만 약간 아쉬운 면이 있습니다. 🙂

Gen8은 정식 유통은 중단되었지만 여전히 구입할 수 있습니다. 저는 중고 Gen8(G2020T)을 확보한 뒤 HPE에서 제공하는 ESXi 5.5U3 커스텀 이미지를 설치했습니다.

문제 발생: 비정상적으로 느린 디스크 성능

그런데 설치만으로 끝난 것이 아니었습니다. 진짜 흥미로운 일들은 설치 이후부터 시작되었습니다.

설치 이미지: Vmware-ESXi-5.5.0-Update3-3568722-HPE-550.9.6.5.9-Dec2016.iso

디스크 드라이버 버전: scsi-hpvsa-5.5.0.100-1OEM.550.0.0.1331820

알고 보니 HPE가 ESXi 5.5용 디스크 서브시스템 드라이버에 무언가 잘못을 포함시켰고, 디스크 관리가 본연의 효율을 내지 못하고 있었습니다. 더 큰 문제는 나중에 확인해 보니 이 문제가 HPE ESXi 6.0, 6.5, 6.7 커스텀 이미지에서도 동일하게 존재한다는 점이었습니다.

지인들과 의견을 나누고 인터넷을 검색한 끝에, 원인은 HPE가 ESXi 5.5 이상 설치 이미지에 통합해 넣은 드라이버라는 결론에 도달했습니다. 다행히 이 문제는 해결이 가능했습니다. 인터넷 커뮤니티(homeservershow.com) 덕분에 HP MicroServer Gen8의 디스크 성능을 실제로 끌어올릴 수 있는 드라이버를 찾아낼 수 있었습니다.

교체 대상 드라이버 버전: scsi-hpvsa-5.5.0-88OEM.550.0.0.1331820

이 드라이버는 HPE 공식 웹사이트에서 무료로 다운로드할 수 있습니다.

https://support.hpe.com/hpsc/swd/…b1dfc5314e02bc01b1436b
유형: 드라이버 — 스토리지 컨트롤러
버전: 5.5.0-88.0 (2014년 9월 9일)
지원 OS: VMware vSphere 5.5
파일명: scsi-hpvsa-5.5.0-88OEM.550.0.0.1331820.x86_64.vib (707KB)

현재 설치된 드라이버 확인

먼저 현재 설치된 드라이버 버전을 확인하고, 다른 버전이라면 올바른 버전으로 교체해야 합니다. PuTTY로 ESXi 호스트 콘솔에 접속해 root 계정으로 인증한 뒤 다음 명령어를 실행합니다.

esxcli software vib list | grep scsi

드라이버 교체 전 제 시스템의 목록은 다음과 같았습니다.

scsi-hpsa 5.5.0.124-1OEM.550.0.0.1331820 HPE VMwareCertified 2018-04-10
scsi-hpdsa 5.5.0.52-1OEM.550.0.0.1331820 Hewlett-Packard PartnerSupported 2018-04-10
scsi-hpvsa 5.5.0.100-1OEM.550.0.0.1331820 Hewlett-Packard PartnerSupported 2018-04-10
scsi-mpt2sas 15.10.06.00.1vmw-1OEM.550.0.0.1198610 LSI VMwareCertified 2018-04-10
scsi-bfa 3.2.6.0-1OEM.550.0.0.1331820 QLogic VMwareCertified 2018-04-10
scsi-bnx2fc 1.713.20.v55.4-1OEM.550.0.0.1331820 QLogic VMwareCertified 2018-04-10
scsi-bnx2i 2.713.10.v55.3-1OEM.550.0.0.1331820 QLogic VMwareCertified 2018-04-10
scsi-qla4xxx 644.55.37.0-1OEM.550.0.0.1331820 QLogic VMwareCertified 2018-04-10

HP MicroServer Gen8 ESXi 느린 디스크 성능 문제 해결 가이드

즉, 교체가 필요한 상태입니다. 왜 그런지는 디스크 성능 테스트 결과가 분명히 보여줍니다. 정교한 벤치마크는 아니지만 어떤 항목을 측정하는지는 명령어만 봐도 충분히 짐작할 수 있습니다.

교체 전 성능 측정

ESXi 콘솔에서 다음 명령어를 실행합니다.

cd /vmfs/volumes/[datastore]
time dd if=/dev/zero of=tempfile bs=8k count=1000000

참고: [datastore]는 반드시 자신의 VMFS 데이터스토어 이름으로 바꿔 입력하세요.

HP MicroServer Gen8 ESXi 느린 디스크 성능 문제 해결 가이드

결과는 다음과 같았습니다.

1000000+0 records in
1000000+0 records out
real 14m 12.62s
user 0m 12.23s
sys 0m 0.00s

꽤 괜찮아 보이나요? 그럼 동일한 구성에서 ESXi 5.1U3를 사용했을 때의 결과와 비교해 보겠습니다.

1000000+0 records in
1000000+0 records out
real 17m 25.62s
user 0m 7.23s
sys 0m 0.00s

이전 ESXi 버전 대비 확실히 개선된 수치입니다. 하지만 진짜 놀라운 결과는 글 끝까지 읽어야 확인할 수 있습니다.

드라이버 교체 절차

절차는 매우 간단합니다. 위 링크를 통해 HPE 웹사이트에서 필요한 드라이버를 미리 다운로드했다고 가정합니다.

  1. 실행 중인 모든 VM을 종료합니다.
  2. SSH가 비활성화되어 있다면 활성화합니다.
  3. WinSCP 등을 이용해 scsi-hpvsa-5.5.0-88OEM.550.0.0.1331820.x86_64.vib 파일을 /tmp 디렉터리로 복사합니다.
  4. PuTTY로 ESXi 호스트 콘솔에 접속합니다.
  5. 현재 작업 폴더를 파일이 있는 /tmp로 변경합니다.
    cd /tmp
  6. VIB 파일을 설치에 사용할 폴더로 복사합니다.
    cp scsi-hpvsa-5.5.0-88OEM.550.0.0.1331820.x86_64.vib /var/log/vmware/
  7. 호스트의 유지보수 모드(Maintenance Mode)를 활성화합니다.
    esxcli system maintenanceMode set --enable true
  8. 기존 디스크 서브시스템 드라이버를 제거합니다.
    esxcli software vib remove -n scsi-hpvsa -f
  9. 올바른 드라이버를 파일에서 강제 설치합니다.
    esxcli software vib install -v file:scsi-hpvsa-5.5.0-88OEM.550.0.0.1331820.x86_64.vib --force --no-sig-check --maintenance-mode
  10. ESXi를 재부팅한 뒤 유지보수 모드를 해제하고, 필요하다면 SSH를 비활성화한 후 가상 머신을 시작합니다.

참고: 유지보수 모드는 vSphere 클라이언트에서 해제하거나, 콘솔에서 다음 명령어로 해제할 수도 있습니다.
esxcli system maintenanceMode set --enable false

교체 결과 확인: 극적인 성능 향상

정말 간단하죠? 다만 글쓴이가 거짓말을 하지 않았는지는 항상 직접 확인해야 합니다. 먼저 드라이버 버전이 실제로 변경되었는지 확인해 보겠습니다.

esxcli software vib list | grep scsi

scsi-hpsa 5.5.0.124-1OEM.550.0.0.1331820 HPE VMwareCertified 2018-04-10
scsi-hpdsa 5.5.0.52-1OEM.550.0.0.1331820 Hewlett-Packard PartnerSupported 2018-04-10
scsi-hpvsa 5.5.0-88OEM.550.0.0.1331820 Hewlett-Packard PartnerSupported 2018-04-10
scsi-mpt2sas 15.10.06.00.1vmw-1OEM.550.0.0.1198610 LSI VMwareCertified 2018-04-10
scsi-bfa 3.2.6.0-1OEM.550.0.0.1331820 QLogic VMwareCertified 2018-04-10
scsi-bnx2fc 1.713.20.v55.4-1OEM.550.0.0.1331820 QLogic VMwareCertified 2018-04-10
scsi-bnx2i 2.713.10.v55.3-1OEM.550.0.0.1331820 QLogic VMwareCertified 2018-04-10
scsi-qla4xxx 644.55.37.0-1OEM.550.0.0.1331820 QLogic VMwareCertified 2018-04-10

네, 올바른 버전으로 정상 변경되었습니다. 이제 동일한 방법으로 성능 테스트를 다시 진행했습니다. 그리고 그 결과에 깜짝 놀랐습니다.

cd /vmfs/volumes/[datastore]
time dd if=/dev/zero of=tempfile bs=8k count=1000000

1000000+0 records in
1000000+0 records out
real 2m 6.73s
user 0m 5.21s
sys 0m 0.00s

기존 드라이버 대비 무려 7배 빠른 속도이며, ESXi 5.1U3 환경보다는 거의 9배 빠른 결과입니다.

포럼 사용자들의 검증에 따르면 ESXi 6.0 및 6.5 설치 과정에서도 동일하게 잘못된 드라이버가 설치됩니다. 이를 scsi-hpvsa-5.5.0-88OEM.550.0.0.1331820으로 교체하면 디스크 서브시스템이 제 테스트 결과와 같은 수준으로 빠르게 동작하기 시작했습니다.

개인적인 생각이지만, 이것만으로도 ESXi 스토리지 드라이버 교체를 실행에 옮길 매우 설득력 있는 근거가 된다고 생각합니다.