开发者

在Linux中对存储设备进行分区和格式化的操作步骤

目录
  • 简介
  • 步骤 1 — 安装 Parted
  • 步骤 2 — 在系统上识别新磁盘
  • 步骤 3 — 对新驱动器进行分区
    • 选择分区标准
    • 创建新分区
  • 步骤 4 —— 在新分区上创建文件系统
    • 步骤 5 —— 挂载新文件系统
      • 临时挂载文件系统
      • 在启动时自动挂载文件系统
      • 测试挂载
    • 结论

      简介

      在 linux 系统上准备新磁盘以供使用是一个简单的过程。虽然有许多工具、文件系统格式和分区方案可能会因为特殊需求而改变这个过程,但基本原理仍然是一样的。

      本指南将涵盖以下过程:

      • 在系统上识别新磁盘。
      • 创建一个跨越整个驱动器的单个分区(大多数操作系统都期望有一个分区布局,即使只有一个文件系统存在)
      • 使用 Ext4 文件系统格式化分区(在大多数现代 Linux 发行版中是默认的)
      • 挂载并设置文件系统在启动时自动挂载

      步骤 1 — 安装 Parted

      要对驱动器进行分区,您将使用 parted 实用程序。大多数与低级文件系统交互所需的命令在 Linux 上默认可用。创建分区的 parted 是偶尔的例外之一。

      如果您在 Ubuntu 或 Debian 服务器上,并且尚未安装 parted,可以通过输入以下命令进行安装:

      sudo apt update
      sudo apt install parted
      

      如果您在 RHEL、Rocky Linux 或 Fedora 服务器上,可以通过输入以下命令进行安装:

      sudo dnf install parted
      

      本教程中使用的其他命令应该是预安装的,因此您可以继续下一步。

      步骤 2 — 在系统上识别新磁盘

      在设置驱动器之前,您需要能够在服务器上正确识别它。

      如果这是一个全新的驱动器,一种在服务器上识别它的方法是查找缺少分区方案。如果您要求 parted 列出磁盘的分区布局,对于没有有效分区方案的任何磁盘,它将产生错误。这可以用来帮助识别新磁盘:

      sudo parted -l | grep Error
      

      您应该会看到新的、未分区的磁盘出现 unrecognized disk label 错误:

      Error: /dev/sda: unrecognized disk label
      

      您还可以使用 lsblk 命令,并查找一个正确大小且没有关联分区的磁盘:

      lsblk
      NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
      sda      8:0    0   100G  0 disk 
      vda    253:0    0    20G  0 disk 
      └─vda1 253:1    0    20G  0 part /
      

      当您知道内核为您的磁盘分配的名称后,您可以对驱动器进行分区。

      步骤 3 — 对新驱动器进行分区

      如简介中所述,您将在本指南中创建一个跨越整个磁盘的单个分区。

      选择分区标准

      首先,您需要指定要使用的分区标准。有两个选项:GPT 和 MBRandroid。GPT 是一个更现代的标准,而 MBR 在旧操作系统中更受支持。对于典型的云服务器,GPT 是一个更好的选择。

      要选择 GPT 标准,请使用 parted 并使用 mklabel gpt 传递您识别的磁盘:

      sudo parted /dev/sda mklabel gpt
      

      要使用 MBR 格式,请使用 mklabel msDOS

      sudo parted /dev/sda mklabel msdos
      

      创建新分区

      选择格式后,您可以使用 parted -a 创建跨越整个驱动器的分区:

      sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%
      

      您可以将此命令分解如下:

      • parted -a opt 运行 parted,设置默认的 optimal 对齐类型。
      • /dev/sda 是您要分区的磁盘。
      • mkpart primary ext4 创建一个独立的(即可引导的,不是从另一个扩展的)分区,使用 ext4 文件系统。
      • 0% 100% 表示此分区应跨越磁盘的起始到结束。

      有关更多信息,请参阅 Parted 的手册页。

      如果您检查 lsblk,您应该会看到新的分区可用:

      lsblk
      
      NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
      sda      8:0    0   100G  0 disk 
      └─sda1   8:1    0   100G  0 part 
      vda    253:0    0    20G  0 disk 
      └─vda1 253:1    0    20G  0 part /
      

      您现在已经创建了一个新分区,但尚未将其初始化为文件系统。这两个步骤之间的区别在某种程度上是任意的,并且是独特于 Linux 文件系统工作方式的,但在实践中它们仍然是两个步骤。

      步骤 4 —— 在新分区上创建文件系统

      现在你已经有了一个可用的分区,你可以将其初始化为 Ext4 文件系统。Ext4 不是唯一的文件系统选项,但它是单个独立 Linux 卷的最直接的选项。Windows 使用诸如 NTFS 和 exFAT 的文件系统,但它们在其他平台上的支持有限(这意味着在某些情况下它们将是只读的,并且不能用作其他操作系统的引导驱动器),MACOS 使用 HFS+ 和 APFS,也有相同的注意事项。还有比 Ext4 更新的 Linux 文件系统,比如 ZFS 和 BTRFS,但这些文件系统有不同的要求,通常更适用于多磁盘阵列。

      要初始化 Ext4 文件系统,使用 mkfs.ext4 实用程序。你可以使用 -L 标志添加分区标签。选择一个能帮助你识别这个特定驱动器的名称:

      sudo mkfs.ext4 -L datapartition /dev/sda1
      

      如果以后想要更改分区标签,可以使用 e2label 命令:

      sudo e2label /dev/sda1 newlabel
      

      你可以使用 lsblk 查看所有不同的识别分区的方法。你应该找到分区的名称、标签和 UUID。

      某些版本的 lsblk 将使用 --fs 参数打印所有这些信息:

      sudo lsblk --fs
      

      你也可以手动指定它们,使用 lsblk -o 后跟相关选项:

      sudo lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT
      

      你应该会收到这样的输出。高亮显示的输出表示你可以用来引用新文件系统的不同方法:

      NAME   FSTYPE LABEL  android       UUID                                 MOUNTPOINT
      sda                                                              
      └─sda1 ext4   datapartition 4b313333-a7b5-48c1-a957-d77d637e4fda 
      vda                                                              
      └─vda1 ext4   DOROOT        050e1e34-39e6-4072-a03e-ae0bf90ba13a /
      

      记下这个输出,因为你将在下一步挂载文件系统时用到它。

      步骤 5 —— 挂载新文件系统

      现在,你可以挂载文件系统以供使用。

      文件系统层次结构标准建议使用 /mnt 目录或其子目录来临时挂载文件系统(如可移动驱动器)。它对于挂载更持久的存储没有建议,所以你可以选择任何你喜欢的方案。在本教程中,你将把驱动器挂载到 /mnt/data 下。

      使用 mkdir 创建该目录:

      sudo mkdir -p /mnt/data
      

      临时挂载文件系统

      你可以输入以下命令临时挂载文件系统:

      sudo mount -o defaults /dev/sda1 /mnt/data
      

      在启动时自动挂载文件系统

      为了在每次服务器启动时自动挂载文件系统,你需要向 /etc/fstab 文件添加一个条目。该文件包含有关系统所有永久或经常挂载的磁盘的信息。使用 nano 或你喜欢的文本编程客栈编辑器打开该文件:

      sudo nano /etc/fstab
      

      在上一步中,你使用了 sudo lsblk --fs 命令显示文件系统的标识符。你可以在这个文件中使用其中任何一个。这个示例使用了分区 标签,但你可以看到使用其他两个标识符的行是什么样的,它们被注释掉了:

      . . .
      ## 使用你找到的标识符之一来引用正确的分区
      # /dev/sda1 /mnt/data 编程客栈ext4 defaults 0 2
      # UUID=4b313333-a7b5-48c1-a957-d77d637e4fda /mnt/data ext4 defaults 0 2
      LABEL=datapartition /mnt/data ext4 defaults 0 2
      

      除了 LABEL=datapartition 元素外,这些选项的作用如下:

      • /mnt/data 是磁盘被挂载的路径。
      • ext4 表示这是一个 Ext4 分区。
      • defaults 表示该卷应该使用默认选项挂载,比如读写支持。
      • 0 2 表示在本地机器出现错误时应该由本地机器验证文件系统,但作为第二优先级,而不是你的根卷。

      完成后保存并关闭文件。如果你使用的是 nano,按 Ctrl+X,然后在提示时按 Y,然后按 Enter

      如果之前没有挂载文件系统,现在可以使用 mount -a 命令挂载它:

      sudo mount -a
      

      测试挂载

      在挂载了卷之后,我们应该检查确保文件系统是可访问的。

      您可以通过df命令的输出来检查磁盘是否可用。有时df会在输出中包含关于临时文件系统(称为tmpfs)的不必要信息,您可以通过附加-x tmpfs来排除这些信息:

      df -h -x tmpfs
      
      文件系统        容量  已用  编程可用 已用% 挂载点
      /dev/vda1        20G  1.3G   18G   7% /
      /dev/sda1        99G   60M   94G   1% /mnt/data
      

      您还可以通过写入一个测试文件来检查磁盘是否具有读写功能:

      echo "success" | sudo tee /mnt/data/test_file
      

      再次读取文件,以确保写入执行正确:

      cat /mnt/data/test_file
      
      success
      

      在验证新文件系统正常运行后,您可以删除该文件:

      sudo rm /mnt/data/test_file
      

      结论

      您的新驱动器现在应该已经被分区、格式化、挂载,并且可以使用了。这是您可以使用的一般过程,将原始磁盘转换为 Linux 可用于存储的文件系统。在某些情况下,可能会有更复杂的分区、格式化和挂载方法更为合适,但上述方法是一般用途的良好起点。

      以上就是在Linux中对存储设备进行分区和格式化的操作步骤的详细内容,更多关于Linux对存储设备分区和格式化的资料请关注编程客栈(www.devze.com)其它相关文章!

      0

      上一篇:

      下一篇:

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      最新运维

      运维排行榜