가상머신 40대를 6대 서버에 나눠서 돌리는데요

   조회 9725   추천 0    

가상머신 40대를 6대에 나눠서 돌리고 있습니다.
여기에 iSCSI 스토리지를 얼마전 추가를 했는데요 

로컬에서 돌리던 것보다 시스템에 부하도 많이 걸리구요
Top으로 확인을 해보면 스토리지뿐만 아니라 
가상머신용 서버들도 CPU 점유율이 20배도 넘게 증가를 하네요

시스템 상태입니다.
 - 스토리지는 5560에 메모리 12기가에 15테라로 되어 있습니다.
 - 스토리지는 기가빗 닉을 본딩하여 물렸구요
 - 점보프레임을 설정해놓았습니다.
 - 각 가상머신서버에는  NIC 하나는 외부로 나가는 걸로 나머지 하나는 스토리지 네트워크에 물리게 설정을 해놓았습니다.
 - 각 서버당 가상머신들은 7대씩 운용되고 있습니다.


1. 먼저 문제는 가상머신용서버를 보면 %CPU 값이 로컬에서 돌리는 건 4~5 정도 인데요 iSCSI로 물려 있는 가상머신은 기본적으로 100~110 사이를 왔다갔다 합니다.
원래 iSCSI가 이렇게 부하가 많이 걸리나요?


2. 그리고 iSCSI를 마운팅한 곳에서 80기가짜리 파일을 복사하게 되면 가끔 마운트가 풀리는지 
복사 중간에 읽기전용으로 마운팅되어서 복사가 불가능하다거나 삭제가 안되는 상태가 되곤합니다.
다시 마운팅을 해주면 이상없이 파일생성, 삭제가 되는 데 마운팅 전까지는 아무작업도 안됩니다. 

3. 스토리지에 가상머신 10대도 버거워서 버벅대고 있습니다...
이거 어떻게 해결해야 할까요?
짧은글 일수록 신중하게.
박문형 2010-11
잘은 모르지만.

#1 : 허브는 어떤 허브인가요?
#2 : 가상머신들의 부팅영역이 가상머신에 있나요? 스토리지에 있나요?
     
지니보이 2010-11
허브는 LACP 지원하는 기가비트 스마트허브 24포트입니다
메이커는 일본 메이커중 PCI 라는 데입니다.

가상머신들은 전부 iSCSI로 연결된 스토리지에 있습니다.
가상서버가 죽더라도 다른서버에 물려 돌릴 수 있게 이미지는 스토리지에 위치합니다.
몽몽 2010-11
iscsi 때문에 cpu utilization 이 올라간다면 %usr , %sys , %iowait 중에서 %iowait 가 올라간건지 확인해보세요. iscsi initiator / target  driver 를  벤더사에서 제공해주는 게 있다면 최신버전으로 업데이트해보세요.
     
지니보이 2010-11
전부 CentOS 기반으로 구축된 것이라 iSCSI도 Open-iSCSI를 이용하고 있습니다. top으로 확인해보면 iSCSI 연결로만 프로세스를 잡아 먹는게 아니구요 가상머신을 실행시키면 그 가상머신의 CPU 점유율이 올라가는 것입니다.

로컬하드디스크에서 실행시키는 가상머신의 CPU 점유율이 같은 이미지인데도 불구하고 10배에서 20배가 차이가 나는 겁니다.
     
몽몽 2010-11
그냥 cpu 로드가 높다라고만 하면 원인 파악 못합니다.

guest OS 상에서 vmstat 1 쳐봐서 iowait 가 얼마나 되지는 보세요

그리고 open iscsi 는  다중노드로 구성시 성능을 guarantee 해주지 않습니다.

s/w iscsi 가 원래 프로세싱 로드가  높은 편인데다가 (그걸 줄일려고 jumbo frame 등을 쓰고)
1 : n 에서 40개의 vm 으로 initiator 를 배치하면 그냥 봐도 문제가 생기겟네요

