文件管理

echo“- – -”>/sys/class/scsi_host/host2/scan扫描新装的硬盘,不需要重启

磁盘管理三大步骤:分区,管理,挂载

设备文件创建mknob cdrom /mnt/cdrom

并行接口针多,但是传的速度过快,会对数据造成干扰

vLinux的数据一般都存储在分区空间里

学习linux的磁盘管理就必须:1. 设备识别 ;2.设备分区 ;3.创建文件系统 ;

4.标记文件系统 ;5.在/etc/fstab 文件中创建条目 ;6.挂载新的文件系统

一、磁盘结构与分区

柱面cylinder(磁道)、255磁头head、512Bite*63扇区secotr

SCSI、SATA、SAS、USB都显示/dev/sd

两种分区方式:MBR ,GPT

v MBR: Master Boot Record放在磁盘的第一个扇区里(最外圈)0扇区 ,1982年,

使用32位表示扇区数,分区不超过2T

v     如何分区:按柱面     0 磁道0 扇区:512bytes

446bytes: boot loader   64bytes:分区表以16bytes标识一个分区  2bytes: 55AA结束标志,说明前面是有用的。

vMBR分为: 4 个主分区;3 主分区+1 扩展(N个逻辑分区 )

文件管理 

v GPT:GUID (Globals Unique Identifiers)

partition  table支持128个分区,使用64 位,支持8Z(512Byte/block  )64Z ( 4096Byte/block) )

v    使用128 位UUID 区 表示磁盘和分区 GPT 分区表自动备份在头和尾两份,并有CRC 校验位

v UEFI ( 统一扩展固件接口) 硬件支持GPT,使操作系统启动

分区:主分区、扩展分区、逻辑分区,基于MBR来分,GPT上只有主分区

主分区:一个硬盘上最多四个,操作系统的启动文件,激活分区只有一个,计算机启动时,会找激活分区的主分区,在启动操作系统),不能在细分为小区,用/dev/sda1-4,来表示的,包括扩展分区在内

扩展分区:在一个硬盘上最多只有一个,不能直接存数据 /dev/sda1-4

逻辑分区:逻辑分区在扩展分区内,存储数据,只能/dev/sda5- n,从第5分区开始

分区的作用:v1.优化I/O性能,建议把日志单独划分一个分区

2. 实现磁盘空间配额限制 ; 3.提高修复速度 ; 4.隔离系统和程序 ; 5.安装多个OS ;6.采用不同的文件系统

二、管理分区

列出块设备:lsblk 选项:-l:块设备列表(sda,以及挂载信息) –V:查看块设备的版本信息

v  创建分区使用:

  fdisk  创建MBR 分区 (dos)fdisk –l /dev/sda  -u=cylinders; -u=secotr…

  gdisk  创建GPT 分区

  parted  高级分区操作(创建、复制、调整大小等等)  :创建分区、改变类型v

分区工具fdisk和gdisk   

  fdisk:创建MBR分区,一般对硬盘分区,不对分区再次分区 ;gfisk /dev/sdb创建GPT 分区工具

  fdisk -l [-u] [device…]  /dev/sda 查看所有磁盘分区信息

2.1 fdisk /dev/sda 

p  分区列表  ;   t  更改分区类型  ;   n  创建新分区

d  删除分区  ;   w  保存并退出   ;   q  不保存并退出

设备的名称可能随着环境变化而发生改变,把逻辑分区5删除之后,逻辑分区6就会变成5

         (因而在配置文件里最好不用分区的设备名称)

fdisk  -l /dev/sdX 查看物理硬盘的分区表 

注意:老的硬盘(有数据)新加分区存盘退出的时候很有可能会出现不同步的情况;

  查看内核是否已经识别新的分区:

   cat /proc/partitions、lsblk、ls /dev/sda*’:查看内存中的分区表,可能与磁盘中的分区表不同步,

partprobe 重新设置内存中的内核分区表版本

2.2 通知内核重新读取硬盘分区表

