GPT分区

文档适用于磁盘超过2T的情况。

一、parted分区管理

1、查看分区信息

 
 
 
x
 
 
# 查看设备名称
[root@master1 ~]# parted -l
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number  Start   End     Size    Type     File system  Flags
 1      1049kB  42.9GB  42.9GB  primary  ext4         boot
Error: /dev/vdb: unrecognised disk label 
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 2684GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
 
 
 

2、新建GPT分区

注:parted的操作是即刻生效的,是不可退的。

 
 
 
xxxxxxxxxx
 
 
 
 
#对磁盘/dev/vdb进行分区
[root@master1 ~]# parted /dev/vdb  
GNU Parted 3.1
Using /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) # 如果忘记有那些可用的命令按两次Tab键可以显示所以可用的指令,也支持Tab命令补齐,和上下查找历史记。
align-check  disk_toggle  mklabel      mktable      print        rescue       resizepart   select       toggle       version
disk_set     help         mkpart       name         quit         resize       rm           set          unit
(parted) help mktable # 查看mktable命令的用法及支持的分区表
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition table) # 用法,用mktable也是一样的作用
        LABEL-TYPE is one of: aix, amiga, bsd, dvh, gpt, mac, msdos, pc98, sun, loop  # 支持的分区类型
(parted) help mklable # 创建gpt分区表,如果以存在分区表也可以通过这里命令更改
(parted) mklabel gpt
(parted) mklabel gpt
Warning: The existing disk label on /dev/vdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes  # 警告用户磁盘上的数据将会被销毁,询问是否继续,我们这里是新的磁盘,输入yes后回车
(parted) print # 查看分区表的信息
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 2684GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt # 分区表以是gpt格式
Disk Flags:
Number  Start  End  Size  File system  Name  Flags
(parted) mkpart # 输入mkpart新建分区,如果输入mkpart指令不带任何参数,parted会一步步提示用户输入相关信息最终完成创建
Partition name?  []? # 分区的名字,这里可以直接回车不给分区命名,也可以输入用来标记的名字
File system type?  [ext2]? # 分区被格式化的文件系统,可以按两次Tab键查看支持的文件系统
affs0            affs5            amufs1           apfs1            ext3             hfs+             linux-swap(new)  ntfs
affs1            affs6            amufs2           apfs2            ext4             hfsx             linux-swap(old)  reiserfs
affs2            affs7            amufs3           asfs             fat16            hp-ufs           linux-swap(v0)   sun-ufs
affs3            amufs            amufs4           btrfs            fat32            jfs              linux-swap(v1)   swsusp
affs4            amufs0           amufs5           ext2             hfs              linux-swap       nilfs2           xfs
File system type?  [ext2]? ext4  # 输入被格式化的文件系统为ext4,这里必须要输入文件系统
# 如果只需要一个分区,开始位置写0%,结束位置写100%
Start? 0% # 开始位置,这里要输入0%或2048s或1M都可以但是不要输入别的,下面有说明
End? 100G # 结束位置,默认单位为compact,我们想要用其他单位必须在数字后面加上单位
(parted)  mkpart  pname  ext4  100G  200G  # 如果想一步就把分区创建好可以像左边一样,pname表示分区名这样分区这里必须有,后面3项目分别是文件系统,开始位置,结束位置
(parted) mkpart pname   200G  100%  # 如果不想创建文件系统这里可以不加这个选项,后面两项分别是开始位置,和结束位置,100%表示使用全部剩余空间
(parted) p # 输入print查看分区情况,如果指令是唯一的直接输入指令的首字母也可以
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 2684GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number  Start   End     Size    File system  Name   Flags
 1      1049kB  100GB   100GB
 2      100GB   200GB   100GB                pname
 3      200GB   2684GB  2484GB               pname

# 修改分区的名字,没有需求可不用修改
(parted) name 
Partition number? 3
Partition name?  [pname]? name123
(parted) p
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 2684GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number  Start   End     Size    File system  Name     Flags
 1      1049kB  100GB   100GB
 2      100GB   200GB   100GB                pname
 3      200GB   2684GB  2484GB               name123

