我有一个 xen vps,刚刚将其升级到新的 LTS 12 Precise Pangolin。
但是,我在启动时看到这个错误:
[ 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 位 x86 虚拟客户机上 3.2.0 版的 Linux 内核映像
也许这样就能解决问题?
答案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