Linux中常见的磁盘管理工具有哪些

Linux中常见的磁盘管理工具有哪些,第1张

Linux中常见的磁盘管理工具有哪些

在Linux系统安装时,其中有一个步骤是进行磁盘分区。在分区时可以采用Disk Druid、RAID和LVM等方式进行分区。除此之外,在Linux系统中还有fdisk、cfdisk、parted等分区工具。,将介绍几种常见的磁盘管理工具。

1.fdisk

fdisk磁盘分区工具在DOS、Windows和Linux中都有相应的应用程序。在Linux系统中,fdisk是基于菜单的命令。用fdisk对硬盘进行分区,可以在fdisk命令后面直接加上要分区的硬盘作为参数,例如,对第二块SCSI硬盘进行分区的 *** 作如下所示:

[root@RHEL4 ~]# fdisk /dev/sdb

Command (m for help):

2.mkfs

硬盘分区后,下一步的工作是Linux文件系统的建立。类似于Windows下的格式化硬盘。在硬盘分区上建立文件系统会冲掉分区上的数据,而且不可恢复,因此在建立文件系统之前要确认分区上的数据不再使用。建立文件系统的命令是mkfs,格式如下:

mkfs [参数] 文件系统

mkfs 命令常用的参数选项:

-t :指定要创建的文件系统类型。

-c:建立文件系统前首先检查坏块。

-l file:从文件 file 中读磁盘坏块列表,file 文件一般是由磁盘坏块检查程序产生的。

-V:输出建立文件系统详细信息。

例如, 在/dev/sdb1 上建立 ext3 类型的文件系统, 建立时检查磁盘坏块并显示详细信息。

如下所示:

[root@RHEL4 ~]# mkfs -t ext3 -V -c /dev/sdb1

3.fsck

fsck 命令主要用于检查文件系统的正确性。并对 Linux 磁盘进行修复。fsck 命令的格式如下:

fsck [参数选项] 文件系统

fsck 命令常用的参数选项:

-t:给定文件系统类型,若在/etc/fstab 中已有定义或 kernel 本身已支持的不需添加此

项。

-s:一个一个地执行 fsck 命令进行检查。

-A:对/etc/fstab 中所有列出来的分区进行检查。

-C:显示完整的检查进度。

-d:列出 fsck 的 debug 结果。

-P:在同时有-A 选项时,多个 fsck 的检查一起执行。

-a:如果检查中发现错误,则自动修复。

-r:如果检查有错误,询问是否修复。

例如,检查分区/dev/sdb1 上是否有错误,如果有错误自动修复。

[root@RHEL4 ~]# fsck -a /dev/sdb1

fsck 1.35 (28-Feb-2004)

/dev/sdb1: clean, 11/26104 files, 8966/104388 blocks

4.dd

dd命令用于将指定的输入文件拷贝到指定的输出文件上。并且在复制过程中可以进行格式转换。dd命令与cp命令的区别在于:dd命令可以在没有创建文件系统的软盘上进行,拷贝到软盘的数据实际上是镜像文件。类似于DOS中的diskcopy命令的作用。dd命令的格式为:

dd [<if=输入文件名/设备名>] [<of=输出文件名/设备名>] [bs=块字节大小] [count=块数]

6.du

du命令用于显示磁盘空间的使用情况。该命令逐级显示指定目录的每一级子目录占用

文件系统数据块的情况。du 命令语法如下:

du [参数选项] [name---]

du 命令的参数选项:

-s:对每个 name 参数只给出占用的数据块总数。

-a:递归显示指定目录中各文件及子目录中各文件占用的数据块数。

-b:以字节为单位列出磁盘空间使用情况(AS 4.0 中默认以 KB 为单位) 。

-k:以 1024 字节为单位列出磁盘空间使用情况。

-c:在统计后加上一个总计(系统默认设置) 。

-l:计算所有文件大小,对硬链接文件重复计算。

-x:跳过在不同文件系统上的目录,不予统计。

例如,以字节为单位列出所有文件和目录的磁盘空间占用情况。命令如下所示:

[root@RHEL4 ~]# du -ab

应该是磁盘文件损坏,可以使用fsck命令来进行修复

重启系统后使用root进入单用户模式,运行

fsck.ext4 -y /dev/vda3

说明:ext4的文件系统使用fsck.ext4。/dev/vda3是系统/根分区。

运行完毕后,reboot重启系统就恢复正常。20多台出问题的都是这样修复的,无失败案例。fsck.ext3开始进入扫描、修正文件系统,这个过程有

时很快,有时比较长,中间有数次停顿的过程,只需等待即可,千万不要以为死机而重启服务器。修正完文件系统后,如果没有提示重启系统,也需要reboot

来重启系统。

扩展知识:fsck简介

fsck不仅可以对文件系统进行扫描,还能修正文件系统的一些问题。注意的是fsck扫描文件系统时一定要在单用户模式、修复模式或把设备umount后进行。建议在单用户模式下运行。如果扫描正常运行中的系统,会造成系统文件损坏。文件系统扫描工具有fsck、fsck.ext2、fsck.ext3、fsck.ext4、fsck.msdos、fsck.cramfs、

fsck.ext4dev、fsck.vfat。最好是根据不同的文件系统来调用不同的扫描工具,比如ext3的文件系统使用

fsck.ext3,ext4文件系统使用fsck.ext4等。

/dev/vda3是ext4的文件系统,这里介绍fsck.ext4的参数:

fsck.ext4

[语法]

fsck.ext4[必要参数][选择参数][设备代号]

