OpenVZ容器在重启后不会启动

vzctl start 192 Dump file /vz/dump/Dump.192 exists, trying to restore from it Restoring container ... Opening delta /vz/private/192/root.hdd/root.hdd Data cluster 1112 beyond EOF, vsec=47137... FATAL Error in ploop_check (check.c:547): Fatal errors were found, image /vz/private/192/root.hdd/root.hdd is not repaired Error in check_deltas (check.c:631): /vz/private/192/root.hdd/root.hdd : irrecoverable errors Failed to mount image: Error in check_deltas (check.c:631): /vz/private/192/root.hdd/root.hdd : irrecoverable errors [11] Starting container... Opening delta /vz/private/192/root.hdd/root.hdd Data cluster 1112 beyond EOF, vsec=47137... FATAL Error in ploop_check (check.c:547): Fatal errors were found, image /vz/private/192/root.hdd/root.hdd is not repaired Error in check_deltas (check.c:631): /vz/private/192/root.hdd/root.hdd : irrecoverable errors Failed to mount image: Error in check_deltas (check.c:631): /vz/private/192/root.hdd/root.hdd : irrecoverable errors [11] 

我跑了一个ploop检查:

 # ploop check -f /vz/private/192/root.hdd/root.hdd Reopen rw /vz/private/192/root.hdd/root.hdd Data cluster 4704 beyond EOF, vsec=6177... FATAL Error in ploop_check (check.c:547): Fatal errors were found, image /vz/private/192/root.hdd/root.hdd is not repaired # ploop check -F /vz/private/192/root.hdd/root.hdd Reopen rw /vz/private/192/root.hdd/root.hdd Data cluster 4704 beyond EOF, vsec=6177... Fixed Error in ploop_check (check.c:572): Dirty flag is set # vzctl start 192 Dump file /vz/dump/Dump.192 exists, trying to restore from it Restoring container ... Opening delta /vz/private/192/root.hdd/root.hdd Error in ploop_check (check.c:572): Dirty flag is set Adding delta dev=/dev/ploop46026 img=/vz/private/192/root.hdd/root.hdd (rw) /dev/ploop46026p1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. (ie, without -a or -p options) Error in e2fsck (fsutils.c:288): e2fsck failed (exit code 4) Failed to mount image: Error in e2fsck (fsutils.c:288): e2fsck failed (exit code 4) [41] Starting container... Opening delta /vz/private/192/root.hdd/root.192 Adding delta dev=/dev/ploop46026 img=/vz/private/200/root.hdd/root.hdd (rw) /dev/ploop46026p1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. (ie, without -a or -p options) Error in e2fsck (fsutils.c:288): e2fsck failed (exit code 4) Failed to mount image: Error in e2fsck (fsutils.c:288): e2fsck failed (exit code 4) [41] 

编辑2:

其中固定的其中之一:

 ploop check -F /vz/private/183/root.hdd/root.hdd ploop mount /vz/private/183/root.hdd/DiskDescriptor.xml fdisk -l /dev/ploop32942 e2fsck /dev/ploop32942p1 

然而,其中之一,我启动后,

 # vzctl start 183 Dump file /vz/dump/Dump.183 exists, trying to restore from it Restoring container ... Opening delta /vz/private/183/root.hdd/root.hdd Adding delta dev=/dev/ploop32942 img=/vz/private/183/root.hdd/root.hdd (rw) Mounting /dev/ploop32942p1 at /vz/root/183 fstype=ext4 data='balloon_ino=12,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,' Container is mounted undump... Restore error, undump failedContainer restore failed (try to check kernel messages, eg "dmesg | tail") : Invalid argument Starting container... Warning: rmdir //.cpt_hardlink_dir_a920e4ddc233afddc9fb53d26c392319 failed: Read-only file system Adding IP address(es): mkdir: cannot create directory `/etc/sysconfig/network-scripts/bak': Read-only file system /bin/cp: cannot create regular file `/etc/sysconfig/network-scripts/bak/': Is a directory ERROR: Unable to backup interface config files Setting CPU limit: 400 Setting CPU units: 1000 Setting CPUs: 16 Container start failed (try to check kernel messages, eg "dmesg | tail") Killing container ... Container was stopped Unmounting file system at /vz/root/183 Unmounting device /dev/ploop32942 Container is unmounted 

之后,当我尝试再次启动容器失败,我必须再次e2fsck,但试图再次启动它,我得到同样的问题。

编辑3:

事实上是因为磁盘是GPT,fsck不能正常工作?

硬件重启后,下面的build议解决scheme帮助一个接一个地启动失败的容器:

 # ploop check -F /vz/private/139/root.hdd/root.hdd # ploop mount /vz/private/139/root.hdd/DiskDescriptor.xml # fdisk -l /dev/ploop56824 # e2fsck /dev/ploop56824p1 # vzctl start 139 Dump file /vz/dump/Dump.131 exists, trying to restore from it Restoring container ... Unmounting device /dev/ploop56824 Opening delta /vz/private/131/root.hdd/root.hdd Adding delta dev=/dev/ploop56824 img=/vz/private/131/root.hdd/root.hdd (rw) Mounting /dev/ploop56824p1 at /vz/root/131 fstype=ext4 data='balloon_ino=12,' Container is mounted undump... Adding IP address(es): 78.129.146.84 Setting CPU limit: 100 Setting CPU units: 1000 Setting CPUs: 1 Setting iolimit: 67108864 bytes/sec resume... Container start in progress... Restoring completed successfully 

谢谢,帮了很多!

我会允许别人回答一下谁可能有更好的想法,然后在卸载,装载,启动,重复之后运行e2fsck几次之后,我终于把所有的容器都恢复了。

事实上,我认为你可以立即跳过下一步的过程,我忘了卸下它。