Linux磁盘相关命令

mount命令

mount 命令用于挂载设备或文件系统。

语法格式
mount [option] device|dir 
选项说明
-V   #显示版本信息
-h   #显示帮助信息
-v   #通常和 -f 用来除错
-a   #将 /etc/fstab 中定义的所有档案系统挂上
-F   #这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个行程负责执行在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作
-f  #用于日常排错
-s -r #功能与 -o ro相同
-w  #功能与 -o rw相同
-L  #将含有特定标签的硬盘分割挂上
-t  #指定档案系统的型态
-oasync  #打开非同步模式
-o sync  #在同步模式下执行
-o auto、-o noauto  #打开/关闭自动模式
-o ro  #使用只读模式挂载
-o rw  #使用可读写模式挂载
应用举例

1)将 /dev/hda1 挂载到 /mnt 目录下

[root@centos7 ~]# mount /dev/hda1 /mnt

2)将 /dev/hda1 用只读模式挂载到 /mnt 目录下

[root@centos7 ~]# mount -o ro /dev/hda1 /mnt

3)列出当前所有挂载的文件系统

[root@centos7 ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=486068k,nr_inodes=121517,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=32,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=13688)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
/dev/sda1 on /boot type xfs (rw,relatime,attr2,inode64,noquota)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=99572k,mode=700)

4)查找指定文件类型的挂载信息

[root@centos7 ~]# mount -l -t tmpfs
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=99572k,mode=700)
[root@centos7 ~]# mount -l -t xfs
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
/dev/sda1 on /boot type xfs (rw,relatime,attr2,inode64,noquota)
[root@centos7 ~]# mount -l -t devpts
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)

umount命令

umount 命令用于卸载已经挂载的文件系统。请注意,文件系统在繁忙时无法卸载,例如,当文件系统上有打开的文件,某个进程的工作目录位于其中或正在使用交换文件时。

语法格式
umount -a [-dflnrv] [-t vfstype] [-O options]
选项说明
-a  #卸载/etc/mtab中记录的所有文件系统
-h  #显示帮助
-n  #卸载时不要将信息存入/etc/mtab文件中
-r  #若无法成功卸载,则尝试以只读的方式重新挂入文件系统
-t<文件系统类型>  #卸载指定的文件系统
-v  #显示执行时的详细信息
-V  #显示版本信息
应用举例
#通过设备名卸载
[root@centos7 ~]# umount -v /dev/sda1
/dev/sda1 umounted
 
#通过挂载点卸载
[root@centos7 ~]# umount -v /opt/dev_mount/
/iso/system-1.0.0.iso umounted

卸载文件系统(正在运行中的文件系统)

[root@centos7 ~]# umount -v /opt/dev_mount/
umount: /opt/dev_mount/: device is busy

[root@centos7 ~]# lsof | grep dev_mount    #查找打开的文件
bash   4147  francois  cwd   DIR   5,1   1024   3  /opt/dev_mount/

fsck命令

fsck 命令用于检查并修复Linux文件系统。

fsck 用于对“文件系统一致性检查”。在大多数系统上,如果检测到某些情况,fsck 将在引导时运行。通常,这些条件是:

文件系统被标记为“dirty” –--其写入状态与计划写入的数据不一致
文件系统已挂载了一定次数而未检查
无论文件系统类型如何,fsck通常具有三种操作模式:

检查错误,并交互提示用户决定如何解决单个问题
检查错误,并尝试自动修复任何错误
检查错误,不尝试修复它们,而是在标准输出上显示错误

语法格式
fsck [-lsAVRTMNP] [-C [fd]] [-t fstype] [filesys...]
     [--] [fs-specific-options]
选项说明
-a  #自动修复文件系统,不进行提示
-A  #按/etc/fstab文件配置的内容,检查文件内所列的全部文件系统
-N  #不执行指令,仅列出实际执行会进行的动作
-P  #当搭配"-A"参数使用时,则会同时检查所有的文件系统
-r  #采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式
-R  #当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查
-s  #依序执行检查作业,而非同时执行
-t<文件系统类型>  #指定要检查的文件系统类型
-T  #执行fsck指令时,不显示标题信息
-V  #显示指令执行过程
应用举例
[root@centos7 ~]# fsck /dev/sda1
fsck from util-linux 2.23.2
If you wish to check the consistency of an XFS filesystem or
repair a damaged filesystem, see xfs_repair(8).
[root@centos7 ~]# fsck
fsck from util-linux 2.23.2

