- multipath 通过scsi_id
- udev 通过scsi_id
- oracle AFD 直接绑定后在/dev/oracleafd/disks/下面生成设备文件 ./asmcmd afd_label OCR1 /dev/sda --init
虚拟机情况下读不出来scsi id, 需要手工配置一下scsi id 扫描出来的
[root@rac1 etc]# /lib/udev/scsi_id -g -u /dev/sdb
0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-6
[root@rac1 etc]# cat /etc/multipath/wwids
# Multipath wwids, Version : 1.0
# NOTE: This file is automatically maintained by multipath and multipathd.
# You should not need to edit this file in normal circumstances.
#
# Valid WWIDs:
/0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-6/
/0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-5/
/0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-4/
/0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-3/
/0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-2/
再重启服务就好了。
centos8.2/openanolis8.2/uos 1050a 安装grid互信死活过不去的解决办法
mv /usr/bin/scp /usr/bin/scp-o
cat > /usr/bin/scp <<EOF
#!/bin/bash
/usr/bin/scp-o -T $*
EOF
chmod +x /usr/bin/scp
真的是奇葩问题啊
网络至少2块网卡 心跳和对外服务各一块
hosts文件至少配置每个机器的对外服务网卡IP,心跳网卡IP ,VIP,scanIP
SCAN概念
先介绍一下什么叫SCAN,SCAN(Single Client Access Name)是Oracle从11g R2开始推出的,客户端可以通过SCAN特性负载均衡地连接到RAC数据库。SCAN提供一个域名来访问RAC,域名可以解析1个到3个(注意,最多3个)SCAN IP,我们可以通过DNS或者GNS来解析实现。其中DNS大家都很熟悉,这里不多说。GNS(Grid Naming Service)则是Oracle 11g R2的新功能,可以通过DHCP服务为节点和SCAN分配VIP和SCAN IP。另外还有个优点是,对于新加入集群的节点,它会自动分配VIP地址,更新集群资源,客户端依然通过SCAN特性负载均衡地连接到新增集群节点上。DNS和GNS配置与解析相关内容在下面还有说明。
除了DNS和GNS解析方法外,SCAN也可以使用hosts文件来解析,但用过的人都知道,此方法不仅在安装RAC的时候产生问题,后期使用也是存在问题的,比如SCAN域名只能定义一个SCAN IP。所以这种方法也是Oracle不推荐使用的。但尽管如此,很多生产上依然这样使用,也就是废弃了11g的新特性SCAN,而是依然采用VIP连接方式。
public ip&vip&scanip&private ip
Oracle RAC中每个节点都有一个虚拟IP,简称VIP, 与公网PUBLIC IP在同一个网段。vip 附属在public网口接口。
public网卡有二个IP地址:public ip是固定的,vip是浮动的。
RAC中的Private私有IP用于心跳同步,这个对于用户层面,可以直接忽略,它和public ip不属于同一个接口。
在11gR2中,SCAN IP是作为一个新增IP出现的, scan ip其实是oracle在客户端与数据库之间,新加的一个连接层,当有客户端访问时,连接到 SCAN IP LISTENER, 而SCAN IP LISTENER接收到连接请求时,会根据 LBA 算法将该客户端的连接请求,转发给对应的instance上的VIP LISTENER,从而完成了整个客户端与服务器的连接过程。简化如下:
client -> scan listener -> local listener -> local instance
也可以把scan理解为一个虚拟主机名,它对应的是整个RAC集群。客户端主机只需通过这个scan name即可访问数据库集群的任意节点。当然访问的节点是随机的,oracle强烈建议通过DNS Server的round robin模式配置解析SCAN,实现负载均衡(即轮换连接SCAN对应的IP地址)。这有点类似通过vip和listener loadbalance配置实现负载均衡的原理。
客户端TNSNAMES.ORA配置
vip:19.16.8.166、19.16.8.167
scanip:19.16.8.154
---vip配置
gdsx_pro =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 19.16.8.166)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 19.16.8.167)(PORT = 1521))
(LOAD_BALANCE = yes)
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = gdwsbs)
)
)
---scanip配置
gdsx_scan_pro =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 19.16.8.154)(PORT = 1521))
(CONNECT_DATA =(SERVER = DEDICATED)
(SERVICE_NAME = gdwsbs)))
---jdbc
jdbc:oracle:thin:@19.16.8.154:1521/orcl而非jdbc:oracle:thin:@19.16.8.154:1521:orcl
tnsping命令
tnsping 19.16.8.154:1521/gdwsbs