imianhuatang
V2EX  ›  问与答

请 Linux 大佬帮忙看看这个系统还能不能救回来

  •  
  •   imianhuatang · Feb 26, 2019 · 2516 views
    This topic created in 2659 days ago, the information mentioned may be changed or developed.
    起初发现网站登录不了,上服务器查看后是 mysql 没有运行,启动出现报错

    touch: cannot touch `/var/log/mysqld.log': Read-only file system
    chmod: changing permissions of `/var/log/mysqld.log': Read-only file system
    chmod: changing permissions of `/var/lib/mysql': Read-only file system
    Timeout error occurred trying to start MySQL Daemon.
    Starting MySQL: [FAILED]
    touch: cannot touch `/var/lock/subsys/mysqld': Read-only file system

    尝试创建一个文件也一样,全部文件变只读了。查看 dmseg 有下面的错误

    EXT3-fs error (device sda3) in start_transaction: Journal has aborted

    系统日志里的错误如下

    kernel: EXT3-fs warning (device sda3): ext3_dx_add_entry: Directory index full!

    通过搜索,了解到可能是文件系统的 inode 问题,给的方法是删掉一些空文件,但问题就在这里了,全部文件都只读了,删也删不掉。inode 信息如下

    Filesystem Inodes IUsed IFree IUse% Mounted on
    /dev/sda3 19267584 7095876 12171708 37% /
    /dev/sda1 26104 40 26064 1% /boot
    none 217643 1 217642 1% /dev/shm

    硬盘使用如下

    Filesystem Size Used Avail Use% Mounted on
    /dev/sda3 145G 106G 32G 78% /
    /dev/sda1 99M 12M 82M 13% /boot
    none 2.0G 0 2.0G 0% /dev/shm

    另外还有的说挂载成只读了,我查看是没有的

    /dev/sda3 on / type ext3 (rw)
    none on /proc type proc (rw)
    none on /sys type sysfs (rw)
    none on /dev/pts type devpts (rw,gid=5,mode=620)
    usbfs on /proc/bus/usb type usbfs (rw)
    /dev/sda1 on /boot type ext3 (rw)
    none on /dev/shm type tmpfs (rw)
    none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

    fstab 也有启动挂载的

    # This file is edited by fstab-sync - see 'man fstab-sync' for details
    LABEL=/ / ext3 defaults 1 1
    LABEL=/boot /boot ext3 defaults 1 2
    none /dev/pts devpts gid=5,mode=620 0 0
    none /dev/shm tmpfs defaults 0 0
    none /proc proc defaults 0 0
    none /sys sysfs defaults 0 0
    LABEL=SWAP-sda2 swap swap defaults 0 0

    用 smartctl 和 badblocks 检查硬盘没有问题,硬件是 ok 的,应该还是文件系统的问题,并且是挂载在根目录的 sda3 的问题。用 fsck 检查如下

    / contains a file system with errors, check forced.
    Pass 1: Checking inodes, blocks, and sizes
    Pass 2: Checking directory structure
    Pass 3: Checking directory connectivity
    Pass 4: Checking reference counts
    Pass 5: Checking group summary information
    /: 7095876/19267584 files (0.1% non-contiguous), 28351205/38521861 blocks

    其他查看用户、进程、监听的端口和日志,没有发现什么异常。系统用了很多年了,还是 CentOS 4.8,一般很少去动,也几乎没有出现过问题。现在也不敢尝试重启,怕启动不了了。请各位大佬帮忙分析一下,看看可能是什么情况,能否拯救回来,有什么方法解决没有,先谢过了
    Supplement 1  ·  Feb 28, 2019
    昨天去机房把问题解决了,过程如下:
    进入 LiveOS,fsck 修复了 sda3 的文件系统,挂载删除了一些文件。重启后无法进入系统,报错 ext3: No Journal on filesystem on sda3,sda3 无法挂载到根系统,又进入 LiveOS 发现 sda3 变成了 ext2,所以转换了一下 tune2fs -j /dev/sda3,重启后终于正常了。感谢 @asilin 的回复
    13 replies    2019-02-27 11:05:50 +08:00
    dorothyREN
        1
    dorothyREN  
       Feb 26, 2019
    目测是单个目录下的子目录和文件超过 64k 个的原因。
    imianhuatang
        2
    imianhuatang  
    OP
       Feb 26, 2019
    @dorothyREN 有什么办法吗?全部文件只读,删也删不掉
    dorothyREN
        3
    dorothyREN  
       Feb 26, 2019
    @imianhuatang #2 可以删除的。只是写不进去了而已。不过你要找到是哪个目录下的文件太多了。。
    dorothyREN
        4
    dorothyREN  
       Feb 26, 2019
    @imianhuatang #2 或者找到后给目录改个名字也可以
    dorothyREN
        5
    dorothyREN  
       Feb 26, 2019
    @imianhuatang #2 你这个可能是 /var 下面的目录跟文件太多了。
    imianhuatang
        6
    imianhuatang  
    OP
       Feb 26, 2019
    @dorothyREN 确实删不掉,不光删除,新建、重命名、改权限都不行,只能读取
    Orenoid
        7
    Orenoid  
       Feb 26, 2019
    你们俩这头像我还以为谁在自言自语
    abmin521
        8
    abmin521  
       Feb 26, 2019 via Android
    挂出来删一下?
    asilin
        9
    asilin  
       Feb 26, 2019   ❤️ 1
    很简单:
    1. 使用 LiveCD 进入系统,fsck 先修复 ext 文件系统;
    2. 正常挂载文件系统,使用 find、ncdu 等工具,查找到底是哪些目录的文件把 inode 占用完;
    3. 删除 /移走该目录,退出 LiveCD ;
    4. 正常启动系统即可恢复;
    snoopygao
        10
    snoopygao  
       Feb 26, 2019
    mount -o remount,rw /
    fsck 出错的文件系统
    julyclyde
        11
    julyclyde  
       Feb 26, 2019
    dmesg 看一眼
    估计是有 IO 错误
    也就是盘坏了
    catalina
        12
    catalina  
       Feb 26, 2019 via Android
    硬盘问题,快点换一个
    y7E6IG8spV7TU8n7
        13
    y7E6IG8spV7TU8n7  
       Feb 27, 2019
    没有什么问题是重启解决不了的,如果有,那就重装系统。。。。。。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   971 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 19:48 · PVG 03:48 · LAX 12:48 · JFK 15:48
    ♥ Do have faith in what you're doing.