gdisk、parted 创建和维护磁盘分区命令(gpt分区方案)

前言

环境:centos 7.9 /dev/sdb 3T
gpt分区既可以使用gdisk命令也可以使用parted命令,两者仅使用上有些不同而已。

gdisk命令

gdisk 命令用于创建和维护磁盘分区,gdisk又叫GPT fdisk,gdisk 工具对硬盘的分区其实和fdisk对硬盘的分区很类似,算是fdisk的延伸吧,主要使用的是GPT分区类型,用来划分容量大于2T的硬盘。
ps:分区类型可分为GPT和MBR,GPT最大支持18EB(1EB=1024PB,1PB=1024TB),MBR最大支持2TB硬盘;GPT,全局唯一标识分区表(GUID Partition Table),它使用128位GUID来唯一标识每个磁盘和分区,与MBR存在单一故障点不同,GPT提供分区表信息的冗余,一个在磁盘头部,一个在磁盘尾部;它通过CRC校验来检测GPT头和分区表中错误与损坏,默认一个硬盘支持128个分区(可以更多)。

 yum install gdisk					#没有gdisk命令的话安装该工具即可

语法格式:


gdisk [ -l ] device

常用选项:

-l 					#列出磁盘的所有分区表

演示示例:

具体不讲,因为和fdisk分区基本类似,看一查看本人另外一篇《fdisk 创建和维护磁盘分区命令(MBR分区方案)》

本篇主要来讲parted工具的使用

parted命令分区

yum install  -y								#没有parted命令的话安装即可
Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]
#使用实战
[root@kubernetes ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb               8:16   0    3T  0 disk 
sr0              11:0    1 1024M  0 rom  
sda               8:0    0   20G  0 disk 
├─sda2            8:2    0   19G  0 part 
│ ├─centos-swap 253:1    0    2G  0 lvm  [SWAP]
│ └─centos-root 253:0    0   17G  0 lvm  /
└─sda1            8:1    0    1G  0 part /boot
#查看帮助信息
[root@kubernetes ~]# parted --help
Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]
Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run in
interactive mode.

OPTIONs:
  -h, --help                      显示帮助信息
  -l, --list                      列出全部块设备的分区表信息
  -m, --machine                   displays machine parseable output
  -s, --script                    never prompts for user intervention
  -v, --version                   显示版本
  -a, --align=[none|cyl|min|opt]  alignment for new partitions

COMMANDs:
  align-check TYPE N                       check partition N for TYPE(min|opt)   alignment
  help [COMMAND]                           打印帮助信息
  mklabel,mktable LABEL-TYPE               创建新的磁盘标签 (分区表)
  mkpart PART-TYPE [FS-TYPE] START END    创建一个分区
  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                                     退出
  rescue START END                         rescue a lost partition near START  and END
  resizepart NUMBER END                    resize partition NUMBER
  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                                设置unit单位
  version                                  显示版本信息
#开始对3T的磁盘分区
[root@kubernetes ~]#parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
                                                          
(parted) mkpart								#想分一个区                                                         
Error: /dev/sdb: unrecognised disk label	#由于我们这是一个新的硬盘,硬盘还没有分区表,所以这里报错了,所以我们需要先创建一个gpt分区表
(parted) mklabel							#输入mklabel
New disk label type? gpt					#输入gpt,这里如果有警告说要销毁数据,请自己确认。

(parted) mkpart					 			#输入mkpart开始分区                                              
Partition name?  []? part1                  #给分区命名,随便输入一个分区名称即可,不输入直接回车也可以                    
File system type?  [ext2]? ext4             #分区被格式化的文件系统,可以按两次Tab键查看支持的文件系统
affs0            affs4            amufs            amufs3           apfs2            ext3             hfs              jfs              linux-swap(v0)   reiserfs
affs1            affs5            amufs0           amufs4           asfs             ext4             hfs+             linux-swap       linux-swap(v1)   sun-ufs
affs2            affs6            amufs1           amufs5           btrfs            fat16            hfsx             linux-swap(new)  nilfs2           swsusp
affs3            affs7            amufs2           apfs1            ext2             fat32            hp-ufs           linux-swap(old)  ntfs             xfs
File system type?  [ext2]? ext4				#一般可以使选ext4和xfs,这里输入ext4
Start? 0%					#分区的开始位置,如果是一块新的磁盘,这里要输入0%或2048s或1M都可以但是不要输入别的。建议输入0%。                                             
End? 100%					#分区的结束位置
(parted) print				#打印分区信息,可以看到已经有一个分区了                                                    
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 3299GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  3299GB  3299GB

