介绍
准备一个新的磁盘在Linux系统上使用是一个简单的过程,有很多工具,文件系统格式和分区方案,如果您有专业需求,可以改变这个过程,但基本仍然相同。
本指南将涵盖以下过程:
- 识别系统上的新磁盘.
- 创建覆盖整个驱动器的单个分区(大多数操作系统预计分区布局,即使只有一个文件系统)
- 使用 Ext4 文件系统格式化分区(大多数现代 Linux 发行版的默认)
- 安装和设置启动时自动安装文件系统
步骤 1 - 安装分割
要分割驱动器,您将使用共享
实用程序. 与低级别文件系统交互所需的大多数命令在Linux上默认可用。
如果你在Ubuntu或Debian服务器上,没有共享
安装,你可以通过键入:
1sudo apt update
2sudo apt install parted
如果您在 RHEL、Rocky Linux 或 Fedora 服务器上,您可以通过键入:
1sudo dnf install parted
在本教程中使用的任何其他命令都应该预先安装,因此您可以转到下一步。
步骤 2 – 识别系统上的新磁盘
在设置驱动器之前,您需要能够在服务器上正确识别它。
如果这是一个全新的驱动器,在您的服务器上识别它的一种方法是寻找没有分区方案. 如果您要求‘parted’列出您的驱动器的分区布局,它将为没有有效分区方案的任何驱动器产生错误。
1sudo parted -l | grep Error
您应该看到新的未分区磁盘的未识别磁盘标签
错误:
1[secondary_label Output]
2Error: /dev/sda: unrecognized disk label
您还可以使用lsblk
命令搜索没有相关分区的正确大小的磁盘:
1lsblk
1[secondary_label Output]
2NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
3sda 8:0 0 100G 0 disk
4vda 253:0 0 20G 0 disk
5└─vda1 253:1 0 20G 0 part /
<$>[注]
注: 请记住在更改之前每次重新连接到服务器时检查lsblk
。/dev/sd*
和/dev/hd*
磁盘标识符不一定在机器人之间一致,这意味着如果不正确验证磁盘标识符,就会出现分区或格式化错误磁盘的风险。
考虑使用更持久的磁盘标识符,如 /dev/disk/by-uuid
, /dev/disk/by-label
,或 /dev/disk/by-id
。
当你知道内核分配给你的磁盘的名称时,你可以分割你的驱动器。
步骤 3 – 分区新驱动器
正如介绍中提到的,您将在本指南中创建一个覆盖整个磁盘的单个分区。
选择分区标准
要做到这一点,你首先需要指定要使用的分区标准。有两个选项:GPT和MBR。GPT是一个更现代的标准,而MBR在较旧的操作系统中得到更广泛的支持。
要选择 GPT 标准,请将您所识别的磁盘与mklabel gpt
分成parted
:
1sudo parted /dev/sda mklabel gpt
要使用 MBR 格式,请使用 mklabel msdos
:
1sudo parted /dev/sda mklabel msdos
创建新分区
一旦格式被选中,您可以使用parted -a
来创建覆盖整个驱动器的分区:
1sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%
您可以将此命令分解如下:
parted -a opt
运行 parted,设置默认 opt初始对齐类型。/dev/sda
是您正在分区的磁盘。mkpart primary ext4
使用 ext4 文件系统创建一个独立的(即可启动,不扩展到其他)分区。
要了解更多信息,请参阅 Parted 的 手册页面。
如果你检查lsblk
,你应该看到新的分区可用:
1lsblk
1[secondary_label Output]
2NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
3sda 8:0 0 100G 0 disk
4└─sda1 8:1 0 100G 0 part
5vda 253:0 0 20G 0 disk
6└─vda1 253:1 0 20G 0 part /
现在你已经创建了一个新的分区,但它还没有作为一个文件系统初始化,这两个步骤之间的差异是任意的,独特的Linux文件系统的工作方式,但它们仍然是实践中的两个步骤。
步骤 4 — 在新分区上创建一个文件系统
现在你有一个分区可用,你可以将其初始化为 Ext4 文件系统。Ext4 不是唯一可用的文件系统选项,但它是单一的独立 Linux 卷的最简单的选项。Windows 使用像 NTFS和 exFAT这样的文件系统,但它们在其他平台上有限的支持(这意味着它们在某些情况下只能读,并且不能用作其他操作系统的启动驱动器),而 macOS 使用 **HFS+**和 APFS,具有相同的警告。
要初始化 Ext4 文件系统,请使用mkfs.ext4
实用程序. 您可以添加带有-L
旗帜的分区标签。
<$>[注]
注: 请确保您提供分区的路径,而不是整个磁盘。在Linux中,磁盘有如sda
,sdb
,hda
等名称。
1sudo mkfs.ext4 -L datapartition /dev/sda1
如果您想稍后更改分区标签,您可以使用e2label
命令:
1sudo e2label /dev/sda1 newlabel
你可以看到所有不同的方式来识别你的分区用lsblk
。你应该找到分区的名称,标签和UUID。
lsblk
的一些版本将用--fs
参数打印所有这些信息:
1sudo lsblk --fs
您还可以用lsblk -o
手动指定它们,然后是相关选项:
1sudo lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT
突出的输出表示您可以使用不同的方法来引用新文件系统:
1[secondary_label Output]
2NAME FSTYPE LABEL UUID MOUNTPOINT
3sda
4└─sda1 ext4 datapartition 4b313333-a7b5-48c1-a957-d77d637e4fda
5vda
6└─vda1 ext4 DOROOT 050e1e34-39e6-4072-a03e-ae0bf90ba13a /
记住此输出,因为您将在下一步安装文件系统时使用它。
步骤 5 – 安装新文件系统
现在,您可以安装文件系统用于使用。
Filesystem Hierarchy Standard建议在临时安装的文件系统(如可移除驱动器)下使用 /mnt
目录或子目录。它不建议在哪里安装更多的永久存储,所以您可以选择您想要的方案。
使用mkdir
创建该目录:
1sudo mkdir -p /mnt/data
暂时安装文件系统
您可以通过键入暂时安装文件系统:
1sudo mount -o defaults /dev/sda1 /mnt/data
在 Boot 上自动安装文件系统
为了自动安装文件系统,每次服务器启动,您将添加一个条目到 /etc/fstab
文件. 此文件包含有关您的系统的所有永久或常规安装的磁盘的信息. 使用 nano
或您最喜欢的文本编辑器打开文件:
1sudo nano /etc/fstab
在最后一步中,您使用了sudo lsblk --fs
命令来显示您的文件系统的标识符,您可以在本文件中使用其中任何一个标识符。
1[label /etc/fstab]
2. . .
3## Use one of the identifiers you found to reference the correct partition
4# /dev/sda1 /mnt/data ext4 defaults 0 2
5# UUID=4b313333-a7b5-48c1-a957-d77d637e4fda /mnt/data ext4 defaults 0 2
6LABEL=datapartition /mnt/data ext4 defaults 0 2
除了「LABEL=datapartition」元素之外,这些选项工作如下:
/mnt/data
是磁盘正在安装的路径.ext4
表示这是一个 Ext4 分区.defaults
意味着该卷应该与默认选项(如读写支持)一起安装。
<$>[注]
注: 您可以通过检查其 man page来了解 /etc/fstab
文件中的各个字段, 有关特定文件系统类型可用的安装选项的信息, 请检查 man [filesystem]
(如 man ext4
)。
完成后保存并关闭文件. 如果您正在使用nano
,请按Ctrl+X
,然后在被要求确认时,请按Y
,然后按Enter
。
如果你以前没有安装文件系统,现在可以用mount -a
来安装它:
1sudo mount -a
测试山
安装了卷后,我们应该检查,以确保文件系统是可访问的。
您可以检查磁盘是否在df
命令的输出中可用,有时df
会在df
输出中包含不必要的关于临时文件系统的信息,称为tmpfs
,您可以通过附加-x tmpfs
来排除:
1df -h -x tmpfs
1[secondary_label Output]
2Filesystem Size Used Avail Use% Mounted on
3/dev/vda1 20G 1.3G 18G 7% /
4/dev/sda1 99G 60M 94G 1% /mnt/data
您还可以通过写入测试文件来检查磁盘是否配备了读写功能:
1echo "success" | sudo tee /mnt/data/test_file
只需重新阅读文件,以确保写作正确执行:
1cat /mnt/data/test_file
1[secondary_label Output]
2success
您可以在检查新文件系统是否正常工作后删除该文件:
1sudo rm /mnt/data/test_file
结论
您的新驱动器现在应该分区,格式化,安装,并准备好使用. 这是您可以使用的通用过程,将原始磁盘转换为Linux可用于存储的文件系统. 有更复杂的分区,格式化和安装方法,在某些情况下可能更合适,但上述是一般使用的好起点。
接下来,您可能想学习 如何使用 SSHFS 来安装远程卷在 SSH 上。