如何在Linux中创建新的磁盘分区

时间:2020-03-05 15:27:15  来源:igfitidea点击:

在开始使用之前,存储设备(如硬盘或者U盘)需要构造。
分区是将磁盘切割成一个名为分区的单独区域的过程。
最重要的是,需要分区来安装操作系统。
第二个常见原因是我们可以安装多个操作系统。

它基本上是新安装磁盘的第一步。
创建分区后,将使用文件系统格式化分区。

在本教程中,我将通过步骤来在Linux发行版上创建新分区,如CentOS,Ubuntu,Rhel和Debian。

1)列出Linux中的分区

要列出系统上的现有分区或者块设备,我们可以使用"parted -l"或者fdisk -l或者lsblk命令。
从此列表中,我们可以识别要分区的磁盘。
从存储设备(SAN)添加的磁盘通常在CAT/proc/scsi/scsi或者/proc/partitions文件中可见。

$sudo parted -l

我们可以看到"无法识别的磁盘标签"错误,指示新的和未分区磁盘。

$sudo fdisk -l
$sudo lsblk

我们有两个磁盘连接了我们的系统,第一个磁盘/dev/xvda已安装操作系统,第二个是/dev/xvdb

2)Linux中的磁盘分区

在本节中,我们将使用整个磁盘创建单个分区。
FDISK和分组是Linux中使用的两个工具以创建磁盘分区。
对于FDISK不支持创建大于2 TB的分区。

其中我们将检查如何使用分组的工具创建分区。

设置分区类型

最常见的两个分区类型是MBR(MSDOS)和GPT。
GPT使用更多现代标准,并且在许多操作系统中支持MBR。

如果我们没有特殊要求,那么我们可以选择GPT标准。

$sudo parted /dev/xvdb mklabel gpt
Output
ubuntu@theitroad:~$sudo parted /dev/xvdb mklabel gpt
Information: You Jan need to update /etc/fstab.

我们还可以以交互方式运行分段命令而不是单线命令。
在该示例中,我将磁盘标签更改为"MSDOS",这是MBR格式。

$sudo parted /dev/xvdb
GNU Parted 3.2
Using /dev/xvdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel msdos
Warning: The existing disk label on /dev/xvdb will be destroyed and all data on this
disk will be lost. Do you want to continue?
Yes/No? Y
(parted)

对于MBR类型,请执行以下命令:

$sudo parted /dev/sda mklabel msdos

创建新分区

即使已分配新分区的空间并将其写入磁盘,我们仍然需要在新可用空间上创建文件系统,因此下一步是使用所需的文件系统格式化分区。

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

如果我们检查lsblk,可以看到一个新的分区/dev/xvdb1

注意:将默认值分成"1000千字节= 1兆字节"而不是'1024千字节= 1兆字节'。

如果再次运行Parted命令以列出分区,则不再看到任何错误:

要将整个磁盘切成多个分区,请运行mkpart指定所需的大小如下:

(parted) mkpart primary ext4 0 1024MB
(parted) print

我们可以根据要求添加更多分区,如下所示:

(parted) mkpart primary ext4 1024MB 2048MB
(parted) print
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvdb: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  1024MB  1024MB  ext4         primary
 2      1024MB  2048MB  1023MB  ext4         primary

所以我们创建了两个名为"XVDB1"和"XVDB2""xvdb2"的主分区。

注意:对于MBR方案,我们有4个主要分区的限制,但在GPT中没有这样的限制。

我们还可以使用以下分段命令列出磁盘上的分区信息。

$sudo parted /dev/xvdb print

输出:

Model: Xen Virtual Block Device (xvd)
Disk /dev/xvdb: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  1024MB  1024MB  ext4         primary
 2      1024MB  2048MB  1023MB  ext4         primary

注意:键入quit退出"分成的"提示符,并且将保存任何更改。

3)创建文件系统

Linux支持不同的文件系统类型,例如ext2,ext3,ext4,btrfs和glusterfs。
在上一节中,我们创建了两个新分区,现在我们可以将其格式化为ext4文件系统。

Linux有一个名为"mkfs.ext4""的内置实用程序,可以将分区格式化为Ext4文件系统。

$sudo mkfs.ext4 -L databackup /dev/xvdb1

我们可以使用-l选项在格式化分区时设置分区标签。

使用e2label命令更改分区标签,如下所示:

$sudo e2label /dev/xvdb2 storagedata

打印所有分区表信息,如姓名,fstype,label,uuid和mountpoint使用lsblk -fs

$lsblk --fs
NAME    FSTYPE   LABEL           UUID                                 MOUNTPOINT
loop0   squashfs                                                      /snap/ssm-agent/1566
loop1   squashfs                                                      /snap/core/8935
xvda
└─xvda1 ext4     cloudimg-rootfs 6156ec80-9446-4eb1-95e0-9ae6b7a46187 /
xvdb
├─xvdb1 ext4     databackup      86d249af-ead2-41d4-9acd-296e36c63ec4
└─xvdb2 ext4     storagedata     beae745b-188f-41d2-a133-7c4212da0a34

4)安装文件系统

最后,我们现在将安装允许将数据写入挂载点的文件系统。

以下命令将临时安装文件系统:

$sudo mount -t auto defaults /dev/xvdb1 /mnt/data

重要的是要确保更新/etc/fstab文件以在启动时自动安装新创建的分区。

FSTAB文件应具有以下任何条目:

LABEL=databackup /mnt/data ext4 defaults 0 2

或者

/dev/xvdb1 /mnt/data ext4 defaults 0 2

注意:SCSI设备被标识为"SD"和"SD"之后的字母表示首先找到它的顺序。
例如,SDA1表示第一驱动器上的第一分区。
为解释我使用了Xen虚拟磁盘,该虚拟磁盘将设备显示为"/dev/xvd"。

要验证文件系统,请使用df命令列出已安装的分区并查看其大小。

$df -h -x tmpfs -x devtmpfs -x squashfs