linux 磁盘管理以及维护
Linux系统中,进行频繁的读写操作,容易发送只读、以及磁盘损坏等故障。下文为其解决方案:
1、如何界定磁盘已经存在故障
方法一(界定将如下内容另存为Repair.sh然后执行即可):
#!/bin/sh
cd /root
DiskFlag=`/bin/df -k | /bin/awk '{print $1"\t"$2}' | /bin/sort -k 2 -n | /bin/awk 'END{print $1}'`
num=`tune2fs -l $DiskFlag | grep -c "clean with errors"`
echo $num
if [ $num -lt 1 ];then
date >> RepairDisk.log
echo -e "System Is OK ! " >> RepairDisk.log
echo >> RepairDisk.log
exit 0
else
echo -e '\033[0;31;1m Repairing Operationing System!\033[0m'
date >> RepairDisk.log
echo "Start Repairing Disk ! " >> RepairDisk.log
fsck.ext3 -y /dev/sda6 >> RepairDisk.log ###修复
echo "Repairing Disk End! " >> RepairDisk.log
date >> RepairDisk.log
fi
====上文的脚本中,包含了如下查找最大的磁盘以及将发现故障时自动修复。这种修复方案在逻辑层损坏尤其有效。
方案二(通过查看mount信息界定磁盘是否存在只读只读时,文件会有ro的信息):
cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root / ext3 rw,data=ordered 0 0
/dev /dev tmpfs rw 0 0
/proc /proc proc rw 0 0
/sys /sys sysfs rw 0 0
/proc/bus/usb /proc/bus/usb usbfs rw 0 0
devpts /dev/pts devpts rw 0 0
/dev/sda2 /b ext3 rw,data=ordered 0 0
/dev/sda1 /boot ext3 rw,data=ordered 0 0
tmpfs /dev/shm tmpfs rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
/etc/auto.misc /misc autofs rw,fd=7,pgrp=2664,timeout=300,minproto=5,maxproto=5,indirect 0 0
-hosts /net autofs rw,fd=13,pgrp=2664,timeout=300,minproto=5,maxproto=5,indirect 0 0
/dev/sda6 /usr/share/TSMIS ext3 rw,data=ordered 0 0
方案三(界定是否存在硬件故障,方案只做只读测试):
- # badblocks /dev/sda1 从物理层扫描硬盘有无坏块
- # badblocks -v /dev/sda1 同上,运行时输出详细信息
- Checking blocks 0 to 200781
- Checking for bad blocks (read-only test): done
- Pass completed, 0 bad blocks found.
可以看到进度:
- # badblocks -vsn /dev/sda1 检查坏块,不具破坏性
- Checking for bad blocks in non-destructive read-write mode
- From block 0 to 200781
- Testing with random pattern: Pass completed, 0 bad blocks found.
方案四(有损测试,会擦拭硬盘内所有的数据):
警告 这条命令会擦除硬盘分区里的所有数据。
- # badblocks -vsw /dev/sda1 检查坏块,具有破坏性
- Checking for bad blocks in read-write mode
- From block 0 to 200781
- Testing with pattern 0xaa: done
- Reading and comparing: done
- Testing with pattern 0x55: done
- Reading and comparing: done
- Testing with pattern 0xff: done
- Reading and comparing: done
- Testing with pattern 0x00: done
- Reading and comparing: done
- Pass completed, 0 bad blocks found.
方案五(如果是ext3的文件系统,可以用fsck进行测试)
- # fsck -TVy /dev/sda1
- [/sbin/fsck.ext3 (1) -- /mnt/mymount] fsck.ext3 -y /dev/sda1
- e2fsck 1.39 (29-May-2006)
- Couldn't find ext2 superblock, trying backup blocks...
- Resize inode not valid. Recreate? yes
- mypart was not cleanly unmounted, 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
- Free blocks count wrong for group #0 (3552, counted=3553).
- Fix? yes
- Free blocks count wrong (188777, counted=188778).
- Fix? yes
解决:
1、mount的信息优化,比如日志文件,不更新文件
2、 tune2fs -c 5 /dev/sda1 强制重启多次后磁盘检查
3、关闭cache,尤其对于电压不稳的环境, hdparm -W 0 /dev/sda6
linux 磁盘管理以及维护的更多相关文章
- Linux 磁盘管理
Linux磁盘管理好坏管理直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分 ...
- Linux 磁盘管理,Linux vi/vim
一.Linux 磁盘管理 Linux磁盘管理好坏直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 ...
- 九、Linux 磁盘管理
Linux 磁盘管理 Linux磁盘管理好坏直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fd ...
- 吴裕雄--天生自然Linux操作系统:Linux 磁盘管理
Linux磁盘管理好坏直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分区 ...
- Linux 磁盘管理(df fu fdisk mkfs mount)
Linux 磁盘管理 Linux磁盘管理好坏直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df : 列出文件系统的整体磁盘使用量 du : 检查磁盘空间使用 ...
- df、du、fdisk:Linux磁盘管理三板斧的使用心得(转载)
From:http://os.51cto.com/art/201012/240726_all.htm 作者介绍:李洋(博客),博士毕业于中科院计算所.10多年来一直从事计算机网络信息安全研发工作,曾主 ...
- linux 磁盘管理学习笔记
磁盘管理命令:fdisk df du fdisk #查看硬盘分区表 df #查看分区使用情况 du #查看文件占用空间情况lvdisplay #逻辑分区 [1] 李洋.df.du.fdisk:Linu ...
- linux磁盘管理系列-软RAID的实现
1 什么是RAID RAID全称是独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想是把多个磁盘组合起来,组合一个磁盘阵列组,使得性能大幅提高. R ...
- linux磁盘管理系列-LVM的使用
LVM是什么 LVM是Linux操作系统的逻辑卷管理器. 现在有两个Linux版本的LVM,分别是 LVM1,LVM2.LVM1是一种已经被认为稳定了几年的成熟产品,LVM2 是最新最好的LVM版本. ...
随机推荐
- iOS - OC SingleClass 单例类
前言 单例对象能够被整个程序所操作.对于一个单例类,无论初始化单例对象多少次,也只能有一个单例对象存在,并且该对象是全局的,能够被整个系统访问到. 特点: 在内存中只有一个实例 提供一个全局的访问点 ...
- Class.asSubclass浅谈
这是java.lang.Class中的一个方法,作用是将调用这个方法的class对象转换成由clazz参数所表示的class对象的某个子类.举例来说, 上面的代码将strList.getClass() ...
- [转]瓦的VPS后台kiwivm面板使用+安装AMH+装VPN
参考网址:http://u-lis.com/archives/4159 ZC:网页图片保存于“百度云 OsSkill --> 全部文件 > 知识__来自网页 > 瓦 > 瓦_面 ...
- Mysql ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA
ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declar ...
- Android控件之MultiAutoCompleteTextView(自动匹配输入的内容)
一.功能 可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配,可用在发送短信,发邮件时选择联系人这种类型中 二.独特属性 android:comp ...
- 探索 Pexpect,第 1 部分:剖析 Pexpect
Pexpect 是一个用来启动子程序并对其进行自动控制的 Python 模块. Pexpect 可以用来和像 ssh.ftp.passwd.telnet 等命令行程序进行自动交互.本文章介绍 Pexp ...
- 基因组组装工具之 SOAPdenovo 使用方法
SOAPdenovo是一个新颖的适用于组装短reads的方法,能组装出类似人类基因组大小的de novo草图. 该软件特地设计用来组装Illumina GA short reads,新的版本减少了在图 ...
- UIButton 一个控件 实现 左图标右文本的效果
UIButton 一个控件 实现 左图标右文本的效果 如图,我们要实现一个 左边图标右边文本的效果,一般 可以考虑是 UIImageView + UILabel 不过,其实一个UIButton就可以搞 ...
- Linux下安装最新的Eclipse
欢迎关注我的社交账号: 博客园地址: http://www.cnblogs.com/jiangxinnju/p/4781259.html GitHub地址: https://github.com/ji ...
- Mybatis那一大堆事儿--1
<select id="listAmPerfTime" resultType="Date"> SELECT pam.perf_time AS per ...