C02S07-Linux磁盘管理之新增硬盘

一、磁盘管理

1. 磁盘的概念

1.1 磁盘概述

磁盘是一种用于存储数据的硬件设备,属于计算机存储设备的一种,包括软盘、硬盘、光盘等。常见的包括磁性的硬盘(HDD)和非磁性的固态硬盘(SSD),可以安装在计算机的内部,也可以外接计算机。通常来说,硬盘是指传统的普通硬盘,也就是机械硬盘。

1.2 硬盘结构

  1. 硬盘的物理结构:

    • 盘片:硬盘有多个盘片,盘片的里面都可以读写数据。

    • 磁头:用于读写数据,每个盘面都有一个对应的磁头。

    • 永磁铁:保证磁头有着稳定磁性。

    • 空气滤纸:过滤空气中的灰尘等,以免损坏盘片从而导致数据丢失。

    • 主轴:让盘片旋转,以便于快速读取数据。

  2. 硬盘的数据结构:

    • 扇区:硬盘的最小存储单位,盘片被分为多个扇形区域,每个扇区存放512字节的数据。
    • 磁道:磁道是硬盘盘片上的一个圆形轨迹,所有在同一半径上的扇区组成一个磁道。由于盘片的外圈比内圈长,因此外圈的磁道比内圈的磁道能存储更多的数据。
    • 柱面:指所有盘片上具有相同半径的磁道的集合。在物理上,一个柱面由所有盘片上位于相同位置的磁道组成。

2. 硬盘的分区和使用

在Linux系统中,硬盘的分区和使用有两种方法:MBR(主引导记录)和GPT(全局唯一标识分区表)。磁盘空间在2T以下,使用MBR分区;磁盘空间在2T以上,使用GPT分区。

2.1 MBR分区

在MBR分区当中,分区主要分为3种类型:主分区、扩展分区、逻辑分区。

  • 主分区:主分区是硬盘上可以直接使用的分区,最多可以有4个分区。
  • 扩展分区:扩展分区是一种特殊的分区,它自身不存储数据,而是用来包含一个或多个逻辑分区。如果需要创建超过4个分区,将其中一个主分区设置为扩展分区,然后在扩展分区内创建更多的逻辑分区。
  • 逻辑分区:逻辑分区是存在于扩展分区内的一个或多个分区。在操作系统中表现为独立的分区,但实际上是扩展分区的一部分。

在MBR分区中,主分区和逻辑分区的分区号被分为1~4号,逻辑分区的分区号默认从5开始。

2.2 GPT分区

GPT分区是一种新型分区方法,与MBR分区不同,不再受限于扇区的大小。使用全局唯一标识的GUID来标识分区,可以支持更大空间的硬盘,可以分出的分区数也更多,最多可以有128个分区,并且不再区分分区的类型。

2.3 分区的原因和缺点

  1. 原因
    • 不分区就无法使用硬盘。
    • 优化硬盘的I/O性能,也就是硬盘的读写性能。
    • 提高修复速度。
    • 不同分区可以设置为不同的文件系统。
  2. 缺点
    • 分区一旦建立,不能修改,只能够格式化重新设置。
    • 没有高可用功能,没有备份,不能够扩容。

2.4 硬盘和分区的表示方法

在Linux系统中,万物皆文件,所以硬盘和分区在Linux当中都是以文件的形式存在。下面是Linux系统中的硬盘和分区表示形式:

/dev/sda
/dev/sda1
  • /dev:Linux系统中,硬件设备所在目录
  • sda:
    • sd:设备的类型,sd表明是SCSI设备。
    • a:硬盘号,表示第几块硬盘,以a、b、c……来表示。
  • sda1:
    • sd:设备的类型,sd表明是SCSI设备。
    • a:硬盘号,表示第几块硬盘,以a、b、c……来表示。
    • 1:分区号,表示是第几个分区。

2.5 分区常用命令

