Linux磁盘 - fdisk,partprobe, mkfs, mke2fs, fsck, badblocks, mount, mknod

来源:互联网 发布:vm桥接后没有网络 编辑:程序博客网 时间:2024/05/21 11:24

磁盘分区: fdisk

[root@www ~]# fdisk [-l] 装置名称选项与参数:-l  :输出后面接的装置所有的 partition 内容。若仅有 fdisk -l 时,      则系统将会把整个系统内能够搜寻到的装置的 partition 均列出来。范例:找出你系统中的根目录所在磁盘,并查阅该硬盘内的相关信息[root@www ~]# df /            <==注意:重点在找出磁盘文件名而已Filesystem           1K-blocks      Used Available Use% Mounted on/dev/hdc2              9920624   3823168   5585388  41% /[root@www ~]# fdisk /dev/hdc  <==仔细看,不要加上数字喔!The number of cylinders for this disk is set to 5005.There is nothing wrong with that, but this is larger than 1024,and could in certain setups cause problems with:1) software that runs at boot time (e.g., old versions of LILO)2) booting and partitioning software from other OSs   (e.g., DOS FDISK, OS/2 FDISK)Command (m for help):     <==等待你的输入!


Command (m for help): m   <== 输入 m 后,就会看到底下这些命令介绍Command action   a   toggle a bootable flag   b   edit bsd disklabel   c   toggle the dos compatibility flag   d   delete a partition            <==删除一个partition   l   list known partition types   m   print this menu   n   add a new partition           <==新增一个partition   o   create a new empty DOS partition table   p   print the partition table     <==在屏幕上显示分割表   q   quit without saving changes   <==不储存离开fdisk程序   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)


Command (m for help): p  <== 这里可以输出目前磁盘的状态Disk /dev/hdc: 41.1 GB, 41174138880 bytes        <==这个磁盘的文件名与容量255 heads, 63 sectors/track, 5005 cylinders      <==磁头、扇区与磁柱大小Units = cylinders of 16065 * 512 = 8225280 bytes <==每个磁柱的大小   Device Boot      Start         End      Blocks   Id  System/dev/hdc1   *           1          13      104391   83  Linux/dev/hdc2              14        1288    10241437+  83  Linux/dev/hdc3            1289        1925     5116702+  83  Linux/dev/hdc4            1926        5005    24740100    5  Extended/dev/hdc5            1926        2052     1020096   82  Linux swap / Solaris# 装置文件名 启动区否 开始磁柱    结束磁柱  1K大小容量 磁盘分区槽内的系统Command (m for help): q# 想要不储存离开吗?按下 q 就对了!不要随便按 w 啊!


下半部的分割表信息主要在列出每个分割槽的个别信息项目。每个项目的意义为:

    Device:装置文件名,依据不同的磁盘接口/分割槽位置而变。
    Boot:是否为启动引导块?通常 Windows 系统的 C 需要这块!
    Start, End:这个分割槽在哪个磁柱号码之间,可以决定此分割槽的大小;
    Blocks:就是以 1K 为单位的容量。如上所示,/dev/hdc1 大小为104391K = 102MB
    ID, System:代表这个分割槽内的文件系统应该是啥!不过这个项目只是一个提示而已, 不见得真的代表此分割槽内的文件系统喔!


从上表我们可以发现几件事情:

    整部磁盘还可以进行额外的分割,因为最大磁柱为 5005 ,但只使用到 2052 号而已;
    /dev/hdc5 是由 /dev/hdc4 分割出来的,因为 /dev/hdc4 为 Extended,且 /dev/hdc5 磁柱号码在 /dev/hdc4 之内;

删除磁盘分区槽

