使用 GPT 分区
本操作步骤是在 CentOS / 8.4 x86_64 (64bit) 系统中为一块新的 100 GB 数据盘(设备名为/dev/vdb)创建一个单分区。
1.查看当前磁盘信息
执行fdisk -l
命令查看当前磁盘信息,可以看到当前 /dev/vdb 磁盘处于未分区状态。
[root@instance-xxxx ~]# fdisk -l
Disk /dev/vda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x013315e2
Device Boot Start End Sectors Size Id Type
/dev/vda1 * 2048 41943006 41940959 20G 83 Linux
Disk /dev/vdb: 100 GiB, 107374182400 bytes, 209715200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
提示:
- 查看前请确认数据盘已经挂载。若未挂载,请将磁盘挂载后查看。
2.对该磁盘进行分区
- 使用 parted 对数据盘进行分区,执行命令
parted /dev/vdb
后回车。根据提示,依次操作如下: - 输入
mklabel gpt
后回车,转为 GPT 分区格式; - 输入
mkpart primary 1 100%
后回车,划分一个主分区,并设置其开始和结束位置; - 输入
align-check optimal 1
后回车,检查分区是否对齐,若返回1,则对齐; - 输入
print
后回车 ,查看当前磁盘的分区表 - 输入
quit
后回车,退出。
[root@instance-xxxx ~]# parted /dev/vdb
GNU Parted 3.2
Using /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) mkpart primary 1 100%
(parted) align-check optimal 1
1 aligned
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 107GB 107GB primary
(parted) quit
Information: You may need to update /etc/fstab.
3.系统重读分区表
运行命令 partprobe
,使系统重读分区表。
[root@instance-xxxx ~]# partprobe
Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only.
4.创建文件系统
运行命令 mkfs -t <文件系统格式> /dev/vdb1
创建文件系统,本示例以 ext4 为例。
[root@instance-xxxx ~]# mkfs -t ext4 /dev/vdb1
mke2fs 1.45.6 (20-Mar-2020)
Creating filesystem with 26213888 4k blocks and 6553600 inodes
Filesystem UUID: 566ca5f3-5de7-4500-81d4-e41c3fbf7e6e
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 (131072 blocks): done
Writing superblocks and filesystem accounting information: done
5.创建挂载点并挂载文件系统
执行 mkdir <挂载点>
创建挂载点,本实例挂载至 /set 挂载点; 执行 mount /dev/vdb1 /set
,将分区 /dev/vdb 挂载到 /set; 执行 df -h
,查看目前磁盘空间和使用情况。
[root@instance-xxxx ~]# mkdir /set
[root@instance-xxxx ~]# mount /dev/vdb1 /set
[root@instance-xxxx ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.9G 0 7.9G 0% /dev
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 7.9G 620K 7.9G 1% /run
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/vda1 20G 3.6G 16G 20% /
tmpfs 1.6G 0 1.6G 0% /run/user/0
/dev/vdb1 98G 61M 93G 1% /set
6.添加开机启动配置
使用 vim 编辑 /etc/fstab,在最后一行写入磁盘挂载信息 /dev/vdb1 /set ext4 defaults,nofail 0 0
,配置完成后执行 reboot -h now
重启机器后验证配置是否正确。
[root@instance-xxxx ~]# vim /etc/fstab
/dev/vdb1 /set ext4 defaults,nofail 0 0
[root@instance-xxxx ~]# reboot -h now
...
[root@instance-xxxx ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.9G 0 7.9G 0% /dev
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 7.9G 624K 7.9G 1% /run
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/vda1 20G 3.5G 16G 19% /
/dev/vdb1 98G 61M 93G 1% /set
tmpfs 1.6G 0 1.6G 0% /run/user/0
/etc/fstab 配置各列含义如下:
- device name,设备名,例如/dev/vdb1。
- mount point,系统挂载点,例如/set。
- fs-type,要挂载设备的类型,例如ext4。用man fstab可以查到支持的类型。
- options,挂载时采用的参数,一般是defaults。
- dump-freq和pass-num,一般都设置为0,启动时不检查要挂载的设备。