partprobe /dev/sda,可以同步分区表(不管增加、删除),适用于CentOS5,7

partx –a /dev/sda :增加分区的同步方法,适用于CentOS6

partx –d – -nr 6-8 /dev/sda:删除分区6-8的同步方法,适用于CentOS6

2.3 parted分区工具 

    parted [ 选项]… 设备 命令 [ 参数]…]  即时生效

parted /dev/sdb mklabel gpt|msdos  改变分区表结构gpt或者mbr

parted /dev/sdb print  打印分区 ;parted /dev/sdb mkpart primary 1 200  (默认M)  

parted /dev/sdb rm 1 删除分区

parted –l :查看所有磁盘状态  (parted)p:查看格式化是否成功 ,列出磁盘分区

注意:parted 的操作都是实时生效的,小心使用

三、file system 文件系统类型

   磁盘分区之后选择不同的文件系统

  文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,安全控制,日志,压缩,加密等。

      ntfs(支持4G以上的文件,可以设置权限) ,fat(32G),ext2,3,4

    RAW:未经处理或者未经格式化产生的文件系统(没有文件系统不方便管理,但是不影响性能)

如有一些数据库,直接通过二进制查看,刚分完取就相当于RAW

3.1 Linux 文件系统

    ext2(Extended file system), ext3,ext4, (CentOS6)  ;光盘:iso9660    可以用df –T 查看

    xfs(CentOS7) (SGI ), btrfs (Oracle ), reiserfs, jfs(AIX ), swap(用来模拟内存使用)

Windows文件系统 :fat32, ntfs   ;v Unix: FFS (fast ), UFS (unix ), JFS2

v  网络文件系统:NFS, CIFS

v  集群文件系统:GFS2, OCFS2 (oracle)服务器和存储都有群集,容错率增加

v  分布式文件系统:ceph, moosefs, mogilefs, glusterfs,Lustre 就近访问,速度快

   对系统文件操作时,系统会对这次的操作做一个记录,修改硬盘的文件,先要把文件读入到内存中,然后在内存中修改,最后传递到硬盘文件中。但是有日志的文件系统是修改的文件记录在硬盘文件带有的日志中,最后在系统不忙的时候,日志的文件就会写入到硬盘文件中了。避免修改的过程中突发实况(断电)会毁坏数据,因而写日志能够保证系统的稳定性(要么修改前,要么修改后)实时修改文件(与内存中的文件同时修改)

v  根据其是否支持"journal" 功能:

日志型文件系统: ext3, ext4, xfs, …  ;    非日志型文件系统: ext2, vfat

v  文件系统的组成部分:

内核中的驱动程序模块:ext4, xfs, vfat         lsmod module(模块):列举模块

用户空间的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat

v Linux 的虚拟文件系统:VFS:Virutal file system,用户打交道的是虚拟文件系统,文件系统不同,访问方法也就不同,VFS屏蔽文件系统的区别,就可以按照统一方法访问,操作的命令也就是一样的。(代理程序)

v     查前支持的文件系统:cat /proc/filesystems

   blkid:查看分区是否有文件系统,列出的分区都是有文件系统的分区

3.2 创建文件系统mkfs

       文件系统的格式化:mkfs (创建文件系统的过程) ,格式化之前必须得先取消挂载。

   为了表示是使用UUID,为了保证UUID的唯一性,规范定义了包括网卡MAC地址、时间戳、名字空间(Namespace)、随机或伪随机数、时序等元素,以及从这些元素生成UUID的算法。

3.2.1 mke2fs 文件系统ext系列专用管理工具

 -t {ext2|ext3|ext4}   -b {1024|2048|4096} 块:对文件分配空间的最小单位指定块大小,格式化完了就不能指定了

     -L 'LABEL' :设定卷标         -j: 于 相当于 -t ext3

                 mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3

  -i #:  为数据空间中每多少个字节创建一个inode ;此大小不应该小于block 的大小

  -N # :为数据空间创建个多少个inode    -I:一个inode 记录大小128—4096

  -m #:  默认5%, 为管理人员预留空间占总空间的百分比

        -O FEATURE[,…] :启用指定特性   -O ^FEATURE:关闭指定特性

