Linux磁盘知识,分区与文件系统

硬件设备在Linux系统中的表现

    设备文件

     I/O Ports: I/O设备地址

     一切皆文件:

        open(), read(), write(), close()

     设备类型:

        块设备: block,存取单位“块”,磁盘

        字符设备: char,存取单位“字符”,键盘

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

     设备号码:

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

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

   

硬盘接口类型

并行:

    IDE: 133MB/s

    SCSI: 640MB/s

串口:

        SATA: 6Gbps

        SAS: 6Gbps

        USB: 480MB/s

    rpm: rotations per minute(转速)


设备文件

磁盘设备的设备文件命名: /dev/DEV_FILE

IDE: /dev/hd

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

    不同设备: a-z

    /dev/sda, /dev/sdb, …

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

    /dev/sda1, /dev/sda5


硬盘物理结构


    硬盘存储术语

     head:磁头

     track:磁道

     cylinder: 柱面

     secotr: 扇区, 512bytes

   

        使用分区空间

         设备识别

         设备分区

         创建文件系统

         标记文件系统

         在/etc/fstab文件中创建条目

         挂载新的文件系统


    磁盘分区

为什么是分区?

优化I/O性能

实现磁盘空间配额限制

提高修复速度

隔离系统和程序

安装多个OS

硬盘分区

       为什么是分区?

        优化I/O性能

        实现磁盘空间配额限制

        提高修复速度

        隔离系统和程序

        安装多个OS


    分区

     两种分区方式: MBR, GPT

     MBR: Master Boot Record, 1982年, 使用32位表示扇区数,分区不超过2T

     如何分区:按柱面

     0磁道0扇区: 512bytes

        446bytes: boot loader

        64bytes:分区表

        16bytes: 标识一个分区

        2bytes: 55AA

      4个主分区; 3主分区+1扩展(N个逻辑分区)


    MBR分区结构


    GPT分区

         GPT:GUID patition table 支持128个分区,使用64位,支

        持8Z(512Byte/block ) 64Z (4096Byte/block)

         使用128位UUID 表示磁盘和分区 GPT分区表自动备份在头

        和尾两份,并有CRC校验位

         UEFI (统一扩展固件接口)硬件支持GPT


        GPT分区结构

        EFI部分又可以分为4个区域: EFI信息区(GPT头)、分区表、 GPT分区、备份区域

    管理分区

         列出块设备

        blkid

         创建分区使用:

            fdisk 创建MBR分区,也支持GPT,对于一块硬盘,最多只能管理15分区

            gdisk 创建GPT分区

            GNU parted 高级分区操作(创建、复制、调整大小等等)

         partprobe-重新设置内存中的内核分区表版本

         fdisk /dev/sdb

         gfisk /dev/sdb

         # fdisk -l [-u] [device…]

         子命令:

         p 分区列表

         t 更改分区类型

         n 创建新分区

         d 删除分区

         w 保存并退出

         q 不保存并退出

        分区工具fdisk和gdisk

    

    同步分区表

         查看内核是否已经识别新的分区:

        # cat /proc/partations

           通知内核重新读取硬盘分区表

            新增分区用

        partx -a -n M:N /dev/DEVICE

        kpartx -a /dev/DEVICE -f: force

    删除分区用

        partx -d -n M:N /dev/DEVICE

        centos6: –nr N-M

         CentOS 5, 7: 使用partprobe

         partprobe [/dev/DEVICE]

    

    parted命令

         parted的操作都是实时生效的,小心使用

         用法: parted [选项]… [设备 [命令 [参数]…]…]

        parted /dev/sdb mklabel gpt|msdos

        parted /dev/sdb print

        parted /dev/sdb mkpart primary 1 200 (默认M)

        parted /dev/sdb rm 1

        parted -l

    

    文件系统

         文件系统是操作系统用于明确存储设备或分区上的文件的方

        法和数据结构;即在存储设备上组织文件的方法。操作系统

        中负责管理和存储文件信息的软件结构称为文件管理系统,

        简称文件系统。

         从系统角度来看,文件系统是对文件存储设备的空间进行组

        织和分配,负责文件存储并对存入的文件进行保护和检索的

        系统。具体地说,它负责为用户建立文件,存入、读出、修

        改、转储文件,控制文件的存取,安全控制,日志,压缩,

        加密等。

    

    文件系统类型

     Linux文件系统: ext2, ext3, ext4, xfs( SGI) , btrfs(

            Oracle) , reiserfs, jfs( AIX) , swap

            swap: 交换分区

        光盘: iso9660

     Windows: fat32, ntfs

     Unix: FFS( fast) , UFS( unix) , JFS2

     网络文件系统: NFS, CIFS

     集群文件系统: GFS2, OCFS2( oracle)

     分布式文件系统: ceph, moosefs, mogilefs, glusterfs,Lustre

     RAW:未经处理或者未经格式化产生的文件系统

    

    文件系统分类

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

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

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

        文件系统的组成部分:

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

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

         Linux的虚拟文件系统: VFS

         查前支持的文件系统: cat /proc/filesystems  

    

    创建文件系统

             mkfs命令:

            (1) # mkfs.FS_TYPE /dev/DEVICE

            ext4

            xfs

            btrfs

            vfat

            (2) # mkfs -t FS_TYPE /dev/DEVICE

            -L 'LABEL': 设定卷标

    

    创建ext文件系统

         mke2fs: ext系列文件系统专用管理工具

        -t {ext2|ext3|ext4}

        -b {1024|2048|4096}

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

