2023-04-05
技术共享
00
请注意,本文编写于 874 天前,最后修改于 1 天前,其中某些信息可能已经过时。

目录

一、概述
二、选项
三、操作命令
四、交互操作实例
4.1 选择分区硬盘
4.2 创建分区
4.3 完成分区操作
4.4 验证分区信息
4.5 删除分区示例
4.6 格式化操作
4.7 交互创建分区的完整示示例
五、非交互方式
5.1 创建分区表
5.2 将硬盘所有容量分给主分区
5.3 查询磁盘的已有分区
5.4 查询硬盘分区
5.5 格式化分区
5.6 查询/dev/sdl1的blkid
5.7 修改/etc/fstab
5.8 挂载文件系统,查询

提示

parted 是 Linux 系统的磁盘分区工具,用于创建、调整和管理硬盘分区。

一、概述

通常我们用的比较多的分区工具是fdisk命令,但由于fdisk只支持MBR分区,MBR分区表最大支撑2T的磁盘,所以无法划分大于2T的分区。而parted工具可以划分单个分区大于2T的GPT格式的分区,也可以划分普通的MBR分区。

parted命令是由GNU组织开发的一款功能强大的磁盘分区和分区大小调整工具。GPT格式的磁盘相当于原来MBR磁盘中原来保留4个partition table的4 16个字节,只留第一个16个字节,类似于扩展分区,真正的partition table在512字节之后,GPT分区方式没有四个主分区的限制,最多可达到128个主分区

下面我们看下parted命令的用法。

1.1 语法结构

parted [选项]… [设备 [命令 [参数]…]…]

二、选项

选项 描述 -h –help 显示此求助信息 -l –list 列出所有设别的分区信息 -i –interactive 在必要时,提示用户 -s –script 从不提示用户 -v –version 显示版本

三、操作命令

parted交互命令 说 明 check NUMBER 做一次简单的文件系统检测 cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER 复制文件系统到另一个分区 help [COMMAND] 显示所有的命令帮助 mklabel,mktable LABEL-TYPE 创建新的磁盘卷标(分区表) mkfs NUMBER FS-TYPE 在分区上建立文件系统 mkpart PART-TYPE [FS-TYPE] START END 创建一个分区 mkpartfs PART-TYPE FS-TYPE START END 创建分区,并建立文件系统 move NUMBER START END 移动分区 name NUMBER NAME 给分区命名 print [devices|free|list,all|NUMBER] 显示分区表、活动设备、空闲空间、所有分区 quit 退出 rescue START END 修复丢失的分区 resize NUMBER START END 修改分区大小 rm NUMBER 删除分区 select DEVICE 选择需要编辑的设备 set NUMBER FLAG STATE 改变分区标记 toggle [NUMBER [FLAG]] 切换分区表的状态 unit UNIT 设置默认的单位 Version 显示版本

四、交互操作实例

4.1 选择分区硬盘

首先类似fdisk一样,先选择要分区的硬盘,此处为/dev/sdb: ((parted)表示在parted中输入的命令,其他为自动打印的信息)

[root@cdd ~]# parted /dev/sdb GNU Parted 1.8.1 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands.

4.2 创建分区

选择了/dev/hdb作为我们操作的磁盘,接下来需要创建一个分区表(在parted中可以使用help命令打印帮助信息):

(parted) mklabel New disk label type? gpt (我们要正确分区大于2TB的磁盘,应该使用gpt方式的分区表,输入gpt后回车)

4.3 完成分区操作

创建好分区表以后,接下来就可以进行分区操作了,执行mkpart命令,分别输入分区名称,文件系统和分区的起止位置

(parted) mkpart Partition name? []? sdb1 File system type? [ext2]? xfs Start? 0 (可以用百分比表示,比如Start? 0% , End? 50%) End? 500GB

4.4 验证分区信息

分好区后可以使用print命令打印分区信息,下面是一个print的样例

(parted) print Model: VBOX HARDDISK (ide) Disk /dev/sdb: 3841GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 17.4kB 500GB 500GB dp1

4.5 删除分区示例

如果分区错了,可以使用rm命令删除分区,比如我们要删除上面的分区,然后打印删除后的结果

(parted)rm 1 #rm后面使用分区的号码,就是用print打印出来的Number (parted) print Model: VBOX HARDDISK (ide) Disk /dev/sdb: 3841GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags

4.6 格式化操作

在交互状态下,完成以后我们可以使用quit命令退出parted并使用系统的mkfs命令对分区进行格式化。

[root@cdd ~]# fdisk -l WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted. Disk /dev/sdb: 3841.0 GB, 3841022206976 bytes 255 heads, 63 sectors/track, 267349 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hdb1 1 267350 2147482623+ ee EFI GPT [root@cdd ~]# mkfs.xfs /dev/sdb1 [root@cdd ~]# mkdir /data [root@cdd ~]# mount /dev/sdb1 /data [root@cdd ~]# mount -a #立即挂载生效

4.7 交互创建分区的完整示示例

按照上面的方法把整个硬盘都分好区,下面是一个分完后的样例

(parted) mkpart Partition name? []? sdb1 File system type? [ext2]? xfs Start? 0 End? 500GB (parted) mkpart Partition name? []? sdb2 File system type? [ext2]? xfs Start? 500GB End? 3841GB (parted) print Model: VBOX HARDDISK (ide) Disk /dev/sdb: 3841GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 17.4kB 500GB 500GB sdb1 2 500GB 3841GB 1699GB sdb2

五、非交互方式

5.1 创建分区表

parted /dev/sdl mklabel gpt

5.2 将硬盘所有容量分给主分区

parted /dev/sdl mkpart primary 0% 100%

5.3 查询磁盘的已有分区

parted /dev/sdl print

5.4 查询硬盘分区

fdisk -l or lsblk

5.5 格式化分区

mkfs -t xfs /dev/sdl1

相关信息

文件系统EXT3,EXT4和XFS的区别:

EXT3 (1)最多只能支持32TB的文件系统和2TB的文件,实际只能容纳2TB的文件系统和16GB的文件

(2)Ext3目前只支持32000个子目录

(3)Ext3文件系统使用32位空间记录块数量和i-节点数量

(4)当数据写入到Ext3文件系统中时,Ext3的数据块分配器每次只能分配一个4KB的块

EXT4

EXT4是Linux系统下的日志文件系统,是EXT3文件系统的后继版本。

(1)Ext4的文件系统容量达到1EB,而文件容量则达到16TB

(2)理论上支持无限数量的子目录

(3)Ext4文件系统使用64位空间记录块数量和i-节点数量

(4)Ext4的多块分配器支持一次调用分配多个数据块

XFS

(1)根据所记录的日志在很短的时间内迅速恢复磁盘文件内容

(2)采用优化算法,日志记录对整体文件操作影响非常小

(3) 是一个全64-bit的文件系统,它可以支持上百万T字节的存储空间

(4)能以接近裸设备I/O的性能存储数据

5.6 查询/dev/sdl1的blkid

blkid /dev/sdl1

5.7 修改/etc/fstab

vi /etc/fstab

编辑/etc/fstab使开机可知道挂载文件系统。

5.8 挂载文件系统,查询

mount -a df -h

本文作者:King

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!