首页 > 代码库 > Linux之磁盘管理

Linux之磁盘管理

一:磁盘的分区

         磁盘分区工具:fdisk,sfdisk,parted

         我们主要讲解一下fdisk工具的用法。

首先我们要了解磁盘分区的信息在哪里存放,每个磁盘都有一个MBRMaster Boot Record)主引导分区来引导启动系统,大小为512bytes。而MBR又分为两部分:第一部分是存放引导程序的,大小为446bytes,第二部分存放分区表位64bytes,每一个分区标记规定占用空间16bytes,所以一个磁盘可有4个主分区。

而实际应用中4个分区是完全不够的,那么就需要将一个分区创建为扩展分区,在扩展分区下再创建逻辑分区即可。

分区编号:主分区+扩展分区(1-4

          逻辑分区号(5+

fdisk命令:

          fdisk  [DEVICE]         最多支持15个分区,工具性能所限

          -l 查看电脑磁盘数量

    p:print显示当前磁盘信息

           n:new创建新分区

           d:del删除分区

           t:调整分区ID

           w:存盘退出

           q:放弃退出

           l:列出所有已知的系统ID

           *对于已处于使用状态且已有分区,新建分区后需要让内核重读其分区表

           CentOS5中使用partprobe  [DEVICE]

           CentOS6中使用kpartx  -af [DEVICE]

                        Partx    -a[DEVICE]

                        -a是添加磁盘 

                        -f是强制读取

wKiom1PLcrjhNWifAAH1NPhLz4g641.jpg

 

 wKiom1PLc4SQfTSVAACSq4bwOpw912.jpg

 wKioL1PLdMHiNNvsAANWZBe2lUk261.jpg

         创建完成后保存在/proc/partitions中可以看到内核所读取到的分区信息

     wKioL1PLdQGgZykOAACj7xj6xek825.jpg

二:创建文件系统

    磁盘分区结束后就要创建文件系统已确保系统可识别磁盘

    文件系统格式:

        ext2:无日志功能

        ext3ext4xfs:日志文件系统

        swap交换分区

mkfs:make filesystem

        -tFSTYPE [DEVICE]

    mke2fs:专门用来创建ext文件系统的工具,也是我们最常用的工具

        -b{1024|2048|4096} :指定块大小

        -t{ext2|ext3|ext4}:指定文件系统格式

        -LLABEL:指定卷标

        -j:相当于-t ext3

        -I#:每多少字节给创建一个inode,此字节数不应该小于磁盘块大小

        -N#:直接指定可用的inode

        -m#:指定预留空间占空间整个分区空间的百分比,默认为5%

    e2label:查看或设定卷标

        e2labelDEVICE [LABEL]

        blkid:查看指定块设备的信息

        dumpe2fs–h DEVICE查看超级块信息

        tune2fs–l DEVICE查看超级块信息

        tune2fs也可修改磁盘分区属性

              无法修改块大小    

              -j:能将ext2升级到ext3

              -LLABEL:修改卷标

              -m#:修改预留空间百分比

              -rreserved-blocks-count调整系统保留空间

              -O[^]FEATURE:启用指定特性,特性前加^表示关闭

              -o[^] mount-options:开启或关闭指定的挂载选项

    系统修复:

    因进程意外中止或系统崩溃等情况导入写入操作非正常中止时,可能会导致文件损坏;此时,应

    该修复文件系统:

        注意:离线修复    

        fsck  检查文件系统并尝试修复错误。

              -a:自动修复文件系统,不询问任何问题

              -A:根据/etc/fstab配置文件,检测文件内所有的全部文件系统

              -N:不执行指令,只列出实际执行会进行的动作

              -r:采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式

              -t<文件系统类型>:指定要检测的文件系统类型

        e2fsck:专用于修改ext系列文件系统

              -y:对问题自动回答为yes

              -f:强制进行检测

三:交换分区:swap

         交换分区的作用,缓解内存资源

         mkswap:创建创建交换分区

                mkswap  [-L LABEL] DEVICE

  创建swap分区要注意,在创建磁盘分区的时候磁盘ID要选为82,即Linux swap格式

         查看当前系统SWAP空间大小:free

         -m:转换单位为Mfree默认为K

         swaponDEVICE:启用swap

                -a:all启用所有交换分区设备

                -p#:指定此交换设备的优先级

                -s:查看当前swap,等同于cat/etc/proc/swaps

         swapoffDEVICE:关闭交换分区设备

                -a:禁用所有swap设备

四:挂载

         将额外的分区与根文件目录建立关联的过程

         挂载会隐藏文件中原有的文件,所以最好选择空目录或创建新目录用来挂载

         挂载命令:mount

         卸载命令:umount

         挂载:系统的挂载点是/mnt,/media

              挂载权限默认只有管理员才有

           挂载目录要事先存在

      mount: mountDEVICE  MOUNT_POINT

                mount  [option ]… [-t fstab]   [-o option] 设备   挂载点

                   option是命令参数,-ooption是挂载参数

                   -t fstab:指定文件系统类型

                   -r:readonly只读挂载

                   -w:read and write 读写挂载

                   -L  LABEL:以卷标方式指定设备,mount –L 卷标 挂载点

                   -UUUID:UUID的方式指定设备,mount UUID=’uuid’ 挂载点 

                                               mount–U uuid 挂载点

                   -a:自动挂载所有(在/etc/fstab中定义了的)的支持自动挂载设备

                            -n:挂载是不更新/etc/mtab文件

                   -ooption 挂载选项

                            Option多参数之间用逗号‘,’分隔

async:异步I/O,数据写操作先于内存完成,而后再根据某种策略同步至持久设备中

                   sync:同步I/O

                   atime/noatime:文件和目录被访问时是更新最近一次的访问时间戳

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

                   diratime/nodiratime:目录被访问时是更新最近一次的访问时间戳

                   dev/nodev:是否支持在此设备上使用设备;

                   exec/noexec:是否允许执行此设备上的二进制程序文件

                   suid/nosuid:是否支持在此设备的文件上使用suid

                   remount:重新挂载,通常用于不卸载的情况下重新指定挂载选项

                   ro:只读

                   rw:读写

                   user/nouser:是否允许普通挂载此文件设备

                   acl:在此设备是支持使用facl,默认不支持;

                       例:指定挂载后支持acl

                           方法1mount –o aclDEVICE  挂载点

                           方法2tune2fs –oacl DEVCE  为设备设定默认挂载选项

    查看所有挂载的设备

                   cat  /proc/mounts

                   cat  /etc/mtab

                   fuser  –v 挂载点  :查看哪些进程正在访问挂载的设备               

                   fuser  -km 挂载点 :终止正在访问挂载的用户

                   df:查看挂载情况

                      -h:转换单位为M

                      -i:显示inode使用信息,而非默认磁盘信息

                     /etc/fstab:自动挂载的设备的配置文件

wKioL1PLd12z7qtAAACqtG-ZVJU210.jpg

     六段内容分别代表的含义:从左向右解释

        1,  挂载的设备

            设备文件

            LABEL

            UUID

        2,  挂载点

        3,  文件系统类型

        4,  挂载选项:挂载选项可以有多个,彼此之间使用逗号分隔

        5,  转储频率

        0:从不转储

        1:每天转储

        2:每隔一天转储

        6,  自检次序

        0:不自检,额外创建的文件系统都无须自动自检

        1:首先自检,通常只有根文件系统需要首先自检

        2:次级自检,不同的设备可以使用同一个自检次序

        3

        ...

五:卸载

         卸载必须离线进行,也就是说没有被进程访问

         umountDEVICE

         umountMOUNT_POINT

         umount:

         -a:卸载/etc/fstab中记录的所有文件系统

         -h:显示帮助

         -n:卸载时不要将信息存入/etc/mtab文件中

         -v:执行时显示详细的信息

         -V:显示版本信息

 

END


本文出自 “aolens·程超” 博客,请务必保留此出处http://aolens.blog.51cto.com/7021142/1440526

Linux之磁盘管理