
RHEL 7.6이 포함된 Kafka 클러스터가 있고 모든 Kafka는 VM 머신입니다.
Kafka 머신 중 하나에서 sdb 디스크가 읽기 전용이 된 것을 확인했습니다(sda가 OS 디스크인 경우).
mount | grep sdb
/dev/sdb on /var/data/kafka_DB type ext4 (ro,noatime,data=ordered)
내 관점에서는 DISK VMDK가 읽기 전용이 된 것이 조금 이상합니다(기계식 디스크가 아니기 때문에).
red-hat에서 다음을 찾았습니다.
https://access.redhat.com/solutions/1273213
https://access.redhat.com/solutions/35329
그러나 Redhat의 위 제안이 디스크가 읽기 전용이 된 이유에 대한 답인지 확실하지 않습니다.
다른 의견은 없나요?
커널 로그에서 다음을 볼 수 있습니다.
[1642397.157193] sd 0:0:2:0: [sdb] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_TIMEOUT
[1642397.157200] sd 0:0:2:0: [sdb] CDB: Write(10) 2a 00 12 c0 01 00 00 00 08 00
[1642397.157214] blk_update_request: I/O error, dev sdb, sector 314573056
[1642397.157242] Buffer I/O error on dev sdb, logical block 39321632, lost async page write
[1642397.157806] sd 0:0:2:0: [sdb] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_TIMEOUT
[1642397.157808] sd 0:0:2:0: [sdb] CDB: Read(10) 28 00 12 c4 03 58 00 00 08 00
[1642397.157810] blk_update_request: I/O error, dev sdb, sector 314835800
[1642397.157843] sd 0:0:2:0: [sdb] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_TIMEOUT
[1642397.157845] sd 0:0:2:0: [sdb] CDB: Read(10) 28 00 12 c4 0b a0 00 00 08 00
[1642397.157847] blk_update_request: I/O error, dev sdb, sector 314837920
[1642578.412306] sd 0:0:2:0: [sdb] task abort on host 0, ffff8c147c189880
[1642924.513605] sd 0:0:2:0: [sdb] task abort on host 0, ffff8c16a4f01880
[1643034.935334] JBD2: Detected IO errors while flushing file data on sdb-8
[1643035.002651] EXT4-fs error (device sdb): __ext4_new_inode:989: comm pool-6-thread-1: failed to insert inode 8126474: doubly allocated?
[1643036.753397] Aborting journal on device sdb-8.
[1643036.754490] EXT4-fs error (device sdb): ext4_journal_check_start:56: Detected aborted journal
[1643036.754496] EXT4-fs (sdb): Remounting filesystem read-only
[1643226.599854] sd 0:0:2:0: [sdb] task abort on host 0, ffff8c14a4bd3800
[1694249.598258] EXT4-fs (sdb): error count since last fsck: 17
[1694249.598269] EXT4-fs (sdb): initial error at time 1629844995: ext4_find_entry:1312: inode 656236
[1694249.598273] EXT4-fs (sdb): last error at time 1630003886: ext4_journal_check_start:56
[1780756.527074] EXT4-fs (sdb): error count since last fsck: 17
[1780756.527086] EXT4-fs (sdb): initial error at time 1629844995: ext4_find_entry:1312: inode 656236
[1780756.527088] EXT4-fs (sdb): last error at time 1630003886: ext4_journal_check_start:56
우리가 생각하는 것은 /sys/block/
기본 이름 /dev/sdb를 업데이트하는 것입니다./device/timeout
예를 들어 기본값은 180입니다.
우리는 업데이트된 새로운 값을 다음과 같이 설정할 생각입니다.
echo 3600 > /sys/block/`basename /dev/sda`/device/timeout
위의 솔루션이 올바른 방향으로 가고 있는지 알고 싶습니다.