3.2.2 tune2fs 重新设定ext 系列文件系统

      文件系统标签L:  指向设备的另一种方法 ; 与设备无关

vv e2label :管理ext 系列文件系统的LABEL      # e2label DEVICE [LABEL]

tune2fs :重新设定ext 系列文件系统可调整参数的值,格式化之后指定块大小  (注意:块大小创建后不可更改)

   -l :查看指定文件系统超级块信息;super block 文件系统的元数据就是存储在超级块中

-L 'LABEL' :修改卷标  ; -m # :修预留给管理员的空间百分比  ;-j:  将ext2 升级为ext3

  – O:  文件系统属性启用或禁用, –O ^has_journal 禁用日志功能

     -o:  调整文件系统的默认挂载选项,–o ^acl

findfs  :查找分区

findfs [options] LABEL=<label>     ;     findfs [options] UUID=<uuid>

-U UUID:  修改UUID号   uuidgen生成UUID

v dumpe2fs查看超级块分组: -h :查看超级块信息,不显示分组信息 =tune2fs –l

v  超级块:存储文件系统的大小、有多少是空的和已经填满的占多少,以及它们各自的总数和其他诸如此类的信息;要使用一个分区来进行数据访问,那么第一个要访问的是超级块,如果超级块坏了,那磁盘就坏了

超级块占用第1号物理块,是文件系统的控制块,超级块包括:文件系统的大小、空闲块的数目、空闲块的索引空闲i节点数目、空闲i节点索引表、封锁标记等。超级块是系统为文件分配存储空间、回收存储空间得依据。

所以为了防止超级块数据被破坏,一般在块组的1,3,5,7,9存储备份。主要的在组0中

3.2.3 blkid 块设备属性信息查看

blkid [OPTION]… [DEVICE]

-U UUID:  根据指定的UUID 来查找对应的设备  ; -L LABEL :根据指定的LABEL 来查找对应的设备

3.3 fsck文件系统的检测及修复

    常发生于死机或者非正常关机之后

v  挂载为文件系统标记 为“no clean” ”

注意:因进程意外终止或系统崩溃等原因导致操作非正常终止时,可能会造成文件损坏;此时,应该检测并修复文 件系统;建议,离线进行(非挂载状态,无人操作);

v fsck: File System Check  只能修复文件系统的结构,不能修复上面的数据

fsck.FS_TYPE       ;      fsck -t FS_TYPE    FS_TYPE 一定要与分区上已经文件类型相同

-a:  自动修复错误    ;       -r:  交互式修复错误

v e2fsck :ext 系列文件专用的检测修复工具

-y :自动回答为yes   ;       -f :强制修复;每个扇区的一块块寻找坏的扇区进行修复

四、挂载mount

v  在linux操作系统中,挂载是一个非常重要的功能,使用非常频繁。它指将一个设备(通常是存储设备)挂接到一个已存在的目录上。(这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。)需要理解的是,linux操作系统将所有的设备都看作文件,它将整个计算机的资源都整合成一个大的文件目录。

    我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备。

挂载:将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为。 卸载:为解除此关联关系的过程。

v  把设备关联挂载mount点:mount Point  ;  卸载umount:可使用设备,也可以使用挂载点

v     挂载点下原有文件在挂载完成后会被临时隐藏  ; 挂载点目录一般为空

4.1用mount命令挂载文件系统

挂载方法:mount  DEVICE设备名  MOUNT_POINT挂载点

v mount :通过查看/etc/mtab 文件显示当前已挂载的所有设备

v      mount [-fnrsvw] [-t vfstype] [-o options] device dir

device :指明要挂载的设备;df:显示挂载的设备以及分区使用情况

(1)  设备文件:例如/dev/sda5   (2)  卷标:-L 'LABEL', 如 例如 -L 'MYDATA'

(3)  UUID, -U 'UUID'如 :例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'

