오랜만에 서버를 모니터 화면으로 연결해봤더니, 이런 오류가 떴다.
9월 12 23:47:53 onestep-srv kernel: ata2.00: exception Emask 0x10 SAct 0x400400 SErr 0x400100 action 0x6 frozen 9월 12 23:47:53 onestep-srv kernel: ata2.00: irq_stat 0x08000000, interface fatal error 9월 12 23:47:53 onestep-srv kernel: ata2: SError: { UnrecovData Handshk } 9월 12 23:47:53 onestep-srv kernel: ata2.00: failed command: READ FPDMA QUEUED 9월 12 23:47:53 onestep-srv kernel: ata2.00: cmd 60/20:50:a0:e7:e2/00:00:cf:00:00/40 tag 10 ncq dma 16384 in res 50/00:00:70:db:19/00:0a:f0:00:00/40 Emask 0x10 (ATA bus error) 9월 12 23:47:53 onestep-srv kernel: ata2.00: status: { DRDY } 9월 12 23:47:53 onestep-srv kernel: ata2.00: failed command: WRITE FPDMA QUEUED 9월 12 23:47:53 onestep-srv kernel: ata2.00: cmd 61/00:b0:70:db:19/0a:00:f0:00:00/40 tag 22 ncq dma 1310720 ou res 50/00:00:70:db:19/00:0a:f0:00:00/40 Emask 0x10 (ATA bus error) 9월 12 23:47:53 onestep-srv kernel: ata2.00: status: { DRDY } 9월 12 23:47:53 onestep-srv kernel: ata2: hard resetting link 9월 12 23:47:54 onestep-srv kernel: ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300) 9월 12 23:47:54 onestep-srv kernel: ata2.00: configured for UDMA/133 9월 12 23:47:54 onestep-srv kernel: ata2: EH complete 9월 12 23:47:54 onestep-srv kernel: ata2.00: exception Emask 0x10 SAct 0x80040 SErr 0x400100 action 0x6 frozen 9월 12 23:47:54 onestep-srv kernel: ata2.00: irq_stat 0x08000000, interface fatal error 9월 12 23:47:54 onestep-srv kernel: ata2: SError: { UnrecovData Handshk } 9월 12 23:47:54 onestep-srv kernel: ata2.00: failed command: READ FPDMA QUEUED 9월 12 23:47:54 onestep-srv kernel: ata2.00: cmd 60/20:30:a0:e7:e2/00:00:cf:00:00/40 tag 6 ncq dma 16384 in res 50/00:00:70:df:1a/00:0a:f0:00:00/40 Emask 0x10 (ATA bus error) 9월 12 23:47:54 onestep-srv kernel: ata2.00: status: { DRDY } 9월 12 23:47:54 onestep-srv kernel: ata2.00: failed command: WRITE FPDMA QUEUED 9월 12 23:47:54 onestep-srv kernel: ata2.00: cmd 61/00:98:70:df:1a/0a:00:f0:00:00/40 tag 19 ncq dma 1310720 ou res 50/00:00:70:df:1a/00:0a:f0:00:00/40 Emask 0x10 (ATA bus error) 9월 12 23:47:54 onestep-srv kernel: ata2.00: status: { DRDY } ....
저 보드에는 SATA 포트가 4개 붙어있는데, 지금까지 본 바로는 ata3.0 빼고 나머지 포트에서 모두 저 오류가 발생했다.
주로, 해당 드라이브에 ‘쓰기’ 작업을 할 때 이런 현상이 나타난다. (시험 시에는 주로 큰 파일 복사를 해봤다.)
journalctl 로 살펴보니.. 파워가 고장난 이후부터 이 오류가 확인된다. journalctl 이 8월 28일부터 저장돼 있는데, 그 이전 기록은 있는건지 아니면 지워진 건지 알 수가 없긴 하지만, 아무튼 현재 있는 최초 기록은 9월 1일부터다. 이 날부터 PSU 가 고장이 났고, 임시변통으로 데스크탑 PSU 를 물려 사용했었으며, 애매하게도 ata 관련 오류도 같은 날부터 볼 수 있었다.
공교롭게도 PSU 고장과 ata 오류가 같은 날이다??
거참.. 까마귀 날자인지, 이전부터 이 문제가 있었는데 이제야 발견한건지, 아니면 정말 연관이 있는건지.. 판단하기가 좀 어렵다.
최근들어 NFS 로 파일을 복사할 때 이상하게 시간이 오래 걸리는 경우가 있긴 했는데, 그게 이 문제였던건지.
이에 관해 검색을 해보면, 이 문제 해법은 크게 두가지로 갈린다.
일단 디스크 드라이브에 문제가 없다는 가정 하에,
가장 먼저, 오류가 발생한 포트(ata1)의 드라이브를 다른 포트로 옮겨봤다. 즉, ata1 과 ata2 를 서로 바꿔껴봤다.
결과는 여전히 ata1 에서 오류 발생. 이렇다는 얘기는 드라이브는 멀쩡하다는 뜻?
하여, ata1 포트에 있던 케이블을 놀고 있던 다른 케이블로 바꿔줬다.
그리고 나선 ata1 에서는 문제가 없었는데..
저 작업을 할 때까지만 해도 ata1 에서만 오류가 났었는데, 몇 시간 후에 다시 살펴보니 이번엔 ata2 와 ata4 에서도 같은 오류가 생긴다.
해서.. 일단 새 케이블 4개를 주문했다.
현재 사용하고 있는 케이블은 중고 케이스 주문 시에 딸려온 것들이라 좀 미심쩍긴 하기 때문에, 바꾸는 김에 새걸로 모두 교체하려 한다. 추석 연휴 일주일 전이라 언제 배달이 될 수 있을 진 모르겠고..
만약 케이블을 바꿨는데도 동일한 오류가 발생한다면, 그 때는 NCQ 를 사용 중지해보기로 한다.
또, PSU 때문에 이런 문제가 생길 수도 있다는 내용도 있긴 한데..
비싼 건 아니지만 아무튼 PSU 를 바꾼 지 일주일도 안됐는데..
문제가 있다면, 새로 바꾼 것보다는 고장난 제품에 있을테고, 아니면 임시로 달았던 ATX PSU 에 오류가 있었을 지도.
근데, PSU 문제로 SATA 케이블에 뭔가 문제를 일으킬 수도 있으려나?? 거 참. 애매하네.
이도 저도 아니면, 메인보드를 바꿔야 할 지도. 또는 PSU 포함, 케이스를 갈아야할 지도.
모쪼록 케이블로 해결될 수 있기를…
** 경과. 21.09.16
추석 물류를 헤치고, SATA 케이블이 배달되었다. 교체를 해봤는데…
결론이 좀 애매하다.
일단, 최초에 오류가 발생했던 ATA1.00 에선 더 이상 오류가 발생하지 않는다. 이건 내가 가지고 있던 SATA 케이블로 교체를 했을 때부터 괜찮아졌다.
마지막까지 오류를 뿜어내던 곳은 ATA4.00 이었는데, 여긴 4TB HDD 가 연결되어 있었다. 케이블을 바꾼 뒤에도 여전히 오류가 발생했다. 다만, 다른 곳은 모두 괜찮고, 오로지 여기서만 문제가 계속됐다.
해서, 이 드라이브를 ATA2.00 으로 옮겨봤다. 즉, ATA2 와 ATA4 에 연결돼 있던 디스크를 서로 교환했다.
이 결과는, Win-Win. 모두 오류 발생이 없다.
이 보드에는 ATA Controller 가 2개 설치돼 있다. 하나는 Intel 이고, 다른 하나는 ASMedia 의 ASM1062. ATA1/2 는 Intel 이고, 3/4 는 ASMedia 인데.. 초기에는 ATA1 에서 오류가 발생했고, 마지막은 ATA4 였다.
더 이상 이상이 없다고 가정했을 때, ASMedia 와 4TB(이게 WD 였나?) HDD 가 호환성에 좀 문제가 있는건 아닐지.. 그저 막연히, 아무 근거없이 추측만 해본다.
좀 더 살펴보면서 원인을 찾아보는 수밖에.