# 练习一: 先进入 fdisk 的画面当中去![root@www ~]# fdisk /dev/hdc# 练习二: 先看看整个分割表的情况是如何Command (m for help): pDisk /dev/hdc: 41.1 GB, 41174138880 bytes255 heads, 63 sectors/track, 5005 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes   Device Boot      Start         End      Blocks   Id  System/dev/hdc1   *           1          13      104391   83  Linux/dev/hdc2              14        1288    10241437+  83  Linux/dev/hdc3            1289        1925     5116702+  83  Linux/dev/hdc4            1926        5005    24740100    5  Extended/dev/hdc5            1926        2052     1020096   82  Linux swap / Solaris# 练习三: 按下 d 给他删除吧!Command (m for help): dPartition number (1-5): 4Command (m for help): dPartition number (1-4): 3Command (m for help): pDisk /dev/hdc: 41.1 GB, 41174138880 bytes255 heads, 63 sectors/track, 5005 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes   Device Boot      Start         End      Blocks   Id  System/dev/hdc1   *           1          13      104391   83  Linux/dev/hdc2              14        1288    10241437+  83  Linux# 因为 /dev/hdc5 是由 /dev/hdc4 所衍生出来的逻辑分割槽,因此 /dev/hdc4 被删除,# /dev/hdc5 就自动不见了!最终就会剩下两个分割槽而已喔!Command (m for help): q# 鸟哥这里仅是做一个练习而已,所以,按下 q 就能够离开啰~


# 练习一: 进入 fdisk 的分割软件画面中,并删除所有分割槽:[root@www ~]# fdisk /dev/hdcCommand (m for help): dPartition number (1-5): 4Command (m for help): dPartition number (1-4): 3Command (m for help): dPartition number (1-4): 2Command (m for help): dSelected partition 1# 由于最后仅剩下一个 partition ,因此系统主动选取这个 partition 删除去!# 练习二: 开始新增,我们先新增一个 Primary  的分割槽,且指定为 4 号看看!Command (m for help): nCommand action            <==因为是全新磁盘,因此只会问extended/primary而已   e   extended   p   primary partition (1-4)p                         <==选择 Primary 分割槽Partition number (1-4): 4 <==配置为 4 号!First cylinder (1-5005, default 1): <==直接按下[enter]按键决定!Using default value 1               <==启始磁柱就选用默认值!Last cylinder or +size or +sizeM or +sizeK (1-5005, default 5005): +512M# 这个地方有趣了!我们知道 partition 是由 n1 到 n2 的磁柱号码 (cylinder),# 但磁柱的大小每颗磁盘都不相同,这个时候可以填入 +512M 来让系统自动帮我们找出# 『最接近 512M 的那个 cylinder 号码』!因为不可能刚好等于 512MBytes 啦!# 如上所示:这个地方输入的方式有两种:# 1) 直接输入磁柱的号码,你得要自己计算磁柱/分割槽的大小才行;# 2) 用 +XXM 来输入分割槽的大小,让系统自己捉磁柱的号码。#    +与M是必须要有的,XX为数字Command (m for help): pDisk /dev/hdc: 41.1 GB, 41174138880 bytes255 heads, 63 sectors/track, 5005 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes   Device Boot      Start         End      Blocks   Id  System/dev/hdc4               1          63      506016   83  Linux# 注意!只有 4 号! 1 ~ 3 保留下来了!


# 练习三: 继续新增一个,这次我们新增 Extended 的分割槽好了!Command (m for help): nCommand action   e   extended   p   primary partition (1-4)e    <==选择的是 Extended 喔!Partition number (1-4): 1First cylinder (64-5005, default 64): <=[enter]Using default value 64Last cylinder or +size or +sizeM or +sizeK (64-5005, default 5005): <=[enter]Using default value 5005# 还记得我们在第三章的磁盘分区表曾经谈到过的,扩展分配最好能够包含所有# 未分割的区间;所以在这个练习中,我们将所有未配置的磁柱都给了这个分割槽喔!# 所以在开始/结束磁柱的位置上,按下两个[enter]用默认值即可!Command (m for help): pDisk /dev/hdc: 41.1 GB, 41174138880 bytes255 heads, 63 sectors/track, 5005 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes   Device Boot      Start         End      Blocks   Id  System/dev/hdc1              64        5005    39696615    5  Extended/dev/hdc4               1          63      506016   83  Linux# 如上所示,所有的磁柱都在 /dev/hdc1 里面啰!


