networking映射文件系统将丢弃到只读中途stream,设备映射程序发生缓冲区I / O错误

在Linux 2.6(实际上是CentOS 5.3)下,我有一个文件系统可以正常工作几分钟,然后下降到只读模式 ,而我试图读取/写入数据。

这是一个ext3文件系统,通过device-mapper引用一个luks (cryptsetup)设备。 luks裸设备实际上是一个环回设备,并且该环回设备引用一个文件。 该文件引用通过sshfs映射的远程系统上的文件。 是啊,很多的容器。 这就是我正在做的安全备份存储到一个比我更喜欢的安全性稍低的云环境。

详细:

  1. 远程系统有一个文件夹backupFolder包含一个预先分配的20G文件backupFile。
  2. 本地系统使用sshfs将backupFolder挂载到本地挂载点backupMapped。
  3. 本地系统创build一个指向backupMapped / backupFile的环回设备(使用losetup)。
  4. 本地系统使用cryptsetup luksOpen将loop设备映射应用到回送设备,产生/ dev / mapper / backup。
  5. 本地系统将/ dev / mapper / backup作为ext3设备挂载在不同的本地挂载点上,例如/ root / rpg / d01

然后,我可以使用rsync来更新cleartextBackup上的数据/使用本地系统上的原始数据。

这在小的差异,小的rsyncstesting时效果很好。 然而,对于更大的操作,大约十五分钟的显然成功的操作之后,rsync挂起了相当长的一段时间,然后通过源文件继续生成各种错误消息:

rsync:mkstemp“/root/rpg/d01/db_pgexports/dbdump.sql”失败:只读文件系统(30)

rsync:can not stat destination“/ root / rpg / d01 / db_myexports /”:input/输出错误(5)rsync错误:在main.c(493)selectinput/输出文件,目录(代码3) 0.8]

rsync:recv_generator:mkdir“/ root / rpg / d01 / vault / jjm”失败:只读文件系统(30)rsync:stat“/ root / wpg / d01 / vault / jjm”失败:没有这样的文件或目录2)

我在dmesg中看到各种错误:

EXT3 FS on dm-12, internal journal EXT3-fs: mounted filesystem with ordered data mode. Buffer I/O error on device dm-12, logical block 119212 lost page write due to I/O error on dm-12 Buffer I/O error on device dm-12, logical block 119213 lost page write due to I/O error on dm-12 Buffer I/O error on device dm-12, logical block 119214 lost page write due to I/O error on dm-12 <snip> Buffer I/O error on device dm-12, logical block 119221 lost page write due to I/O error on dm-12 Aborting journal on device dm-12. ext3_abort called. EXT3-fs error (device dm-12): ext3_journal_start_sb: Detected aborted journal Remounting filesystem read-only EXT3-fs error (device dm-12): ext3_get_inode_loc: unable to read inode block - inode=2480641, block=4980738 EXT3-fs error (device dm-12): ext3_get_inode_loc: unable to read inode block - inode=32641, block=65538 EXT3-fs error (device dm-12): ext3_find_entry: reading directory #65281 offset 0 EXT3-fs error (device dm-12): ext3_find_entry: reading directory #65281 offset 0 EXT3-fs error (device dm-12): ext3_find_entry: reading directory #65281 offset 0 <snip> 

和/ var / log / messages中的消息基本相同。

认为这与超时有关(尽pipe它应该是读写密集型的),我尝试了一些sshconfiguration参数,比如

20小时

serveralivecountmax 4000

并使用sshfs -o重新连接,甚至-o解决方法=所有。

一切都无济于事。

任何人都可以揭示什么是突破,我可以使这件事情可靠地保持在读写模式?

谢谢你,史蒂夫·洛克