如何在Linux中创建新的磁盘分区
在开始使用之前,存储设备(如硬盘或者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