# 练习四: 这次我们随便新增一个 2GB 的分割槽看看!Command (m for help): nCommand action   l   logical (5 or over)     <==因为已有 extended ,所以出现 logical 分割槽   p   primary partition (1-4)p   <==偷偷玩一下,能否新增主要分割槽Partition number (1-4): 2No free sectors available   <==肯定不行!因为没有多余的磁柱可供配置Command (m for help): nCommand action   l   logical (5 or over)   p   primary partition (1-4)l   <==乖乖使用逻辑分割槽吧!First cylinder (64-5005, default 64): <=[enter]Using default value 64Last cylinder or +size or +sizeM or +sizeK (64-5005, default 5005): +2048MCommand (m for help): pDisk /dev/hdc: 41.1 GB, 41174138880 bytes255 heads, 63 sectors/track, 5005 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes   Device Boot      Start         End      Blocks   Id  System/dev/hdc1              64        5005    39696615    5  Extended/dev/hdc4               1          63      506016   83  Linux/dev/hdc5              64         313     2008093+  83  Linux# 这样就新增了 2GB 的分割槽,且由于是 logical ,所以由 5 号开始!Command (m for help): q# 鸟哥这里仅是做一个练习而已,所以,按下 q 就能够离开啰~


磁盘格式化(mkfs,mke2fx)

        格式化的命令非常的简单,那就是『make filesystem, mkfs』 这个命令啦!这个命令其实是个综合的命令,他会去呼叫正确的文件系统格式化工具软件!

mkfs

[root@www ~]# mkfs [-t 文件系统格式] 装置文件名选项与参数:-t  :可以接文件系统格式,例如 ext3, ext2, vfat 等(系统有支持才会生效)范例一:请将上个小节当中所制作出来的 /dev/hdc6 格式化为 ext3 文件系统[root@www ~]# mkfs -t ext3 /dev/hdc6mke2fs 1.39 (29-May-2006)Filesystem label=                <==这里指的是分割槽的名称(label)OS type: LinuxBlock size=4096 (log=2)          <==block 的大小配置为 4K Fragment size=4096 (log=2)251392 inodes, 502023 blocks     <==由此配置决定的inode/block数量25101 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=51589939216 block groups32768 blocks per group, 32768 fragments per group15712 inodes per groupSuperblock backups stored on blocks:        32768, 98304, 163840, 229376, 294912Writing inode tables: doneCreating journal (8192 blocks): done <==有日志记录Writing superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 34 mounts or180 days, whichever comes first.  Use tune2fs -c or -i to override.# 这样就创建起来我们所需要的 Ext3 文件系统了!简单明了![root@www ~]# mkfs[tab][tab]mkfs         mkfs.cramfs  mkfs.ext2    mkfs.ext3    mkfs.msdos   mkfs.vfat# 按下两个[tab],会发现 mkfs 支持的文件格式如上所示!可以格式化 vfat 喔!


mke2fs

[root@www ~]# mke2fs [-b block大小] [-i inode大小] [-L 标头] [-cj] 装置选项与参数:-b  :可以配置每个 block 的大小,目前支持 1024, 2048, 4096 bytes 三种;-i  :多少容量给予一个 inode 呢?-c  :检查磁盘错误,仅下达一次 -c 时,会进行快速读取测试;      如果下达两次 -c -c 的话,会测试读写(read-write),会很慢~-L  :后面可以接标头名称 (Label),这个 label 是有用的喔!e2label命令介绍会谈到~-j  :本来 mke2fs 是 EXT2 ,加上 -j 后,会主动加入 journal 而成为 EXT3。

mke2fs 是一个很详细但是很麻烦的命令!因为里面的细部配置太多了!现在我们进行如下的假设:

    这个文件系统的标头配置为:vbird_logical
    我的 block 指定为 2048 大小;
    每 8192 bytes 分配一个 inode ;
    建置为 journal 的 Ext3 文件系统。


[root@www ~]# mke2fs -j -L "vbird_logical" -b 2048 -i 8192 /dev/hdc6mke2fs 1.39 (29-May-2006)Filesystem label=vbird_logicalOS type: LinuxBlock size=2048 (log=1)Fragment size=2048 (log=1)251968 inodes, 1004046 blocks50202 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=53791948862 block groups16384 blocks per group, 16384 fragments per group4064 inodes per groupSuperblock backups stored on blocks:        16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816Writing inode tables: doneCreating journal (16384 blocks): doneWriting superblocks and filesystem accounting information: done# 比较看看,跟上面的范例用默认值的结果,有什么不一样的啊?


