88bf必发Linux系统管理之硬盘管理

硬盘是计算的重要组成部件之一,硬盘为操作系统提供持久话存储的功能,在Linux硬盘设备的性能和好坏可能关系到生成线的安全和用户体验等等。熟练的掌握硬盘管理相关的信息能让我们处理起这些问题来得心应手。

Linux 学习 — 磁盘分区/关系+挂载+表示方法

对hda1的解释:

hd:IDE硬盘。如果是SCSI硬盘,则为sd,这个只能记住,没有更好的办法。

a:: 第一块硬盘。如果是第二块硬盘,则为b,依此类推c,d……

1: 主分区。其中1,2,3,4都是主分区,从第5开始为逻辑分区,最大到16

磁盘容量与主分区、扩展分区、逻辑分区的关系:

硬盘的容量 = 主分区的容量 + 扩展分区的容量

扩展分区的容量 = 各个逻辑分区的容量之和


cd /mnt
mkdir winc
mkdir wind
mkdir wine
mount /dev/hda1 /mnt/winc
mount /dev/hda5 /mnt/wind
mount /dev/hda6 /mnt/wine

Linux中最为重要到的哲学就是一切皆文件,硬盘设备也不例外,在Linux系统中硬盘设备一般存放在/dev/下面SATA、SCSI等接口类型的硬盘使用sd表示,第一块sd的硬盘表示为/dev/sda,第二块sd的硬盘表示为/dev/sdb。IDE硬盘使用hd表示,第一块hd的硬盘表示为/dev/hda,第二块hd的硬盘表示为/dev/hdb。以此类推。

最多有4个主分区,所以逻辑分区从5开始

在linux的分区表示中,硬盘为hd,第一块硬盘为hda,第二块为hdb.一块硬盘最多可以分成四个主分区,dos主分区,dos扩展分区,linux根分区和linux交换分区都属于主分区,4个主分区分别用数字表示,如果是第一块硬盘,就
hda1,hda2,hda3和hda4.
在扩展分区上还可以分逻辑分区,标号从5往后依次排列.在windows中c盘为dos主分区,是hda1,
d盘一般是dos扩展分区上的第一个逻辑分区, 是hda5, e为hda6, f为hda7等等.
在linux下可以通过mount命令挂栽windows分区到一个文件夹(这个文件夹称作挂载点),然后你可以通过这个文件夹访问windows分区.

mount -t vfat /dev/hda1 /mnt/winc -o codepage=936 iocharset=936

顺便说一下挂载光盘和iso镜像和挂载U盘挂载U盘的命令:

挂载光盘和iso镜像

mount -t iso 9660 -o loop 名称.iso 挂载点

挂载U盘

mount -t vfat /dev/sda1 /mnt/usb

在網上碰到一耳光相關的問題,睇下啦:

在Linux中,分区为主分区、扩展分区和逻辑分区,使用fdisk
–l命令获得分区信息如下所示:
  Disk /dev/hda:240 heads, 63 sectors, 140 cylinders
  Units=cylinders of 15120 * 512 bites
  Device Boot      Start      End      Blocks      Id      System
  /dev/hda        1        286      2162128+  c      Win95
FAT32(LBA)
  /dev/hda2  *    288      1960    12496680  5      Extended
  /dev/hda8      984      1816    6297448+  83      Linux
  /dev/hda9      1817      1940    937408+    83      Linux
  其中,属于扩展分区的是 (5) 。
  使用df -T命令获得信息部分如下所示:
  Filesystem  Type    1k Blocks    Used    Avallable    Use%  Mounted
on
  /dev/hda6    relserfs  4195632    2015020  2180612    49%      /
  /dev/hda1    vfat    2159992    1854192    305800    86% 
/windows/c
  其中,不属于Linux系统分区的是 (6) 。
答案:
  (5)/dev/hda2,(6)/dev/hda1 

在Linux中对硬盘也有两种表示方法:

第一种方法:IDE接口中的整块硬盘在Linux系统中表示为/dev/hd[a-z],比如/dev/hda,/dev/hdb
… … 以此类推,有时/dev/hdc可能表示的是CDROM
。这种方法实际表示了硬盘的物理位置,只要硬盘的连接位置不变,标号也不会发生变化。
对于/dev/hda 类似的表示方法,也并不陌生吧;我们在Linux通过fdisk -l
就可以查到硬盘是/dev/hda还是/dev/hdb。

另一种表示方法是:hd[0-n] ,其中n是一个正整数,比如hd0,hd1,hd2 … …
hdn
;数字从0开始,按照BIOS中发现硬盘的顺序排列,如果机器中只有一块硬盘,无论我们通过fdisk
-l 列出的是/dev/hda 还是/dev/hdb
,都是hd0;如果机器中存在两个或两个以上的硬盘,第一个硬盘/dev/hda
另一种方法表示为hd0,第二个硬盘/dev/hdb,另一种表法是hd1 。
现在新的机器,在BIOS
中,在启动盘设置那块,硬盘是有hd0,hd1之类的,这就是硬盘表示方法的一种。