执行检查,只输出错误信息不作任何修复动作

[root@centos7 ~]# fsck -n /dev/sda1
fsck from util-linux 2.23.2
If you wish to check the consistency of an XFS filesystem or
repair a damaged filesystem, see xfs_repair(8).

fsck返回的代码是一个唯一数字,其中意思如下:

0  #无错误
1  #已纠正文件系统错误
2  #应重新启动系统
4  #未纠正文件系统错误
8  #操作错误
16   #使用或语法错误
32   #用户请求取消Fsck
128  #共享库错误

dd命令

dd 命令用于复制文件并对原文件的内容进行转换和格式化处理

语法格式
dd [OPTIONS]...
选项说明
if=文件名   #指定源文件。
of=文件名   #指定目的文件。
ibs=bytes  #指定一个块大小为bytes个字节
obs=bytes  #指定一个块大小为bytes个字节
bs=bytes   #同时设置读入/输出的块大小为bytes个字节
cbs=bytes  #指定转换缓冲区大小
skip=blocks   #从输入文件开头跳过blocks个块后再开始复制
seek=blocks   #从输出文件开头跳过blocks个块后再开始复制
count=blocks  #仅拷贝blocks个块,块大小等于ibs指定的字节数
conv=<关键字>
#关键字可以有以下11种:
    conversion  #用指定的参数转换文件。
    ascii     #转换ebcdic为ascii
    ebcdic   #转换ascii为ebcdic
    ibm      #转换ascii为alternate ebcdic
    block    #把每一行转换为长度为cbs
    unblock  #使每一行的长度都为cbs
    lcase    #把大写字符转换为小写字符
    ucase    #把小写字符转换为大写字符
    swab     #交换输入的每对字节
    noerror  #出错时不停止
    notrunc  #不截短输出文件
    sync     #将每个输入块填充到ibs个字节
--help     #显示帮助信息
--version  #显示版本信息
应用举例

1)创建 ISO 光盘映像。

dd if=/dev/sr0 of=/cd/cdrom.iso bs=2048 conv=noerror,sync

2)创建 /dev/sda 硬盘驱动器的 img 文件

dd if=/dev/sda of=~/disk1.img

3)将内容从 if= drive /dev/sda 复制到 of= drive /dev/sdb:

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

4)创建一个文件,大小为100M

[root@localhost text]# dd if=/dev/zero of=mingongge.txt bs=100M count=1
1+0 records in
1+0 records out
104857600 bytes (1.0 MB) copied, 0.006107 seconds, 172 MB/s
 
[root@localhost text]# du -sh mingongge.txt 
100.1M    mingongge.txt

5)生成随机字符串

[root@centos7 ~]# dd if=/dev/urandom bs=1 count=33|base64 -w 0
33+0 records in
33+0 records out
33 bytes (33 B) copied, 0.000199534 s, 165 kB/s
XrjvbxfTkz97rBuTmP5Ahb6gWN6E/uPyXqi/CAgBkEZ8

fdisk命令

fdisk 命令用于查看磁盘使用情况和磁盘分区,它可用于创建,删除和修改磁盘分区。

语法格式
disk [-uc] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device
选项说明
-b <大小>      #扇区大小(512、1024、2048或4096)
-c[=<模式>]    #兼容模式:“dos”或“nondos”(默认)
-h            #打印此帮助文本
-u[=<单位>]    #显示单位:“cylinders”(柱面)或“sectors”(扇区,默认)
-v            #打印程序版本
-C <数字>      #指定柱面数
-H <数字>      #指定磁头数
-S <数字>      #指定每个磁道的扇区数
应用举例

1)选择要进行操作的磁盘

[root@localhost ~]$ fdisk /dev/sdb

2)输入 m 查看可执行的命令

command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

