[关闭]
@cdmonkey 2020-10-30T03:33:51.000000Z 字数 5822 阅读 1492

parted

命令总结


是另外一款分区软件,相对于fdisk,它的使用更加方便,同时它还提供了动态调整分区大小的功能。下面我来如何通过该工具创建、删除磁盘分区、查看分区表、更改分区大小、创建文件系统以及如何使用它的交互模式。

更为重要的是,传统的fdisk工具不支持创建“GPT”分区,而该分区表格式支持大于2TB分区,而MBR不支持,所以如果要对大于2TB的硬盘进行分区,需要使用该工具。

指令格式:

  1. parted [options] [device [command [options...]...]]

与fdisk指令类似,同样可以使用命令“parted+设备名”进入交互模式。进入交互模式后,同样可以通过各种指令来对硬盘分区进行管理,嗯,似曾相识。

  1. [root@WEB-A1 ~]# parted /dev/sdb
  2. GNU Parted 2.1
  3. Using /dev/sdb
  4. Welcome to GNU Parted! Type 'help' to view a list of commands.
  5. (parted) help
  6. align-check TYPE N
  7. check NUMBER #检查文件系统。
  8. cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER #复制文件系统到另外一个分区。
  9. help [COMMAND]
  10. mklabel,mktable LABEL-TYPE #在分区表中创建一个新的硬盘标签。
  11. mkfs NUMBER FS-TYPE #在分区上创建一个指定类型的文件系统。
  12. mkpart PART-TYPE [FS-TYPE] START END #创建一个分区。
  13. mkpartfs PART-TYPE FS-TYPE START END #创建一个分区,并在分区上创建指定的文件系统。
  14. move NUMBER START END #移动分区。
  15. name NUMBER NAME #以指定的名字命名分区号。
  16. print [devices|free|list,all|NUMBER] #显示分区表、指定的分区或者所有设备。
  17. quit
  18. rescue START END #修复丢失的分区。
  19. resize NUMBER START END #更改分区的大小。
  20. rm NUMBER #删除分区。
  21. select DEVICE #选择需要更改的设备。
  22. set NUMBER FLAG STATE #更改分区的标记。
  23. toggle [NUMBER [FLAG]] #设置或取消分区的标记。
  24. unit UNIT #设置默认单位。
  25. version
  26. (parted)

二、分区管理

1. 查看分区

显示分区信息:

  1. [root@WEB-A1 ~]# parted
  2. GNU Parted 2.1
  3. Using /dev/sda
  4. Welcome to GNU Parted! Type 'help' to view a list of commands.
  5. (parted) print
  6. Model: VMware, VMware Virtual S (scsi)
  7. Disk /dev/sda: 21.5GB
  8. Sector size (logical/physical): 512B/512B
  9. Partition Table: msdos
  10. Number Start End Size Type File system Flags
  11. 1 1049kB 211MB 210MB primary ext4 boot
  12. 2 211MB 2358MB 2147MB primary linux-swap(v1)
  13. 3 2358MB 21.5GB 19.1GB primary ext4
  14. #可以看到,如果不指定硬盘的话,默认显示第一块硬盘的信息。

2. 创建分区

首先,如果是新的硬盘,我们需要先创建分区表。

  1. #首先和fdisk类似,要先选择进行分区的硬盘:
  2. [root@WEB-A1 ~]# parted /dev/sdb
  3. ...
  4. #选择了指定硬盘作为我们操作的硬盘,接下来需要创建一个分区表:
  5. (parted) help mktable
  6. mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
  7. LABEL-TYPE is one of: aix, amiga, bsd, dvh, gpt, mac, msdos, pc98, sun, loop
  8. (parted) mktable
  9. #默认为MSDOS形式的分区,我们要正确分区大于2TB的磁盘,应该使用GPT方式的分区表。
  10. New disk label type? msdos
  11. Warning: Partition(s) on /dev/sdb are being used.
  12. Ignore/Cancel? I
  13. Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
  14. #这里警告用户硬盘上的数据将会被销毁,询问是否继续,我们这里是新的硬盘,输入“yes”后回车。
  15. Yes/No? yes
  16. Warning: WARNING: the kernel failed to re-read the partition table on /dev/sdb (Success). As a result, it may not reflect all of your changes until after reboot.
  17. #出现上面的警告信息是由于该硬盘已经被挂载,是不能重新分区的。所以要先卸载已挂载分区,然后再分区并格式化。
  18. --------------------
  19. [root@WEB-A1 ~]# umount -lf /brick1
  20. #卸载分区,然后重启系统,再对该硬盘进行操作时就没有出现过该警告信息,原因不明。

然后在交互模式下通过输入“mkpart”指令来创建硬盘分区。

  1. (parted) help mkpart
  2. mkpart PART-TYPE [FS-TYPE] START END make a partition
  3. PART-TYPE is one of: primary, logical, extended
  4. FS-TYPE is one of: ext4, ext3, ext2, fat32, fat16...
  5. --------------------
  6. (parted) mkpart
  7. Partition type? primary/extended? extended
  8. Start? 0
  9. End? 10.7G
  10. Warning: The resulting partition is not properly aligned for best performance.
  11. Ignore/Cancel?
  12. #这里又出现一个警告信息,具体原因目前不得而知,解决方法如下(使用百分号):
  13. (parted) mkpart
  14. Partition type? primary/extended? extended
  15. Start? 0%
  16. End? 100%
  17. #Apparently, using % causes parted to automatically align the sectors for best performance.
  18. (parted) print
  19. Model: VMware, VMware Virtual S (scsi)
  20. Disk /dev/sdb: 10.7GB
  21. Sector size (logical/physical): 512B/512B
  22. Partition Table: msdos
  23. Number Start End Size Type File system Flags
  24. 1 1049kB 10.7GB 10.7GB extended lba
  25. #操作至此,我们创建了一个扩展分区。

