• Linux磁盘分区快速上手(讲解详细)


    一、磁盘分区

    在Linux中,磁盘是通过分区来使用的。分区是将一个硬盘划分成几个逻辑部分来使用,在每个分区中可以存储不同的文件系统。因此,在挂载磁盘之前,我们需要先对磁盘进行分区。磁盘分区的过程可以通过命令行工具或图形界面工具来完成。

    常用的磁盘分区工具有:

        cfdisk:命令行工具,适用于创建主分区和扩展分区,支持MBR和GPT分区表。

        fdisk:命令行工具,适用于创建主分区和扩展分区,支持MBR分区表。

        gdisk:命令行工具,适用于创建主分区、扩展分区和逻辑分区,支持GPT分区表。

        gparted:图形界面工具,适用于创建主分区、扩展分区和逻辑分区,支持MBR和GPT分区表。

    分区的目的是将一个硬盘划分成多个逻辑部分,每个部分可以单独使用和管理。当然,分区并不是必需的,我们也可以直接将整个硬盘作为一个单一的分区进行挂载。

    我们在后续用到的是fdisk命令工具

    二、文件系统

    在Linux中,文件系统是挂载磁盘的重要概念。文件系统是指一种组织数据的方式,可以帮助我们在磁盘上存储和管理文件。常见的Linux文件系统有ext2、ext3、ext4、XFS等。

    (1)ext2(第二扩展文件系统):是 Linux 最早引入的日志文件系统之一。它使用索引节点(inode)来管理文件和目录,并使用位图来管理磁盘块的分配。然而,ext2 没有日志功能,这使得在发生意外掉电或系统崩溃时恢复文件系统变得较慢。

    (2)ext3(第三扩展文件系统):是 ext2 文件系统的升级版本。它引入了日志功能,使用日志记录(journaling)来跟踪文件系统操作。这样,在系统异常关机后可以更快地进行恢复,减少数据丢失的风险。与 ext2 相比,ext3 提供了更好的可靠性和性能。

    (3)ext4(第四扩展文件系统):是 ext3 文件系统的进一步改进和扩展。它增强了文件系统的大小和性能,并支持更大的文件和分区。ext4 引入了多块分配、延迟分配和其他改进,以提高文件系统的性能和可靠性。它是目前最常用的 Linux 文件系统之一。

    (4)XFS:是一个高性能的日志文件系统,最初由 SGI 开发。它设计用于处理大型文件和大容量存储,并针对高吞吐量的工作负载进行了优化。XFS 支持快速分配和回收磁盘空间,并具有出色的可扩展性和鲁棒性。它被广泛用于服务器环境和高性能计算领域。

    在挂载磁盘之前,我们需要先在磁盘上创建文件系统。创建文件系统的命令为mkfs。

    三、实际操作(快速分区)

    1.使用lsblk命令查看新加入的磁盘信息

    上述中我们可以看到vda磁盘挂载的是根目录并且已经有了一个分区为vda1,而vdb磁盘暂时还没有挂载任何目录并且没有分区信息,所以vdb就是系统空闲的磁盘。 

    2.fdisk -l命令查看系统中磁盘分区详细信息

    包括磁盘设备名称、分区表类型、起始扇区、结束扇区、总扇区数等。

     3.使用fdisk分区新磁盘,并将分区标记为Linux文件系统类型(83)

    sudo fdisk /dev/vdb

    输入m可以查看命令选项

     DOS (MBR)
       a   toggle a bootable flag 切换引导标志,使分区可启动
       b   edit nested BSD disklabel 编辑嵌套的 BSD 磁盘标签
       c   toggle the dos compatibility flag 切换 DOS 兼容性标志

      Generic
       d   delete a partition 删除一个分区
       F   list free unpartitioned space 列出未分区的空闲空间
       l   list known partition types 列出已知的分区类型
       n   add a new partition 添加一个新分区
       p   print the partition table 打印分区表
       t   change a partition type 更改分区类型
       v   verify the partition table 验证分区表
       i   print information about a partition 打印有关分区的信息

      Misc
       m   print this menu 显示此菜单
       u   change display/entry units 更改显示/输入单位
       x   extra functionality (experts only) 额外功能(仅供专家使用)

      Script
       I   load disk layout from sfdisk script file 从 sfdisk 脚本文件加载磁盘布局
       O   dump disk layout to sfdisk script file 将磁盘布局转储到 sfdisk 脚本文件

      Save & Exit
       w   write table to disk and exit 将表写入磁盘并退出
       q   quit without saving changes 退出而不保存更改

    Create a new label
       g   create a new empty GPT partition table  创建一个新的空 GPT(GUID 分区表)磁盘分区表。
       G   create a new empty SGI (IRIX) partition table 创建一个新的空 SGI(IRIX)磁盘分区表。
       o   create a new empty DOS partition table 创建一个新的空 DOS(MBR)磁盘分区表。
       s   create a new empty Sun partition table 创建一个新的空 Sun 磁盘分区表。

     直接按照如下操作进行分区

    说明:

    n: 创建新分区。出现选择分区类型的提示时,默认选择主分区(primary)。

    p: 选择分区类型为 "p",即主分区。

    1: 输入分区号码为 "1",表示创建第一个分区,如果不选默认就是1。

    First sector: 输入第一个扇区的起始位置,默认值为 2048。你可以保持默认值(按 Enter 键),这样分区将从第一个可用扇区开始。

    Last sector: 输入最后一个扇区的位置,可以输入结束位置或者分区大小。默认值为设备的最大扇区数。你可以输入具体的扇区数或者可选的单位表示分区大小(如 "300G" 表示 300GB)。根据你的输入,分区大小将为 300 GiB。

    t: 更改分区类型。选择分区编号为 1 的分区。

    83: 设置分区类型为 83,表示 Linux 文件系统类型。

    w: 保存并写入分区表更改。

    最后几行提示分区表已经被修改,并且正在同步磁盘。

    4.格式化新分区,使用mkfs命令

    sudo mkfs -t ext4 /dev/vdb1

    ·  mkfs:表示创建文件系统的意思。

    ·  -t ext4:指定要创建的文件系统类型为 ext4。

    ·  /dev/vdb:指定磁盘路径,即要在哪个磁盘上创建文件系统。

    5.创建挂载目录,使用mkdir命令

    sudo mkdir /data 

    /data : 挂载的目录

    注意:不能挂载当前目录下已经存在数据的目录,一定要是空目录,否则可能会导致已存在目录下的文件和子目录被隐藏

    对于已经有数据的磁盘的目录我们应该怎么办呢,首先备份某个目录(data)数据,然后更改目录名称(data-test),然后再创建一个和之前一样名称的空目录(data),使用这个目录挂载,成功之后,将之前的那个目录(data-test)名称改为data即可。

    6.挂载分区,使用mount命令

    sudo mount /dev/vdb1 /data

    7.验证挂载是否成功,使用df -h命令查看所有文件系统的储存器使用情况:

    sudo df -h

    出现如下图所示:即成功的将/dev/vdb1的分区挂载到/data目录下

     8.永久挂载(重启不会消失)

    永久挂载:通过修改  /etc/fstab文件,实现永久挂载。防止重启的时候挂在的目录失效。

    vim /etc/fstab

    添加如下一行:

    /dev/vdb1 /data ext4 defaults 0 0

    解释含义:

    dev/vdb1: 这是要挂载的设备的名称。在 Linux 中,设备通常以 /dev 目录下的文件表示,例如硬盘分区、光盘驱动器等。/dev/vdb1 表示第一个硬盘 vdb 的第一个分区。

    /data: 这是指定的挂载点,也就是将设备挂载到文件系统中的哪个目录下。在这个例子中,设备 /dev/vdb1 将会被挂载到 /data 目录。

    ext4: 这是设备的文件系统类型,表示该设备采用 ext4 文件系统格式。

     defaults: 这里列出了用于挂载的选项。defaults 表示使用默认的挂载选项,包括读写权限等。

    0: 表示是否对该文件系统执行磁盘检查。0 表示不执行,1 表示引导时执行。

    0: 表示是否进行备份。一般情况下也是0,表示不进行备份。

  • 相关阅读:
    MySQL故障排查与生产环境优化
    【1day】用友时空KSOA平台 unitid接口SQL注入漏洞学习
    假期题目整合
    2022年06月 Python(四级)真题解析#中国电子学会#全国青少年软件编程等级考试
    qml实现路径绘制且可编辑
    大唐“痴情”男女-白居易-湘灵
    Rollup打包导入assert、path、util、fs模块
    手把手教你Nginx 配置 HTTPS 完整过程
    阿里云Linux中安装MySQL,并使用navicat连接以及报错解决
    最通俗易懂的LSTM讲解,一个例子理解通透!!
  • 原文地址:https://blog.csdn.net/m0_52985087/article/details/134446818