Centos7磁盘超过2TB使用parted命令分区

介绍说明:

parted的操作都是实时的,也就是说你执行了一个分区的命令,他就实实在在地分区了,

而不是像fdisk那样,需要执行w命令写入所做的修改, 所以进行parted的测试千万注意不能在生产环境中

传统的MBR(Master Boot Record)分区方式,有一个局限:无法支持超过2TB的硬盘的分区(或单个分区超过2TB),

这个情况在当前这个数据量激增的时候,实在令人难以接受(尤其是企业级的应用,动则数TB的数据量)。

GPT的分区表很好了解决了传统MBR无法逾越2TB的限制。但是在Linux系统中,传统的fdisk命令无法支持gpt分区方式,这时候我们就要用到parted命令,下面介绍parted命令用法。

root@kvm1:/# parted /dev/sda
GNU Parted 3.2
Using /dev/sda
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(检查分区N是否为TYPE(min | opt)对齐)
help [COMMAND]                           print general help, or help on COMMAND(打印一般帮助,或帮助COMMAND)
mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)(创建一个新的disklabel(分区表))
mkpart PART-TYPE [FS-TYPE] START END     make a partition(做一个分区)
name NUMBER NAME                         name partition NUMBER as NAME(将分区名称NUMBER作为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(在START和END附近找出丢失的分区)
resizepart NUMBER END                    resize partition NUMBER(调整分区NUMBER)
rm NUMBER                                delete partition NUMBER(删除分区NUMBER)
select DEVICE                            choose the device to edit(选择要编辑的设备)
disk_set FLAG STATE                      change the FLAG on selected device(更改所选设备上的FLAG)
disk_toggle [FLAG]                       toggle the state of FLAG on selected device(在所选设备上切换FLAG的状态)
set NUMBER FLAG STATE                    change the FLAG on partition NUMBER(更改分区NUMBER上的FLAG)
toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER(切换分区NUMBER上的FLAG状态)
unit UNIT                                set the default unit to UNIT(将默认单位设置为UNIT)
version                                  display the version number and copyright information of GNU Parted(显示GNU Parted的版本号和版权信息)

用法实例:

(parted) /dev/sda print   #打印磁盘当前分区结构
Model: LSI MR9270CV-8i (scsi)
Disk /dev/sda: 8999GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      17.4kB  1049kB  1031kB                     bios_grub
 2      1049kB  538MB   537MB   fat32              boot, esp
 3      538MB   8999GB  8998GB                     lvm

(parted) mklabel gpt #将一个MBR的磁盘格式化为GPT磁盘:

(parted) mklabel msdos  #将一个GPT磁盘格式化为MBR磁盘:

(parted) mkpart primary 0 100M 或者 /dev/sda mkpart primary 0 100M #划分一个起始位置是0,大小为100M的主分区:

(parted) mkpart primary 0 -1 或者 (parted) /dev/sda mkpart primary 0 -1  #将一个磁盘的所有空间都划分成一个分区:

(parted) rm 1   或者 (parted) /dev/sda rm1 #删除一个分区

(parted) p #查看分区

(parted) q #退出

mkfs.xfs /dev/sda1 #格式化已经分好的区,可以用xfs或者ext4,建议xfs

注意:
parted命令和fdisk命令不同,fdisk命令是等到你最后执行那个w的时候才生效最终写入到分区表中的, parted命令是实时的写入到分区表,所以在操作有数据的磁盘的时候需要格外小心,毕竟数据无价的!