使用 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/vdb1 挂载到 /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,启动时不检查要挂载的设备。