(4)  伪文件系统名称:proc, sysfs, devtmpfs, configfs

   dir :挂载点,事先存在;建议使用空目录 ,进程正在使用中的设备无法被卸载(取消挂载)

4.2 mount常用命令选项 

v -t  vsftype :指定要挂载的设备上的文件系统类型

 -r: readonly ,只读挂载  ;   -w: read and write,  读写挂载;  -n:  不更新/etc/mtab ,相当于#mount

v -a :自动挂载所有支持自动挂载的设备( 定义在了/etc/fstab文件中,且挂载选项中有auto 功能)

v -L 'LABEL':  以卷标指定挂载设备 ;  v -U 'UUID':  以UUID 指定要挂载的设备

v -B、–bind:  绑定目录到另一个目录上,文件目录挂载,与硬链接有区别,链接数不会增加。

v -o options :( 挂载文件系统的选项) ,多个选项使用逗号分隔

     async :异步模式      sync :同步模式, 内存更改时,同时写磁盘

  同步模式把硬盘的文件先写到内存中,预防突发情况,效率较低,但是稳定。

异步模式在系统不太忙的时候写到磁盘中,默认为异步模式。

atime/noatime :包含目录和文件    diratime/nodiratime :目录的访问时间戳

auto/noauto :是否支持自动挂载, 是否支持-a 选项

exec/noexec :是否支持将文件系统上运行应用程序 ,避免外来设备挂载造成隐患

dev/nodev :是否支持在此文件系统上使用设备文件 ,被挂载的分区中设备文件被禁用挂载

suid/nosuid :是否支持suid 和sgid 权限 ,不让有suid的执行文件让普通用户使用。

查看内核追踪到的已挂载的所有设备:cat /proc/mounts(内存中)mount 与 /etc/mtab同步

4.3 remount重新挂载 

    重新挂载 mount –o remount,acl /dev/xxx /mnt/xxx ,在修改了/etc/fstab文件下使用重新挂载

        ro :只读         ;        rw: 读写

    user/nouser :是否允许普通用户挂载此设备,默认管理员才能挂载

acl :启用此文件系统上的acl 功能   userquota:使用者限额

v   Defaults(默认):相当于rw, nosuid, dev, exec, auto, nouser, async

4.4 卸载命令umount

卸载:  # umount DEVICE    、    # umount MOUNT_POINT

    查看挂载情况:   #findmnt  MOUNT_POINT

  查看正在访问指定文件系统的进程:  #lsof MOUNT_POINT   、  #fuser -v MOUNT_POINT

终止所有在正访问指定的文件系统的进程:  # fuser -km MOUNT_POINT  

被mount 、fsck 和其它程序使用

v  系统重启时保留文件系统体系 ;可以在设备栏使用文件系统卷标

v  使用mount -a  命令挂载/etc/fstab配置文件系统体系,只能是新添加的挂载,不是修改挂载

4.5 /etc/fstab文件挂载配置文件

   设定除根文件系统以外的其它文件系统能够开机时自动挂载:/etc/fstab文件

mount:查看被挂载的设备和文件目录;df:查看文件系统的利用率,也能显示挂载的文件

    proc/mount :查看挂载设备及其它的属性(最全面)  /etc/mtab:查看挂载设备

/etc/fstab 每行定义一个要挂载的文件系统; 关于文件系统的静态信息

Ø  1.要挂载的设备或伪文件系统   2.挂载点    3.文件系统类型

Ø  4. 挂载选项            5. 转储频率       6.自检次序

v  要挂载的设备或伪文件系统:

设备文件、LABEL(LABEL="") 、UUID(UUID="") 、伪文件系统名称(proc,sysfs)

v  挂载选项: defaults

v  转储频率: 0 :不做备份    ;  1 :每天转储    ;  2 :每隔一天转储

