Read-only file system 问题分析与解决
Read-only file system 问题分析与解决....... 1
一、总结....................................................... 1
二、Read-only file system 问题分析与解决. 4
(一)思考过程....................................................... 4
(二)解决思路....................................................... 6
三、综合上述................................................ 6
一、总结
通过这个案例,我们可以总结下
Su:warning:cannot change directory to /home/ilveylinux:Permission denied
Su:/bin/bash:permission denied
首先就是根据问题就这么一个出错的现象,以这个现象为核心去判断问题和排查问题,这个现象是核心问题没有权限,那就以这个权限作为一个基准,然后根据解决问题的这些思路做一个参考,从各个方面去排查问题。
尝试了五种方法,其实问题就在第一种,那为什么都没有发现呢?
从刚开始的时候其实还是对这个输入没有更细的去抓住每一个要点,所以第一点一定要重视问题的一个现象。
所有现象只有一个核心,所有的这些点都会围绕这个核心来去解决和处理的,所以第一个要重视现象。
第二点就是在解决问题的过程中使用了很多的命令,这些命令都是根据思路来的,而不是一个一个来进行试验。
所以一定是当有这么一个思路,根据这个思路去想到用什么命令去查看。
这个过程当中也做一个总结,首先第一个就SU之类,在这个案例中理解了Su切换的一些过程,在切换我们用Su-,这个杠其实就是在切换成普通用户的时候要加普通用户的变量,这个必须要加的。
第二个这个SU所依赖的库文件怎样去查看?
那就是另外一个命令就是ldd,通过这个命令去查看一个二进制可执行文件所依赖的这个库文件的方法。
第三个命令是就是我们在得到文件的权限之后如何去查看我们的权限,需要通过通过ls-al。
为什么要从最原始的LL这个命令,然后改到这个ls-al?
是因为我们在第一次判断目录权限的时候呢就是用的LL命令而没有用ls-al命令,这其实也是个经验,建议不要把用LL命令当作一个习惯。看一下这个ls-al和ll的输出,很明显LL的组合其实是ls-l,简称为LL。
LS-AL是一个非常重要的一个参数,它的意思就是all的意思,就是把所有的一些文件的所有类型的问题,都会给显示出来,这个命令非常重要的一点就是它会显示所有文件。
特别是在linux的驱动下,解决一些比如中病毒木马这些问题的时候,一定要用ls-l这么一个命令。
因为很多的黑客埋下的都是隐藏文件或者视频链接文件,使用者通过普通的像命令是没有办法去看到的。
所以建议命令我们一定要用啊,在查问题的,或者说在查看任何一个文件类型属性的时候趋使用ls-al,如果有了这个习惯之后,发现问题的话都会暴露。
如果说之前在这个思路过程中也就是第一次在查看这个权限问题的时候,如果用ls-al,可能已经找到解决问题的方法。
当查到有问题的时候怎么样去详细的去查看这个文件权限,又推出了一个命令叫stat。那么知道权限有问题之后呢,要如何把权力学会怎么修改?
通过了一个CHMOD命令去修改。Setenforce这个命令,后面加个零是关闭。通过这个案例,重点传达的就是第一个思路,第二个命令不是无缘无故的来的,而是要按照思路一步一步来。
通过案例可以得到在遇到类似的问题时,应清楚如何通过具体的现象,逐步的去找到问题,继而解决问题。在解决问题当中,应该清楚使用了哪些命令,而这些命令是通过哪些思维想到的,这是以后需要关注的重点。
通过案例可以得到以下总结:
1、在解决问题时,应以问题现象为核心,继而判断问题和解决问题。
以权限作为基准,以解决问题的思路作为参考,全方面排查问题;在本案例中,尝试了五种方法,问题出现在第一种,之所以在最开始没有发现,原因出在一开始没有更细的去发现和进行排查,即必须重点关注问题的现象;
2、在解决问题的过程中用到的命令是根据思路得来而并非是通过尝试得到。
在这个案例中使用了su-命令(su依赖的库文件如何去查看)、ldd命令、ls-al命令(在使用过程中应该经常用ls-al命令,而不要经常使用ll命令;ls-al命令更具全面性)、stat命令(用于查看更具体的权限)、chmod命令(用于修改权限)、setenforce命令(用于查看set是否关闭)
3、通过这个案例知道了解决问题的思路以及学习了相当多的命令;
二、Read-only file system 问题分析与解决
问题现象:客户说网站无法添加内容了
1、登陆系统进行查看。首先查看根目录,可以看到磁盘空间没有问题。
再通过磁盘分区可以看到针对物理分区有两个,分别是根分区和boot分区。建立一个boot分区出现问题:
无法创建目录“a”。通过逐步排查发现boot分区出现问题。
2、boot分区出现问题的原因可以通过查看系统日志(主要查看dmesg和tail-f/var/log/messages)通过执行dmesg 发现无法查看,那么就可以确定是分区出现了问题,即“mkdir:无法创建目录“d”:只读文件系统”。
[root@topnewinfo , ]# df -h
Fi1esystem size used Avai 1 Use% Mounted on
/dev/mapper/VolGroup- 1v_root
36G 7.7G 27 G 23%/
Tmpfs 665M 224k 665m 1% /dev/shm
/dev/sdal 477m 381M 16% /boot
[root@topnewinfo /]# cd /boot
[root@topnewinfo boot ] # ls
Config-2.6.32-431.e16.x86_64 lost+ found
Config-2.6.32-573.18.1.e16.x86_64 symvers-2.6.32-431.e16.x86_64.gz
Efi symvers-2.6.32-573.18.1.e16.x86_64.gz
Grub system.map-2.6.32-431.e16.x86_64
initramfs-2.6.32-431.e16.x86_ 64. img
System. map-2.6.32-573 18.i.e16.x86_64
Initramfs-2.6.32-573.18.1.e16.x86-64.img vm1inuz-2.6.32-573.18.1.e16.x86_64
Initrd-2.6.32-573.18.1.e16.x86_64kdump.img vmlinuz-2.6.32-573.18.1.e16.x86_64
initrd-2.6.32-573.18.1. e 16. x86_ 64 kdump. Img
[rootatopnewinfo boot]# mkdir a
mkdir:无法创建目录"a":
[rootatopnewinfo boot ]#
[rootatopnewinfo boot #df -h
Filesystem size used Avai 1 use% Mounted on
/dev/ mapper/VolGroup- 1v_ root
36G 7:7G 27G 23% /
665M 224K 665M 1% /dev/shm
/dev/sdal 477 71M 381M 16% /boot
[ rootatopnewinfo boot]# umount /boot
umount: /boot: device is busy.
(In some. Cases usefu 1. info about processes. that use
the device is found by 1sof(8) or fuser (1) )
[ root@topnewinfo boot]#
那么可以得到以下思路:
1、网站程序可能出现问题了;
通过假设案例发现网络程序不存在问题
2、服务器磁盘故障
通过操作发现的确是服务器磁盘出现问题。解决方法如下:
(1)首先可以进行修复。在进行磁盘修复之前,应把磁盘分区卸载掉即把boot分区卸载掉。进行卸载之后显示boot驱动忙,原因可能是boot存在读写困难导致,一定要重视执行命令之后报错的提示。
可以看到lsof和fuser两个提示。根据提示进行操作之后,系统显示是ID(41712c)把分区占用。接下来把占用的ID扣掉即可。
接下来修复磁盘分区。通过修复磁盘分区命令“fsck”。后面跟上设标志符(即-y/dev/sdal)在修复过程中,如果发现的确是磁盘分区有损坏,fsck自身带有自动修复操作。执行操作之后,磁盘即可修复。
(2)最后执行:
mount /dev/sdal /boot之后,创建文件,发现是可以创建的,即磁盘修复成功。
1、一般情况下,磁盘偶尔发生文件系统只读,可以通过fsck命令进行修复,但某一块磁盘经常发生类似的错误,此时执行fsck的命令修复的概率极低。
2、案例当中重点关注使用了哪些命令;
3、在卸载磁盘分区的过程当中,如果无法卸载,可以考虑是否是进程占用了磁盘分区,可以执行“fuser”命令;然后扣掉即可;
4、发现问题之后,如何进行修复磁盘,可以通过执行“fsck”命令,在修复过程当中可以加上“-y参数”,即表示所有执行可以操作。