目录
在 Linux 中,对大于 2TB 的磁盘分区需要使用 GPT(GUID Partition Table)分区表,而不是传统的 MBR(Master Boot Record)分区表。 parted 是一个支持 GPT 分区表的工具,适合对大于 2TB 的磁盘进行分区。下面就介绍如何使用parted 给Linux 主机的大容量磁盘分区。
1、先检查下主机的磁盘
使用lsblk(或者fdisk -l) 查看新添加2T的磁盘,如下图所示
lsblk
结果显示我们新添加的盘符是:/dev/nvme0n2
2、使用parted对这块nvme0n2磁盘进行分区
1)使用如下命令进入分区
parted /dev/nvme0n2
2) 使用help 我们可以看到在分区过程中常常使用的命令
3)输入 mklabel命令,然后输入gpt,如下图所示
mklabel 用来设置分区表类型, msdos 为 MBR 分区类型 gpt为GPT分区表类型
4)输入print会打印当前磁盘的分区信息
5)输入 mkpart 创建分区
a) 依次输入 分区名字 文件系统 分区开始位置 分区结束位置创建第一个分区 如下图所示
*注意:因为这是第一个分区,start位置可以填写为 0%
**注意:GPT与MBR分区不同:
- GPT最多支持 128 个主分区(理论上无限制,但大多数系统限制为 128 个)。MBR最多4个主分区
- GPT每个分区可以独立管理,无需扩展分区的概念(MBR有主分区、逻辑分区和扩展分区)
b) 我们可以再创建一个分区vdb2 ,如下图所示
c) 输入 quit 保存退出,分区立即生效
3、创建文件系统(格式化磁盘)
我们已经给磁盘分区了,但是还需要对磁盘进行格式化操作,也就是创建文件系统,然后磁盘才可以被挂载使用
a) 先查看磁盘分区情况
lsblk
b) 使用mkfs命令对刚才的分区的磁盘进行格式化
mkfs -t xfs /dev/nvme0n2p1
mkfs -t xfs /dev/nvme0n2p2
4、挂载
a) 创建文件系统后我们还需要进行挂载,才能写入数据
mkdir /data1
mkdir /data2
mount -t xfs /dev/nvme0n2p1 /data1
mount -t xfs /dev/nvme0n2p2 /data2
**常见文件系统类型如下
ext4 | 第四代扩展文件系统 |
xfs | 高性能文件系统 |
ntfs | Windows NT 文件系统 |
vfat | FAT32 文件系统 |
swap | 交换分区 |
b) 验证
df -Th
c) 永久挂载
如果我们不执行永久挂载,那么机器重启后,挂载点和设备会断开挂载
vim /etc/fstab
#在末尾加上以下两行内容
/dev/nvme0n2p1 /data1 xfs defaults 0 0
/dev/nvme0n2p2 /data2 xfs defaults 0 0
**这个配置文件中几个字段的含义如下
- 第一个字段表示设备名或 UUID , 可以填写硬盘的名称也可以是该硬盘UUID
- 第二个字段表示 硬盘的挂载点
- 第三个字段表示 指定分区的文件系统类型
- 第四个字段表示 指定挂载时使用的选项,控制文件系统的访问权限和行为
defaults:使用默认挂载选项(rw、suid、dev、exec、auto、nouser、async)。
ro:只读模式。
rw:读写模式。
noexec:不允许执行文件。
nosuid:忽略 SUID 和 SGID 位。
auto:在启动时自动挂载。
noauto:不自动挂载,需要手动挂载。
user:允许普通用户挂载。
nouser:只有 root 用户可以挂载。
- 第五个字段表示备份工具的备份选项。用于 dump 工具的备份选项,指定是否对文件系统进行备份。0:不备份。 1:备份
- 第六个字段表示 指定文件系统在启动时是否需要进行磁盘检查(fsck),以及检查的顺序。
0:不检查。
1:在启动时首先检查(通常用于根目录 /)。
2:在启动时检查,但顺序在根目录之后。
4、parted的其他操作
1)删除分区: rm
**注意:删除之前需要使用 umount卸载与磁盘设备关联的挂载
**注意:删除之前需要使用 umount卸载与磁盘设备关联的挂载
**注意:删除之前需要使用 umount卸载与磁盘设备关联的挂载
2)调整分区大小(如果需要) : resizepart
a) 调整分区之前先卸载 ,umount 后面跟/dev/vdb2的挂载点
umount /data2
b) 先调整下新的结束位置, 输入quit保存退出
(parted) resizepart [分区编号] [新的结束位置]
c) 分区调整大小后,还需要调整文件系统
xfs_growfs /dev/vdb2
** 注意:xfs_growfs是调整xfs文件系统的,如果是ext4文件系统,则执行
resize2fs /dev/vdb2