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