3)输入 p 列出磁盘目前的分区情况

Command (m for help): p
 
Disk /dev/sdb: 3221 MB, 3221225472 bytes
255 heads, 63 sectors/track, 391 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1           1        8001   8e  Linux LVM
/dev/sdb2               2          26      200812+  83  Linux

4)输入 d 然后选择分区,删除现有分区

Command (m for help): d
Partition number (1-4): 1
 
Command (m for help): d
Selected partition 2

5)查看分区情况,确认分区已经删除

Command (m for help): print
 
Disk /dev/sdb: 3221 MB, 3221225472 bytes
255 heads, 63 sectors/track, 391 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
 
Command (m for help):

6)输入 n 建立新的磁盘分区,首先建立两个主磁盘分区

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p    #建立主分区
Partition number (1-4): 1  #分区号
First cylinder (1-391, default 1):  #分区起始位置
Using default value 1
last cylinder or +size or +sizeM or +sizeK (1-391, default 391): 100  #分区结束位置,单位为扇区
 
Command (m for help): n  #再建立一个分区
Command action
   e   extended
   p   primary partition (1-4)
p 
Partition number (1-4): 2  #分区号为2
First cylinder (101-391, default 101):
Using default value 101
Last cylinder or +size or +sizeM or +sizeK (101-391, default 391): +200M  #分区结束位置,单位为M

7)确认分区建立成功

Command (m for help): p
 
Disk /dev/sdb: 3221 MB, 3221225472 bytes
255 heads, 63 sectors/track, 391 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         100      803218+  83  Linux
/dev/sdb2             101         125      200812+  83  Linux

8)再建立一个逻辑分区

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
e  #选择扩展分区
Partition number (1-4): 3
First cylinder (126-391, default 126):
Using default value 126
Last cylinder or +size or +sizeM or +sizeK (126-391, default 391):
Using default value 391

9)确认扩展分区建立成功

Command (m for help): p
 
Disk /dev/sdb: 3221 MB, 3221225472 bytes
255 heads, 63 sectors/track, 391 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         100      803218+  83  Linux
/dev/sdb2             101         125      200812+  83  Linux
/dev/sdb3             126         391     2136645    5  Extended

10)在扩展分区上建立两个逻辑分区

Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)
l  #选择逻辑分区
First cylinder (126-391, default 126):
Using default value 126
Last cylinder or +size or +sizeM or +sizeK (126-391, default 391): +400M    
 
Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)
l
First cylinder (176-391, default 176):
Using default value 176
Last cylinder or +size or +sizeM or +sizeK (176-391, default 391):
Using default value 391

11)确认逻辑分区建立成功

Command (m for help): p
 
Disk /dev/sdb: 3221 MB, 3221225472 bytes
255 heads, 63 sectors/track, 391 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         100      803218+  83  Linux
/dev/sdb2             101         125      200812+  83  Linux
/dev/sdb3             126         391     2136645    5  Extended
/dev/sdb5             126         175      401593+  83  Linux
/dev/sdb6             176         391     1734988+  83  Linux
 
Command (m for help):

12)保存操作信息

Command (m for help): w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
Syncing disks.

建立好分区之后我们还需要对分区进行格式化才能在系统中使用磁盘。

parted命令

parted命令用于创建,查看,删除和修改磁盘分区。它是一个磁盘分区和分区大小调整工具。这个命令算是对fdisk命令的一个补充,因为如果磁盘大小大于2TB就无法使用fdisk命令进行分区操作了。

语法格式
parted [options] [device [command [options...]...]]
选项说明
-a  #为新创建的分区设置对齐方式
-h  #显示帮助信息
-i  #交互式模式
-s  #脚本模式
-v  #显示版本号
-l  #列出所有块设备上的分区布局
-m  #显示机器可解析的输出
应用举例

1)虚拟机上没有大于2TB的硬盘,所以用10GB来替代。

[root@centos7 ~]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0003116d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM

#新加的10GB磁盘
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

2)分区举例

