作用:

规划大小超过2T的分区,也可用于小分区的规划。

用法:

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

帮助选项:

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

操作命令:

cp [FROM-DEVICE] FROM-MINOR TO-MINOR           #将文件系统复制到另一个分区 
help [COMMAND]                                 #打印通用求助信息,或关于 COMMAND 的信息 
mklabel 标签类型                                #改变磁盘的文件类型 ;
mkfs MINOR 文件系统类型                         #在 MINOR 创建类型为“文件系统类型”的文件系统 
mkpart 分区类型 [文件系统类型] 起始点 终止点      #创建一个分区 
mkpartfs 分区类型 文件系统类型 起始点 终止点      #创建一个带有文件系统的分区 
move MINOR 起始点 终止点                        #移动编号为 MINOR 的分区 
name MINOR 名称                                #将编号为 MINOR 的分区命名为“名称” 
print/p [MINOR]                                #打印分区表,或者分区 
quit/q                                         #保存退出程序 
rescue 起始点 终止点                            #挽救临近“起始点”、“终止点”的遗失的分区 
resize MINOR 起始点 终止点                      #改变位于编号为 MINOR 的分区中文件系统的大小 
rm MINOR                                       #删除编号为 MINOR 的分区 
select 设备                                     #选择要编辑的设备 
set MINOR 标志 状态                             #改变编号为 MINOR 的分区的标志

操作实例

1、选择分区硬盘

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

[root@node1 ~]# parted /dev/vdb
GNU Parted 3.1
使用 /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help        # 看一下常用命令
  align-check TYPE N                        check partition N    for TYPE(min|opt) alignment
  help [COMMAND]                           print general help, or help on COMMAND
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)
  mkpart PART-TYPE [FS-TYPE] START END     make a partition
  name NUMBER NAME                         name partition NUMBER as NAME
  print [devices|free|list,all|NUMBER]     display the partition table, available devices, free space, all found partitions, or a particular partition
  quit                                     exit program
  rescue START END                         rescue a lost partition near START and END
  rm NUMBER                                delete partition NUMBER
  select DEVICE                            choose the device to edit
  disk_set FLAG STATE                      change the FLAG on selected device
  disk_toggle [FLAG]                       toggle the state of FLAG on selected device
  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER
  unit UNIT                                set the default unit to UNIT
  version                                  display the version number and copyright information of GNU Parted

2、创建分区

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

(parted) mklabel
新的磁盘标签类型? gpt  # (我们要正确分区大于2TB的磁盘,应该使用gpt方式的分区表,输入gpt后回车)

3、完成分区操作

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

(parted) mkpart
分区名称?  []? partb
文件系统类型?  [ext2]? ext4
起始点? 1    # 1表示从最开始分区,也可以用百分比表示,比如Start? 0% , End? 50%;
结束点? -1   # -1表示到磁盘末尾;也可以分成多个磁盘,写要分配的大小;

4、验证分区信息

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

(parted) print     # 简写p
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 2147GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name   标志
 1      1049kB  2147GB  2147GB               partb

(parted) quit   # 退出
信息: You may need to update /etc/fstab.

5、删除分区示例

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

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

6、格式化操作

完成以后我们可以使用quit命令退出parted并使用系统的mkfs命令对分区进行格式化了。 

[root@node1 ~]# ll /dev/vdb*
brw-rw---- 1 root disk 253, 16 5月  14 09:40 /dev/vdb
brw-rw---- 1 root disk 253, 17 5月  14 09:40 /dev/vdb1
[root@node1 ~]# fdisk -l
磁盘 /dev/vda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009e68a

   设备 Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    83884031    41940992   83  Linux
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

磁盘 /dev/vdb:2147.5 GB, 2147483648000 字节,4194304000 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt

#         Start          End    Size  Type            Name
 1         2048   4194301951      2T  Microsoft basic partb
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

[root@node1 ~]# mkfs.ext4 /dev/vdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072000 inodes, 524287488 blocks
26214374 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=4294967296
16000 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

[root@node1 ~]# mkdir /data
[root@node1 ~]# mount /dev/vdb1 /data/
[root@node1 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/vda1        40G  1.5G   36G    5% /
devtmpfs         32G     0   32G    0% /dev
tmpfs            32G     0   32G    0% /dev/shm
tmpfs            32G  8.3M   32G    1% /run
tmpfs            32G     0   32G    0% /sys/fs/cgroup
/dev/vdb1       2.0T   71M  1.9T    1% /data
[root@node1 ~]# blkid
/dev/vda1: UUID="6634633e-001d-43ba-8fab-202f1df93339" TYPE="ext4"
/dev/vdb1: UUID="d4993a37-4a33-4c95-95de-9711413196c0" TYPE="ext4" PARTLABEL="partb" PARTUUID="385073f7-3a5b-4312-8c42-27a2d1f882cf"
[root@node1 ~]# cp -a /etc/fstab{,.bak}
[root@node1 ~]# vim /etc/fstab
# /etc/fstab
# Created by anaconda on Fri Nov 21 18:16:53 2014
#
# Accessible filesystems, by reference, are maintained under    '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=6634633e-001d-43ba-8fab-202f1df93339 / ext4 defaults,barrier=0 1 1
UUID=d4993a37-4a33-4c95-95de-9711413196c0 /data ext4 defaults 0 0

注意

使用fdisk或parted工具只是将分区信息写入到磁盘,如果需要使用mkfs格式化并使用分区,则需要重新启动系统。partprobe 是一个可以修改kernel中分区表的工具,可以使kernel重新读取分区表而不用重启系统。
partprobe  /dev/vdb