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

相关推荐

  • 实现CenOS7网卡名传统方式

    网卡命令:理念 CentOS 6之前,网络接口使用连续号码命名:eth0、eth1等,当 增加或删除网卡时,名称可能会发生变化 CentOS 7使用基于硬件,设备拓扑和设置类型命名: (1) 网卡命名机制 systemd对网络设备的命名方式 (a) 如果Firmware或BIOS为主板上集成的设备提供的索引信 息可用,且可预测则根据此索引进行命名, 例如en…

    Linux干货 2017-12-19
  • 图文演示Netmeeting的三大功能

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/153578     可能很多朋友对Netmeeting有一定认识,但我想真正用过的朋友应该不多,因为类似的软件太多太多了,所以Netmeet…

    Linux干货 2015-03-25
  • 正则表达式应用

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。    cp -a /etc/skel /home/tuser1    chmod g-x /home/tuser1…

    Linux干货 2016-12-24
  • 第五周学习总结–任务计划

    写在前面 随着学习的不断深入,渐渐的已经意识到不再是开始一天只知道几个简单的命令而已了,但是呢,命令还必须要继续学习的,修房子哪有不用砖的,所以,要想有一栋坚实稳固的房子,还必须静下心来继续认识命令。 命令注解 今天要讲的几个命令是跟工作息息相关的,他们都是在以后的生活中使用率比较高的命令之一,比如马上要讲的这个,如果你的老板让你在每天凌晨三点执行一次数据备…

    2017-12-29
  • centos 7 修改sshd服务默认端口号

    由于最近sshd服务默认端口号22被匿名进行试探性的进行登入,为防止匿名用户再次进行试探性的登入,将sshd服务的默认端口号进行修改。 环境:centos 7.3  xshell 思路:先将sshd的被指文件进行修改,把sshd服务的默认端口号修改为所需要的端口号,然后重启sshd服务,发现重启报错。找其原因是应为selinux不允许自定义sshd…

    Linux干货 2017-04-06
  • shell脚本编程之if条件判断与for、while、until循环

    一、if语句 语法: if 测试条件1 ; then        分支1 elif  测试条件2; then        分支2 … else&nbsp…

    Linux干货 2015-08-24