Linux磁盘和文件系统管理

  1. 磁盘相关概念

    1. 设备类型:

      1. 块设备(block):存取单位为块,典型设备磁盘

      2. 字符设备(char):存取单位为字符,典型设备为键盘

    2. 设备文件:

      1. 关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信。

      2. 如果存在两个相同型号设备,使用两个设备文件,但可能还会关联到同一个驱动程序

      3. 设备文件只有元数据即属性,没有数据内容,属于特殊文件类型

      4. 设备号码:

        主设备号:major number, 标识设备类型

        次设备号:minor number, 标识同一类型下的不同设备

    3. 硬盘

            1. 组成部分

               track:磁道

               cylinder: 柱面

               secotr: 扇区(512bytes)

               如何分区:按柱面

            2. MBR: Master Boot Record,即硬盘的主引导记录(无法识别2T以后的分区)0磁道0扇区:512bytes。

               446bytes: boot loader引导加载器,是一个程序

               64bytes:分区表

               16bytes: 标识一个分区

               2bytes: 55AA(分区有效标识)

               4个主分区;

               3主分区+1扩展(分区表的展指向)(N个逻辑分区,在Linux从5开始编号)

            3. 硬盘接口类型:

                并行:

                    IDE:“Integrated Drive Electronics”电子集成驱动器,把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器,133MB/s

                    SCIS:“Small Computer System Interface”(小型计算机系统接口),640MB/s

                串口:

                    SATA:(Serial ATA)叫串口硬盘,6Gbps

                    SAS:(Serial Attached SCSI)即串行连接SCSI,6Gbps

            4. 磁盘设备的命名标准:

                IDE: /dev/hd(centos5使用)

                SCSI, SATA, SAS, USB: /dev/sd

                                 不同设备:a-z

                                 /dev/sda, /dev/sdb, …

                                 同一设备上的不同分区:1,2, …

                                 /dev/sda1, /dev/sda5


  2. 磁盘分区管理

    1. fdisk命令介绍

      1. 概念:用于观察硬盘实体使用情况,也可对硬盘分区。它采用传统的问答式界面,而非类似DOS fdisk的cfdisk互动式操作界面,因此在使用上较为不便,但功能却丝毫不打折扣,对于一块硬盘来讲,最多只能管理15分区。

      2. 命令语法及主要选项

        1. fdisk [-OPTION] [device…]

                   -l:列出指定的外围设备的分区表状况;

                   -u:搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址;

        fdisk的子命令的管理功能,如下图所示

                      blob.png

                            其中常用命令是:

                            p: print, 显示已有分区;

                            n: new, 创建

                            d: delete, 删除

                            w: write, 写入磁盘并退出

                            q: quit, 放弃更新并退出

                            m: 获取帮助

                            l: 列表所分区id

                            t: 调整分区id                

    1. fdisk的分区功能详解

      1. 创建主分区(最后使用w保存退出)如下图所示:

        blob.png

      2. 创建逻辑分区(最后使用w保存退出),如下图所示:

        blob.png

      3. 使得分区生效

        1. 使用命令:partx -a /dev/DEVICE或者kpartx -a /dev/DEVICE(note:CentOS 5: 使用partprobe),如下图所示: 

        blob.png

        1. 查看是否生效:

          使用命令cat /proc/partitions,如下图所示:

        blob.png]

  3. 文件系统相关概念

    1. Linux文件系统类型

      1. Minix:Minix是Linux支持的第1个文件系统,该文件系统对用户的限制很多,性能很低。其最大缺点是最大只支持64MB的硬盘分区,现在该文件系统类型已无人使用了。

      2. ext2:是Linux使用的,性能很好的文件系统,用于固定文件系统和可活动文件系统。它是作为ext文件系统的扩展而设计的。ext2在Linux所支持的文件系统中,提供最好的性能(在速度和CPU使用方面),简短的说,ext2是Linux的主要文件系统。

      3. ext3:是对ext2增加日志功能后的扩展。是RHEL5中默认使用的文件系统类型。它向前、向后兼容ext2,意为ext2不用丢失数据和格式化就可以转换为ext3,ext3也可以转换为ext2 而不用丢失数据(只要重新安装该分区就行了),强烈推荐使用这种文件系统。 

      4. ext4(centos6):为第4代扩展文件系统,是RHEL6中默认使用的文件系统类型,属于典型的日志型文件系统。其特点是保持有磁盘存取记录的日志数据,便于恢复,性能和稳定性更加出色。 

      5. btrfs(centos7):由Oracle于2007年宣布并进行中的COW(copy-on-write式)文件系统。目标是取代Linux目前的ext3文件系统,改善ext3的限制,特别是单一文件大小的限制,总文件系统大小限制以及加入文件校验和特性。加入目前ext3/4未支持的一些功能,例如可写的磁盘快照(snapshots),以及支持递归的快照(snapshots of snapshots),内建磁盘阵列(RAID)支持,支持子卷(Subvolumes)的概念,允许在线调整文件系统大小。

      6. reiserfs:仍然在完善的带日志文件系统,特别适合小文件的文件系统 

      7. jfs:仍然在完善的带日志文件系统,特别适合小文件的文件系统 

      8. swap:swap文件系统用于Linux的交换分区。在Linux中,使用整个交换分区来提供虚拟内存,其分区大小一般应是系统物理内存的2倍,在安装Linux操作系统时,就应创建交换分区, 它是Linux正常运行所必需的,其类型必须是swap,交换分区由操作系统自行管理。 

      9. 光盘:iso9660:这是一种针对ISO9660标准的CD-ROM文件系统,允许用户在PC、Mac和其他主要计算机平台上读取CD-ROM文件。几乎所有带有CD-ROM的计算机都可以从ISO9660文件系统读取文件。

    2. 其他系统文件系统类型

      1. Windows:fat32, ntfs

      2. Unix: FFS, UFS, JFS2

      3. 网络文件系统:NFS, CIFS

      4. 集群文件系统:GFS2, OCFS2

      5. 分布式文件系统:ceph,                                       

      6. moosefs, mogilefs, GlusterFS, Lustre

    3. 文件系统的组成部分

                内核中的模块:ext4,xfs,vfat

                用户空间的管理工具:mkfs.ext,mkfs.xfs,mkfs.vfat

                Linux的虚拟文件系统:VFS

      note:根据其是否支持"journal"功能:                             

              日志型文件系统: ext3, ext4, xfs, …                    

              非日志型文件系统: ext2, vfat


  4. 文件系统管理

    1. 使用mkfs命令创建文件系统(创建文件系统的过程既是格式化分区)

      1. mkfs.FS_TYPE /dev/DEVICE (文件系统类型有 ext4,xfs,btrfs,vfat),如下图所示:

        blob.png

      2. mkfs -t FS_TYPE /dev/DEVICE,如下图所示:

        blob.png

    2. 使用mke2fs创建文件系统(ext系列文件系统专用管理工具)

      1. 相关选项

        • -t {ext2|ext3|ext4}:选择文件系统类型

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

        • -L 'LABEL':指定卷标

        • -j: 相当于 -t ext3

        • -i #: 为数据空间中每多少个字节创建一个inode(此大小不应该小于block的大小)

        • -N #:为数据空间创建个多少个inode

        • -m #: 为管理人员预留的空间占据的百分比

        • -O FEATURE[,…]:启用指定特性

        •  -O ^FEATURE:关闭指定特性

      2. 使用事例

        blob.png

    3. 创建交换分区

      1. 调整目标分区的id

        blob.png

      2. 使用命令mkswap创建交换分区

        mkswap [options] device

               -L 'LABEL'

        blob.png

    4. 其他工具

      1. blkid:块设备属性信息查看

        blkid [OPTION]… [DEVICE]

              -U UUID: 根据指定的UUID来查找对应的设备

              -L LABEL:根据指定的LABEL来查找对应的设备

        blob.png

      2. e2label:管理ext系列文件系统的LABEL

        e2label DEVICE [LABEL] (可以查看和设定label)

        blob.png

      3. tune2fs:重新设定ext系列文件系统可调整参数的值 

        tune2fs [OPTION]… [DEVICE]

                -l:查看指定文件系统超级块信息;super block

                 -L 'LABEL':修改卷标

                 -m #:修预留给管理员的空间百分比

                 -j: 将ext2升级为ext3

                 -O: 文件系统属性启用或禁用 ^

                 -o: 调整文件系统的默认挂载选项 ^

                 -U UUID: 修改UUID号;

        blob.png

      4. dumpe2fs:查看ext系列文件系统的全局信息

        dumpe2fs device

        -h:查看超级块信息

      5. fsck:文件系统检查命令(Note: FS_TYPE一定要与分区上已经文件类型相同)

        fsck.FS_TYPE /dev/DEVICE

        fsck -t FS_TYPE /dev/DEVICE

            -a: 自动修复错误(存在风险)

            -r: 交互式修复错误

        blob.png

      6. e2fsck:ext系列文件专用的检测修复工具

