初学者的磁盘与系统文件管理

    技术2022-07-11  100

    初学者的磁盘与系统文件管理

    文章目录

    初学者的磁盘与系统文件管理一、磁盘基础知识磁盘结构磁盘接口固态硬盘(SSD)MBR与磁盘分区表示MBR 磁盘分区结构XFS文件系统SWAP,文件交换系统(虚拟内存) 二、Linux fdisk命令实例fdisk分区实验1)进入磁盘/sdb 配置2)键入n,创建新分区3)键入p,设置主分区4)键入1,设置分区号为15)容量配置6)确认分区大小7)逻辑分区建立8)e 扩展,键入e9)回车,默认设置到最后10)键入n,创建新的分区11)键入l,创建逻辑分区,编号512)逻辑分区容量设置13)键入w,保存并退出14)查看

    一、磁盘基础知识

    磁盘结构

    磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。早期计算机使用的磁盘是软磁盘(Floppy Disk,简称软盘),如今常用的磁盘是硬磁盘(Hard disk,简称硬盘)

    硬盘主要由磁盘盘片、磁头、主轴与传动轴等组成,数据就存放在磁盘盘片中。大家见过老式的留声机吗?留声机上使用的唱片和我们的磁盘盘片非常相似,只不过留声机只有一个磁头,而硬盘是上下双磁头,盘片在两个磁头中间高速旋转

    什么是磁道呢?每个盘片都在逻辑上有很多的同心圆,最外面的同心圆就是 0 磁道。我们将每个同心圆称作磁道(注意,磁道只是逻辑结构,在盘面上并没有真正的同心圆)。硬盘的磁道密度非常高,通常一面上就有上千个磁道。但是相邻的磁道之间并不是紧挨着的,这是因为磁化单元相隔太近会相互产生影响

    那扇区又是十么呢?扇区其实是很形象的,大家都见过折叠的纸扇吧,纸扇打开后是半圆形或扇形的,不过这个扇形是由每个扇骨组合形成的。在磁盘上每个同心圆是磁道,从圆心向外呈放射状地产生分割线(扇骨),将每个磁道等分为若干弧段,每个弧段就是一个扇区。每个扇区的大小是固定的,为 512Byte。扇区也是磁盘的最小存储单位

    柱面又是什么呢?如果硬盘是由多个盘片组成的,每个盘面都被划分为数目相等的磁道,那么所有盘片都会从外向内进行磁道编号,最外侧的就是 0 磁道。具有相同编号的磁道会形成一个圆柱,这个圆柱就被称作磁盘的柱面

    硬盘的大小是使用"磁头数 x 柱面数 x 扇区数 x 每个扇区的大小"这样的公式来计算的。其中,磁头数(Heads)表示硬盘共有几个磁头,也可以理解为硬盘有几个盘面,然后乘以 2;柱面数(Cylinders)表示硬盘每面盘片有几条磁道;扇区数(Sectors)表示每条磁道上有几个扇区;每个扇区的大小一般是 512Byte

    磁盘接口

    机械硬盘通过接口与计算机主板进行连接。硬盘的读取和写入速度与接口有很大关系。大家都见过大礼堂吧,大礼堂中可以容纳很多人,但是如果只有一扇很小的门,那么人是很难进入或出来的,这样会造成拥堵,甚至会出现事故。机械硬盘的读取和写入也是一样的,如果接口的性能很差,则同样会影响机械硬盘的性能。

    目前,常见的机械硬盘接口有以下几种:

    IDE 硬盘接口(Integrated Drive Eectronics,并口,即电子集成驱动器)也称作 “ATA硬盘” 或 “PATA硬盘”,是早期机械硬盘的主要接口,ATA133 硬盘的理论速度可以达到 133MB/s(此速度为理论平均值)

    SATA 接口(Serial ATA,串口),是速度更高的硬盘标准,具备了更高的传输速度,并具备了更强的纠错能力。目前已经是 SATA 三代,理论传输速度达到 600MB/s(此速度为理论平均值)

    SCSI 接口(Small Computer System Interface,小型计算机系统接口),广泛应用在服务器上,具有应用范围广、多任务、带宽大、CPU 占用率低及热插拔等优点,理论传输速度达到 320MB/s

    SAS(Serial Attached SCSI):是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到6Gb/s

    固态硬盘(SSD)

    固态硬盘和传统的机械硬盘最大的区别就是不再采用盘片进行数据存储,而采用存储芯片进行数据存储。固态硬盘的存储芯片主要分为两种:一种是采用闪存作为存储介质的;另一种是采用DRAM作为存储介质的。目前使用较多的主要是采用闪存作为存储介质的固态硬盘

    MBR与磁盘分区表示

    MBR
    MBR是主引导记录(Master Boot Record),位于硬盘第一个物理扇区处(引导扇区)MBR中包含硬盘的主引导程序和硬盘分区表。分区表有4个分区记录区,每个分区记录区占16个字节MBR最多四个分区,可创建逻辑分区MBR使用fdisk命令分区

    ///GPT,有128个分区,适用于2TB以上的磁盘文件大小,使用parted

    磁盘分区结构

    硬盘中的主分区数目只有4个主分区和扩展分区的序号限制在1~4扩展分区再分区为逻辑分区逻辑分区的序号将始终从5开始
    XFS文件系统
    存放文件和目录数据的分区高性能的日志型文件系统CentOS 7系统中默认使用的文件系统支持PB以上的存储
    SWAP,文件交换系统(虚拟内存)
    为Linux系统建立交换分区

    Linux支持的其他文件系统类型

    FAT16、FAT32、NTFS

    ///FAT不支持安全选项功能,不支持4GB以下单个文件的存储

    EXT4、JFS…

    二、Linux fdisk命令

    Linux fdisk是一个创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表

    必要参数:

    -l 列出素所有分区表-u 与"-l"搭配使用,显示分区数目

    选择参数:

    -s<分区编号> 指定分区-v 版本信息

    菜单操作说明

    m :显示菜单和帮助信息a :活动分区标记/引导分区d :删除分区l :显示分区类型n :新建分区p :显示分区信息q :退出不保存t :设置分区号v :进行分区检查w :保存修改x :扩展应用,高级功能

    实例

    显示当前分区情况

    [root@localhost ~]# fdisk -l Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000a5b41 Device Boot Start End Blocks Id System /dev/sda1 * 2048 616447 307200 83 Linux /dev/sda2 616448 8744959 4064256 82 Linux swap / Solaris /dev/sda3 8744960 419430399 205342720 83 Linux Disk /dev/sdb: 2147.5 GB, 2147483648000 bytes, 4194304000 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x53ad45fa Device Boot Start End Blocks Id System /dev/sdb1 2048 209717247 104857600 83 Linux /dev/sdb2 209717248 4194303999 1992293376 5 Extended /dev/sdb5 209719296 838864895 314572800 83 Linux Disk /dev/sdd: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/sde: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes

    fdisk分区实验

    磁盘分区,一个磁盘可以划分4个主分区,1~4是主分区和扩展分区的分区号,从5以后是逻辑分区

    添加一块2T的磁盘,磁盘编号:/sdb

    1)进入磁盘/sdb 配置
    [root@localhost ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. ###[root@localhost~]\fdisk/dev/sdb 欢迎使用fdisk(util linux 2.23.2)。 更改将只保留在内存中,直到您决定写入它们。 在使用write命令之前要小心
    2)键入n,创建新分区
    Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended 命令(m表示帮助):n 分区类型: p主(0主,0扩展,4可用) e扩展
    3)键入p,设置主分区
    Select (default p): p 选择(默认p):p
    4)键入1,设置分区号为1
    Partition number (1-4, default 1): 1 分区号(1-4,默认为1):1
    5)容量配置

    第一扇区(2048-4194303999,默认2048): 使用默认值2048

    First sector (2048-4194303999, default 2048): Using default value 2048 第一扇区(2048-4194303999,默认2048): 使用默认值2048
    6)确认分区大小

    最后一个扇区,+扇区或+大小{K,M,G}(2048-4194303999,默认值4194303999):+100G 已设置Linux类型的分区1,大小为100 GiB

    ###我这边给第一个分区分配了100G的容量,设置容量输入‘+’号跟具体容量和容量单位

    Last sector, +sectors or +size{K,M,G} (2048-4194303999, default 4194303999): +100G Partition 1 of type Linux and of size 100 GiB is set 最后一个扇区,+扇区或+大小{K,M,G}(2048-4194303999,默认值4194303999):+100G 已设置Linux类型的分区1,大小为100 GiB
    7)逻辑分区建立

    建立了主分区后,我打算创建逻辑分区,但是建立逻辑分区之前,要先建立一个扩展分区,然后才能在扩展分区内建立逻辑分区(逻辑分区要在拓展分区内才能创建)

    依旧输入n,创建新分区

    Command (m for help): n Partition type: p primary (1 primary, 0 extended, 3 free) e extended 命令(m表示帮助):n 分区类型: p主(1主,0扩展,3可用) e扩展
    8)e 扩展,键入e
    Select (default p): e 选择(默认p):e
    9)回车,默认设置到最后
    Partition number (2-4, default 2): First sector (209717248-4194303999, default 209717248): Using default value 209717248 Last sector, +sectors or +size{K,M,G} (209717248-4194303999, default 4194303999): Using default value 4194303999 Partition 2 of type Extended and of size 1.9 TiB is set 分区号(2-4,默认为2): 第一扇区(209717248-4194303999,默认209717248): 使用默认值209717248 最后一个扇区,+扇区或+大小{K,M,G}(209717248-4194303999,默认值4194303999): 使用默认值4194303999 设置了Extended类型和1.9tib大小的分区2
    10)键入n,创建新的分区

    logical (numbered from 5) 逻辑(从5开始编号)

    Command (m for help): n Partition type: p primary (1 primary, 1 extended, 2 free) l logical (numbered from 5) 命令(m表示帮助):n 分区类型: p主要(1个主要,1个扩展,2个空闲) 逻辑(从5开始编号)
    11)键入l,创建逻辑分区,编号5
    Select (default p): l Adding logical partition 5 选择(默认p):l 添加逻辑分区5
    12)逻辑分区容量设置

    我这边设置逻辑分区5号的大小设置的是300G,先回车,默认设置,然后’+300G’

    First sector (209719296-4194303999, default 209719296): Using default value 209719296 Last sector, +sectors or +size{K,M,G} (209719296-4194303999, default 4194303999): +300G Partition 5 of type Linux and of size 300 GiB is set 第一扇区(209719296-4194303999,默认209719296): 使用默认值209719296 最后一个扇区,+扇区或+大小{K,M,G}(209719296-4194303999,默认值4194303999):+300G 设置Linux类型的分区5,大小为300 GiB
    13)键入w,保存并退出
    Command (m for help): w The partition table has been altered! 命令(m表示帮助):w 分区表已被更改!
    14)查看

    这边注意,我只划分了一个主分区,一个逻辑分区,而逻辑分区的编号是5,说明分区号1~4,只用于主分区和扩展分区,逻辑分区的编号只从5开始

    [root@localhost ~]# fdisk -l Disk /dev/sdb: 2147.5 GB, 2147483648000 bytes, 4194304000 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x53ad45fa Device Boot Start End Blocks Id System /dev/sdb1 2048 209717247 104857600 83 Linux /dev/sdb2 209717248 4194303999 1992293376 5 Extended /dev/sdb5 209719296 838864895 314572800 83 Linux
    Processed: 0.014, SQL: 9