我有一个新的Debian VPS,几乎每次我在ext4文件系统上运行繁重的磁盘写入testing时都会出现故障。 文件系统进入只读模式,并将“ata1:lost interrupt(Status 0x50)”logging到/ var / log / messages。 你build议我接下来做什么? 有一些文件系统或服务器参数可以改变吗? 有什么方法可以更深入地debugging吗? 我应该切换到ext3好吗? 还是应该从Debian切换到Ubuntu或CentOS?
这是迄今为止发生的事情。 我从Hetzner获得了一个新的VQ 12 VPS。 我有一个标准的服务器testing程序在接受它们投入生产之前运行。 我从Hetzner映像安装了64位Debian,将其升级到最新的补丁并开始testing。 当我在ext4分区上运行dd写命令时,就像
dd if=/dev/zero of=/root/test.bin bs=2M count=4k conv=fdatasync
我几乎立即得到了
dd: writing `/root/test.bin': Read-only file system
并find一条线
kernel: [ 457.816093] ata1: lost interrupt (Status 0x50)
在/ var / log / messages。 文件系统可以恢复,也可以在重启时恢复
May 5 19:54:29 ****vq12 kernel: [ 1.772377] EXT4-fs (sda3): INFO: recovery required on readonly filesystem May 5 19:54:29 ****vq12 kernel: [ 1.773184] EXT4-fs (sda3): write access will be enabled during recovery May 5 19:54:29 ****vq12 kernel: [ 2.001101] EXT4-fs warning (device sda3): ext4_clear_journal_err: Filesystem error recorded from previous mount: IO failure May 5 19:54:29 ****vq12 kernel: [ 2.002159] EXT4-fs warning (device sda3): ext4_clear_journal_err: Marking fs in need of filesystem check. May 5 19:54:29 ****vq12 kernel: [ 2.004316] EXT4-fs (sda3): recovery complete May 5 19:54:29 ****vq12 kernel: [ 2.005316] EXT4-fs (sda3): mounted filesystem with ordered data mode
但尽快我继续testing这个问题再次发生。 我联系了支持,他们build议我增加/ sys / block / sda / device / timeout,但这似乎是微不足道的。
root@****vq12 ~ # echo "600" > /sys/block/sda/device/timeout root@****vq12 ~ # cat /sys/block/sda/device/timeout 600 root@****vq12 ~ # mount | grep " / " /dev/sda3 on / type ext4 (rw) root@****vq12 ~ # dd if=/dev/zero of=/test.bin bs=2M count=4k conv=fdatasync dd: writing `/test.bin': Read-only file system 3096+0 records in 3095+0 records out 6492217344 bytes (6.5 GB) copied, 116.353 s, 55.8 MB/s
他们也将VPS迁移到另一个节点,但也没有帮助。 我已经从图像直接testing了32位和64位的Debian,并升级到最新的补丁,并在所有组合中不断发生。 但是ext3似乎不受影响。 Ubuntu和CentOS甚至与ext4(在同一台服务器上testing)似乎不受影响。
在最近的一段时间里,我对许多Debian和其他Linux服务器(甚至在一些Hetzner VQ,EQ,EX服务器上)也进行了相同的写入testing,而且从来没有发生过。