filesystem check, fsck

[root@www ~]# fsck [-t 文件系统] [-ACay] 装置名称选项与参数:-t  :如同 mkfs 一样,fsck 也是个综合软件而已!因此我们同样需要指定文件系统。      不过由于现今的 Linux 太聪明了,他会自动的透过 superblock 去分辨文件系统,      因此通常可以不需要这个选项的啰!请看后续的范例说明。-A  :依据 /etc/fstab 的内容,将需要的装置扫瞄一次。/etc/fstab 于下一小节说明,      通常启动过程中就会运行此一命令了。-a  :自动修复检查到的有问题的扇区,所以你不用一直按 y 啰!-y  :与 -a 类似,但是某些 filesystem 仅支持 -y 这个参数!-C  :可以在检验的过程当中,使用一个直方图来显示目前的进度!EXT2/EXT3 的额外选项功能:(e2fsck 这支命令所提供)-f  :强制检查!一般来说,如果 fsck 没有发现任何 unclean 的旗标,不会主动进入      细部检查的,如果您想要强制 fsck 进入细部检查,就得加上 -f 旗标啰!-D  :针对文件系统下的目录进行优化配置。范例一:强制的将前面我们创建的 /dev/hdc6 这个装置给他检验一下![root@www ~]# fsck -C -f -t ext3 /dev/hdc6 fsck 1.39 (29-May-2006)e2fsck 1.39 (29-May-2006)Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary informationvbird_logical: 11/251968 files (9.1% non-contiguous), 36926/1004046 blocks# 如果没有加上 -f 的选项,则由于这个文件系统不曾出现问题,# 检查的经过非常快速!若加上 -f 强制检查,才会一项一项的显示过程。范例二:系统有多少文件系统支持的 fsck 软件?[root@www ~]# fsck[tab][tab]fsck         fsck.cramfs  fsck.ext2    fsck.ext3    fsck.msdos   fsck.vfat


badblocks

[root@www ~]# badblocks -[svw] 装置名称选项与参数:-s  :在屏幕上列出进度-v  :可以在屏幕上看到进度-w  :使用写入的方式来测试,建议不要使用此一参数,尤其是待检查的装置已有文件时![root@www ~]# badblocks -sv /dev/hdc6Checking blocks 0 to 2008093Checking for bad blocks (read-only test): donePass completed, 0 bad blocks found.


挂载与卸除

要进行挂载前,你最好先确定几件事:

    单一文件系统不应该被重复挂载在不同的挂载点(目录)中;
    单一目录不应该重复挂载多个文件系统;
    要作为挂载点的目录,理论上应该都是空目录才是。


mount

[root@www ~]# mount -a[root@www ~]# mount [-l][root@www ~]# mount [-t 文件系统] [-L Label名] [-o 额外选项] \ [-n]  装置文件名  挂载点选项与参数:-a  :依照配置文件 /etc/fstab 的数据将所有未挂载的磁盘都挂载上来-l  :单纯的输入 mount 会显示目前挂载的信息。加上 -l 可增列 Label 名称!-t  :与 mkfs 的选项非常类似的,可以加上文件系统种类来指定欲挂载的类型。      常见的 Linux 支持类型有:ext2, ext3, vfat, reiserfs, iso9660(光盘格式),      nfs, cifs, smbfs(此三种为网络文件系统类型)-n  :在默认的情况下,系统会将实际挂载的情况实时写入 /etc/mtab 中,以利其他程序      的运行。但在某些情况下(例如单人维护模式)为了避免问题,会刻意不写入。      此时就得要使用这个 -n 的选项了。-L  :系统除了利用装置文件名 (例如 /dev/hdc6) 之外,还可以利用文件系统的标头名称      (Label)来进行挂载。最好为你的文件系统取一个独一无二的名称吧!-o  :后面可以接一些挂载时额外加上的参数!比方说账号、密码、读写权限等:      ro, rw:       挂载文件系统成为只读(ro) 或可擦写(rw)      async, sync:  此文件系统是否使用同步写入 (sync) 或异步 (async) 的                    内存机制,请参考文件系统运行方式。默认为 async。      auto, noauto: 允许此 partition 被以 mount -a 自动挂载(auto)      dev, nodev:   是否允许此 partition 上,可创建装置文件? dev 为可允许      suid, nosuid: 是否允许此 partition 含有 suid/sgid 的文件格式?      exec, noexec: 是否允许此 partition 上拥有可运行 binary 文件?      user, nouser: 是否允许此 partition 让任何使用者运行 mount ?一般来说,                    mount 仅有 root 可以进行,但下达 user 参数,则可让                    一般 user 也能够对此 partition 进行 mount 。      defaults:     默认值为:rw, suid, dev, exec, auto, nouser, and async      remount:      重新挂载,这在系统出错,或重新升级参数时,很有用!