v  自检次序: 0 :不自检      ;  1 :首先自检;一般只有rootfs 才用1

      当配置文件修改好之后,用mount -o remount /mnt/XXX,来让挂载生效

   小问题:如果fstab中的uuid出错了,系统就启动不起来了,挂载文件会出现错误,根目录/变成只读的,必须要给予根目录执行权限mount  -o  remount ,rw  /  才能vim /etc/fstab,把挂载错误修改过来。

   总结:分区 fdisk  ;创建文件系统mkfs (增加或删除的时候要注意同步partx);挂载或重新挂载mount,挂载过后,要想开机重启之后保留挂载的文件,就需要在/etc/fstab中把挂载的一项加进去(r ! blkid /dev/XXX 写入UUID),在用mount -a,就相当于重启了,以后都能生效。最后可以用df查看

4.6 mount作用

挂载移动介质:

v  挂载意味着使外来的文件系统看起来如同是主目录树的一部分

v  访问前、介质必须被挂载  ;  摘除时,介质必须被卸载

v  按照默认设置,非根用户只能挂载某些设备(光盘、DVD 、软盘、USB 等等)

v  挂载点通常在/media  或/mnt下

被内核探测为SCSI 设备 :/dev/sdaX 、/dev/sdbX 、或类似的设备文件

v 在图形环境中自动挂载:图标在[ 计算机] 窗口中创建 ;挂载在/run/media/<user>/<label>

手动挂载: mount /dev/sdb1 /mnt

4.6.1挂载设备 

        mount  /dev/sda  /mnt/sda

4.6.2 挂载文件 

        mount  -o loop file  /mnt/file

回环设备:一般为使用镜像文件(镜像文件中也有文件系统)虚拟块设备存在于实际的另一个文件系统中

              #mount -o loop /PATH/TO/SOME_LOOP_FILE MOUNT_POINT

    可以做分区实验,可以挂载使用,但是文件挂载必须要 mount -o -loop /partfile /mnt/partfile;

           也可以用losetup  /dev/loop6  /partfile 创建一个对应文件与设备的映射关系。

mknod /dev/sda b 7 8,创建/dev/loop7 ;/dev/loop8

此时在 /mnt/partfile 下写的文件就能在/partfile中存储,/partfile可以作为一个打包文件,备份使用,取消挂载之后,数据就能在/partfile中存储。

4.6.3 挂载目录 

        mount  -B –bind dir1 dir2 (被挂载的目录中的原来文件被自动隐藏)

4.6.4 挂载网络 

         mount  networkshare  /mnt/sda

4.6.5 挂载ISO文件

      cp /dev/cdrom /root/centos7.iso   mount -o loop /testdir/centos7.iso  /mnt/iso  挂载iso文件

             mkisofs -r -o /root/etc.iso /etc  将目录打包成iso文件

4.6.6刻录光盘

       wodim –v –eject centos.iso

 

五、swap处理交换文件和分区

交换分区是系统RAM 的补充,模拟内存分区(blkid、lsblk、cat/proc/swap、free查看swap内存和使用)

v  基本设置包括:

1.创建交换分区或者文件       2.使用mkswap 写入特殊签名

3.在 在/etc/fstab 文件中添加适当的条目    4.使用swapon –a激活交换空间

挂载交换分区:vim /etc/fstab

 启用:swapon    swapon [OPTION]… [DEVICE]

-a :激活所有的交换分区;    -p PRIORITY :指定优先级

/etc/fstab:pri=value

v  禁用:swapoff [OPTION]… [DEVICE]

5.1 swap分区创建与删除

1、fdisk /dev/sdd

      1:创建分区1   t:改变ID号为82   82 :默认swap的ID号是82

注意:新硬盘不需要同步,已经用过的硬盘需要同步partprobe     partx -a /dev/sdd

2、mkswap /dev/sdd1  创建/dev/sdd1的文件系统为swap

     可以用blkid查看swap文件系统是否创建。

3、vim /etc/fstab    uuid=xxxx swap swap default,pri=100  0  0  优先级为100

4、swapon -a 读取优先级文件 /etc/fstab

     swapon -s = cat/proc/swaps 查看已经启用的swap

