약 72TB의 공간을 갖춘 백업 서버가 있습니다. 절반 정도만 사용됩니다. 이번 주 초에 xfs 파일 시스템을 마운트 해제한 직후에 다음 메시지를 받았습니다.
Mar 15 15:15:47 kernel: Filesystem dm-0: XFS internal error xfs_trans_cancel at line 1164 of file fs/xfs/xfs_trans.c. Caller 0xffffffff883e54fe
Mar 15 15:15:47 kernel:
Mar 15 15:15:47 kernel:
Mar 15 15:15:47 kernel: Call Trace:
Mar 15 15:15:47 kernel: [<ffffffff883dfd95>] :xfs:xfs_trans_cancel+0x55/0xfa
Mar 15 15:15:47 kernel: [<ffffffff883e54fe>] :xfs:xfs_mkdir+0x429/0x465
Mar 15 15:15:47 kernel: [<ffffffff883ee399>] :xfs:xfs_vn_mknod+0x161/0x215
Mar 15 15:15:47 kernel: [<ffffffff800ed95a>] vfs_mkdir+0xe3/0x152
Mar 15 15:15:47 kernel: [<ffffffff800edf30>] sys_mkdirat+0xa3/0xe4
Mar 15 15:15:47 kernel: [<ffffffff800a7f3f>] sys_futex+0x129/0x14a
Mar 15 15:15:47 kernel: [<ffffffff8005ddf9>] error_exit+0x0/0x84
Mar 15 15:15:47 kernel: [<ffffffff8005d116>] system_call+0x7e/0x83
Mar 15 15:15:47 kernel:
Mar 15 15:15:47 kernel: xfs_force_shutdown(dm-0,0x8) called from line 1165 of file fs/xfs/xfs_trans.c. Return address = 0xffffffff883dfdae
Mar 15 15:15:47 kernel: Filesystem dm-0: Corruption of in-memory data detected. Shutting down filesystem: dm-0
Mar 15 15:15:47 kernel: Please umount the filesystem, and rectify the problem(s)
Mar 15 15:15:57 kernel: Filesystem dm-0: xfs_log_force: error 5 returned.
그래서 4일 전부터 다음 명령을 실행했습니다.
xfs_repair -vv -o bhash=16384 -o ihash=16384 -o ag_stride=16 /dev/mapper/cdp1raid-cdp1raid
추가 -o
옵션을 사용하면 속도가 크게 향상되고 진행 상황을 보여주는 로그 파일로 출력되지만 지난 이틀 동안은 다음 메시지만 표시되었습니다.
rebuild AG headers and trees - 73 of 73 allocation groups done
strace
, , iostat
, , htop
같은 일이 atop
계속 진행되고 있는지, 멈춰 있는지 알아낼 수 있는지 살펴봤지만 프로세스가 무엇을 하고 있는지 알려주는 내용은 아무것도 보지 못했습니다 . 실행하면 , 및 값에 대한 , 및 목록 카운트다운이 iostat -xd
표시되지만 이것이 실제로 의미가 있는지는 확실하지 않습니다.sdc
sdc1
dm-0
r/s
w/s
rsec/s
이에 대한 도움이나 지침을 주시면 대단히 감사하겠습니다.
답변1
인터넷의 일부 사람들은 이 -P
플래그가 xfs_repair
그러한 중단을 방지하는 데 도움이 된다고 말합니다(strace만 표시 FUTEX_WAIT_PRIVATE
되고 다른 것은 표시되지 않음). 남성:
-P Disable prefetching of inode and directory blocks. Use this option if you find xfs_repair gets stuck and stops proceeding. Interrupting a stuck xfs_repair is safe.