挂载Ext2/Ext3文件系统


范例一:用默认的方式,将刚刚创建的 /dev/hdc6 挂载到 /mnt/hdc6 上面![root@www ~]# mkdir /mnt/hdc6[root@www ~]# mount /dev/hdc6 /mnt/hdc6[root@www ~]# dfFilesystem           1K-blocks      Used Available Use% Mounted on.....中间省略...../dev/hdc6              1976312     42072   1833836   3% /mnt/hdc6# 看起来,真的有挂载!且文件大小约为 2GB 左右啦!


范例一:用默认的方式,将刚刚创建的 /dev/hdc6 挂载到 /mnt/hdc6 上面![root@www ~]# mkdir /mnt/hdc6[root@www ~]# mount /dev/hdc6 /mnt/hdc6[root@www ~]# dfFilesystem           1K-blocks      Used Available Use% Mounted on.....中间省略...../dev/hdc6              1976312     42072   1833836   3% /mnt/hdc6# 看起来,真的有挂载!且文件大小约为 2GB 左右啦!


挂载 CD 或 DVD 光盘

范例三:将你用来安装 Linux 的 CentOS 原版光盘拿出来挂载![root@www ~]# mkdir /media/cdrom[root@www ~]# mount -t iso9660 /dev/cdrom /media/cdrom[root@www ~]# mount /dev/cdrom /media/cdrom # 你可以指定 -t iso9660 这个光盘片的格式来挂载,也可以让系统自己去测试挂载!# 所以上述的命令只要做一个就够了!但是目录的创建初次挂载时必须要进行喔! [root@www ~]# dfFilesystem           1K-blocks      Used Available Use% Mounted on.....中间省略...../dev/hdd               4493152   4493152         0 100% /media/cdrom# 因为我的光驱使用的是 /dev/hdd 的 IDE 接口之故!


格式化与挂载软盘

范例四:格式化后挂载软盘到 /media/floppy/ 目录中。[root@www ~]# mkfs -t vfat /dev/fd0# 我们格式化软盘成为 Windows/Linux 可共同使用的 FAT 格式吧![root@www ~]# mkdir /media/floppy[root@www ~]# mount -t vfat /dev/fd0 /media/floppy[root@www ~]# dfFilesystem           1K-blocks      Used Available Use% Mounted on.....中间省略...../dev/fd0                  1424       164      1260  12% /media/floppy


挂载闪盘

范例五:找出你的闪盘装置文件名,并挂载到 /mnt/flash 目录中[root@www ~]# fdisk -l.....中间省略.....Disk /dev/sda: 8313 MB, 8313110528 bytes59 heads, 58 sectors/track, 4744 cylindersUnits = cylinders of 3422 * 512 = 1752064 bytes   Device Boot      Start         End      Blocks   Id  System/dev/sda1               1        4745     8118260    b  W95 FAT32# 从上的特殊字体,可得知磁盘的大小以及装置文件名,知道是 /dev/sda1 [root@www ~]# mkdir /mnt/flash[root@www ~]# mount -t vfat -o iocharset=cp950 /dev/sda1 /mnt/flash[root@www ~]# dfFilesystem           1K-blocks      Used Available Use% Mounted on.....中间省略...../dev/sda1              8102416   4986228   3116188  62% /mnt/flash

