一、问题现象描述
有一套Oracle 19C 生产库ASM空间紧张,需要对其进行扩盘,查询到当前服务器上还有剩余的盘且未分区格式化,因为盘比较大,无法进行fdisk分区,于是使用parted 对其进行分区,并制作成合适大小的分区,但在对其进行分区实际操作时却时遇到一些未曾遇到的现象,有些不太明白,为理解并解决此问题,特查询了相关资料并进行处理,特为此记录下以便以后遇到此类问题知道该如何处理。
首先使用fdisk -l 查看该大盘总大小:
可以看到改盘显示总大小为19200.5 GB,但按照后面19200517079040 bytes 来换算下,19200517079040/1024/1024/1024 换算后得到的大小是 17881.875(GB) —对于该点我有些迷惑,到底是按照1000还是1024来换算的呢
然后使用parted /dev/sdb 进行分盘,以下是我分盘后显示的信息
从以上看似乎是将19.2T的盘分成了11盘,为了正常使用我还重启了该服务器
然后重启后使用fdisk -l 来查看分区信息,发现有个警告
二、问题分析及处理
查了下往上资料,有的说该警告不影响使用,但还没开始安装,这又是一套将来要上生产的数据库服务器,心里总感觉有些不踏实,想着如何处理解决下。
上网搜了下资料:
执行如下两条命令查看:
cat /sys/block/sdb/queue/optimal_io_size:
cat /sys/block/sdb/alignment_offset
然后根据公式进行计算:(1048576 + 0)/ 512 = 2048
网上资料这么解释:如果optimal_io_size不为0,暂定是1048576,则可以用optimal_io_size的值加上alignment_offset的值,然后除以physical_block_size的值,就是起始扇区的位置了
重新使用parted 进行分区
首先先将当前分区删除
然后再次重启服务器,并使用fdisk -l 查看分区信息
这次未再出现Partition 1 does not start on physical sector boundary 告警信息,然后将分区后的盘格式化制作成ASM磁盘组添加进数据库ASM。
对于生产环境,要保持敬畏之心,要努力将问题消灭在萌芽阶段。