[功能]

fsck.ext4命令:针对ext4文件系统进行检测修复

[执行权限]

root

[参数]

必要参数

-a非互交模式,自动修复

-c检查是否存在有损坏的区块。

-C fsck.ext3命令会把全部的执行过程,都交由其逆向叙述,便于监控程序

-d详细显示命令执行过程

-f强制进行检查

-F检查文件系统之前,先清理该保存设备块区内的数据

-l把文件中所列出的损坏区块,加入标记

-L清除所有损坏标志,重新标记

-n非交互模式,把欲检查的文件系统设成只读

-P 设置fsck.ext2命令所能处理的inode大小为多少

-r交互模式

-R忽略目录

-s顺序检查

-S效果和指定“-s”参数类似

-t 显示fsck.ext2命令的时序信息。

-v显示详细的处理过程

-y关闭互动模式

选择参数

-b指定分区的第一个磁区的起始地址/Super Block

-B 设置该分区每个区块的大小

-I设置欲检查的文件系统,其inode缓冲区的区块数目

-V显示版本信息

hdparm:

hdparm可以检测,显示与设定IDE,SCSI,SATA,SAS硬盘的硬件参数,

如: hdparm -I /dev/sdc 可以获取sdc的硬件信息

hdparm -W 0 /dev/sda 关闭磁盘写缓存, (这个缓存是在磁盘内部的, 一般不关闭, 只能整个盘有效)

iostat:

可以查看硬盘的io状态, 从这个命令中可以看出硬盘io的基本情况, 这个命令主要和硬盘的驱动对接. 如: iostat -x /dev/sdc 2 每个2秒查看一次硬盘的io情况 各个参数意义如下:

rrqm/s每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge)

wrqm/s 每秒这个设备相关的写入请求有多少被Merge了。 r/s每秒完成的读 I/O 设备次数w/s每秒完成的写 I/O 设备次数 rsec/s每秒读取的扇区数 wsec/s 每秒写入的扇区数 avgrq-sz 平均IO速度(以扇区为单位) avgqu-sz是平均请求队列的长度。毫无疑问,队列长度越短越好。

await 每一个IO请求的处理的平均时间(单位是微秒)。这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。 这个时间包括了队列时间和服务时间,也就是说,一般情况下,await大于svctm,它们的差值越小,则说明队列时间越短,反之差值越大,队列时间越长,说明系统出了问题。

svctm 表示平均每次设备I/O *** 作的服务时间(以毫秒为单位)。如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长, 系统上运行的应用程序将变慢。

%util 在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。

parted/fdiisk

硬盘分区工具, 可以是gpt分区或mbr分区, 一般都是用gpt分区, 如: parted /dev/sdc print 查看分区情况, 具体用法可以man parted

badblocks

用来检测磁盘的坏道, 如 badblocks -v /dev/sdc 就可以用默认设置检查磁盘坏道. 如果检测到坏道,需要根据硬盘的使用的文件系统类型进行修复处理.

smartctl/smartd

S.M.A.R.T.是英文Self-Monitoring Analysis and Reporting Technology(自动检测分析及报告技术)的简写。它能对硬盘的磁头单元、硬盘温度、盘片表面介质材料、马达及其驱动系统、硬盘内部电路等进行监测,及时分析并预报硬盘可能发生的问题。

Smartctl/smartd就是利用硬盘的SMART功能来监测硬盘的健康状态的, 如:

smartctl -I /dev/sdc 查看硬盘信息

smartctl -H /dev/sdc 查看硬盘的健康状态

Smartctl --test=long /dev/sdc 全面检查硬盘的健康状态

Smartctl -X /dev/sdc 停止全面检查

smartd是一个守护进程, 它能监视拥有自我监视,分析和汇报技术(Self-Monitoring, Analysis, and Reporting)的硬盘. 配置在/etc/smarted.conf, 是存储系统必不可少的进程.

losetup

loop 设备是一种伪设备(pseudo-device),它能使我们像块设备一样访问一个文件.如: losetup -a 可以查看所有的loop设备的情况

sg3_utils

sg3_utils 是Linux下用来直接使用 SCSI命令集访问设备.只要支持scsi命令集就可以使用,如FC/USB Storage/ATAPI/SAS/SATA/iscsi等设备, 也可以访问SATA兼容设备, 如:

sg_inq: 查询/dev/sdc的信息

sgdisk: 硬盘分区查看,设置等.

sg_dd/sg_pdd: 顺序读写硬盘

sg_read/sg_write/sg_read_buffer/sg_write_buffer: 读写硬盘

sginfo: 查看硬盘信息

sg_format: 格式化硬盘(低级格式化)

sg_log: 查看硬盘的log信息

sg_luns: 查看target上有多少个lun

sg_map: 查看硬盘映射情况, 查看硬盘所在的bus, chan, id,lun,type.

sgpio: 控制盘位的LED灯

sg_ses: scsi enclosure service控制, ses是对接机箱状态监控,设置等服务

sg_scan: 扫描系统中的硬盘

sg_raw: 可以直接发送scsi命令, 如sg_raw -r 1k /dev/sg0 12 00 00 00 60 00 是inquiry命令

smp_utils

smp_utils是linux下来访问sas的smp协议的辅助工具, 是SAS系统管理的重要工具.

udevadm

udev的控制管理命令 udevadm info -a -p /block/sda 可以查看sda设备相关信息

更多linux知识可以查看《Linux就该这么学》


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7459377.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-05
下一篇2023-04-05

发表评论

登录后才能评论

评论列表(0条)

    保存