# 删除分区
(parted) rm  # 输入删除指令rm直接回车,如果后面加上分区号在回车就可以直接删除分区
Partition number? 2  # 输入要删除的分区,这里操作一定要慎重,一旦回车就生效了,是不可退的。
(parted) p
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 2684GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number  Start   End     Size    File system  Name     Flags
 1      1049kB  100GB   100GB
 3      200GB   2684GB  2484GB               name123
# 调整分区大小增加容量
(parted) resizepart # 输入调整分区的指令resizepart直接回车,这里增加容量,增加容量的分区后面必须得有可用的未分配的分区
Partition number? 1  # 输入要更改的分区
End?  [100GB]? 200G # 扩容后这个分区的结束位置,这个要根据扩容前分区结束的位置和增加的容量来确定最终的分区位置
(parted) p
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 2684GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number  Start   End     Size    File system  Name     Flags
 1      1049kB  200GB   200GB
 3      200GB   2684GB  2484GB               name123
# 调整分区大小减少容量
(parted) resizepart
Partition number? 1
End?  [200GB]? 150G
Warning: Shrinking a partition can cause data loss, are you sure you want to continue?
Yes/No? yes  # 减少容量会有这样的警告:收缩分区会导致数据丢失,你确定要继续吗?
(parted) p
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 2684GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number  Start   End     Size    File system  Name     Flags
 1      1049kB  150GB   150GB
 3      200GB   2684GB  2484GB               name123
# 更改默认显示单位
(parted) unit # 输入unit更改默认单位,如果不知道支持那些单位直接回车
Unit?  [compact]? # 按两次Tab键,列出支持的单位,在parted交互模式下不知道怎么输入就先按两次Tab键看看有什么结果
%        B        chs      compact  cyl      GB       GiB      kB       kiB      MB       MiB      s        TB       TiB
Unit?  [compact]? GB  # 输入更改后的默认单位
(parted) p
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 2684GB # 默认单位已改为GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number  Start   End     Size    File system  Name     Flags
 1      0.00GB  150GB   150GB
 3      200GB   2684GB  2484GB               name123
 

3、格式化、挂载

使用mkfs.ext4默认参数格式化磁盘后,格式化时间特别长,并且格式化会占用磁盘很大的空间。inode会占用磁盘空间,每个inode占用256b大小空间。

默认情况下,mkfs2fs会为每16kb的磁盘空间分配一个inode,格式化时系统根据磁盘大小,计算可以保存的文件个数,进而为inode保留空间。所以格式化大容量磁盘,系统会分配过多inode,为inode预留过多空间,导致磁盘空间占用特别大。

通过-T参数直接指定多大磁盘空间分配一个inode,largefile 类型就是 1M 一个 inode。

 
 
 
x
 
 
 
 
# 格式化文件系统
[root@master1 ~]#  mkfs.ext4 -T largefile /dev/vdb1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
143104 inodes, 36620837 blocks
1831041 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2185232384
1118 block groups
32768 blocks per group, 32768 fragments per group
128 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
# 挂载到/mnt目录
[root@master1 ~]# mount -t ext4 /dev/vdb1 /mnt
# 查看挂载
[root@master1 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G  2.2G   36G   6% /
devtmpfs        7.8G     0  7.8G   0% /dev
tmpfs           7.8G     0  7.8G   0% /dev/shm
tmpfs           7.8G  504K  7.8G   1% /run
tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
tmpfs           1.6G     0  1.6G   0% /run/user/0
/dev/vdb1       138G   61M  131G   1% /mnt # 已挂载到/mnt目录
 

4、设置自动挂载

修改 fstab 文件,设置系统重启时自动挂载新分区。 执行命令 vi /etc/fstab ,进入编辑页面,键入i进入编辑模式。 /dev/vdb1 /mnt ext4 defaults 0 0 添加至文本末端,再按 Esc 键,输入:wq保存并返回到命令行,此时已成功修改 fstab 文件。

 
 
 
xxxxxxxxxx
 
 
 
 
[root@master1 ~]# vi /etc/fstab
# /etc/fstab
# Created by anaconda on Thu Jul 11 02:52:01 2019
#
# 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=1114fe9e-2309-4580-b183-d778e6d97397 /                       ext4    defaults        1 1
/dev/vdb1                                 /mnt                    ext4    defaults        1 1 # 添加这一行
​参考:https://www.cnblogs.com/pipci/p/11372530.html
 
原文地址:https://www.cnblogs.com/yzg-14/p/13891555.html