如果带有中文文件名的数据,那么可以在挂载时指定一下挂载文件系统所使用的语系数据。 在 man mount 找到 vfat 文件格式当中可以使用 iocharset 来指定语系,而中文语系是 cp950 , 所以也就有了上述的挂载命令项目啰。


范例六:将 / 重新挂载,并加入参数为 rw 与 auto[root@www ~]# mount -o remount,rw,auto /


范例七:将 /home 这个目录暂时挂载到 /mnt/home 底下:[root@www ~]# mkdir /mnt/home[root@www ~]# mount --bind /home /mnt/home[root@www ~]# ls -lid /home/ /mnt/home2 drwxr-xr-x 6 root root 4096 Sep 29 02:21 /home/2 drwxr-xr-x 6 root root 4096 Sep 29 02:21 /mnt/home[root@www ~]# mount -l/home on /mnt/home type none (rw,bind)


umount (将装置文件卸除)

[root@www ~]# umount [-fn] 装置文件名或挂载点选项与参数:-f :强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下;-n :不升级 /etc/mtab 情况下卸除。


[root@www ~]# umount [-fn] 装置文件名或挂载点选项与参数:-f :强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下;-n :不升级 /etc/mtab 情况下卸除。


[root@www ~]# mount /dev/cdrom /media/cdrom[root@www ~]# cd /media/cdrom[root@www cdrom]# umount /media/cdromumount: /media/cdrom: device is busyumount: /media/cdrom: device is busy


使用 Label name 进行挂载的方法

范例九:找出 /dev/hdc6 的 label name,并用 label 挂载到 /mnt/hdc6 [root@www ~]# dumpe2fs -h /dev/hdc6Filesystem volume name:   vbird_logical.....底下省略.....# 找到啦!标头名称为 vbird_logical 啰![root@www ~]# mount -L "vbird_logical" /mnt/hdc6

mknod

常见的硬盘文件名 /dev/hda 与 /dev/sda 装置代码如下所示:

磁盘文件名MajorMinor/dev/hda30~63/dev/hdb364~127/dev/sda80-15/dev/sdb816-31

[root@www ~]# mknod 装置文件名 [bcp] [Major] [Minor]选项与参数:装置种类:   b  :配置装置名称成为一个周边储存设备文件,例如硬盘等;   c  :配置装置名称成为一个周边输入设备文件,例如鼠标/键盘等;   p  :配置装置名称成为一个 FIFO 文件;Major :主要装置代码;Minor :次要装置代码;范例一:由上述的介绍我们知道 /dev/hdc10 装置代码 22, 10,请创建并查阅此装置[root@www ~]# mknod /dev/hdc10 b 22 10[root@www ~]# ll /dev/hdc10brw-r--r-- 1 root root 22, 10 Oct 26 23:57 /dev/hdc10# 上面那个 22 与 10 是有意义的,不要随意配置啊!范例二:创建一个 FIFO 文件,档名为 /tmp/testpipe[root@www ~]# mknod /tmp/testpipe p[root@www ~]# ll /tmp/testpipeprw-r--r-- 1 root root 0 Oct 27 00:00 /tmp/testpipe# 注意啊!这个文件可不是一般文件,不可以随便就放在这里!# 测试完毕之后请删除这个文件吧!看一下这个文件的类型!是 p 喔!^_^


e2label

        我们在 mkfs 命令介绍时有谈到配置文件系统标头 (Label) 的方法。 那如果格式化完毕后想要修改标头呢?就用这个 e2label 来修改了。那什么是 Label 呢? 我们拿你曾用过的 Windows 系统来说明。当你打开『文件总管』时,C/D等槽不是都会有个名称吗? 那就是 label (如果没有配置名称,就会显示『本机磁盘驱动器』的字样)

        这个东西除了有趣且可以让你知道磁盘的内容是啥玩意儿之外,也会被使用到一些配置文件案当中! 举例来说,刚刚我们聊到的磁盘的挂载时,不就有用到 Label name 来进行挂载吗? 目前 CentOS 的配置文件,也就是那个 /etc/fstab 文件的配置都默认使用 Label name 呢! 那这样做有什么好处与缺点呢?

    优点:不论磁盘文件名怎么变,不论你将硬盘插在哪个 IDE / SATA 接口,由于系统是透过 Label ,所以,磁盘插在哪个接口将不会有影响;

    缺点:如果插了两颗硬盘,刚好两颗硬盘的 Label 有重复的,那就惨了~ 因为系统可能会无法判断哪个磁盘分区槽才是正确的!