我们在扩展分区下再创建逻辑分区:

  1. (parted) mkpart
  2. Partition type? primary/logical? logical
  3. File system type? [ext2]? ext4
  4. Start? 0%
  5. End? 50%
  6. (parted) print
  7. Model: VMware, VMware Virtual S (scsi)
  8. Disk /dev/sdb: 10.7GB
  9. Sector size (logical/physical): 512B/512B
  10. Partition Table: msdos
  11. Number Start End Size Type File system Flags
  12. 1 1049kB 10.7GB 10.7GB extended lba
  13. 5 2097kB 5369MB 5367MB logical

http://blog.163.com/nancainvmao_bq/blog/static/106573742013101253730555/

由于指令内建的格式化工具“mkfs”还不够完善,所以完成以后我们可以退出并使用外部的“mkfs”命令对分区进行格式化。

5. 删除分区

使用“rm”指令(后面接要删除的分区号)可以删除指定的磁盘分区,在进行删除操作前必须先把分区卸载。

  1. [root@WEB-A1 ~]# parted /dev/sdb
  2. GNU Parted 2.1
  3. Using /dev/sdb
  4. Welcome to GNU Parted! Type 'help' to view a list of commands.
  5. (parted) print
  6. Model: VMware, VMware Virtual S (scsi)
  7. Disk /dev/sdb: 10.7GB
  8. Sector size (logical/physical): 512B/512B
  9. Partition Table: loop
  10. Number Start End Size File system Flags
  11. 1 0.00B 10.7GB 10.7GB ext4
  12. (parted) rm 1
  1. [root@WEB-A1 ~]# parted -l
  2. #第一块硬盘的信息:
  3. Model: VMware, VMware Virtual S (scsi)
  4. Disk /dev/sda: 21.5GB
  5. Sector size (logical/physical): 512B/512B
  6. Partition Table: msdos
  7. Number Start End Size Type File system Flags
  8. 1 1049kB 211MB 210MB primary ext4 boot
  9. 2 211MB 2358MB 2147MB primary linux-swap(v1)
  10. 3 2358MB 21.5GB 19.1GB primary ext4
  11. #第二块硬盘的信息:
  12. Model: VMware, VMware Virtual S (scsi)
  13. Disk /dev/sdb: 10.7GB
  14. Sector size (logical/physical): 512B/512B
  15. Partition Table: loop
  16. Number Start End Size File system Flags
  17. 1 0.00B 10.7GB 10.7GB ext4
  18. Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 #该设备即光驱。
  19. has been opened read-only.
  20. Error: Invalid partition table - recursive partition on /dev/sr0.
  21. Ignore/Cancel? I
  22. Model: NECVMWar VMware IDE CDR10 (scsi)
  23. Disk /dev/sr0: 4468MB
  24. Sector size (logical/physical): 2048B/2048B
  25. Partition Table: msdos
  26. Number Start End Size Type File system Flags
  1. #系统中的光驱设备文件:
  2. [root@WEB-A1 ~]# ll /dev/sr0
  3. brw-rw---- 1 root cdrom 11, 0 Apr 18 14:09 /dev/sr0
  4. [root@WEB-A1 ~]# ll /dev/cdrom
  5. lrwxrwxrwx 1 root root 3 Apr 18 14:09 /dev/cdrom -> sr0

三、非交互方式

上面是以交互方式进行的分区操作,当然还可以通过非交互的方式进行。我们下面的实例是对系统中新增加的第二块硬盘进行分区及格式化操作。

  1. #我们这里采用非交互的方式:
  2. #首先创建分区表:
  3. [root@data-1-1 ~]# parted /dev/sdb mklabel gpt yes
  4. Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
  5. Information: You may need to update /etc/fstab.
  6. #然后创建同步数据分区(参数单位是M):
  7. [root@data-1-1 ~]# parted /dev/sdb mkpart primary ext4 0 4000 ignore
  8. Warning: The resulting partition is not properly aligned for best performance.
  9. Information: You may need to update /etc/fstab.
  10. #接下来是创建“meta data”分区:
  11. [root@data-1-1 ~]# parted /dev/sdb mkpart primary ext4 4001 5000 yes ignore
  12. Warning: You requested a partition from 4001MB to 5000MB.
  13. The closest location we can manage is 4001MB to 4001MB.
  14. Is this still acceptable to you?
  15. Warning: The resulting partition is not properly aligned for best performance.
  16. Information: You may need to update /etc/fstab.
  17. #最后查看一下分区结果:
  18. [root@data-1-1 ~]# parted /dev/sdb p
  19. Model: VMware, VMware Virtual S (scsi)
  20. Disk /dev/sdb: 5369MB
  21. Sector size (logical/physical): 512B/512B
  22. Partition Table: gpt
  23. Number Start End Size File system Name Flags
  24. 1 17.4kB 4000MB 4000MB primary
  25. 2 4001MB 5000MB 998MB primary

参考内容:

https://www.itsfun.tk/centos7-lvm
http://dl528888.blog.51cto.com/2382721/1547325

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注