与分区方法对应,在Linux系统中,也有两种分区相关命令。对应MBR分区的命令是fdisk,对应GPT分区的是gdisk命令。

  1. fdisk命令 – 管理磁盘分区

    fdisk的意思是固定磁盘(fixed disk)或格式化磁盘(format disk),功能是管理磁盘的分区信息,可以用来对磁盘进行MBR分区操作。

    fdisk [选项] [设备名]
    

    常见的选项:

    选项功能
    -l非交互式查看
    • 不使用-l选项,那么则是交互式管理磁盘的管理和分区。

      交互模式的常用命令:

      • m:显示帮助菜单
      • p:显示当前分区表
      • n:新建分区
      • d:删除分区
      • l:查看分区类型
      • t:修改分区类型
      • w:保存
      • q:退出
  2. gdisk命令 – 交互式管理GPT分区设备

    gdisk命令来自英文词组“GPT fdisk”的缩写,其功能是用于交互式管理GPT分区设备。

    gdisk [选项] 设备名
    

    常见的选项:

    选项功能
    -l查看分区信息

    交互模式的常用命令:

    • m:显示帮助菜单
    • p:显示当前分区表
    • n:新建分区
    • d:删除分区
    • l:查看分区类型
    • t:修改分区类型
    • w:保存
    • q:退出
  3. mkfs命令 – 对设备进行格式化文件系统操作

    mkfs命令来自英文词组make file system的缩写,功能是对设备进行格式化文件系统操作。

    mkfs 系统 设备名
    
    • mkfs命令还把常用的文件系统用后缀的方式保存为多个命令:mkfs.文件系统,使用方法和mkfs类似。

      mkfs.文件系统 设备名
      
  4. mount命令 – 将设备挂载到目录

    mount命令的功能是将硬盘或分区等挂载到目录。

    mount 设备 挂载目录
    

    常见的选项:

    选项功能
    -a挂载fstab文件中配置的所有文件系统
  5. umount命令 – 取消挂载

    umount命令的功能是取消设备的挂载。

    umount [选项] 设备名或挂载目录
    

    常见的选项:

    选项功能
    -f强制卸载
    -l断开文件系统
  6. lsblk命令 – 查看系统的磁盘使用情况

    lsblk命令来自英文词组list block devices的缩写,功能是查看系统的磁盘使用情况。包括硬盘、分区和USB设备等。它会显示设备名称、挂载点、分区大小等信息。

    lsblk
    
  7. blkid命令 – 显示块设备信息

    blkid命令来自英文词组“block ID”的缩写,功能是用于显示块设备信息,也就是硬盘或光盘设备的UUID等相关信息。

    blkid 设备名
    

2.6 硬盘分区主要流程

  1. 进行分区设置。
  2. 格式化文件系统。
  3. 挂载分区。

二、文件系统

1. 文件系统概述

文件系统是用于存储设备的数据的一种系统,允许用户对文件进行访问、管理和修改。下面是文件系统的主要功能:

  • 数据的储存和组织:在存储设备上保存数据;通过目录和文件名来组织数据文件,使得用户可以方便地找到和访问文件。
  • 数据的保护:提供权限机制,对数据进行控制和保护。
  • 数据的访问:提供了硬盘的访问接口,通过接口可以访问硬盘存储的数据。
  • 数据的管理:提供给用户能够读取、写入、修改和删除文件的功能。

2. 常见的文件系统

  • EXT4:Ubuntu默认的文件系统,是Linux系统原生的文件系统,拥有稳定性和高性能的特点。
  • XFS:CentOS 7默认的文件系统,适用于大型文件和高性能需求的场景。
  • NTFS:Windows的文件系统。
  • ISO 9660:光盘的文件系统。只能读。
  • NFS:网络文件系统。可以实现多个主机之间的文件资源共享。

三、Linux新增硬盘

新增两块硬盘,一块60GB、一块8TB。