[root@centos7 ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help      #帮助信息                                                        
  align-check TYPE N                        check partition N for TYPE(min|opt) alignment
  help [COMMAND]                           print general help, or help on COMMAND
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)
  mkpart PART-TYPE [FS-TYPE] START END     make a partition
  name NUMBER NAME                         name partition NUMBER as NAME
  print [devices|free|list,all|NUMBER]     display the partition table, available devices, free space, all found partitions, or a particular partition
  quit                                     exit program
  rescue START END                         rescue a lost partition near START and END
  
  resizepart NUMBER END                    resize partition NUMBER
  rm NUMBER                                delete partition NUMBER
  select DEVICE                            choose the device to edit
  disk_set FLAG STATE                      change the FLAG on selected device
  disk_toggle [FLAG]                       toggle the state of FLAG on selected device
  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER
  unit UNIT                                set the default unit to UNIT
  version                                  display the version number and copyright information of GNU Parted
(parted) mklabel gpt   #修改磁盘分区结构为gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes                                                               
(parted) mkpart   #执行分区                                                        
Partition name?  []? primary      #主分区                                        
File system type?  [ext2]? ext4   #文件系统类型                                   
Start? 1                                                                  
End? 10000    

(parted) p     #打印分区表                                                           
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  10.0GB  9999MB               primary
(parted) q                                                                
Information: You may need to update /etc/fstab.

3)格式化并挂载

[root@centos7 ~]# mkfs.ext4 /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2621440 blocks
131072 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2151677952
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): 
done
[root@centos7 ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 475M     0  475M   0% /dev
tmpfs                    487M     0  487M   0% /dev/shm
tmpfs                    487M  7.7M  479M   2% /run
tmpfs                    487M     0  487M   0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  2.0G   16G  12% /
/dev/sda1               1014M  167M  848M  17% /boot
tmpfs                     98M     0   98M   0% /run/user/0
[root@centos7 ~]# mount /dev/sdb /opt/
[root@centos7 ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 475M     0  475M   0% /dev
tmpfs                    487M     0  487M   0% /dev/shm
tmpfs                    487M  7.7M  479M   2% /run
tmpfs                    487M     0  487M   0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  2.0G   16G  12% /
/dev/sda1               1014M  167M  848M  17% /boot
tmpfs                     98M     0   98M   0% /run/user/0
/dev/sdb                 9.8G   37M  9.2G   1% /opt

lsblk命令

df命令

mkfs命令

mkfs命令用于格式化创建Linux文件系统。通常用于在设备(通常是硬盘分区)上构建 Linux 文件系统。

语法格式
mkfs [options] [-t type fs-options] device [size]
选项说明
fs  #指定建立文件系统时的参数
-t<文件系统类型>  #指定要建立何种文件系统
  fs-options     #使用的文件系统
  <device>       #使用的设备路径
  <size>         #使用的设备块数
  #文件系统:指定要创建的文件系统对应的设备文件名
  #块数:指定文件系统的磁盘块数
  
-V  #输出详细信息(--verbose)
-V  #显示版本信息(--version)
-c  #检查该partition是否有坏道
-h  #显示帮助并退出
应用举例

格式化磁盘

[root@centos7 ~]# mkfs.ext4 /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2621440 blocks
131072 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2151677952
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): 
done

e2fsck命令

e2fsck 命令用于检查 ext2/ext3/ext4 类型文件系统。

语法格式
e2fsck [-panyrcdfvtDFV] [-b superblock] [-B blocksize]
  [-I inode_buffer_blocks] [-P process_inode_size]
  [-l|-L bad_blocks_file] [-C fd] [-j external_journal]
  [-E extended-options] device
选项说明
-d     #显示debug排错信息
-t     #显示时间信息
-p      #不提示,自动修复文件系统
-n      #以只读模式开启文件系统
-y      #采取非互动方式执行,所有提示都以"yes"确认
-c      #执行badblocks,把损坏的区块标记出来
-f      #强制检查
-v      #显示详细信息
-b superblock        #设定 superblock 位置
-B blocksize         #指定区块的大小,单位为字节
-j external_journal  #设置在哪里可以找到这个文件系统的外部日志的路径名
-l bad_blocks_file   #将文件中指定的区块加到损坏区块列表
-L bad_blocks_file   #先清除损坏区块列表,再将文件中指定的区块加到损坏区块列表
-C<文件描述符>        #将检查过程的信息完整记录在 file descriptor 中,使得整个检查过程都能完整监控。

e2fsck 命令执行后返回值及意义如下

0   #没有任何错误发生
1   #文件系统发生错误,并且已经修正
2   #文件系统发生错误,并且已经修正
4   #文件系统发生错误,但没有修正
8   #运作时发生错误
16  #使用的语法发生错误
128 #共享的函数库发生错误
应用举例

1)检查磁盘分区/dev/sdb 的文件系统