原创文章,作者:mouse015110,如若转载,请注明出处:http://www.178linux.com/17085

(0)
mouse015110mouse015110
上一篇 2016-06-09
下一篇 2016-06-09

相关推荐

  • 高可用keepalived

    21.高可用之keepalived                keepalived实现wrrp热网关备份:        配置网关上的keepalived,配置文件如下         …

    2017-05-15
  • 磁盘管理(三)逻辑卷快照

      概述:逻辑卷管理(LVM)提供了为任何逻辑卷作一个快照的功能,目的是在一致的状态下来得到一个文件系统的备份.因为在备份过程中,应用程序可能访问一个分区的文件或者数据库.一些文件可能在一个状态被备份,而后面的文件可能在一个更新后被备份,导致备份的不完整 .传统的解决方法是以只读的方式挂载一个分区,对数据库应用表级锁或者关闭数据库的引擎等;所有的措…

    Linux干货 2016-09-05
  • ansible之Playbook中tags使用

    示例:httpd.yml– hosts: websrvsremote_user: roottasks:– name: Install httpdyum: name=httpd state=present – name: Install configure filecopy: src=files/httpd.conf des…

    Linux干货 2018-01-14
  • VIM编辑器

    VIM是什么? Vim是从VI发展出来的一个文本编辑器,拥有许多丰富的功能,便于编程开发,在程序员中被广泛使用,是类Unix系统用户最喜欢的功能强大的跨平台文本文件编辑工具。 为什么要用VIM? vi编辑器是所有类UNIX系统下标准的编辑器,他是我们使用Linux系统不能缺少的工具。对于所有类UNIX系统的任何版本,vi编辑器是完全相同的。而vim是从VI发…

    2017-06-03
  • 利用varnish构建httpd缓存服务器

    varnish如何存储缓存对象:     file: 单个文件;不支持持久机制;     malloc: 缓存在内存中;     persistent:基于文件的持久存储;(此方式不建议使用) vcl:配置缓存系统的缓存机制;【线程中缓存功…

    Linux干货 2016-06-20
  • 高级文件系统管理

    高级文件系统管理 配置配额系统 在内核中执行 以文件系统为单位启用 对不同组或者用户的策略不同 根据快或者节点限制,软限制 soft 硬限制hart 初始化 分区挂载选项 usrquota,grgquota 初始化数据库:quotacheck 执行配置 开启或者取消 quotaon ,quotaoff 直接编辑配额 edquota username 在she…

    Linux干货 2017-05-03