1. MBR分区

  1. 查看系统的磁盘名称,MBR分区适用于2TB以内的硬盘。

    lsblk
    
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
    ……
    sdb      8:16   0    60G  0 disk
    sdc      8:32   0     8T  0 disk
    ……
    
  2. 使用fdisk命令将硬盘sdb进行分区。

    注意:交互式界面中,显示默认的都可以直接按回车。

    要求:创建一个主分区、一个扩展分区,并在一个扩展分区上创建一个逻辑分区。

    fdisk /dev/sdb
    
    # 创建主分区,分配30G
    命令(输入 m 获取帮助): n
    分区类型
       p   主分区 (0 primary, 0 extended, 4 free)
       e   扩展分区 (逻辑分区容器)
    选择 (默认 p): p
    分区号 (1-4, 默认  1): 1
    第一个扇区 (2048-125829119, 默认 2048):
    Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-125829119, 默认 125829119): +30G
    
    创建了一个新分区 1,类型为“Linux”,大小为 30 GiB。
    # 创建扩展分区,分配29G
    # 总硬盘空间为60G,主分区分配了30G,但这不能够配置剩下的30G
    # 因为还需要空间存储分区的相关信息数据
    命令(输入 m 获取帮助): n
    分区类型
       p   主分区 (1 primary, 0 extended, 3 free)
       e   扩展分区 (逻辑分区容器)
    选择 (默认 p): e
    分区号 (2-4, 默认  2):
    第一个扇区 (62916608-125829119, 默认 62916608):
    Last sector, +/-sectors or +/-size{K,M,G,T,P} (62916608-125829119, 默认 125829119): +29G
    
    创建了一个新分区 2,类型为“Extended”,大小为 29 GiB。
    
    # 创建逻辑分区,在创建完扩展分区后才有逻辑分区的选项
    命令(输入 m 获取帮助): n
    分区类型
       p   主分区 (1 primary, 1 extended, 2 free)
       l   逻辑分区 (5 开始编号)
    选择 (默认 p): l
    
    添加逻辑分区 5
    第一个扇区 (62918656-123734015, 默认 62918656):
    Last sector, +/-sectors or +/-size{K,M,G,T,P} (62918656-123734015, 默认 123734015): +15G
    
    创建了一个新分区 5,类型为“Linux”,大小为 5 GiB。
    
    命令(输入 m 获取帮助): w
    分区表已调整。
    将调用 ioctl() 来重新读分区表。
    正在同步磁盘。
    
  3. 格式化分区的文件系统。

    mkfs.ext4 /dev/sdb1
    mkfs.ext4 /dev/sdb5
    
  4. 挂载分区。

    使用mount命令临时挂载分区。

    # 创建挂载目录
    mkdir /mnt/sdb1
    mkdir /mnt/sdb5
    
    # 挂载分区到对应目录
    mount /dev/sdb1 /mnt/sdb1
    mount /dev/sdb5 /mnt/sdb5
    

    挂载完成后,使用df命令,查看挂载是否成功。

    df -h
    
    文件系统        大小  已用  可用 已用% 挂载点
    ……
    /dev/sdb1        30G   24K   28G    1% /mnt/sdb1
    /dev/sdb5        15G   24K   14G    1% /mnt/sdb5
    

    要想实现自动挂载,就需要配置/etc/fastab文件,文件的配置格式如下:

    设备UID或设备路径 设备挂载点 文件系统类型 defaults 0 0
    
    • 设备UID或设备路径:设备的UID可以通过blkid命令查看,设备路径即/dev/sdb1。
    • 设备挂载点:设备所挂载的目录。
    • 文件系统类型:创建分区时,所指定的文件系统类型。
    • defaults:权限设置,默认给所有权限。
    • 0:是否备份文件,0表示不备份。
    • 0:是否检查系统,0表示不检查。

    具体的配置内容如下:

    /dev/sdb1 /mnt/sdb1 ext4 defaults 0 0
    /dev/sdb5 /mnt/sdb5 ext4 defaults 0 0
    

    保存文件后,使用mount -a命令即可手动刷新挂载fstab文件中所设置的文件系统,不需要重新启动系统。

2. GPT分区

  1. 查看系统的磁盘名称,GPT分区可适用于2TB以上的大容量硬盘。

    lsblk
    
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
    ……
    sdb      8:16   0    60G  0 disk
    sdc      8:32   0     8T  0 disk
    ……
    
  2. 使用gdisk命令将硬盘sdc进行分区。

    注意:交互式界面中,显示默认的都可以直接按回车。

    gdisk /dev/sdc
    
    GPT fdisk (gdisk) version 1.0.8
    
    Partition table scan:
      MBR: not present
      BSD: not present
      APM: not present
      GPT: not present
    
    Creating new GPT entries in memory.
    
    # 创建分区1
    Command (? for help): n
    Partition number (1-128, default 1):
    First sector (34-17179869150, default = 2048) or {+-}size{KMGTP}: # 起始扇区,可回车默认
    Last sector (2048-17179869150, default = 17179869150) or {+-}size{KMGTP}: +4T # 设置分区大小
    Current type is 8300 (Linux filesystem)
    Hex code or GUID (L to show codes, Enter = 8300): # 分区类型,可回车默认,8300代表Linux文件系统分区类型
    Changed type of partition to 'Linux filesystem'
    
    Command (? for help): w # 保存配置
    
    Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
    PARTITIONS!!
    
    Do you want to proceed? (Y/N): y
    OK; writing new GUID partition table (GPT) to /dev/sdc.
    The operation has completed successfully.
    
  3. 格式化分区的文件系统。

    mkfs.ext4 /dev/sdc1
    
  4. 挂载分区。

    使用mount命令临时挂载分区。

    # 创建挂载目录
    mkdir /mnt/sdc1
    
    # 挂载分区到对应目录
    mount /dev/sdc1 /mnt/sdc1
    

    挂载完成后,使用df命令,查看挂载是否成功。

    df -h
    
    文件系统        大小  已用  可用 已用% 挂载点
    ……
    /dev/sdc1       4.0T   28K  3.8T    1% /mnt/sdc1
    

    配置/etc/fastab文件实现自动挂载,具体的配置内容如下:

    /dev/sdc1 /mnt/sdc1 ext4 defaults 0 0
    

    保存文件后,使用mount -a命令。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值