我怎样才能修复损坏的文件系统在Linux中

我把我的docker容器转移到新的服务器,我认为在这个过程中我的文件系统被损坏。

这是我得到的输出

root@2389374b235b:/var/local/atlassian/confluence/plugins-osgi-cache# df Filesystem 1K-blocks Used Available Use% Mounted on none 103178528 44637104 54328508 46% / tmpfs 2023680 0 2023680 0% /dev shm 65536 0 65536 0% /dev/shm /dev/vda1 103178528 44637104 54328508 46% /BACKUPS root@2389374b235b:/var/local/atlassian/confluence/plugins-osgi-cache# fsck / fsck from util-linux 2.25.2 e2fsck 1.42.12 (29-Aug-2014) fsck.ext2: Is a directory while trying to open / The superblock could not be read or does not describe a valid ext2/ext3/ext4 filesystem. If the device is valid and it really contains an ext2/ext3/ext4 filesystem (and not swap or ufs or something else), then the superblock is corrupt, and you might try running e2fsck with an alternate superblock: e2fsck -b 8193 <device> or e2fsck -b 32768 <device> 

有什么方法可以解决这个问题吗?

似乎你正试图在一个实时系统上运行fsck 。 不要。 相反,你应该安排fsck在下次重启时运行。 这是通过添加一个空的文件/forcefsck 。 此外,您得到的错误消息是与此有关,而不是指示文件系统已损坏。

有两个选项。 你现在可以使用shutdown -rF now来为你创build文件,然后重新启动,或者你可以touch /forcefsck ,每当你重新启动服务器时,它都会自动运行fsck。

请注意,这将需要一些时间:你应该有一个适当的维护窗口。 在此过程中,networking连接也将不可用。 如果这是一个远程服务器,您应该有远程访问控制台或存在。