删除swap分区:必须先1.swapoff /dev/XXX ,在删除2.vim  /etc/fstab 、再 3.fdisk /dev/XXX  d删除 ;w保存

5.2 文件模拟创建swap分区

    如果仅有一个硬盘且分区用光,可以用文件模拟swap

       1.dd  if=/dev/zero  of=/swapfile bs=1M count=1024

2.然后mkswap /swapfile 格式化,不用考虑同步  ;再blkid /swapfile 可以查看swap文件系统

      3.编辑 vim /etc/fstab   /swapfile  swap  swap  defaults  0   0

      4.swapon -a  ;  free(查看swap分区的使用情况)  ;  swap -s (查看已经启用的swap)

删除swap分区:swapoff  /swapfile  vim /etc/fstab  删除swapfile行 ,最后rm -rf /swapfile

六、磁盘管理常用工具

6.1 free内存空间使用状态

    free [OPTION]    free -m

-m:  以MB 为单位    ; -g:  以GB 为单位

6.2 df文件系统空间占用等信息的查看工具

      df [OPTION]… [FILE]…   df -Th  df -i

-H  以1000 为单位    ;-T  文件系统类型    ;-h: human-readable 可读的     

-i :inodes instead of blocks (节点而不是块) ;  -P:  以Posix 兼容的格式输出

6.3 du查看某目录总体空间占用状态

     du [OPTION]… DIR

-h: human-readable可读的    ; -s: summary统计   du -sh

6.4 dd 转换和复制文件

    dd:convert and copy a file用法:

dd if=/PATH/FROM/SRC of=/PATH/TO/DEST

bs=# :block size,  复制单元大小  ;  count=# :复制多少个bs

of=file 写到所命名的文件而不是到标准输出  ;  if=file 从所命名文件读取而不是从标准输入

bs=size 指定块大小(既是是ibs 也是obs)    ;  ibs=size 一次读size 个byte

obs=size 一次写size 个byte                ;cbs=size 一次转化size 个byte

skip=blocks 从开头忽略blocks 个ibs 大小的块 ;eek=blocks 从开头忽略blocks 个obs 大小的块

count=n 只拷贝n个记录    conv=conversion[,conversion…]  用指定的参数转换文件

v  转换参数:

v ascii 换 转换 EBCDIC 为 为 ASCII  ; ebcdic 换 转换 ASCII 为 为 EBCDIC

v block  转换一行数据为长度为 cbs  的记录,不足部分用空格填充。

v unblock 替代cbs 长度的每一行尾的空格为新行

v lcase  把大写字符转换为小写字符  ;ucase  把小写字符转换为大写字符

v nocreat  不创建输出文件; noerror  出错时不停止 ; notrunc 不截短输出文件

v sync  把每个输入块填充到ibs 个字节,不足部分用空(NUL)

6.4.1 备份和破坏MBR分区信息

    备份MBR分区信息

dd  if=/dev/sda  of=/tmp/mbr.bak  bs=512  count=1

v  破坏MBR 中的bootloader 引导程序

dd  if=/dev/zero  of=/dev/sda  bs=64  count=1  seek=446

示例:有一个大与2K 的二进制文件fileA。 。 现在想从第64 个字节位置开始读取,需要读取的大小是128Byts 。又有fileB,  想把上面读取到的128Bytes 写到第32 个字节开始的位置,替换128Bytes ,请问如何实现?

   #dd if=fileA of=fileB bs=1 count=128 skip=63 seek=31  conv=notrunc

 

6.4.2备份和恢复

备份:

  dd if=/dev/sdx of=/dev/sdy    :将本地的/dev/sdx 整盘备份到/dev/sdy

dd if=/dev/sdx of=/path/to/image :将/dev/sdx 全盘数据备份到指定路径的image 文件

dd if=/dev/sdx | gzip >/path/to/image.gz:备份/dev/sdx 全盘数据,并利用gzip 工具进行压缩,保存到指定路径

恢复:

  dd if=/path/to/image of=/dev/sdx  :  将备份文件恢复到指定盘

