作用:规划大小超过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