我有一个服务器,我在没有使用f关闭命令中的选项的情况下重新启动了它,它开始对一个非常大的文件系统执行 fsck ……这将需要很长时间,正如您想象的那样。在解决此问题的过程中重新启动是否安全?
我有另一个关于 df 的问题,现在我得出结论,我需要运行 fsck 我的分区,我一直在阅读有关它的信息,如果可能的话,我希望得到一些建议。
情况是这样的,没有对服务器的物理访问,我想运行 fsck。
从我读到的内容来看,我只需要touch /forcefsck重新启动它就会运行 fsck。
我的问题是,在其基础上,fsck 将运行什么参数?是否需要用户输入来纠正错误等?
运行后它会保存发生了什么的日志吗?
如果这是它的运行方式,那将是完美的,无论如何在重新启动时强制执行?
fsck -v -p /machine/disk/p1 2>&1 > fscklog.txt
Run Code Online (Sandbox Code Playgroud)
他们也在这里描述了这一点:
在 ubuntu 等 debian 和 debian-derivatives 上编辑远程服务器上的 /etc/default/rcS 并设置“FSCKFIX=yes”,将“-y”添加到启动时间 fsck 也是一个好主意,所以它不会冒险远程服务器卡在等待某人登录控制台并运行 fsck。
但是在 Centos 上似乎不存在
我目前只有 ssh 访问权限,所以这就是我对它如此挑剔的原因。
这里有一些关于服务器上磁盘和挂载卷的信息:http : //pastebin.centos.org/33314
谢谢。
我正在尝试在 2TB 大的大型 raid 阵列上使用 e2fsck,并使用 GPT 进行分区(因为大小)。
系统上只安装了 1GB 内存,我目前无法添加更多内存。
问题是,在设备上启动 fsck 后不久,我收到一条错误消息:
Error storing directory block information (inode=115343515, block=0, num=108120142): Memory allocation failed
e2fsck: aborted
Run Code Online (Sandbox Code Playgroud)
经过一些在线搜索和研究,我在下面看到了这篇文章:
在查找 MAN 页面后,我遵循了建议e2fsck.conf,基本上创建了一个 /etc/e2fsck.conf 文件,如下所示:
[scratch_files]
directory = /var/cache/e2fsck
Run Code Online (Sandbox Code Playgroud)
并在确保创建/var/cache/e2fsck目录后再次尝试 fsck 。再次启动 fsck 并观察可用内存、cpu 使用情况和目录大小后/var/cashe/e2fsck……我可以说它确实有很大帮助……但它最终还是失败了,给出了同样的错误。基本上它有助于减缓内存消耗,但并没有完全否定它。
所以我尝试e2fsck.conf使用文件的添加标志:
dirinfo = false
Run Code Online (Sandbox Code Playgroud)
或者
dirinfo = true
Run Code Online (Sandbox Code Playgroud)
和
icount = false
Run Code Online (Sandbox Code Playgroud)
或者
icount = true
Run Code Online (Sandbox Code Playgroud)
两者似乎都没有太大影响,因为不久后就会发生同样的错误。
我错过了什么吗?我对 fsck 需要很长时间没意见...但我需要它实际完成而不是出错。
我的硬盘驱动器上有一个有问题的 iso 文件。有什么方法可以检查文件是否被损坏,比如iso文件系统的fsck?
您好,每天当我启动 ubuntu 18.04 时,它无法启动并给出以下错误。
(initramfs) exit
/dev/mapper/ubuntu--vg-root contains a file system with errors, check forced.
Inodes that were part of a corrupted orphan linked list found.
/dev/mapper/ubuntu-vg-root: UNEXPECTED INCONSISTENCY; Run fsck MANUALLY.
(i.e., without -a or -p options)
fsck exited with status code 4.
The root file system on /dev/mapper/ubuntu--vg-root requires manual fsck
Run Code Online (Sandbox Code Playgroud)
当我运行命令时fsck /dev/mapper/ubuntu--vg-root
它解决了错误,但第二天当我启动系统时,它再次显示相同的错误,需要再次运行命令。
我在各种 Supermicro 和其他白盒服务器上运行 Linux(基于 Red Hat、CentOS、SL、版本 5 和 6)。有些有 IPMI,有些没有。
其中一些系统连接到键盘/显示器 (KVM) 控制台交换机。其他系统连接到远程串行控制台。更新的服务器连接到 IPMI,可通过 KVM-over-LAN 控制台重定向或 Serial over LAN (SOL) 使用。
使用所有这些方法,我们希望在所有串行控制台和 KVM 屏幕上看到一致的输出。例如,我们希望能够与系统进行从启动到关机的交互,我们希望看到整个启动顺序。这包括查看由以下人员打印的任何消息并与之交互:
fsck,例如在fsck大型文件系统的冗长s期间。在带有串行控制台的系统上,有时fsck会坐在那里什么也不做,等待系统管理员输入密码。但是系统管理员可能看不到这个密码提示,除非我们碰巧记得登录到串行控制台。Starting sshd: [ FAILED ] typo in sshd_config on line 171)login:提示,并允许我登录到系统中。我尝试了几种方法,但似乎无论我输入什么grub.conf,有些消息都会打印到监视器或串行控制台,但不能同时打印到两者。
是否可以告诉引导加载程序、Linux 内核、操作系统等将所有消息打印到连接的监视器以及串行控制台?
我有 6 个驱动器(每个 1.5T,所有相同的型号和固件版本)是 RAID5 阵列的一部分。RAID5 构成一个 LVM 卷组和一个逻辑组。后者仅包含一个 ext3 分区。我最近跑了:
e2fsck -f /dev/vg03/lv01 && resize2fs -M /dev/vg03/lv01
Run Code Online (Sandbox Code Playgroud)
退出没有错误。
现在,当我尝试时,mount /dev/vg03/lv01我得到:
EXT3-fs error (device dm-0): ext3_check_descriptors: Block bitmap for group 30533 not in group (block 1000532368)!
EXT3-fs: group descriptors corrupted!
Run Code Online (Sandbox Code Playgroud)
我如何摆脱这种困境?这是我目前可以给你的所有信息:
fdisk -l /dev/sd[cdefgh]显示(正确)它们是“ Linux raid autodetect”
但 fdisk 现在显示:
fdisk -l /dev/md0
Run Code Online (Sandbox Code Playgroud)
磁盘 /dev/md0:7501.5 GB,7501495664640 字节
...
磁盘标识符:0x00000000
磁盘 /dev/md0 不包含有效的分区表
(而不是 LVM 类型分区)
fdisk -l /dev/vg03/lv01
Run Code Online (Sandbox Code Playgroud)
磁盘 /dev/vg03/lv01:7501.5 GB,7501491732480 字节
...
磁盘标识符:0x00000000
磁盘 /dev/vg03/lv01 …
在启动 CentOS 6 时,我一直收到“Superblock last mount time is in the future”错误。我已经看到其他问题询问如何解决这个错误,但我确切地知道它为什么会发生:我们定期开发/测试虚拟机将它们的日期设置为远离当前的时间,并重新安装所有文件系统。
我想知道的是:如何在centOS中禁用超级块挂载时间的所有一致性检查?
我已经尝试tune2fs -i 0 <device>并设置buggy_init_scripts=1了/etc/e2fsck.conf,但都没有奏效;问题仍然存在。
我运行了 fsck,现在我的 Linux 服务器(Oracle Enterprise Linux(Red Hat derivitave))无法启动。旧块位于 lost+found 文件夹中。
如何在不重建的情况下让盒子再次工作?
-- 编辑 -- 嗯... 花了 4 天时间查看系统后,我们决定重建。发生这种情况实际上可能是件好事。我们已经确定了一些丢失的文档。我们发现版本与我们的存储设备不兼容。
最重要的是,我们能够将该服务器的大部分长期维护工作移回运营组。(当我们在那里回答问题时,我们让他们进行了实际的重新安装)
我的 MOTD 显示:
*** /dev/md2 will be checked for errors at next reboot ***
*** /dev/md1 will be checked for errors at next reboot ***
*** /dev/md3 will be checked for errors at next reboot ***
Run Code Online (Sandbox Code Playgroud)
但是,sudo shutdown -r now似乎没有标准来检查磁盘,并且消息仍然存在。
我的猜测是分区“应该”被检查并且它们没有被检查......那么我怎样才能让 Ubuntu 在重新启动时检查分区并保持良好和安全?
更新 - 这是输出 cat /etc/fstab
proc /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
/dev/md/0 none swap sw 0 0
/dev/md/1 /boot ext3 defaults 0 0
/dev/md/2 / ext4 defaults 0 0 …Run Code Online (Sandbox Code Playgroud)