在Linux中,对SATA和SCSI接口的硬盘的表示方法和IDE接口的硬盘相同,只是把hd换成sd;如您的机器中比如有一个硬盘是/dev/hda
,也有一个硬盘是/dev/sda ,那/dev/sda的硬盘应该是sd0;
具体每个分区用(sd[0-n],y)的表示方法和IDE接口中的算法相同,比如/dev/sda1
就是(sd0,0)。

>>>以下来自百度百科

磁盘及分区  设备管理 在 Linux
中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等 IDE 或 SCSI
设备也不例外。 Linux 把各种 IDE 设备分配了一个由 hd
前缀组成的文件;而对于各种 SCSI 设备,则分配了一个由 sd 前缀组成的文件。

  例如,第一个 IDE 设备,Linux 就定义为 hda;第二个 IDE 设备就定义为
hdb;下面以此类推。而 SCSI 设备就应该是 sda、sdb、sdc 等。

  分区数量
要进行分区就必须针对每一个硬件设备进行操作,这就有可能是一块IDE硬盘或是一块SCSI硬盘。对于每一个硬盘(IDE
或 SCSI)设备,Linux 分配了一个 1 到 16
的序列号码,这就代表了这块硬盘上面的分区号码。

  例如,第一个 IDE 硬盘的第一个分区,在 Linux 下面映射的就是
hda1,第二个分区就称作是 hda2。对于 SCSI 硬盘则是 sda1、sdb1 等。

本文永久更新链接地址:

http://www.bkjia.com/Linuxjc/873728.htmlwww.bkjia.comtruehttp://www.bkjia.com/Linuxjc/873728.htmlTechArticleLinux 学习 — 磁盘分区/关系+挂载+表示方法
对hda1的解释:
hd:IDE硬盘。如果是SCSI硬盘,则为sd,这个只能记住,没有更好的办法。 a::
第…

 

下面介绍Linux下和硬盘相关的命令(不同发型版命令可能不太相同)

mount          挂载指定设备
    格式:mount -t 文件系统类型(通常mount命令会自动识别)  设备路径  挂载点
    示例:
    mount /dev/sda1  /mnt/             #将/dev/sda1 挂载到/mnt  
    mount /dev/cdrom /media/       #将cdrom(光盘设备)挂载到/media
    mount -a                           #重读/etc/fstab文件


umount            卸载指定设备
  格式:umount 设备/挂载点
  示例:
       umount /dev/sda1           #卸载/dev/sda1 卸载到整个设备,比如说这个分区一共挂载到了/mnt /test /test1那么这三个挂载点的挂载都将卸掉
       umount /media/             #卸载挂在/media目录上面的设备

 

df  查看当前系统挂载的分区情况
    格式
        df 参数
    常用参数
        --help       查看帮助信息
        -i           显示inode情况
        -h           自动计算显示的文件系统大小单位
        -k           以kb方式大小输出文件系统大小
        -l           只显示本地文件系统的信息
        -T           显示文件系统类型
        -t           只显示指定的文件系统

 

tune2fs   调整文件系统属性
    格式:
        tune2fs 参数 分区
    常用参数:
 -j       在不损坏原有数据的情况下升级ext2为ext3
 -L       设定或修改卷标(卷名)
 -m       调整预留给超级用户(root)的百分比,默认为5%
 -c       指定挂载次数达到n次之后进行自检,0或-1表示关闭此功能
 -i       每次挂载使用多少天之后进行自检,0或-1表示关闭此功能
 -l       显示超级块中的信息

 

