一、Parted作用

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

  1. parted [选项]... [设备 [命令 [参数]...]...]
  2. 帮助选项:
  3. -h, --help 显示此求助信息
  4. -l, --list 列出所有设别的分区信息
  5. -i, --interactive 在必要时,提示用户
  6. -s, --script 从不提示用户
  7. -v, --version 显示版本

二、Parted操作命令

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. 删除分区示例<br />
如果分区错了,可以使用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. 格式化操作<br />
完成以后我们可以使用quit命令退出parted并使用系统的mkfs命令对分区进行格式化了。

[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: 完成


7. 挂载分区

[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 //查看UUID /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 ```

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

本文转载自 Linux分区之parted命令详解-毛虫小臭臭-51CTO博客