SharedIT | 묻고 답하기(AMP)

DL360G9 서버 운영시 디스크 I/O 과부하 증상 요청

1. 서버 DL360G9


2. 디스크 구성 : 512 SSD * 2EA(Raid1구성)


3. Raid Contolller : P440ar & Battery


4. OS : Rocky Linux 9.2 (Rocky 리눅스에서 제공하는 서비스로 이중화 구성됨)


5. 증상 : 처음에는 아무 이상 없이 운영되다 2주 정도 시간이 지나면 디스크 I/O가 거의 100%가

   올라가면서 부하가 생기는 현상이 발생하고 있습니다.  

 Raid1으로 구성되어 있어 디스크 한장을 제거하면 I/O는 정상적으로 내려 가다가 몇시간 

 있으면 다시 부하가 발행 합니다. 

 컨트롤러 버전은 7.0.0 사용중인데 7.0.2버전으로 업그레이드 하면 해결이 되는지 

 아니면 OS 쪽의 문제인지 문의 드립니다. 

   : 해당 사항과 같이 운영중인 서버가 있는데 몇몇대만 해당 증상이 나타나고 있습니다. 

6개의 답변이 있습니다.

쿨가이
  0 추천 | 5달 전

OS문제나 컨트롤러, 하드디스크오류로 나눠서 단계별로 체크가 필요해보입니다.

OS->비슷한 이슈나 관련 패치가 있는지 검색, 엔지니어 요청해보세요

컨트롤러->컨트롤러 구성을 다시 해보는 방법

하드디스크->위 방법을 체크했는데도 해결 안될시 하드디스크 교체검토

Genghis Khan
  0 추천 | 5달 전

Rocky OS문제로 보여지네요

중요 데이터 백업 후 Centos 로 설치 해보

세요

Rocky가 디바이스 드라이버 안정성이 좀 떨어진것 같아요


앵그리파파
  0 추천 | 5달 전

문의 글과 같은 증상의 문제는 다양한 요인으로 인해 발생할 수 있는데, 해당 사항이 몇 대에만 나타나는 증상이라면, 그리고 설정의 세부 사항과 설명된 증상을 고려할 때 RAID 컨트롤러 펌웨어를 업그레이드 하면 잠재적인 문제를 해결할 수도 있습니다.  

단, 펌웨어 업그레이드 전에 펌웨어 버전 7.0.2의 릴리스 노트를 검토해보세요. 디스크 I/O, 성능 또는 안정성과 관련된 수정 사항이나 개선사항이 있는지...

그리고, 펌웨어 업그레이드 후 RAID 구성을 다시 확인하여 RAID 구성이 그대로 유지되고 RAID 1 설정이 예상대로 작동하는지 확인해 보세요.

참고로, 'smartctl'과 같은 도구를 사용하여 2개의 SSD 상태가 양호한지 확인해보세요. SSD의 SMART 상태에서 임박한 오류 징후를 확인할 수 있습니다.

또, Rocky Linux의 로그에서 디스크 I/O 또는 RAID 컨트롤러와 관련된 오류 메시지나 경고를 검사해 보세요. 부하 증가의 원인이 무엇인지 알 수도 있습니다. 

마지막으로 'iostat' 또는 'iotop' 같은 도구를 사용하여 디스크 I/O를 모니터링하여 I/O 증가를 유발하는 프로세스를 식별한 후 응용 프로그램 수준 문제인지, 시스템 수준 문제인지 정확히 파악하는데 도움을 받을 수 있습니다. 

Simon.Park
  0 추천 | 5달 전

정말로 I/O가 많아서 발생하는 문제라기 보다는 다른 문제로 보여지네요.

디스크 1개를 제거 했을때 증상이 해소가 되셨다면,

아무래도 RAID Controller 의 문제가 있지 않을까 조심스레 추측해 보는데요,

이런 경우는 유지보수 업체 연락 하셔서 하나씩 교체를 해 보며 원인을 찾던지,

아니면 Dump 분석 의뢰를 하셔서 원인 찾는 수 밖에 없습니다. 

areumdaun | 5달 전

답변 감사드립니다. ^^


topkslee | 5달 전

저도 raid controller가 의심이 드네요

wansoo
  0 추천 | 5달 전

한때 리눅스 디스크 I/O 문제로 골머리를 앓아 본 사람이라...

디스크 I/O를 체크해 볼 수 있는 tool로는 

vmstat, iostat, sar 명령 정도로 점검해 볼 수 있겠고요.


vmstat를 이용해서

vmstat 1     과 같이 1초마다 상태값을 표시하게 해 두고서