RHEL 이 아니라서 글치만 subscription 이 있다면 해당 이슈건으로 technical support 를 받아서 바이너리를 제공받을수 있으니 참고해보세요
김상진 2010-11
iscsi라고 해도 네트워크를 통해서 데이터를 주고받는상황이라서
아무래도 DAS에 비해서속도저하가 발생되지않을까합니다.
DAS, SAN과 달리 네트워크 통신은 패킷처리를 위해서 CPU를 먹는걸로 알고있습니다.
물론 ISCIS라고 해도 결국 네트워크기반으로 처리되는거니까요
(만일 전용 ISCIS 전용 랜카드(존재하는지는 모르겠지만)라면 얘기는 좀다르겠지만요)
개인적인 생각으로는 ISCSI기반으로 가상머신 40대는....좀 무리가 되지않을까합니다.


한때 SAN을 저렴한 가격으로 대처할려고 ISCSI가 한참 주가를 올렸지만,
이젠 주춤거리는걸 봐서도 네트워크기반의 한계를 극복하지 못하지않았나 생각됩니다.
그렇다고 해도 이제는 ISCSI의 영역을 만들어서 넓히고 있다는건 부인을 못하지만,
SAN과 같은 고성능분야에서는 지금까지는 ISCSI의 패배지 않을까하네요
     
지니보이 2010-11
만약 네트워크상에서 속도저하가 일어난다면 스마트허브에 있는 파이버포트에 서버를 스토리지를 연결하면 좀 나을까요?
파이버포트가 네개 따로 있던데
김동수P 2010-11
경험상 이런 경우는 윗분 말씀대로 i/o wait가 치고 올라가서 발생한 문제일 경우가 큽니다.
이는, 가상 시스템에서 i/o가 발생할 시, 무조건 스토리지 서버의 i/o 에 의존적인게 되는데, 현재 가상화 환경에서 성능상 이슈가 되는 부분이 스토리지 부분의 i/o response 입니다.
간단하게, 이것은 DAS로 구성된 VM의 성능도 host의 i/o 에 의존적이기 때문에, 호스트에서 각각의 VM간에 i/o 를 적절히분할 해주지 않으면 i/o 성능이 심각하게 떨어지는 현상이 발생하게 됩니다.
또한, 단지 VM간의 i/o 엑세스 뿐만이 아니라, VM에 disk 기반 가상 메모리를 사용하는 os (현존 대부분의 os들..) 이 올라갈 경우 guest 의 os가 memory 의 dirty page 를 flush 할때마다 host i/o에 부하를 주고, 이는 동일한 host i/o 그룹간의 i/o 퍼포먼스 저하로 연결되게 됩니다.

현재 VM이 스토리지 하나에 40개가 올라가고 있는데 아마도 스토리지상에서 i/o분산이 전혀 안되어있을것으로 보입니다. 이곳에서 병목이 발생하고 있을 확률이 상당히 높습니다.
두번째로, PC 6대에서 40개의 VM을 돌릴 경우 VM의 성격에 따라 달라지나 서버의 경우 물리nic 간에 guest 의 가상nic맵핑을 분산해 주어야 만족할 만한 퍼포먼스를 얻을 수 있을것입니다.
에아빠 2010-11
가상nic에 점보프레임이나 tcp오프로드? 를 설정해제해야할지도...


QnA
제목Page 3957/5724
2015-12   1763351   백메가
2014-05   5237638   정은준1
2010-11   8347   박현근
2010-11   8012   블루영상
2010-11   9052   냉철한하늘소
2010-11   9726   지니보이
2010-11   19050   민사장
2010-11   6262   스케빈
2010-11   6736   obawang
2010-11   8060   앵글러
2010-11   9252   blacknut
2010-11   13553   뭐라카노
2010-11   7534   그래피아
2010-11   8048   김주용s
2010-11   6957   몽이아범
2010-11   6140   배주규
2010-11   7130   jore
2010-11   6176   권종일
2010-11   7502   과거지사
2010-11   7168   앵글러
2010-11   6188   경박한시민
2010-11   7919   김건우