例如,这里是逻辑卷:
lvcreate -L2G -n Lv_OraD1 vg_db lvcreate -L180G -n Lv_OraD2 vg_db lvdisplay /dev/mapper/Lv_OraD*
原始 LV 的 UDEV 规则:
vi /etc/udev/rules.d/60-raw.rules ACTION=="add", ENV{MAJOR}=="253",ENV{MINOR}=="3", RUN+="/bin/raw /dev/raw/raw1 %N" ACTION=="add", ENV{MAJOR}=="253",ENV{MINOR}=="4", RUN+="/bin/raw /dev/raw/raw2 %N" ACTION=="add",KERNEL=="raw[1-9]",OWNER="grid",GROUP="dba",MODE="660" start_udev raw -qa
ASM 磁盘组可能是这样的:
CREATE DISKGROUP DATA1 NORMAL REDUNDANCY FAILGROUP Fg1 DISK '/dev/raw/raw1' SIZE 2048M ,'/dev/raw/raw2' SIZE 184320M;
作用:DISKGROUP DATA1 up 2G 空间无法使用。
那么有什么技巧可以在线实现这个结果吗?
lvreduce -L90G /dev/mapper/Lv_OraD2 lvextend -L90G /dev/mapper/Lv_OraD1
谢谢。
首先找到磁盘名称和路径:
找到要缩小的磁盘的 ASM 生成名称后,将其在 ASM 中缩小到所需的大小(我假设它被称为
DATA1_0002
:这将启动重新平衡,等待重新平衡完成,您可以查看其进度为:
重新平衡后,再次运行此查询:
在那里您应该看到原始的 184320
OS_MB
和刚刚收缩的磁盘的 92160TOTAL_MB
。接下来使用 lvreduce 缩小 LV:确保您没有将 LV 的大小减小到 ASM 磁盘大小以下
TOTAL_MB
。完成后,增加另一个 LV:
回到 ASM,再次运行:
这里
OS_MB
第一个磁盘应该增加到 92160,但TOTAL_MB
仍然是 2048。最后一步是增加 ASM 中第一个磁盘的大小:
以上将调整磁盘组中所有 ASM 磁盘的大小为
OS_MB
. 这会触发另一次短暂的重新平衡,完成后,您应该会看到两个磁盘都为OS_MB
92160 。TOTAL_MB