umount를 수행하고 lsof가 비어 있지만 디스크가 사용 중입니다.

umount를 수행하고 lsof가 비어 있지만 디스크가 사용 중입니다.

/dev/sdc에서 fsck -f를 실행하려고 했지만 성공하지 못했습니다.

    umount -l /var/hadoop/zookeper
    lsof /var/hadoop/zookeeper/

    fsck -f  /dev/sdc
    fsck from util-linux 2.23.2
    e2fsck 1.42.9 (28-Dec-2013)
    /dev/sdc is in use.
    e2fsck: Cannot continue, aborting.

어떻게 그럴 수 있니?

디스크가 마운트되지 않았으며 lsof에서 아무것도 얻지 못합니다.

그렇다면 왜 /dev/sdc를 사용하게 됩니까? ??

fsck -nf  /dev/sdc
fsck from util-linux 2.23.2
e2fsck 1.42.9 (28-Dec-2013)
Warning!  /dev/sdc is in use.
Warning: skipping journal recovery because doing a read-only filesystem check.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (4206042, counted=4212201).
Fix? no

Free inodes count wrong (1310644, counted=1310641).
Fix? no

/dev/sdc: 76/1310720 files (55.3% non-contiguous), 1036838/5242880 blocks

.

fsck -pvcf  /dev/sdc
fsck from util-linux 2.23.2
/dev/sdc is in use.
e2fsck: Cannot continue, aborting

답변1

문제는 jbd2 커널 스레드입니다. 예를 들어:

# lsof | grep sdc
jbd2/sdc- 261                           root  cwd       DIR                8,0     4096          2 /
jbd2/sdc- 261                           root  rtd       DIR                8,0     4096          2 /
jbd2/sdc- 261                           root  txt   unknown                                        /proc/261/exe

당신이 할 수 있는 일은 디스크가 마운트되지 않도록 fstab에서 디스크를 제거하는 것입니다. 재시작. 그러면 이러한 커널 스레드는 절대 시작되지 않습니다.

관련 정보