fsck가 30TB 볼륨을 얼마나 오래 유지할 수 있습니까?


17

11 월 중순에 호스팅 회사에서 임대하는 VPS가 응답을 멈췄습니다. 지원 부서에 연락했을 때 데이터 센터의 정전으로 인해 강제 재부팅 및 fsck가 발생했다고 설명했습니다. 결국, 왜 그렇게 오래 걸 렸는지 물었고 볼륨 크기가 30TB라고 들었습니다. 마지막으로 업데이트를받은 시간은 2 월이며 가장 최근의 문의에 응답하지 않았습니다.

일부 파일 시스템의 경우 fsck가 매우 느릴 수 있지만 fsck가 30TB 볼륨에서 6 개월이 걸릴 수 있음을 이해합니다. 달?


39
그들은 처음부터 당신에게 거짓말을했을 것입니다. 나는 몇 시간 이 걸릴 것으로 예상합니다 . 12 월에 지불을 중단 했어야합니다.
Michael Hampton

15
거짓말을하지 않더라도 HW + 소프트웨어 설정을 선택하면 무능력하다는 것을 보여주는 FSCK 필요할 있습니다. 그리고 이유가 무엇이든, 그들은 당신이 지불하는 서비스를 제공하지 않습니다.
Peter Cordes

34
실제 클러스터 fsck처럼 들립니다!
JMK

2
@JMK 이제 추가 장점을 위해 의견을 표시하는 방법이 있었으면 좋겠다.
파이프

2
@PeterCordes가 말하는 것은 핵심입니다. 서비스 비용을 지불하고 있습니다. 문제가 발생했다는 사실에 대해 유감스럽게 생각하지만 비용을 지불하고받지 않는 서비스에 대해 문의하고 있습니다.
Rob Moir

답변:


31

fsck속도는 주로 파일 수와 파일이 각 디렉토리에 분산되는 방식에 따라 다릅니다. 즉, 6 개월 동안 fsck은 절대로 터무니없는 것입니다. 특히 xfs빠른 xfs_repair유틸리티를 사용 하는 경우 몇 시간 안에 완료해야 합니다. 여기서fsck 1 시간 (3600 초) 내에 완료된 규모로 달리기를 찾을 수 있습니다 . 따라서 fsck아직 실행 중일 수 없습니다 .

어쨌든, 예기치 못한 전력 손실이됩니다 하지 전체 타격의 원인이 fsck아니라 단지 매우 빠른 (일부 초) 저널 재생을 . 그러나 일부 키 파일이 손상된 경우 OS를 부팅 할 수 없습니다.

그러나 그들은 아마도 당신에게 거짓말을했을 것입니다. 즉시 지불을 중단하고 설명을 요청한 후 전체 환불을 신청해야합니다.


8
그들이을 사용하는 경우 ext2정전에는 전체가 필요하며 fsck사용량이 많은 30TB 볼륨에서 며칠이 걸리더라도 놀라지 않을 것입니다. 반면 ext2에 30TB 볼륨을 사용 하는 경우 그 자체가 다른 곳에서 서비스 호스팅을 찾는 이유입니다.
마크

14
ext2는 x86 및 x86_64에서 최대 블록 크기가 4096 바이트 (예 : 페이지) 인 32 비트 블록 카운터를 사용합니다. 이는 ext2 (및 ext3)가 8TB 볼륨으로 제한되므로 OP는 ext2 / 3를 사용할 수 없습니다. 어쨌든 30TB 볼륨에서 저널링되지 않은 파일 시스템을 사용하는 것은 절대적으로 미친 짓 입니다.
shodanshok

방대한 양의 작은 파일을 포함하는 30Tb FS를 가지고 있다면 ext4 fsck가 조금 더 나을 것이라고 생각합니다. 그것을 창조하는 미치광이, 그래서 다른 곳을보아야 할 이유.
nigel222

7

