一、 parted的用途及说明
-
概括使用说明:
parted用于对磁盘(或RAID磁盘)进行分区及管理,与fdisk分区工具相比,支持2TB以上的磁盘分区,并且允许调整分区的大小。
-
GNU手册说明:
parted是一个用于硬盘分区或调整分区大小的工具。使用它你可以创建、清除、调整、移动和复制ext2、ext3、linux-swap、FAT、FAT32和reiserfs分区;也能创建、调整和移动苹果系统的HFS分区;还能检测jfs、ntfs、ufs和xfs分区。该工具常用于为新安装的操作系统创建空间,重新分配硬盘使用情况,在将数据拷贝到新硬盘的时候也常常使用。
二、 parted的使用方法及步骤
1、对磁盘进行分区
(1)命令行方式
# parted /dev/sdb mklabel gpt mkpart 1 ext3 1 5T |
(2)交互式命令方式
命令 | 解释 | |
# parted /dev/sdb | 对/dev/sdb进行分区或管理操作 | |
GNU Parted 1.8.1 使用 /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. | 系统返回值 | |
(parted) mklabel gpt | 定义分区表格式 (常用的有msdos和gpt分区表格式,msdos不支持2TB以上容量的磁盘,所以大于2TB的磁盘选gpt分区表格式) | |
(parted) mkpart p1 | 创建第一个分区,名称为p1 (p1只是第一个分区的名称,用别的名称也可以,如part1) | |
File system type? [ext2]? ext3 | 定义分区格式 (不支持ext4,想分ext4格式的分区,可以通过mkfs.ext4格式化成ext4格式) | |
Start? 1 | 定义分区的起始位置 (单位支持K,M,G,T) | |
End? 5T | 定义分区的结束位置 (单位支持K,M,G,T) | |
(parted) print | 查看当前分区情况 | |
Model: ATA VBOX HARDDISK (scsi) Disk /dev/sda: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: msdos
Number Start End Size File system Name Flags 1 32.3kB 5TB 5TB ext3 p1 | 系统返回值 |
2、删除分区
命令 | 解释 |
# parted /dev/sdb | 对/dev/sdb进行分区或管理操作 |
(parted) rm | rm删除命令 (删除之前必须确保分区没有被挂载) |
Partition number? 1 | 删除第一个分区 |
(parted) print | 查看当前分区情况 |
Model: ATA VBOX HARDDISK (scsi) Disk /dev/sda: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: msdos
Number Start End Size File system Name Flags | 系统返回值 |
3、格式化几个TB的磁盘的说明
在格式化几个TB的磁盘的时候,时间会非常的长,格式化6T的磁盘时间大概在一个半小时左右。(据硬盘实际情况而定)
三、 partd分区实例
fdisk工具虽然很好用,但对于大于2T以上的硬盘分区特别慢,可能一部分容量识别不了,也不支持非交互模式。
用parted就非常方便了,对大硬盘支持很好,也可以实现脚本分区。
默认一般都安装过了,没有的话install it!
yum install parted
parted有个不提示用户参数选项,就是通过这个选项来实现非交互
-s, --script never prompts for user intervention
下面我们通过一个一块硬盘来说明它的具体操作:
第一个主分区3G 剩余分区都给扩展分区 第一个逻辑卷分区2G 第二个逻辑源用剩余空间
第一个主分区3G
parted -s /dev/sdb mklabel msdos parted -s /dev/sdb mkpart primary 0 3G
剩余空间给扩展分区
parted -s /dev/sdb mkpart entended 3 100%
在扩展分区上创建第一个逻辑分区
parted -s /dev/sdb mkpart logic 3G 5G
创建第二个逻辑分区
parted -s /dev/sdb mkpart logic 5G 100% #100%代表使用剩余的所有空间
查看分区大小
parted -s /dev/sdb print Model: ATA QEMU HARDDISK (scsi) Disk /dev/sdb: 8590MB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system 标志 1 512B 3000MB 3000MB primary 2 3001MB 8590MB 5589MB extended lba 5 5000MB 8590MB 3590MB logical
删除分区
parted -s /dev/sdb rm 5 #rm后面跟的事分区的编号,print出的Number parted -s /dev/sdb print Number Start End Size Type File system 标志 1 512B 3000MB 3000MB primary 2 3001MB 8590MB 5589MB extended lba
对/dev/sdc分一个主分区,类型为swap
parted -s /dev/sdc mklabel msdos parted -s /dev/sdc -- mkpartfs primary linux-swap 0 -1 #从使用所有空间
1,将磁盘上原有的分区删除掉:
进入:#parted /dev/sdb
查看:(parted)p
删除:(parted)rm 1
(parted)rm 2
2,将磁盘格式变成gpt的格式(因为parted只能针对gpt格式的磁盘进行操作)
转换:(parted) mklabel gpt
分区:(parted) mkpart primary 1 500 (分第一个主分区500MB)
分区:(parted) mkpart primary 501 1000 (分第二个主分区500MB)
分区:(parted) mkpart logical 1001 2000 (分第三个逻辑分区1000MB) (parted的逻辑分区不用先分扩展分区,直接一步到位)
查看:(parted) p
退出:(parted)quit ( parted分区自动保存,不用手动保存 )
3,格式化已经分好的区
# mkfs -t ext4 /dev/sdb1
4,挂载
# mount /dev/sdb1 /mnt
5,开机自动挂载:
# echo “/dev/sdb1 /mnt ext4 defaults 0 0” >>/etc/fstab