fdisk命令没法划分大于2T的单个分区,而parted命令比fdisk更加灵活,功能也更丰富。它能够划分单个分区大于2T的GPT格式的分区,也能够划分普通的MBR分区。 linux
概念学习: 编程
MBR:MBR分区表(即主引导记录)。所支持的最大卷:2T,并且对分区有限制,最多4个主分区或3个主分区加一个扩展分区。ide
GPT: GPT(即GUID分区表),是源自EFI标准的一种较新的磁盘分区表结构的标准,是将来磁盘分区的主要形式。与MBR分区方式相比,具备以下优势。突破MBR 4个主分区限制,每一个磁盘最多支持128个分区。支持大于2T的分区,最大卷可达18EB。工具
parted是一个能够分区并能进行分区调整的工具,它能够建立,破坏,移动,复制,调整(ext二、swap、 fat 、fat3二、hfs、 reiserfs)类型的分区,并可检测调整jfs,ntfs,ufs,xfs分区。oop
使用方法:parted [options] [device [command [options...]...]]学习
optionsui
-h 显示帮助信息spa
-l 显示全部块设备上的分区命令行
deviceorm
对哪一个块设备进行操做,若是没有指定则使用第一个块设备
command [options...]
check partition
对分区作一个简单的检测
cp [source-device] source dest
复制source-device设备上的source分区到当前设备的dest分区
mklabel label-type
建立新分区表类型,label-type能够是:"bsd", "dvh", "gpt", "loop","mac", "msdos", "pc98", or "sun" 通常的pc机都是msdos格式,若是分区大于2T则须要选用gpt格式的分区表。
mkfs partition fs-type
在partition分区上建立一个fs-type文件系统,fs-type能够是:"fat16", "fat32", "ext2", "linux-swap","reiserfs" 注意不支持ext3格式的文件系统,只能先分区而后用专有命令进行格式化。
mkpart part-type [fs-type] start end
建立一个part-type类型的分区,part-type能够是:"primary", "logical", or "extended" 若是指定fs-type则在建立分区的同时进行格式化。start和end指的是分区的起始位置,单位默认是M。
eg:mkpart primary 0 -1 0表示分区的开始 -1表示分区的结尾 意思是划分整个硬盘空间为主分区
mkpartfs part-type fs-type start end
建立一个fs-type类型的part-type分区,不推荐使用,最好是使用mkpart分区完成后使用mke2fs进行格式化。
name partition name
给分区设置一个名字,这种设置只能用在Mac, PC98, and GPT类型的分区表,设置时名字用引号括起来
select device
在机器上有多个硬盘时,选择操做那个硬盘
resize partition start end
调整分区大小
rm partition
删除一个分区
rescue start end
拯救一个位于stat和end之间的分区
unit unit
在前面分区时,默认分区时数值的单位是M,这个参数卡伊改变默认单位,"kB", "MB", "GB", "TB"
move partition start end
移动partition分区
print 显示分区表信息 quit 退出parted
Parted 命令分为两种模式:命令行模式和交互模式。
一、命令行模式: parted [option] device [command] ,该模式能够直接在命令行下对磁盘进行分区操做,比较适合编程应用。
二、交互模式:parted [option] device 相似于使用fdisk /dev/xxx
实战案例1:
需求:
现有一个作了RAID5的硬盘,要求分三个区,
硬盘总分区大小:7T
/data0 4.8T
/data1 1T
4G (无需格式化,做DRBD用)
具体操做方法以下:
一、分区
parted /dev/sdb mkpart primary 0 4800000
parted /dev/sdb mkpart primary 4800001 5800001
parted /dev/sdb mkpart primary 5800002 5804098
parted /dev/sdb p
[root@drbd01 ~]# parted /dev/sdb p
Model: DELL PERC H700 (scsi)
Disk /dev/sdb: 6998GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name 标志
1 17.4kB 4800GB 4800GB ext3 primary
2 4800GB 5800GB 1000GB ext3 primary
3 5800GB 5804GB 4097MB primary
二、格式化
mkfs.ext3 /dev/sdb1
mkfs.ext3 /dev/sdb2
三、挂载
mount /dev/sdb1 /data0
mount /dev/sdb2 /data1
[root@drbd01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 20G 2.7G 16G 15% /
/dev/sda5 875G 1.1G 829G 1% /elain
/dev/sdb1 4.3T 1.3G 4.1T 1% /data0
/dev/sdb2 1000G 1.1G 998G 1% /data0
/dev/sda1 494M 17M 452M 4% /boot
一共7T分区 分区要求一个4.8T 一个 1T 一个 4G
无交互的parted实战操做过程
export LANG='ZH_CN.GB18030'
parted /dev/sdb mklabel gpt
parted /dev/sdb mkpart primary 0 4800000 #单位:M
parted /dev/sdb mkpart primary 4800001 5800001
parted /dev/sdb mkpart primary 5800002 5804098
parted /dev/sdb p
实战案例2
需求
现有一个作了RAID5的硬盘,要求分三个区
硬盘总分区大小:4T
/test0 100M
/test1 100M
剩余全部空间给一个区
具体操做方法以下:
# parted /dev/sdb
GNU Parted 1.8.1
Using /dev/sdb
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) mklable gpt
将MBR磁盘格式化为GPT
(parted) mkpart primary 0 100
划分一个起始位置为0大小为100M的主分区
(parted) mkpart primary 100 200
划分一个起始位置为100M大小为100M的主分区
(parted) mkpart primary 0 -1
划分全部空间到一个分区
(parted) print
打印当前分区
(parted) quit
可能还会用到的一些命令
(parted) mklable msdos
若是要反过来.将GPT磁盘转化为MBR磁盘
在这样分完分区后,还要使用mkfs.ext3来进行格式化
#partprobe
#mkfs.ext3 -F /dev/sdb1
记的哦,由于fdisk是不支持GPT磁盘,因此使用fdisk -l来查看X磁盘刚才的分区是没有用的.
命令行的模式:
将硬盘转化为GPT磁盘后,执行下列命令
parted /dev/sdx mkpart primary 0 100 ##划分一个起始位置为0大小为100M的主分区
parted /dev/sdx mkpart primary 100 200 ##划分一个起始位置为100大小为100M的主分区