介绍
准备在Linux系统上使用的新磁盘可以快速简单。 有许多工具,文件系统格式和分区方案,如果您有专门的需求,可能会使过程复杂化,但如果您想快速启动和运行,这是相当直接。
本指南将涵盖以下过程:
- 标识系统上的新磁盘。
- 创建跨整个驱动器的单个分区(大多数操作系统都需要分区布局,即使只有一个文件系统)
- 使用Ext4文件系统格式化分区(大多数现代Linux发行版中的默认格式)
- 安装和设置在引导时自动安装文件系统
安装工具
分区的驱动器,我们将使用parted
实用工具。 在大多数情况下,这已经在服务器上安装。
如果你是一个Ubuntu或者Debian的服务器上,并且不具有parted
的是,你可以通过键入安装:
sudo apt-get update
sudo apt-get install parted
如果您在CentOS或Fedora服务器上,可以通过键入以下命令来安装:
sudo yum install parted
识别系统上的新磁盘
在我们设置驱动器之前,我们需要能够在服务器上正确识别它。
如果这是一个全新的驱动器,在服务器上找到它的最简单的方法可能是寻找没有分区方案。 如果我们要求parted
,列出我们的磁盘分区布局,它会给我们一个错误没有一个有效的分区方案的磁盘。 这可以帮助我们识别新磁盘:
sudo parted -l | grep Error
你应该看到一个unrecognized disk label
误差为新的,未分区的磁盘:
OutputError: /dev/sda: unrecognised disk label
您也可以使用lsblk
命令来查看有没有相关的分区大小合适的盘:
lsblk
OutputNAME 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 /
记住要检查lsblk
改变以前在每一个会话。 在/dev/sd*
和/dev/hd*
磁盘标识符将不一定是靴子之间是一致的,这意味着有分区或格式化磁盘错误如果不正确地验证磁盘标识有些危险。
考虑使用更持久的磁盘标识一样/dev/disk/by-uuid
, /dev/disk/by-label
,或/dev/disk/by-id
。 见我们在Linux中介绍了存储概念和术语的文章以了解更多信息。
当您知道内核为您的磁盘分配的名称时,可以对驱动器进行分区。
分区新驱动器
如介绍中所述,我们将在本指南中创建一个跨整个磁盘的单个分区。
选择分区标准
为此,我们首先需要指定我们希望使用的分区标准。 GPT是更现代的分区标准,而MBR标准在操作系统中提供更广泛的支持。 如果您没有任何特殊要求,那么最好在此时使用GPT。
要选择GPT标准,传递你确定这样的盘:
sudo parted /dev/sda mklabel gpt
如果您想使用MBR格式,输入这个:
sudo parted /dev/sda mklabel msdos
创建新分区
选择格式后,您可以通过键入以下命令来创建跨整个驱动器的分区:
sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%
如果我们检查lsblk
,我们应该看到可用的新分区:
lsblk
OutputNAME 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 /
在新分区上创建文件系统
现在我们有一个分区可用,我们可以将其格式化为Ext4文件系统。 要做到这一点,通过分区的mkfs.ext4
工具。
我们可以通过将添加分区标签-L
标志。 选择一个可以帮助您识别此特定驱动器的名称:
sda
, sdb
, hda
等,这些磁盘上的分区有一个数字追加到末尾。
所以,我们会想使用类似sda1
,而不是 sda
。
sudo mkfs.ext4 -L datapartition /dev/sda1
如果你想在以后更改分区的标签,你可以使用e2label
命令:
sudo e2label /dev/sda1 newlabel
你可以看到所有的不同的方式与识别分区lsblk
。 我们想要找到分区的名称,标签和UUID。
有些版本的lsblk
将打印所有这些信息,如果我们输入:
sudo lsblk --fs
如果您的版本未显示所有相应字段,可以手动请求:
sudo lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT
你应该看到这样的东西。 突出显示的输出表示可用于引用新文件系统的不同方法:
OutputNAME FSTYPE LABEL UUID MOUNTPOINT
sda
└─sda1 ext4 datapartition 4b313333-a7b5-48c1-a957-d77d637e4fda
vda
└─vda1 ext4 DOROOT 050e1e34-39e6-4072-a03e-ae0bf90ba13a /
装载新文件系统
现在,我们可以挂载文件系统使用。
该文件系统层次标准建议使用/mnt
或临时安装的文件系统下,它的子目录。 它不建议在哪里挂载更永久的存储,所以你可以选择你想要的方案。 在本教程中,我们将安装在驱动器/mnt/data
。
通过键入以下内容创建目录:
sudo mkdir -p /mnt/data
临时挂载文件系统
您可以通过键入以下命令临时挂载文件系统:
sudo mount -o defaults /dev/sda1 /mnt/data
在引导时自动安装文件系统
如果你想每次自动挂载文件系统的服务器引导,调整/etc/fstab
的文件:
sudo nano /etc/fstab
早些时候,我们发布了sudo lsblk --fs
命令显示文件系统提供文件系统3标识符。 我们可以在这个文件中使用这些。 我们使用下面的分区的卷标 ,但可以看到的线条是什么样子的注释掉线使用另外两个标识符:
. . .
## Use one of the identifiers you found to reference the correct partition
# /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
您可以了解在各个领域/etc/fstab
键入文件man fstab
。 有关特定类型的文件系统提供的安装选项的信息,请man [filesystem]
(如man ext4
)。 现在,上面的安装线应该让你开始。
对于固态硬盘,该discard
选项有时追加到能连续TRIM。 对以这种方式执行连续TRIM的性能和完整性影响存在争论,并且大多数分布包括作为替代执行周期性TRIM的方法。
保存并在完成后关闭文件。
如果以前没有挂载文件系统,现在可以通过键入以下命令加载它:
sudo mount -a
测试Mount
在加载卷之后,我们应该检查以确保文件系统可访问。
我们可以检查磁盘从输出可用df
命令:
df -h -x tmpfs -x devtmpfs
OutputFilesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 1.3G 18G 7% /
/dev/sda1 99G 60M 94G 1% /mnt/data
你也应该能够看到lost+found
在内部目录/mnt/data
目录,这通常表示一个Ext *文件系统的根目录:
ls -l /mnt/data
Outputtotal 16
drwx------ 2 root root 16384 Jun 6 11:10 lost+found
我们还可以通过写入测试文件来检查具有读写能力的文件:
echo "success" | sudo tee /mnt/data/test_file
读取文件,以确保写入正确执行:
cat /mnt/data/test_file
Outputsuccess
您可以在验证新文件系统正常工作后删除该文件:
sudo rm /mnt/data/test_file
结论
您的新驱动器现在应该进行分区,格式化,安装并准备使用。 这是一个一般的过程,你可以使用将原始磁盘转换成Linux可用于存储的文件系统。 有更复杂的分区,格式化和安装方法,在某些情况下可能更合适,但上述是一般使用的良好起点。