[root@centos7 ~]# e2fsck /dev/sdb
e2fsck 1.42.9 (28-Dec-2013)
/dev/sdb: clean, 11/655360 files, 83137/2621440 blocks

2)检查磁盘分区/dev/sdb 的文件系统,自动修复文件系统

[root@centos7 ~]# e2fsck -p /dev/sdb

cfdisk命令

cfdisk 命令可用于显示有关磁盘分区表的信息。它的功能与fdisk相同,但它具有基于文本的“图形”界面,在操作与可视化方面更加的直观,易于使用,也非常的便捷。

语法格式
cfdisk [-agvz] [-c cylinders] [-h heads] [-s sectors-per-track]  [-P opt] [device]
选项说明
-a #使用箭头光标突出显示当前分区
-g #不要使用磁盘驱动程序给出的几何图形
-v #打印版本号和版权
-z #从零位分区表开始
-s sectors-per-track   #覆盖从BIOS读取的每个磁道的柱面数,磁头数和扇区数。
应用举例

1)cfdisk进入图形化界面


image.png

2)进入帮助页面


image.png

3)Resize可以重新做分区,然后朝分区写入(写入前可以选择Type,也就是分区类型)
image.png

ioping命令

ioping 命令是一个用于实时显示磁盘 io 延时的工具,以类似 ping 的输出一样来显示输出结果。
默认没有安装,需要用户在使用前手动安装。

[root@centos7 ~]# ioping
-bash: ioping: command not found
[root@centos7 ~]# yum install ioping -y
[root@centos7 ~]# ioping -v
ioping 1.1
语法格式
ioping [-ABCDRLWYykq] [-c count] [-i interval] [-s size] [-S wsize]
       [-o offset] [-w deadline] [-pP period] directory|file|device
选项说明
-c count      #计数请求后停止
-i interval   #将两次请求之间的时间间隔设置为(1s)
-l speed      #将间隔设置为请求大小/速度
-t time       #最小有效请求时间(0us)
-T time       #最大有效请求时间
-s size       #要求大小(4k)
-S wsize      #工作集大小
-o offset     #文件/设备中的起始偏移量(0)
-w deadline   #在截止时间之后停止
-p period     #打印每个期间请求的原始统计信息
-P period     #打印每个时间段的原始统计信息
-A            #使用异步I/O
-B            #批处理模式
-C            #使用缓存的I/O
-D            #使用直接I/O(
-L            #使用顺序操作
-R            #磁盘搜寻率测试
-W            #使用写而不是读
-G            #备用读写请求。
-Y            #使用同步I/O
-y            #使用数据同步I/O
-k            #使用临时工作文件“ ioping.tmp”
-q            #禁用人类可读的定期输出
-H            #显示帮助消息并退出
-v            #显示版本并退出
应用举例

1)使用20个数据包,每个1M大小,用来测试/opt上的延时