결론 : 시스템은 최소한의 비용으로 최대 성능을 얻기 위해 가장 강력한 설정으로 가능한 모든 쓰기 캐시 (하드 드라이브 자체를 포함하여)를 포함한 BBU / FBWC없는 RAID (또는 소프트웨어 RAID)를 사용합니다. 이러한 설정으로 인해 정전이 발생하면 저널을 신뢰할 수없고 복구에 사용할 수없는 상태에서 저널링 파일 시스템이 남을 수 있습니다. 문제는 그러한 시스템이 적극적으로 쓰기 순서를 변경하고 연기한다는 것입니다. 즉, 데이터 작업 손실의 결과로 저널 항목을 쓸 수 있거나 결과적으로 발생한 데이터 작업에서 저널 항목이 손실 될 수 있습니다.

최악의 정전에서 이러한 시스템을 복구한다는 것은 실제로 모든 파일 시스템 구조를 실제로 검사하는 "느린"fsck / 수리를 수행해야한다는 것을 의미 할 수 있습니다. 실제로 30TB에 하루나 이틀이 걸릴 수 있습니다. 여러 복구주기를 실행해야 할 가능성은 없습니다. 직원이 항상이를 모니터링 할 수있는 것은 아니라는 점에 덧붙여 일주일에 한 fsck까지 쉽게 수행 할 수 있습니다. 그들은 아마 포기하고 잊었다.


1

대부분의 파일 시스템의 경우 일반적으로 메타 데이터 만 확인되므로 오류가 있어도 훨씬 빠릅니다.

최악의 경우 30TB 동안 며칠이 걸릴 수 있는 전체 디스크를 읽을 수 있습니다 ( 예 : 와 같이 fsck.ext4 -cc /dev/sda모든 블록에서 비파괴 쓰기 테스트 수행). 드라이브의 속도를 알고 있다면 크기 / 속도를 계산할 수 있습니다 . 약 100MB / s의 복사 속도 를 가진 소비자 용 하드 드라이브 경우 몇 TB가 대부분의 사람들이 예상하는 것보다 더 많은 시간이 걸릴 수 있습니다.

서버 인 fsck경우 오류를 수정할 것인지 묻는 메시지 가 표시되면 부팅 된 다음 중단 되는 문제가 발생할 수 있습니다. 그러나 fsck모든 VPS가 오프라인 상태 인 동안 데이터 센터 관리자는 6 개월 동안 중단 되지 않습니다 .

그래서 그들은 당신에게 거짓말을하거나 큰 오해가 있습니다. 또는 그들은 얼마 전에 fsck를 실행 중이며 새로운 문제가 완료된 후에 업데이트하지 않았습니다.


4
fsck모든 파일 시스템 구조를 순회하며, 이는 대부분 임의의 i / o를 실행하는 것을 의미합니다. 따라서 순차 전송률을 기반으로 한 위의 계산 은별로 유용하지 않습니다.
shodanshok

@ shodanshok 실제로 파일 구조는 일반적인 답변을 확인하는 것과 관련이 없습니다.
Overmind

@ shodanshok 최악의 가정은 매우 광범위한 fsck를 기반으로했습니다. 예를 들어 일반적인 xfs fsck는 그다지 많지 않습니다. ext2는 오래 전부터 광범위한 검사를 수행했으며 이전 MS-DOS 디스크 검사는 풀 모드에서 실행할 때 각 하드 드라이브 블록에 대해 읽기-쓰기 테스트를 수행했습니다. 따라서 디스크 크기의 상한이 있습니다.
allo

1
@Overmind 그리고 당신은 대답은 일반적인 드라이브 점검이 아니라 fsck에 관한 질문과 관련이 없습니다.
BlackJack

일반적인 디스크 처리량을 지표로 사용하는 것은 잘못된 결과 일 수 있습니다. 배열을 다시 동기화 할 때 수학을 수행했습니다. 제 생각에는 하루도 걸리지 않았으며 2 주가 걸렸습니다! 탐색은 총 시간의 가장 중요한 요소이며 엄격한 순차 작업을 수행 한다고 생각 하더라도 때로는 그렇지 않습니다. 이제 fsck가 그래서 ... 방법은 당신이 작업의 길이 처리량 일반적인 디스크에서 판단 할 수 없다, 엄격하게 비 순차적 인 (여전히 개월 말도 안돼 ... 그것은 명백한 거짓말).
데이먼
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.