#删除分区
(parted)  rm 1		#删除分区,1是分区的Number号      
#删除分区了,下面看下已经没有任何分区了                                                            
(parted) print                                                            
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 3299GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  Flags


#重新来多创建几个分区
(parted) mkpart 
Partition name?  []? part1			#给分区命名                                         
File system type?  [ext2]? ext4		#文件系统格式                                                                                                                                 
Start? 0%							#输入0%表示从磁盘开始位置开启                                                              
End? 10G							#结束位置可以指定多少G                                              
(parted) print						#查看分区信息,现在就有了一个10G的分区,叫part1                                             
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 3299GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name   Flags
 1      1049kB  10.0GB  9999MB               part1


(parted) mkpart						#继续分区                                                        
Partition name?  []? part2			#分区名称                                        
File system type?  [ext2]? xfs		#分区文件系统类型。                                      
Start? 10G                          #这里输入分区开始位置,因为我们上一个分区是10G结束的,所以这里10G开始                                  
End? 20G                            #指定结束分区                                  
(parted) print                      #查看分区信息  ,现在有两个分区了,大小都是10G                               
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 3299GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name   Flags
 1      1049kB  10.0GB  9999MB               part1
 2      10.0GB  20.0GB  9999MB               part2

(parted) mkpart						#继续分第三个分区
Partition name?  []? part3                                                
File system type?  [ext2]? ext4                                           
Start? 20G							#开始位置从20G开始,因为我们上一个分区是20G结束的                                       
End? 100%                           #这里100%表示,分配磁盘的剩余全部空间                                 
(parted) print                                                            
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 3299GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name   Flags
 1      1049kB  10.0GB  9999MB               part1
 2      10.0GB  20.0GB  9999MB               part2
 3      20.0GB  3299GB  3279GB               part3

(parted) quit						#分区完成,退出即可。

Start? 如果Start位置输入的不是0%或2048s或1M或0G的数值,分区结束会有这个的提示,Warning: The resulting partition is not properly aligned for best performance.Ignore/Cancel? (意思是说警告:生成的分区没有正确对齐以获得最佳性能。忽略/取消? 我们可以输入Ignore以忽略,但是这样并不好)
这是因为在512B扇区的磁盘驱动器上,Parted希望分区从2048的倍数(即1 MiB对齐)扇区开始

创建文件系统,挂载分区

[root@kubernetes ~]# lsblk  /dev/sdb			#查看设备,分区已经出来了
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb      8:16   0    3T  0 disk 
├─sdb2   8:18   0  9.3G  0 part 
├─sdb3   8:19   0    3T  0 part 
└─sdb1   8:17   0  9.3G  0 part 

#下面的命令就是创建lvm
pvcreate /dev/sdb1							#将磁盘分区格式化为pv
vgcreate vggpt /dev/sdb1					#创建vg卷组
lvcreate -n lvgpt -l +100%FREE vggpt		#在vg卷组上面创建lv
mkfs.ext4 /dev/vggpt/lvgpt					#格式化lv,创建文件系统
mkdir /gpt									#创建挂载点
mount /dev/vggpt/lvgpt /gpt/				#挂载

[root@kubernetes ~]# df -h /gpt/			#查看,正常
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/vggpt-lvgpt  9.1G   37M  8.6G   1% /gpt
[root@kubernetes ~]# touch /gpt/test && ls /gpt/	#创建文件、查看文件正常
lost+found  test

猜你喜欢

转载自blog.csdn.net/MssGuo/article/details/129716368