[root@centos7 ~]# ioping -c 20 -s 1M /opt
1 MiB <<< /opt (xfs /dev/dm-0): request=1 time=8.46 ms (warmup)
1 MiB <<< /opt (xfs /dev/dm-0): request=2 time=4.51 ms
1 MiB <<< /opt (xfs /dev/dm-0): request=3 time=3.63 ms
1 MiB <<< /opt (xfs /dev/dm-0): request=4 time=4.33 ms
1 MiB <<< /opt (xfs /dev/dm-0): request=5 time=3.44 ms
1 MiB <<< /opt (xfs /dev/dm-0): request=6 time=5.72 ms
1 MiB <<< /opt (xfs /dev/dm-0): request=7 time=3.46 ms (fast)
1 MiB <<< /opt (xfs /dev/dm-0): request=8 time=4.85 ms
1 MiB <<< /opt (xfs /dev/dm-0): request=9 time=3.71 ms
1 MiB <<< /opt (xfs /dev/dm-0): request=10 time=5.21 ms
1 MiB <<< /opt (xfs /dev/dm-0): request=11 time=3.53 ms (fast)
1 MiB <<< /opt (xfs /dev/dm-0): request=12 time=3.41 ms (fast)
1 MiB <<< /opt (xfs /dev/dm-0): request=13 time=3.44 ms (fast)
1 MiB <<< /opt (xfs /dev/dm-0): request=14 time=4.16 ms
1 MiB <<< /opt (xfs /dev/dm-0): request=15 time=3.86 ms
1 MiB <<< /opt (xfs /dev/dm-0): request=16 time=3.75 ms
1 MiB <<< /opt (xfs /dev/dm-0): request=17 time=220.9 ms (slow)
1 MiB <<< /opt (xfs /dev/dm-0): request=18 time=230.9 ms (slow)
1 MiB <<< /opt (xfs /dev/dm-0): request=19 time=3.65 ms (fast)
1 MiB <<< /opt (xfs /dev/dm-0): request=20 time=3.51 ms (fast)

--- /opt (xfs /dev/dm-0) ioping statistics ---
19 requests completed in 519.9 ms, 19 MiB read, 36 iops, 36.5 MiB/s
generated 20 requests in 19.0 s, 20 MiB, 1 iops, 1.05 MiB/s
min/avg/max/mdev = 3.41 ms / 27.4 ms / 230.9 ms / 68.1 ms

2)测试系统磁盘查找效率

[root@centos7 ~]# ioping -R /opt

--- /opt (xfs /dev/dm-0) ioping statistics ---
5.15 k requests completed in 2.97 s, 20.1 MiB read, 1.73 k iops, 6.77 MiB/s
generated 5.15 k requests in 3.00 s, 20.1 MiB, 1.72 k iops, 6.70 MiB/s
min/avg/max/mdev = 284.9 us / 577.4 us / 243.3 ms / 4.50 ms
[root@centos7 ~]# ioping -R download/

--- download/ (xfs /dev/dm-0) ioping statistics ---
2.73 k requests completed in 2.97 s, 10.7 MiB read, 920 iops, 3.60 MiB/s
generated 2.73 k requests in 3.00 s, 10.7 MiB, 911 iops, 3.56 MiB/s
min/avg/max/mdev = 296.3 us / 1.09 ms / 76.3 ms / 2.60 ms

3)raw 统计

[root@centos7 ~]# ioping -p 50 -c 10 -i 0  /opt
4 KiB <<< /opt (xfs /dev/dm-0): request=1 time=665.7 us (warmup)
4 KiB <<< /opt (xfs /dev/dm-0): request=2 time=655.7 us
4 KiB <<< /opt (xfs /dev/dm-0): request=3 time=391.7 us
4 KiB <<< /opt (xfs /dev/dm-0): request=4 time=516.1 us
4 KiB <<< /opt (xfs /dev/dm-0): request=5 time=682.5 us
4 KiB <<< /opt (xfs /dev/dm-0): request=6 time=782.4 us
4 KiB <<< /opt (xfs /dev/dm-0): request=7 time=771.7 us (slow)
4 KiB <<< /opt (xfs /dev/dm-0): request=8 time=695.6 us
4 KiB <<< /opt (xfs /dev/dm-0): request=9 time=567.0 us
4 KiB <<< /opt (xfs /dev/dm-0): request=10 time=551.7 us

--- /opt (xfs /dev/dm-0) ioping statistics ---
9 requests completed in 5.61 ms, 36 KiB read, 1.60 k iops, 6.26 MiB/s
generated 10 requests in 6.52 ms, 40 KiB, 1.53 k iops, 5.99 MiB/s
min/avg/max/mdev = 391.7 us / 623.8 us / 782.4 us / 120.4 us
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容