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

相关推荐

  • LAMP

    备注:本次安装是采用的系统自带的yum源进行安装的 第一步:安装Apache 1:安装apache,命令如下: yum install -y httpd   2:修改httpd.conf,修改ServerName的域名,具体步骤如下: 使用vi编辑器打开apache配置文件,命令如下: vi /etc/httpd/conf/httpd.conf 按…

    Linux干货 2017-10-09
  • 第一篇博客

    我的第一篇博客以及接下来的每一篇都要献给linux运维了。第一次接触linux是在大三的时候,当时并没有想到以后还会和linux邂逅并以此谋生。 首先就从最基础的linux分区与挂载点开始了解介绍,我们熟悉的Windows系统下的分区都分配有盘符,像c盘,d盘之类的,用来存放各种软件和文件。而linux也有自己的分区,并将分区挂载到不同的挂载点上,挂载是指将…

    2017-07-16
  • HA Cluster:keepalived

    HA Cluster 集群类型:LB(lvs/nginx(http/upstream, stream/upstream))、HA、HP 系统可用性的公式:A=MTBF/(MTBF+MTTR) 系统故障: 硬件故障:设计缺陷、wear out、自然灾害 软件故障:设计缺陷 提升系统高用性的解决方案之降低MTTR: 解决方案:冗余(redundant) acti…

    Linux干货 2017-06-26
  • 计算机基础入门及Pyhton基础

    编程基础 计算机基础 程序(program识别并执行的指令 计算机是执行程序的机器 现代计算机 艾伦·麦席森·图灵奠定了现在计算机的逻辑工作方式的基础 冯·诺依曼提出计算机应该有五大部件组成:输入/输出设备、运算器、控制器、输出设备。这是现代计算机基本框架。 语言基础 计算机语言:与计算机之间交互的语言 机器语言:一定位数的二进制代码成为机器指令,指令集合则…

    2017-09-16
  • N26-第一周作业

    1、描述计算机的组成及其功能。 运算器(对数据进行各种算术运算和逻辑运算,即对数据进行加工处理)、控制器(对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问)、存储器(存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息)、I/O      …

    Linux干货 2017-01-13
  • 管理磁盘分区之fdisk详解

    Mozatr的不定期更新,处于学习阶段的Mozart,愿不断分享,不断进步。 此次分享一个重要的管理分区命令:fdisk ,我们一一阐述。 (一)分区 首先我们了解下什么是分区,分区是将一个硬盘驱动器分成若干个逻辑驱动器,分区是把硬盘连续的区块当做一个独立的磁盘使用。分区表是一个硬盘分区的索引,分区的信息都会写进分区表。 分区的优点:  &nbsp…

    Linux干货 2017-08-19