SUSE Linux案例 文件系统只读,强制卸载


SUSE Linux案例 文件系统只读,强制卸载

问题背景
早上来,发现昨天的备份全部失败,报错都是 /Oracle_bk文件系统只读。

处理过程
bi-db:~ # lsb_release -a
LSB Version:    core-2.0-noarch:core-3.0-noarch:core-2.0-x86_64:core-3.0-x86_64:desktop-3.1-amd64:desktop-3.1-noarch:graphics-2.0-amd64:graphics-2.0-noarch:graphics-3.1-amd64:graphics-3.1-noarch
Distributor ID: SUSE LINUX
Description:    SUSE Linux Enterprise Server 10 (x86_64)
Release:        10
Codename:      n/a
bi-db:~ # cat /etc/SuSE-release
SUSE Linux Enterprise Server 10 (x86_64)
VERSION = 10
PATCHLEVEL = 2


bi-db:~ # df -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/cciss/c0d0p2    104G  94G  4.4G  96% /
udev                  16G  1.4M  16G  1% /dev
/dev/mapper/biemcvg-biemclv
                      738G  698G  2.0G 100% /oracle
/dev/cciss/c0d1p5    1.4T  1.3T  58G  96% /oracle_bk


进入 /oracle_bk目录,touch一个文件果然报错,于是打算umount掉文件系统,再重新挂载。

bi-db:~ # umount /oracle_bk
umount: /oracle_bk: device is busy

umount: /oracle_bk: device is busy

设备忙的话,可以查一下谁在使用。

bi-db:~ # lsof | grep /oracle_bk

bi-db:~ # fuser -k -m -v /oracle_bk


奇怪了,没有人使用,没有任何进程。

再次执行,依然报错。

bi-db:~ # umount /oracle_bk
umount: /oracle_bk: device is busy
umount: /oracle_bk: device is busy

换个思路,执行懒人卸载(见  ),结果成功了。其实还不行的话,还可以执行强制卸载(-f 参数)
bi-db:~ # umount -l /oracle_bk
bi-db:~ # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/cciss/c0d0p2    104G  94G  4.4G  96% /
udev                  16G  1.4M  16G  1% /dev
/dev/mapper/biemcvg-biemclv
                      738G  698G  2.0G 100% /oracle


bi-db:~ # mount /oracle_bk
bi-db:~ # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/cciss/c0d0p2    104G  94G  4.4G  96% /
udev                  16G  1.4M  16G  1% /dev
/dev/mapper/biemcvg-biemclv
                      738G  698G  2.0G 100% /oracle
/dev/cciss/c0d1p5    1.4T  1.3T  58G  96% /oracle_bk
bi-db:~ # cd /oracle_bk
bi-db:/oracle_bk # touch aaa
bi-db:/oracle_bk # ls -al aaa*
-rw-r--r-- 1 root root 0 Jul 24 09:44 aaa
bi-db:/oracle_bk # rm aaa

umount相关重要参数:
   
      -a  删除fstab中所有的文件系统
      -f  强制umount,主要针对不可达的NFS,这个应该是有风险,大家慎用,毕竟强扭的瓜不甜的哦。

      -l  懒惰模式,先删除文件系统层次。等文件系统不忙的时候清空所有连接。

参数使用顺序:

umount  /aaa

umount -l/aaa

umount -f/aaa

总结问题处理思路

文件系统只读的问题还是比较常见的,作为一个老手,处理思路最好心中有数,才可以处变不惊。

1)确保所有用户都已经退出挂载点目录,退出占用该目录的应用程序,尤其是自己

2)fuser或lsof查看还有什么僵死进程占用,kill掉

3)umount对应文件系统,使用的手段优先级参看本文前面内容

SUSE 11 下文件系统修复案例

相关内容