​Linux基础知识之磁盘及文件系统管理(一)

1.设备类型:

    块设备(block):随机访问,数据交换单位是"块"

    字符设备(character):线性访问,数据交换的单位是"字符"

2.设备文件:FHS

    /dev

    设备文件:关联至设备的驱动程序;设备的访问入口

    设备号:

        major:主设备号,区分设备类型;用于标明设备所需要的驱动程序

        minor:次设备号,区分同种类型下的不同设备;是特定设备的访问入口

        设备文件的文件名不是随便定义的是由ICANN(互联网名称分配机制)

    磁盘的并口和串口:

        并口:同一线缆可以接多块设备

            IDE:两块设备,主设备和从设备

            SCSI:宽带:16-1个设备 窄带:8-1个设备

        串口:同一设备上只可以接一个设备

            SATA,SAS

    磁盘命名:

        IDE:/dev/hd[a-z]

            一般就是四个 hda hdb hdc hdd 

        SCSI,SATA,USB,SAS:/dev/sd[a-z]

    引用设备的方式:

        设备文件名:

        卷标:

        UUID:

    分区:/dev/sda# (/dev/sda1,/dev/sda2,…)

    注意:CentOS6和CentOS7统一将硬盘的文件标识为/dev/sd[a-z]#

   磁盘分区:MBR和GPT

    MBR:Master Boot Record(主引导扇区) 512字节

        分为三部分:446bytes:bootloader,引导启动操作系统的程序

              64bytes:FAT,文件系统分区表,每16字节标识一个分区,一共只能有四个分区

              2bytes:说明当前MBR区域的有效性标记 55AA代表为有效

        若当前系统有剩余的空间未被文件系统的分区表所标识,这些剩余的空间将无法使用。

    GPT:GPT是一种新型磁盘模式,与我们常用的MBR磁盘相比更稳定,自纠错能力更强,

        一块磁盘上主分区数量不受(4个的)限制,支持大于2T的总容量及大于2T的分区

        (几乎没有上限,最大支持到128个分区,分区大小支持到256TB

        主分区和扩展分区的标识:1-4 逻辑分区:5+:无论主分区和扩展分区的数量是4个,但是逻辑分区的编号都是从5开始的。

3.mknod命令:

    make block or character special files:创建字符或块的特殊文件

    mknod [OPTION]… NAME TYPE [MAJOR MINOR]

    -m MODE:创建后的设备文件的访问权限

    mknod testv b 1 5 (创建一个名为testv的块设备,主设备号为1,次设备号为5)

4.fdisk命令:用于管理磁盘分区表

    (1)查看磁盘的分区列表

        fdisk -l:列出制定磁盘设备上的分区情况

        fdisk -l /dev/sd[a-z]:查看/dev/sd[a-z]的磁盘分区表

            CentOS6标识的是从哪个柱面开始到哪个柱面结束

            CentOS7标识的是从哪个扇区开始到哪个扇区结束

        Linux正常的分区Id用83来表示,扩展分区Id用5来表示,交换分区Id用82表示

    (2)管理分区

        ①lsblk:列出块设备;

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

        ③fdisk /dev/sd[a-z](device)  

        fdisk提供了一个交互式接口来管理分区,它有许多自命令,分别用于不同的管理功能;

        所有的操作均在内存中完成,没有直接同步到磁盘;只有当使用w保存时,才会同步到磁盘上;

            m:获取fdisk的帮助信息

            n:添加一个新的分区

            w:保存退出

            d:删除一个分区

            t:表示更改一个分区Id号

            l:列出系统上所有的分区类型(已知Id)

            q:不保存并退出

            p:列出系统上已有的分区列表

        ④parted命令:parted的操作都是实时生效的,请小心使用

        parted [options] [device [command [options…]…]]

        parted /dev/DEVICE mklabel gpt|msdos (将磁盘类型改变为GPT|MBR)

        parted /dev/DEVICE print (列出目前本机的分区表资料)

        parted /dev/DEVICE mkpart {primary|logical|extended} [ext3|ext4|xfs|..] 开始 结束

                parted /dev/DEVICE mkpart primary 1 200(默认M)(设置/dev/DEVICE为主分区且分区大小为200M)

                parted /dev/DEVICE mkpart logical ext4 19.2GB 19.7GB

        parted /dev/DEVICE rm 1 将刚才新建的1号磁盘分区删除

        parted -l 显示系统上面所有的磁盘分区

    (3)新建分区

        a.fdisk /dev/sda:管理/dev/sda分区,以/dev/sda为例

        b.使用p命令去查看当前系统上面已有的分区列表

        c.n新建一个分区,当系统上主系统分区和扩展系统分区的和等于4时,即三主一从时,使用n命令会自动创建分区为扩展分区;当主分区和扩展分区的数量小于4时,则需指定为创建主分区或扩展分区(当系统分区中只有小于等于三个主分区并且扩展分区不存在的时候,需要创建扩展分区),之后再去按照说明利用n去创建新的磁盘分区

        d.n键创建完之后会显示添加的逻辑分区(主分区)的分区号,然后回车

        e.显示默认的扇区号(CentOS7系列显示的是扇区号,CentOS6系列显示的是柱面号)

        f.使用+#{K,M,G}选择要添加的分区的大小(KMG)

        g.使用p命令去查看系统上的分区(现在对于磁盘来说还没有被修改,只有使用w退出之后,才能被修改)

        h.确定没有错误了 w保存退出,但是现在的磁盘并没有被内核Kernel所识别

        注意:在已经分区并且已经挂载其中某个分区的磁盘设备上创建的新分区,内核可能在创建完成后无法直接识别;

        使用cat /proc/partitions查看系统上面内核所识别到的磁盘分区,需要通知内核强制重读磁盘分区表paetx -a [device](CentOS6为例)

        使用cat /proc/partitions确保内核已经读取到了所有的新创建的磁盘分区才算成功

    (4)创建文件系统:(元数据和数据)

        格式化:低级格式化和高级格式化

            低级格式化:分区之前,是出厂时由硬件制造厂商开始的,主要为了划分磁道

            高级格式化:分区之后,对于分区进行格式化,创建文件系统

        文件系统分为 元数据区和数据区

            元数据区:

                文件元数据:inode (index node)

                    主要放文件属性信息,大小、权限、属主属组、时间戳、数据块指针等,但不包含文件名,文件名存放于目录

                符号链接文件:存储数据指针的空间当中存储的是真实文件的访问路径;

                设备文件:存储数据指针的空间存储的是设备号(major,minor)

            bitmap index:位图索引

                磁盘块位图索引:

                    在元数据区预留出一部分小空间,存储磁盘块的有无存储,1表示已使用,0表示空闲状态

                inode位图索引:

                    在元数据区预留出一部分小空间,元数据区inode的有无存储,1表示已使用,0表示空闲状态

            数据区:

                需要预留出一部分供管理员进行对于磁盘文件的操作(当磁盘已满或者磁盘出现什么问题)

            超级块:定义了系统上面有多少块组,每个块组从哪个磁盘块到哪个磁盘块的编号

5.cat /proc/partitions 查看系统上面内核识别到的磁盘分区

    通知内核强制重读磁盘分区表:

        CentOS5 7:

            partprobe [device]

        CentOS6:partx kpartx

            partx -a [device]:有时需要使用命令行#遍,才能确保读取磁盘成功。

            kpartx -af [device]

    分区创建工具:

        parted sfdisk

6.文件系统:

    VFS:Virtual File System

        Linux的文件系统:ext2,ext3(CentOS5),ext4(CentOS6),xfs,btrfs(CentOS7),reisefs(反删除内容强)

        光盘:iso9660

        网络文件系统:nfs,cifs

        集群文件系统:gfs2,.ocfs2

        内核级分布式文件系统:ceph

        windows的文件系统:vfat,ntfs

        伪文件系统:proc,sysfs,tmpfs,hugepagefs

        Unix文件系统:UFS,FFS,JFS

        交换文件系统:swap

        用户空间的分布式文件系统:mogilefs,moosefs,glusterfs

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

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

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

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

    文件系统的组成部分:

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

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

    注意:xfs是企业级64位存储工具,文件大小没有上限值

        CentOS5.x默认的是ext3文件系统,CentOS6.x默认使用的ext4文件系统,CentOS7.x默认使用的是xfs文件系统

        CentOS6.x上面默认是没有预装xfs文件系统,使用xfs系统时,需要使用yum源安装xfsprogs,之后才能使用xfs文件系统,

7.链接文件:访问同一个文件的不同路径;

    硬链接:指向同一个inode的多个文件路径

        特性:

        (1)目录不支持硬链接;为了避免循环连接;

        (2)硬链接不能跨文件系统;

        (3)创建硬链接会增加inode引用计数

    符号链接:指向一个文件路径的另一文件路径

        特性:

        (1)符号链接与文件是两个各自独立的文件,各自自己的inode;对原文件创建符号链接不会增加引用计数;

        (2)支持对目录创建符号链接,可以跨文件系统;

        (3)删除符号链接文件不会影响原文件,但是删除原文件,符号指定的路径不存在,此时会变成无效链接;

8.内核级文件系统的组成部分:

    文件系统驱动:由内核提供

    文件系统管理工具:由用户控件的应用程序提供

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

(0)
sjsirsjsir
上一篇 2016-08-29
下一篇 2016-08-29

相关推荐

  • OpenStack私有云部署

    架构 实验环境 角色 主机名 网卡 系统环境 Controller Node controller.qween.com 管理接口eth0:192.168.22.128 外部接口eth1:192.168.36.130CentOS6.8Compute Nodecompute1.qween.com管理接口eth0:192.168.22.129 隧道接口eth1:1…

    2017-12-12
  • Linux源码包安装详解

    安装源码包 安装一个源码包,是需要我们自己把源代码编译成二进制的可执行文件。如果你读得懂这些源代码,那么你就可以去修改这些源代码自定义功能,然后再去编译成你想要的。使用源码包的好处除了可以自定义修改源代码外还可以定制相关的功能,因为源码包在编译的时候是可以附加额外的选项的。 源码包的编译用到了linux系统里的编译器,常见的源码包一般都是用C语言开发的,这也…

    Linux干货 2016-09-06
  • LVS工作原理浅析

    一、什么是LVS         LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。         LVS集群采用IP负载均衡技术和基于内容…

    Linux干货 2016-11-29
  • LVS的四种模型

    相关术语: vs:Virtual Server,Director,Dispatcher,Balancer rs:Real Server,upstream server,backend server lvs集群的类型: lvs-nat:修改请求报文的目标IP lvs-dr:操作封装新的MAC地址; lvs-tun:在原请求IP报文之外新加一个IP首部; lvs…

    Linux干货 2016-10-30
  • Linux简单的磁盘分区、格式化和挂载

     一.分区: 1.查看分区fdisk -l 通过fdisk -l 查看机器所挂硬盘个数及分区情况   2.通过上面的信息,我们知道此机器中挂载两个硬盘分别是:/dev/sda和/dev/sdb, 其中sda有两个主分区/dev/sda1和sda2; 其中sdb有1个扩展类型/dev/sdb3和3个逻辑分区sd…

    Linux干货 2016-02-28
  • N22-第六周作业

    vim小小的总结 (本总结摘自马哥网络班22期课堂笔记) vim是一款交互式的全屏编辑器,是vi的升级版,在vi上增强了很多,如:多级撤销,多窗口和多缓冲区,语法高亮,在线帮助等。 vim也是一种模式化的编辑器。分别是编辑模式也叫命令模式,输入模式,末行模式。其中使用vim打开文件后默认的是编辑模式。 三种模式之间的转换: 编辑模式—>输入模式 &…

    Linux干货 2016-11-21