빈 파일 시스템에서도 ext4 jbd2 저널링이 활성화 됨


8

jbd2 저널링 으로 인한 것으로 보이는 내 ext4 파일 시스템에 몇 가지 문제가 있습니다 . 나는 여기에 관련 게시물을 만들었고 누군가가 도울 수 있다는 희망으로 그것을 다시 말하고 있습니다.

최소한의 예를 들어, 빈 8GB USB 스틱으로 시작하고 gparted 를 사용하여 하나의 ext4 파티션을 만듭니다. ext4 파일 시스템을 만들 때 gparted가 사용하는 명령은 다음과 같습니다.

mkfs.ext4 -j -O extent -L DataTraveler8gb /dev/sde1

gparted로 파일 시스템을 확인합니다.

e2fsck -f -y -v /dev/sde1

그리고 나는 그것을 마운트 :

sudo mount /dev/sde1 /media/test

디스크가 비어 있지만이 디스크 (/ dev / sde1)에서 저널링이 매우 활성화되어 있습니다. 다른 디스크는 비슷하게 포맷 된 ext4 SSD입니다. 아이오 톱의 스냅 샷 :

% sudo iotop -oPa

Total DISK READ: 0.00 B/s | Total DISK WRITE: 2027.21 K/s
  PID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
  262 be/3 root          0.00 B     56.00 K  0.00 %  0.18 % [jbd2/sda1-8]
29069 be/3 root          0.00 B      0.00 B  0.00 %  0.16 % [jbd2/sde1-8]
  891 be/3 root          0.00 B      4.00 K  0.00 %  0.03 % [jbd2/sdc1-8]

jbd2는 / dev / sde1로 무엇을하고 있습니까?

더 큰 2Tb 디스크로 동일한 단계를 수행하면 iotop은이 빈 디스크를 마운트하자마자 Mb / s의 속도로 jbd2에 의해 지속적으로 기록되고 있음을 나타냅니다.

OS 및 / home이있는 다른 디스크 에서이 동작을 유발하기 위해 프로세스가 파일을 수정하고 있지만 찾을 수없는 파일을 찾으려고 시도했습니다. 또한 tmpfs를 사용하기 위해 많은 디스크 집중 프로세스를 옮겼습니다. 그리고 noatime을 사용했습니다.

이 컴퓨터에는 / dev / sdb가 아닌 다른 SSD가 아닌 하드 디스크가 있는데 ext4이지만 gparted (동료가 제공 한)로 포맷되지 않았습니다. iotop에는 나타나지 않습니다. 그래서 gparted에 문제가 있다고 가정합니다.

모든 제안을 부탁드립니다. 또한 처음부터 시작하지 않고 문제를 해결하기 위해 기존 파티션을 수정하는 방법에 대한 팁도 좋습니다.

jbd2와 관련된 게시물이 있지만 도움이되지 않았습니다 (예 : here ).


디스크를 포맷하기 전에 iotop을 시작 했습니까? 이 경우 포맷 중에 쓰여진 데이터를 보여줍니다.
jippie

@jippie 디스크 포맷 후 iotop을 시작했습니다. 최소 예의 디스크가 비어 있습니다. 비슷하게 포맷 된 디스크에서 파일이 작성되지 않은 경우에도 jbd2 활동이 발생합니다 ( 전체 파일 시스템에서 찾기로 확인 ).
Paul

당신은 그것을 장착하려고 했습니까 mount -o noatime ... ...?
jippie

나는 noatime을 시도했다. 아무것도하지 않는 것 같습니다.
Paul

답변:


7

ext4는 마운트 될 때까지 (uninit_bg 옵션일까요?) 많은 초기화를 포스트 포스팅하여 '빠른 형식'을 수행하는 것으로 보입니다. 드라이브를 처음 포맷 한 후에 jbd2 가이를 수행한다고 생각합니다. 여기 에서 의견 중 하나는 jbd2가 크기에 비례 한 시간 동안 생성 후 파티션에 기록한다고 제안했으며, 200GB 당 10 분 (TB 당 50 분)을 나타냅니다. 어제 3TB ext4 드라이브를 포맷했고 jbd2는 오래 전부터 쓰고 있었지만 이제는 중단되었습니다.

btrfs는이 작업을 수행하지 않지만 btw는 외부 드라이브에 대해서는 아직 신뢰하지 않습니다. 예를 들어 최근 커널 (3.4 이상)이 필요하거나 드라이브를 제거하면 커널이 oop (그리고 데이터가 손실 될 수 있음) 먼저 마운트를 해제하지 않고 (물론 전원이 끊기는 경우에 발생합니다).


와우, 나는 그것을 생각하지 않았다 (그리고 어떻게 든 같은 스레드를 읽은 후에 그것을 놓쳤다). uninit_bg와 관련하여 확인을 시도하지만 귀하 또는 다른 사람이 확실하다면 답변으로 표시 할 수 있습니다.
Paul
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.