[root@www ~]# e2label 装置名称  新的Label名称范例一:将 /dev/hdc6 的标头改成 my_test 并观察是否修改成功?[root@www ~]# dumpe2fs -h /dev/hdc6Filesystem volume name:   vbird_logical  <==原本的标头名称.....底下省略.....[root@www ~]# e2label /dev/hdc6 "my_test"[root@www ~]# dumpe2fs -h /dev/hdc6Filesystem volume name:   my_test        <==改过来啦!.....底下省略.....


tune2fs

[root@www ~]# tune2fs [-jlL] 装置代号选项与参数:-l  :类似 dumpe2fs -h 的功能~将 superblock 内的数据读出来~-j  :将 ext2 的 filesystem 转换为 ext3 的文件系统;-L  :类似 e2label 的功能,可以修改 filesystem 的 Label 喔!范例一:列出 /dev/hdc6 的 superblock 内容[root@www ~]# tune2fs -l /dev/hdc6


hdparm

[root@www ~]# hdparm [-icdmXTt] 装置名称选项与参数:-i  :将核心侦测到的硬盘参数显示出来!-c  :配置 32-bit (32位)存取模式。这个 32 位存取模式指的是在硬盘在与       PCI 接口之间传输的模式,而硬盘本身是依旧以 16 位模式在跑的!      默认的情况下,这个配置值都会被打开,建议直接使用 c1 即可!-d  :配置是否激活 dma 模式, -d1 为启动, -d0 为取消;-m  :配置同步读取多个 sector 的模式。一般来说,配置此模式,可降低系统因为      读取磁盘而损耗的效能~不过, WD 的硬盘则不怎么建议配置此值~      一般来说,配置为 16/32 是优化,不过,WD 硬盘建议值则是 4/8 。      这个值的最大值,可以利用 hdparm -i /dev/hda 输出的 MaxMultSect      来配置喔!一般如果不晓得,配置 16 是合理的!-X  :配置 UtraDMA 的模式,一般来说, UDMA 的模式值加 64 即为配置值。      并且,硬盘与主板芯片必须要同步,所以,取最小的那个。一般来说:      33 MHz DMA mode 0~2 (X64~X66)      66 MHz DMA mode 3~4 (X67~X68)      100MHz DMA mode 5   (X69)      如果您的硬盘上面显示的是 UATA 100 以上的,那么配置 X69 也不错!-T  :测试缓存区 cache 的存取效能-t  :测试硬盘的实际存取效能 (较正确!)范例一:取得我硬盘的最大同步存取 sector 值与目前的 UDMA 模式[root@www ~]# hdparm -i /dev/hdc Model=IC35L040AVER07-0, FwRev=ER4OA41A, SerialNo=SX0SXL98406 <==硬盘的厂牌型号 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs } RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=40 BuffType=DualPortCache, BuffSize=1916kB, MaxMultSect=16, MultSect=16 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=80418240 IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes:  pio0 pio1 pio2 pio3 pio4 DMA modes:  mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 <==有 * 为目前的值 AdvancedPM=yes: disabled (255) WriteCache=enabled Drive conforms to: ATA/ATAPI-5 T13 1321D revision 1:      ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5# 这颗硬盘缓冲存储器只有 2MB(BuffSize),但使用的是 udma5 !还可以。范例二:由上个范例知道最大 16 位/UDMA 为 mode 5,所以可以配置为:[root@www ~]# hdparm -d1 -c1 -X69 /dev/hdc范例三:测试这颗硬盘的读取效能[root@www ~]# hdparm -Tt /dev/hdc/dev/hdc: Timing cached reads:   428 MB in  2.00 seconds = 213.50 MB/sec Timing buffered disk reads:  114 MB in  3.00 seconds =  38.00 MB/sec

0 0
原创粉丝点击