gzip -dc /path/to/image.gz | dd of=/dev/sdx  :将压缩的备份文件恢复到指定盘

6.4.3 拷贝与销毁数据

拷贝内存资料到硬盘:dd if=/dev/mem of=/root/mem.bin bs=1024

                       将内存里的数据拷贝到root 目录下的mem.bin 文件

从光盘拷贝iso 镜像:dd if=/dev/cdrom of=/root/cd.iso

                        拷贝光盘数据到root 文件夹下,并保存为cd.iso 文件

销毁磁盘数据:dd if=/dev/urandom of=/dev/sda1

                利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。执行此操作以后,/dev/sda1 将无法挂载,创建和拷贝操作无法执行。

6.4.4 硬盘测试

6.4.4.1得到最恰当的block size

dd if=/dev/zero bs=1024 count=1000000  of=/root/1Gb.file

dd if=/dev/zero bs=2048 count=500000  of=/root/1Gb.file

dd if=/dev/zero bs=4096 count=250000  of=/root/1Gb.file

通过比较dd 指令输出中所显示的命令执行时间,即可确定系统最佳的block size 大小

6.4.4.2 测试硬盘读写速度

dd if=/dev/zero  of=/root/1Gb.file  bs=1024  count=1000000

dd if=/root/1Gb.file  bs=64k  |  dd of=/dev/null

通过上两个命令输出的执行时间,可以计算出测试硬盘的写/读/速度

6.4.5修复硬盘

dd if=/dev/sda of=/dev/sda

    当硬盘较长时间(比如1,2 年)放置不使用后,磁盘上会产生消磁点。当磁头读到这些区域时会遇到困难,并可能导致I/O 错误。当这种情况影响到硬盘的第一个扇区时,可能导致硬盘报废。上边的命令有可能使这些数据起死回 生,且这个过程是安全高效的。

原创文章,作者:lyx,如若转载,请注明出处:http://www.178linux.com/61082

赞 (0)
lyxlyx
上一篇 2016-11-27 20:30
下一篇 2016-11-27 20:34

相关推荐

  • iptables

    1.开启防火墙systemctl start firewalld2.清空所有的默认规则,定义自己的规则iptables -F 查看此时的iptablesiptables -nL Chain INPUT (policy ACCEPT)target prot opt source destination Chain FORWARD (policy ACCEPT)…

    Linux干货 2017-07-26
  • 堡垒机-麒麟开源堡垒机苹果 Mac支持版本发布

      近日,麒麟开源堡垒机团队开发测试了支持Mac OS苹果操作系统的Web插件,苹果系统用户可以直接和Windows用户一样,登录到Web平台,使用点击的方式调动运维工具并且登录到目标系统进行操作运维。 Mac OS插件支持ssh、telnet、rdp、vnc、x11、sftp、ftp、应用发布等所有协议。   注:麒…

    Linux干货 2016-05-19
  • linux用户与组的基本概念–20160730

    用户组和权限管理—概念       用户组和权限管理—概念 3A:认证,授权,审计。 每个使用者:用户标识,密码:  Authentication    :  认证 Authorization     :授权 Accout/Audition…

    Linux干货 2016-08-04
  • Linux运维之基础拾遗

    博客具体内容请移步博客园: http://www.cnblogs.com/ITOps/p/6151766.html

    Linux干货 2016-12-09
  • LVM详解

    Linux的LVM详解 LVM组成; LVM:logic volume manager .LVM即逻辑卷管理,现在使用版本为第二版,即version2 逻辑卷:pv,physical volume,即计算机上的磁盘设备,例如我的计算机上的/dev/sda3,/dev/sda5. 卷组:vg,volume group。一般由多个pv组成。 逻辑卷:lv,log…

    Linux干货 2016-02-14
  • X86平台系统启动流程 (Blog 9)

    POST –> BootSeqence(BIOS) –> Bootloader(MBR) –> Kernel(initrd) –> init(/etc/inittab)

    2017-11-27