Linux
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. (i.e., 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. (i.e., 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, e.g. "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, e.g. "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 無法正常工作嗎?
硬體重啟後,以下建議的解決方案有助於一一啟動失敗的容器:
# 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
謝謝,幫了大忙!