由于前期经验不足,并且此项目为单节点服务,未对线上环境进行规划,将项目与资源文件同时放在一个目录下,导致现在由于资源文件越来越大,磁盘空间不够用,然后对磁盘进行过一次在线扩容后,很快磁盘就又吃满了,由于项目和资源文件都在同意挂载目录下,所以扩容的时候需要先取消挂载,才能进行扩容,这样所有的项目都必须给停止,影响项目的使用。所以这次决定添加一块新磁盘,目录下只存放项目资源文件,来确保再次扩容时,不影响其他项目的使用。
首先登陆阿里云管理界面添加购买云盘
选择要添加的实例,点击本实例云盘,然后点击创建云盘
选择要挂载的实例及磁盘大小,我这里选择的磁盘大小为3T
注意:阿里云块存储支持的分区格式包括MBR(Master Boot Record)和GPT(Globally Unique Identifier Partition Table)。其中,MBR只支持处理不大于2 TiB的容量,且只支持划分4个主区。如果您需要使用大于2 TiB的数据盘,您必须采用GPT格式。
我这里新增的磁盘是大于2T的,所以分区格式要采用GPT格式
下边开始分区格式化并挂载磁盘
实例上使用parted工具和e2fsprogs工具分区并格式化一个大容量数据盘,首先需要安装parted工具和e2fsprogs工具。
[root@ecshost~ ]# yum install -y parted
[root@ecshost~ ]# yum install -y e2fsprogs
1.运行命令fdisk -l
查看数据盘是否存在。
返回结果应包括如下所示的信息。如果没有,表示您未挂载数据盘。
2.运行命令parted /dev/vdb
开始分区
运行命令mklabel gpt
,将默认的MBR分区格式转为GPT分区格式。
运行命令mkpart primary 1 100%
,划分一个主分区,并设置分区的开始位置和结束位置。
运行命令align-check optimal 1
,检查分区是否对齐。
说明 :如果返回的是1 not aligned
,说明分区未对齐,建议您运行以下命令 ,再根据(<optimal_io_size>+<alignment_offset>)/<physical_block_size>
的公式计算出最佳分区模式的起始扇区值。假设1024为计算得出的推荐扇区值,则您可以运行mkpart primary 1024s 100%
重新划分一个主分区。
[root@ecshost~ ]# cat /sys/block/vdb/queue/optimal_io_size
[root@ecshost~ ]# cat /sys/block/vdb/queue/minimum_io_size
[root@ecshost~ ]# cat /sys/block/vdb/alignment_offset
[root@ecshost~ ]# cat /sys/block/vdb/queue/physical_block_size
运行命令print
,查看分区表。
(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: 3221GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 3221GB 3221GB primary
运行命令quit
,退出parted操作。
3.运行命令partprobe
,使系统重读分区表。
4.为/dev/vdb1分区创建一个文件系统。
根据您的需求运行以下任一命令,创建文件系统。
- 创建一个ext4文件系统。
[root@ecshost~ ]# mkfs -t ext4 /dev/vdb1
- 创建一个xfs文件系统。
[root@ecshost~ ]# mkfs -t xfs /dev/vdb1
我这里选择的第一个,ext4 文件系统
5.运行命令mount /dev/vdb1 /opt
,将分区/dev/vdb1挂载到/opt。
6.使用df -hT查看磁盘挂载情况
7.(推荐)向/etc/fstab写入新分区信息,启动开机自动挂载分区。
将 fstab文件进行备份,cp /etc/fstab /etc/fstab.bak
运行命令echo `blkid /dev/vdb1 | awk '{print $2}' | sed 's/\"//g'` /test ext4 defaults 0 0 >> /etc/fstab
,向/etc/fstab里写入新分区信息。
运行命令cat /etc/fstab
,查看/etc/fstab的信息。
如果返回结果里出现了写入的新分区信息,说明写入成功
至此,已经完成大于2T的新磁盘格式化分区和挂载。