我将我的 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>
有什么办法可以解决它吗
答案1
看来您正在尝试fsck
在实时系统上运行。不要。相反,您应该安排 fsck 在下次重新启动时运行。这可以通过添加一个空文件来完成。/forcefsck
此外,您收到的错误消息与此有关,而不是表示文件系统已损坏。
有两个选项。您可以使用shutdown -rF now
它来创建文件然后重新启动,或者您可以直接使用touch /forcefsck
它,它会在您重新启动服务器时自动为您运行 fsck。
请注意,这将需要一些时间:您应该为此留出适当的维护时间。在此过程中,网络连接也将不可用。如果这是远程服务器,您应该可以远程访问控制台或在场。