高可用集群之仲裁盘
背景:高可用集群共享盘场景下,多个节点间共享一块数据盘,该集群对外提供一个VIP。当集群中各个节点间心跳网络不通,各个节点就孤立了,都认为对端离开了集群,争着mount这块共享数据盘,容易造成磁盘损坏。
在各个节点间网络不通的情况下,怎么解决这个问题呢?只能通过写文件或写磁盘进行通信,在没有宕机的情况下每个节点会在该磁盘中写下本节点的状态信息,这就是仲裁盘。
Oracle 10g voting disk(投票)仲裁盘
Voting disk记录节点成员信息,如包含哪些节点成员、节点的添加删除信息记录,大小为20MB。voting disk管理成员关系信息,每个voting disk都必须被集群中的所有节点访问。
查看voting disk位置
# crsctl query css votedisk
0 /dev/rhdisk3
备份voting disk
# dd if=/dev/rhdisk3 of=/tmp/votedisk.bak
查看voting disk写入的信息
cat /tmp/votedisk.bak 可以试试
恢复voting disk
# dd if=/tmp/votedisk.bak of=/dev/rhdisk3
增加voting disk仲裁盘
crsctl add css votedisk /dev/rhdisk7 -force
删除voting disk仲裁盘
crsctl delete css votedisk /dev/rhdisk7 -force
Oracle 11g voting disk(投票)仲裁盘
如果voting disk存储在磁盘组上,则ASM自动维护voting disk。
如果voting disk存储在共享存储上,则可以动态的增加及删除voting disk。
1.增加及删除voting disk
crsctl add css votedisk path
eg: crsctl add css votedisk /dev/sda1
crsctl delete css votedisk path
eg: crsctl delete css votedisk /dev/sda1
2.备份和恢复voting disk
在11.2版本voting disk自动备份在OCR中。
如果voting disk损坏,则可以替换或重建voting disk。替换是通过先删除损坏的再增加一个新的voting disk来完成的。
voting disk的内容从备份中恢复后再增加为一个新voting disk。
3.迁移voting disk到ASM磁盘组
crsctl replace votedisk +ASM_disk_group
从ASM磁盘组迁移到非ASM共享存储
先用replace命令迁移到非ASM存储,再用add css和delete css
Oracle 12c voting disk(投票)仲裁盘
在12c中,不再支持使用dd命令进行voting disk文件的备份和恢复。
投票文件的管理需要OCR文件正常工作。在删除、添加、替换或者还原voting文件之前,使用ocrcheck检查ocr文件的状态。如果ocr不可用的话,必须先还原ocr。
Oracle voting disks组
为了增加可用性,oracle建议配置多个voting disks文件。如果是使用了asm磁盘组。asm会确保voting disks被配置成了normal冗余或high冗余。如果是使用其他共享文件系统,需要手动指定多份设置。
参考资料