Xen VPS 서버에서 3.2 커널을 부팅할 때 디스크 I/O 오류가 발생하는 이유는 무엇입니까?

Xen VPS 서버에서 3.2 커널을 부팅할 때 디스크 I/O 오류가 발생하는 이유는 무엇입니까?

나는 방금 새로운 LTS 12 Precise Pangolin으로 업그레이드한 xen vps를 가지고 있습니다.

그러나 부팅할 때 다음 오류가 표시됩니다.

[   12.848076] end_request: I/O error, dev xvda, sector 12841
[   12.848093] end_request: I/O error, dev xvda, sector 12841
[   12.848103] Buffer I/O error on device xvda1, logical block 1605
[   12.848110] lost page write due to I/O error on xvda1
[   12.848129] Aborting journal on device xvda1.

결과적으로 읽기 전용으로 마운트되거나 마운트됩니다. 재부팅:

[    3.087257] EXT3-fs (xvda1): warning: ext3_clear_journal_err: Marking fs in need of filesystem check.
[    3.087677] EXT3-fs (xvda1): recovery complete
[    3.088514] EXT3-fs (xvda1): mounted filesystem with ordered data mode
Begin: Running /scripts/local-bottom ... done.
done.
Begin: Running /scripts/init-bottom ... done.
fsck from util-linux 2.20.1
PRGMRDISK1 contains a file system with errors, check forced.
Checking disk drives for errors. This may take several minutes.
Press C to cancel all checks in progress
PRGMRDISK1: ***** REBOOT LINUX *****
PRGMRDISK1: 371152/6001184 files (2.8% non-contiguous), 4727949/12000000 blocks
mountall: fsck / [308] terminated with status 3
mountall: System must be rebooted: /
[  151.566949] Restarting system.
Name                                        ID   Mem VCPUs      State   Time(s)
shadowmint                                 236  2048     1     --p---      0.0

재부팅 -> 1로 돌아갑니다.

이는 확실히 3.2 커널의 문제입니다. 3.0.0 또는 2.6.38 커널 시리즈를 부팅하면 이 문제가 마법처럼 사라지기 때문입니다.

나는 이것이 일종의 이상한 xen 문제라고 확신하지만 전혀 모릅니다.

누구나?

어쨌든 이 문제가 해결될 때까지 나는업그레이드를 강력히 권장합니다xen 서버를 실행 중인 경우.

답변1

가상 머신을 위한 특별한 커널이 있다는 것을 알았습니다.

linux-image-3.2.0-23-virtual - 64비트 x86 가상 게스트의 버전 3.2.0용 Linux 커널 이미지 linux-image-extra-3.2.0-23-virtual - 64의 버전 3.2.0용 Linux 커널 이미지 비트 x86 가상 게스트

어쩌면 그게 해결될까요?

답변2

비슷한 문제가 있었지만 비슷한 문제가 반드시 비슷한 원인을 포함하지는 않습니다 :-D. 나는 해결했다내 문제을 추가하여노배리어(마운트 옵션)을 /etc/fstab루트 파티션 마운팅 라인에 추가합니다.

UUID=7960e41c-6ad3-458e-ba0b-289c43a7508f / ext4 nobarrier 0 1

첫 번째 성공적인 재부팅 후 실행했습니다.

dmesg | grep barrier

그리고 이것이 내가 얻은 것입니다:

[    0.690596] blkfront: xvda: barrier: enabled 
[   12.914802] blkfront: xvda: empty barrier op failed
[   12.914807] blkfront: xvda: barrier or flush: disabled 
[   14.806961] EXT4-fs (xvda1): re-mounted. Opts: errors=continue,nobarrier

관련 정보