procs의 b (block) 값이 0이 아닌 경우가 얼마나 빈번하게 발생하는지 체크하면서 io의 bi ( block in ),과 bo(block out)의 수치가 어떻게 변화되는지를 보면서 디스크에 기록하는 수치가 어떻게되는지, 디스크로부터 읽어 오는 수치가 어떻게 되는지를 확인하면서 디스크 I/O에 병목이 있는지 어떤지를 확인했었고요.

swap 부분의 si( swap in) so(swap out) 수치를 보면서 디스크 스왑 상태도 확인했었고요.


vmstat으로 디스크 부하가 많이 발생한다/ process가 블락이 많이 일어 난다 등의 상태 확인은 가능하지만 구체적으로 어떤 디스크에서 부하가 많이 발생하는지를 확인할 수 없기 때문에 iostat이나 sar 명령으로 구체적으로 어떤 디스크에 부하가 많이 발생하는지 확인해 볼 수 있겠고요.

디스크 IO가 증가하면서 process block이 비례해서 증가하는 양상을 보인다면 디스크 IO 문제로 전체적인 시스템 성능이 느려지고 있다고 단정해 볼수 있는 것이죠.


iostat 2  와 같이 vmstat 처럼 반복 점검할 시간(초)를 지정해서 각 장치별 상태를 화면에 표시해 볼 수 있겠고요.

특정 장치에 대한 상태만 보고 싶다면 iostat 1 -d sda 처럼 특정 장치를 지정해서 입출력 상태 확인을 해 볼 수 있겠고요.


iostat을 이용해서 구체적으로 어떤 디스크에서 부하가 많이 발생하는지 확인 가능하고요.


iostat는 기본 설치되어 있지 않은 경우가 많기 때문에...

설치되어 있지 않을 경우라면, yum install sysstat -y 명령으로 설치해서 사용하면 되겠고요.


sar 명령은 다양한 성능 정보를 체크해 볼 수 있는 명령이 되겠고...

블럭 디바이스에 대한 상태 정보를 확인해 보고 싶을 경우라면

sar -d 3 처럼 명령을 주면 3초 주기로 블럭 디바스들에 대한 부하 정도 값을 표시해 볼 수 있고요.


sar을 이용하여 cpu 부하 정도를 확인해 보고 싶을 경우라면

sar -u 1 처럼 명령을 주면 1초 주기로 cpu 부하 정도를 체크해서 화면에 표시해 주고요.

sar -n DEV 5 와 같이 명령을 주면 네트워크 인터페이스들에 대한 부하 정도를 5초 주기로 화면에 표시해 주게 되고....

이외에도 다양한 부하 정도를 sar 명령을 이용해서 체크해 볼 수 있겠는데...

디스크 부하로 인한 문제로 디스크 문제를 좀 더 체크해 보고 싶다면

sar -d 3 등의 명령을 줘서 각 블럭 디바이스들에 대한 부하 정도를 체크해서 부하가 많이 발생하는 디스크가 왜 많은 부하가 발생하는지, 부하를 분산 시킬 방법은 없는지, 아니면 해당 디스크를 더 빠른 성능을 내는 디스크 또는 스토리지로 대체하는 것에 대한 방법을 검토해 볼 수 있겠고요.


그리고, 실제 데이터를 기록하는 디스크가 뛰어난 성능의 고성능 장치를 이용하고 있지만...

리눅스의 swap이 일어나는 디스크가 저성능 디스크로 기본 지정되어 있을 경우라면 잘못된 스왑 디스크 설정으로 저성능 저장 장치가 병목이 되어 버려 고성능 저장 장치가 제 성능을 내지 못하는 경우가 발생할 가능성이 높기 때문에...

고성능 저장 장치가 제 성능을 못 내고 있으면서 엉뚱하게 저 성능 저장 장치에 과 부하가 일어 나면서 제대로된 성능을 발휘하지 못하고 있을 경우라면 반드시 스왑 디스크 설정을 확인해서 스와 디스크를 고성능 저장 장치로 옮겨주는 것을 꼭 체크할것을 당부합니다.


예전에 도저히 서버 성능 문제에 대한 해결 방법을 찾지 못하던 때... 무대포로 안면도 없는 전문 업체에 문의도 해 보면서 어렵게 어렵게 정확한 원인을 진단해서 고성능 스토리지 도입으로 결국 문제를 해결해내었던 경험이 있네요.

areumdaun | 5달 전

장문의 글을 남겨 주셔서 감사드립니다. 

해당 내용과 같이 처리 해보도록 하겠습니다. 


차바라기
  0 추천 | 5달 전

이부분은 HP엔지니어에게 문의하시는게 더 빠르지 않을까요?

areumdaun | 5달 전

서버 하드웨어는 제가 잘 만지는데 리눅스는 취약해서요. 

ㅡㅡ