(0)
317376161317376161
上一篇 2016-08-29 11:46
下一篇 2016-08-29 11:46

相关推荐

  • 马哥教育网络班21期+第一周课程练习

    一、计算机的组成及其功能 自上个世纪40年代开始截止到目前,我们所有的计算机包括手持的智能终端设备,它们整个组织体系设备都是遵循冯诺依曼体系结构。 现代计算机设备的组成部分: 运算器、控制器、存储器、输入设备、输出设备 控制器:控制器是整个计算机的枢纽,一般是控制计算机整个部件之间协调的,比如运算器要想运算的话,首先得从存储器中取出数值。或者输入设备输入数。…

    Linux干货 2016-07-07
  • 第九周作业

    第九周作业

    Linux干货 2017-11-13
  • 正则表达式简述

    bashshell中的正则表达式         俗话说,工欲善其事,必先利其器。由于很多Linux的文本处理工具普遍使用到了正则表达式,因此,不理解正则表达式就无法愉快的从事Linux日常系统管理。那什么是正则表达式呢?         正则表达式(Regu…

    Linux干货 2015-05-23
  • class9 bash编程基础(一)

    一、编程基础 程序:指令+ 数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell 程序:提供了编程能力,解释执行 程序的执行方式 计算机:运行二进制指令; 编程语言: 低级:汇编 高级: 编译:高级语言–> 编译器–> 目标代码   &n…

    Linux干货 2016-08-15
  • yum命令的用法

    1.列出所有可更新的软件清单命令:yum check-update 2.安装所有更新软件命令:yum update 3.仅安装指定的软件命令:yum install <package_name> 4.仅更新指定的软件命令:yum update <package_name> 5.列出所有可安裝的软件清单命令:yum list 用YUM安…

    Linux干货 2017-08-11
  • 在CentOS 6上编译安装LAMP

    在CentOS 6上编译安装LAMP     在生产中如果需要使用较新的服务,而系统提供的rpm包又较老时该怎么办呢?其实应用程序的安装方式有多种,如:使用系统发行商提供rpm包或者下载源码包手动编译安装也是可以的。今天我们编译的服务不是一个单独的而是一套。这套黄金搭档从诞生之初到现在已经经过无数用户的验证,各大电商站点、门户网站、以及各…

    Linux干货 2017-04-23