VMDK 디스크가 읽기 전용이 되었으며 Rhel 시스템에서 이러한 경우를 방지하는 방법

VMDK 디스크가 읽기 전용이 되었으며 Rhel 시스템에서 이러한 경우를 방지하는 방법

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

위의 솔루션이 올바른 방향으로 가고 있는지 알고 싶습니다.

관련 정보