smartctl:(不支持虚拟机或云主机等服务器)
    Smartctl是类Unix系统下SMART的命令行工具,它用于打印SMART自检和错误日志,启用或禁用SMRAT自动检测,以及初始化设备自检等操作
    Smartctl对于Linux物理服务器十分有用,在这些服务器上,可以对智能磁盘进行错误检查,并将与硬件RAID相关的磁盘信息摘录下来

    安装:
        yum -y install smartmontools

    常用选项:
        -i                             打印设备的简略信息,如序列号,转速等
        -s                             设置是否开启smart功能
        -a                             输出关于指定硬盘的所有smart信息
        -H                             打印设备健康状况
        -t  子参数                      执行测试操作,在测试时会对硬盘的性能有一点影响
            常用子参数:
                offline                   进行脱机测试
                short                     运行短时间的自我测试(一般不超过10分钟)
                long                      运行扩展的自我测试(一般时间较长1小时以上)
                select,N-M,               选择对指定范围的磁盘块进行测试而不是整块硬盘


    示例:
        smartctl -i /dev/sdb          检查SMART是否启用,输出的最后一行为Device does not support SMART表示不支持SMART,输出的最后一行为SMART support is: Disabled表示禁用SMART,输出的最后一行为SMART support is: Enabled表示已启用
        smartctl -s on /dev/sdb       启用硬盘的SMART功能
        smartctl -s off /dev/sdb      禁用硬盘的SMART功能
        smartctl -a /dev/sdb          查看硬盘的详细信息
            关键字段说明:
                Raw_Read_Error_Rate:          底层数据读取错误率
                Rotation Rate:                硬盘转数信息,固态硬盘显示Solid State Device
                User Capacity:                硬盘容量
                Start_Stop_Count:             硬盘加电次数
                Power_On_Hours:               硬盘累计使用时长(小时)
                Power-Off_Retract_Count:      非正常关闭硬盘的次数(突然关闭,或者强制热插拔硬盘的次数)
                Temperature_Celsius:          硬盘温度
                Seek_Error_Rate:              寻道错误率

        smartctl -H  /dev/sdb             获取设备的健康状态
        smartctl -t short /dev/sdb        进行短时间的智能测试
        smartctl -l selftest /dev/sdb     查看硬盘的自检结果
        smartctl -c /dev/sdb              计算测试时间的大概值
        smartctl -l error /dev/sdb        打印硬盘错误日志

 

hdparm:
    hdparm命令提供了一个命令行的接口用于在驱动级别读取和设置IDE或SCSI硬盘参数

    安装:
        yum -y install hdparm

    命令格式:
        hdparm 参数 设备


    常用参数:
        -h                      查看帮助信息
        -I                      获取硬盘的详细信息,如序列号,硬盘转述,接口类型等
        -t                      评估硬盘的读取速度(不经过硬盘cache)
        -T                      评估硬盘快取的读取效率(内存中缓存的频繁使用的数据)
        -a                      设置硬盘的预读取功能,对于读取大文件有显著的性能提升
        -A 0/1                  启动或关闭读取文件时的快取功能
        -f                      将内存缓冲区的数据写入硬盘,并清空缓冲区(类似雨sync命令)
        --direct                通常和-t或-T参数一起使用,通过原始io测试硬盘读取速度,更好地指示原始设备和驱动程序的性能
        --drq-hsm-error         非常危险的命令,仅在测试环境中模拟故障时使用,生成环境中千万不要使用
        -g                      显示硬盘的磁轨,磁头,磁区等参数
        -i                      显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供
        -I                      直接读取硬盘所提供的硬件规格信息(从驱动器读取读取硬盘信息)
        --make-bad-sector       非常危险的命令,仅在测试环境中模拟故障时使用,生成环境中千万不要使用(故意创建一个坏扇区,用于测试raid等设备检查扇区的功能)
        -r                      将硬盘设置为自读模式
        -S                      设定硬盘进入省电模式前的等待时间
        -y                      强制IDE驱动器立即进入待机模式
        -Y                      强制IDE驱动器立即进入休眠模式
        -w                      设置硬盘的写入快取


    示例:
        hdparm -I /dev/sha                #获取硬盘的详细信息
        hdparm -C /dev/sda                #检测硬盘的电源管理模式
        hdparm -t                         #测试硬盘的读取速度(不经过cache)
        hdparm -T                         #测试硬盘快取的读取速度
        hdparm -Tt --direct /dev/sda      #测试硬盘的真实读取速度

  其他的一些相关命令:

fsck    检查并修复linux中的文件系统
    格式:
        fsck 参数 文件系统分区
    常用参数:
 -t    指定文件系统类型
 -a    自动修复

e2fsck    专用于修复ext系列的文件系统
    格式:
        e2fsck  参数  文件系统分区
    常用参数:  
        -f    强制检查
 -p    自动修复
mke2fs    专门管理ext系列的文件系统
    格式:
        mke2fs  参数  文件系统分区
    常用参数:
 -j    创建ext3类型的文件系统
 -b    指定块大小,默认为4096,可以值有,1024、2048.4096
 -L    指定卷标
 -m    指定预留给超级用户的块数百分比
 -E    指定额外文件系统属性

blkid    查看当前磁盘设备的相关属性
    格式:
        blkid 文件系统分区 
    字段说明:
        UUID:磁盘的唯一标识符 TYPT:文件系统类型 LABEL:卷标

e2label    查看或重新定义卷标
    格式:
        e2label 文件系统分区  [卷标名] 

    示例:
        e2label /dev/sda1          查看卷标名
        e2label /dev/sda1 test     设置卷标名

其他命令:
    lscpu    用于查询CPU信息
    lshw     用于显示硬件信息表
    hwinfo   用于查询硬件信息
    lsppci   用于列出PCI总线的信息以及连接到PCI总线上的设备信息
    lsblk    用于列出块设备的信息
    lsscsi   用于列出SCSI的设备信息