首页 > 系统相关 >AFD在CentOS环境中部署

AFD在CentOS环境中部署

时间:2023-01-04 21:33:35浏览次数:55  
标签:0000 CentOS AFD 部署 grid oracle node1 release root

在第一节中(http://www.htz.pw/?p=1207)介绍了AFD的功能和常见的问题,其中提到AFD是内核模块,需要匹配的系统版本和内核版本匹配才能安装AFD,并且也提到Oracle未认证CentOS平台。其实大伙都知道CentOS跟Oracle Linux一样,都是基于RHEL重新打包的,系统版本和内核版本都是兼容的,那为什么Oracle认证了RHEL,就没有认证CentOS?可想而知,这跟系统版本和内核版本无任何关系,应该是Oracle从技术层面做了限制。今天我们就在CentOS平台上面测试AFD的安装和配置。

1,操作系统安装和配置

OS为:CentOS 7.9
Oracle GRID:19.17(目前最新的版本)

2,软件安装

这里跳过操作系统安装和配置、Oracle集群软件安装和配置,有兴趣的可以去www.htz.pw里面搜相关的文档。

3,升级GRID软件

本环境是将软件升级到最新的版本,也可根据自己环境选择软件版本。

[root@node1 ~]# su - grid -c "\$ORACLE_HOME/gridSetup.sh -applyRU /tmp/34449117/34416665"
ERROR: Unable to verify the graphical display setup. This application requires X display. Make sure that xdpyinfo exist under PATH variable.
Preparing the home to patch...
Applying the patch /tmp/34449117/34416665...

Successfully applied the patch.
The log can be found at: /u01/app/oraInventory/logs/GridSetupActions2023-01-02_10-13-28PM/installerPatchActions_2023-01-02_10-13-28PM.log

No X11 DISPLAY variable was set, but this program performed an operation which requires it.

4,AFD配置

4.1 兼容性测试

[root@node1 ~]# export ORACLE_HOME=/oracle/app/19.3.0/grid_1
[root@node1 ~]# export ORACLE_BASE=/tmp
[root@node1 ~]# export PATH=$PATH:$ORACLE_HOME/bin
[root@node1 ~]#
[root@node1 ~]# afddriverstate supported
AFD-620: AFD is not supported on this operating system version: 'centos-release-7-9.2009.0.el7.centos.x86_64'
AFD-9201: Not Supported
AFD-9294: updating file /etc/sysconfig/oracledrivers.conf

AFD-9201: Not Supported表示Centos 7.9不支持。

修改AFD部署脚本

通过下面AFD的部署脚本,可以知道Oracle是通过rpm -qf /etc/redhat-release的方式来获取系统的厂商名字和内核版本。

[root@node1 ~]# vi $ORACLE_HOME/lib/osds_acfslib.pm

  # see - http://www.oracle.com/us/technologies/027626.pdf
  if (-e "/etc/oracle-release")
  {
    open (RPM_QF, "rpm -qf /etc/oracle-release 2>&1 |");
    $release = <RPM_QF>;
    close (RPM_QF);
  }
  elsif (-e "/etc/redhat-release")
  {
    open (RPM_QF, "rpm -qf /etc/redhat-release 2>&1 |");
    $release = <RPM_QF>;
    close (RPM_QF);
  }
  elsif (-e "/etc/os-release")
  {
    open (RPM_QF, "rpm -qf /etc/os-release 2>&1 |");
    $release = <RPM_QF>;
    close (RPM_QF);
  }
  elsif (-e "/etc/SuSE-release")
  {
    open (RPM_QF, "rpm -qf /etc/SuSE-release 2>&1 |");
    $release = <RPM_QF>;
    close (RPM_QF);
  }

[root@node1 ~]# rpm -qf /etc/redhat-release
centos-release-7-9.2009.0.el7.centos.x86_64

继续向下查看脚本,可以看到Oracle没有多Centos进行判断,只对Oracle Linux和RHEL进行判断,下面通过手动添加CentOS的判断,命令如下所示

[root@node1 ~]# sed -i '/(\$release =~ \/\^enterprise-release\/) ||/a \         (\$release =~ \/^centos-release\/) ||        # Centos Enterprise Linux' $ORACLE_HOME/lib/osds_acfslib.pm
[root@node1 ~]# sed -i 's/Centos/Redhat/' /etc/redhat-release

详细的命令代码如下:

    579   if ((defined($release)) &&                     # Redhat or OEL if defined
    580       (($release =~ /^redhat-release/) ||        # straight RH
    581        ($release =~ /^enterprise-release/) ||    # Oracle Enterprise Linux
    582        ($release =~ /^centos-release/) ||        # Oracle Linux
    583        ($release =~ /^oraclelinux-release/)))    # Oracle Linux

   1168   elsif (($release =~ /^redhat-release/) ||        # straight RH
   1169          ($release =~ /^enterprise-release/) ||    # Oracle Enterprise Linux
   1170          ($release =~ /^centos-release/) ||        # Centos Enterprise Linux
   1171          ($release =~ /^oraclelinux-release/))     # Oracle Linux
   1172   {

通过修改代码后,再次执行supported,提示已经支持。

[root@node1 ~]# afddriverstate supported
AFD-9200: Supported

4.2 配置磁盘的标签

在未安装AFD的环境中配置磁盘标签需要添加--init参数,如图所示,此步只需要再RAC环境中执行。

[root@node1 ~]# asmcmd afd_label OCR01 /dev/sdb --init
[root@node1 ~]# ls -l /dev/oracleafd/disks/*
-rw-rw-r-- 1 grid oinstall 31 Jan  3 01:23 /dev/oracleafd/disks/OCR01

5,配置单机GRID环境

如果是在集群环境中,需要再root用户下临时修改磁盘的权限,否则配置OCR磁盘组时无法查询到磁盘,修改的命令如下:

[root@node1 ~]# chown grid:asmadmin /dev/sdb

配置单机GRID环境

$ORACLE_HOME/gridSetup.sh -silent -skipPrereqs -waitForCompletion  -printtime  \
INVENTORY_LOCATION=/u01/app/oraInventory \
SELECTED_LANGUAGES=en \
oracle.install.option=HA_CONFIG \
ORACLE_BASE=/oracle/app/grid \
ORACLE_HOME=/oracle/app/19.3.0/grid_1 \
oracle.install.asm.OSDBA=asmdba \
oracle.install.asm.OSOPER=oinstall \
oracle.install.asm.OSASM=asmadmin \
oracle.install.asm.configureAFD=true \
oracle.install.asm.SYSASMPassword=Htzoracle123 \
oracle.install.asm.diskGroup.diskDiscoveryString=/dev/sd* \
oracle.install.asm.diskGroup.name=ha_ocr \
oracle.install.asm.diskGroup.disksWithFailureGroupNames=/dev/sdb, \
oracle.install.asm.diskGroup.disks=/dev/sdb \
oracle.install.asm.diskGroup.redundancy=EXTERNAL \
oracle.install.asm.diskGroup.AUSize=4 \
oracle.install.asm.monitorPassword=Htzoracle123


As a root user, execute the following script(s):
    1. /oracle/app/19.3.0/grid_1/root.sh

Execute /oracle/app/19.3.0/grid_1/root.sh on the following nodes:
[node1]



Successfully Setup Software.
As install user, execute the following command to complete the configuration.
    /oracle/app/19.3.0/grid_1/gridSetup.sh -executeConfigTools -responseFile /oracle/app/19.3.0/grid_1/install/response/grid_2023-01-03_01-30-58AM.rsp [-silent]
Note: The required passwords need to be included in the response file.


[root@node1 ~]# /oracle/app/19.3.0/grid_1/root.sh
Check /oracle/app/19.3.0/grid_1/install/root_node1_2023-01-03_01-33-28-805656094.log for the output of root script

[grid@node1 ~]$ /oracle/app/19.3.0/grid_1/gridSetup.sh -executeConfigTools -responseFile /oracle/app/19.3.0/grid_1/install/response/grid_2023-01-03_01-30-58AM.rsp -silent
Launching Oracle Grid Infrastructure Setup Wizard...

You can find the logs of this session at:
/u01/app/oraInventory/logs/GridSetupActions2023-01-03_01-38-08AM

You can find the log of this install session at:
 /u01/app/oraInventory/logs/UpdateNodeList2023-01-03_01-38-08AM.log
[WARNING] [INS-43080] Some of the configuration assistants failed, were cancelled or skipped.
   ACTION: Refer to the logs or contact Oracle Support Services.

6,确认AFD是否安装

6.1 查询OKS是否已经加载

如果oks已经加载,说明AFD已经安装成功。

[root@node1 ~]# lsmod |grep oracle
oracleacfs           5238775  0
oracleadvm           1176594  0
oracleoks             781410  2 oracleacfs,oracleadvm
oracleafd             222652  0

6.2 查看AFD磁盘标签

[grid@node1 ~]$ asmcmd afd_lsdsk
--------------------------------------------------------------------------------
Label                     Filtering   Path
================================================================================
OCR01                       ENABLED   /dev/sdb

6.3 利用AFD磁盘创建磁盘组

[grid@node1 ~]$ srvctl add asm
[grid@node1 ~]$ srvctl start asm

[grid@node1 ~]$ asmcmd afd_dsget
AFD discovery string: /dev/sd*
[grid@node1 ~]$ asmcmd dsget
parameter:AFD:*
profile:++no-value-at-resource-creation--never-updated-through-ASM++
[grid@node1 ~]$ asmca -silent -createDiskGroup -diskString AFD:* -diskGroupName ha_ocr -redundancy EXTERNAL -diskList AFD:OCR01

[DBT-30001] Disk groups created successfully. Check /oracle/app/grid/cfgtoollogs/asmca/asmca-230103AM014513.log for details.

[grid@node1 ~]$ asmcmd lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  1048576      3072     3008                0            3008              0             N  HA_OCR/

[grid@node1 ~]$ srvctl start diskgroup -diskgroup ha_ocr
[grid@node1 ~]$ asmcmd lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  1048576      3072     3008                0            3008              0             N  HA_OCR/

6.4 AFD标签写入信息

下面新增加一块磁盘/dev/sdb,查看AFD标签写入内容

[grid@node1 ~]$ ls -l /dev/sdb*
brw-rw---- 1 root disk 8, 16 Jan  3  2023 /dev/sdb
[grid@node1 ~]$ ls -l /dev/oracleafd/disks/*
-rw-r--r-- 1 grid asmadmin 9 Jan  3  2023 /dev/oracleafd/disks/OCR01

[root@node1 ~]# od -x /dev/sdc
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
^C

[grid@node1 ~]$ asmcmd afd_label data01 /dev/sdc
No devices to be labeled.
ASMCMD-9513: ASM disk label set operation failed.

[root@node1 ~]# export ORACLE_HOME=/oracle/app/19.3.0/grid_1
[root@node1 ~]# export ORACLE_BASE=/oracle/app/grid
[root@node1 ~]# /oracle/app/19.3.0/grid_1/bin/asmcmd afd_label data01 /dev/sdc
[root@node1 ~]# /oracle/app/19.3.0/grid_1/bin/asmcmd afd_lsdsk
--------------------------------------------------------------------------------
Label                     Filtering   Path
================================================================================
DATA01                      ENABLED   /dev/sdc
OCR01                       ENABLED   /dev/sdb

[root@node1 ~]# od -cx /dev/sdc
0000000  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0 334 261 375 221
           0000    0000    0000    0000    0000    0000    b1dc    91fd
0000020  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
           0000    0000    0000    0000    0000    0000    0000    0000
0000040   O   R   C   L   D   I   S   K   D   A   T   A   0   1  \0  \0
           524f    4c43    4944    4b53    4144    4154    3130    0000
0000060  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
           0000    0000    0000    0000    0000    0000    0000    0000
*
0000440  \0  \0  \0  \0  \0  \0  \0  \0  \n  \n  \n 264 251 320 263   c
           0000    0000    0000    0000    0a0a    b40a    d0a9    63b3
0000460  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
           0000    0000    0000    0000    0000    0000    0000    0000
*

ORCLDISKDATA01为AFD写入磁盘头中的内容,如果AFD标签丢失时,我们也可以手动写入相应的内容。

标签:0000,CentOS,AFD,部署,grid,oracle,node1,release,root
From: https://www.cnblogs.com/www-htz-pw/p/17026065.html

相关文章

  • AFD在CentOS环境中的部署
    今天是AFD技术分享的第二节:AFD在CentOS环境中的部署在第一节中(http://www.htz.pw/?p=1207)介绍了AFD的功能和常见的问题,其中提到AFD是内核模块,需要匹配的系统版本和内核版......
  • k8s1.26.x 最新版本二进制方式部署
    标签(空格分隔):kubernetes系列一:系统环境初始化1.1系统环境系统:almalinux8.7x64cat/etc/hosts----172.16.10.81flyfish81172.16.10.82flyfish821......
  • redis部署手册_20221129
    1.软件版本及下载Keepalived:https://www.keepalived.org/download.htmlRedis下载地址:https://redis.io/download/本次安装版本:Redis:7.0.5Keepalived:2.2.72.主......
  • 手把手教你部署验证freeswitch(避免踩坑)
    介绍:freeswitch可集成ASR(语音识别)和TTS(文本转语音)创建智能电话机器人和用户通话,可用于问卷调查,自动催缴等业务,电话咨询服务,支持百度,科大,阿里云,腾讯等ASR系统,可以真人预......
  • 【Azure 应用服务】Azure Function Python函数部署到Azure后遇见 Value cannot be nul
    问题描述使用VSCode创建PythonFunction,处理EventHub中的数据。当部署到AzureFunctionApp后,函数无法执行,查看Function日志出现 Valuecannotbenull.(Parameter......
  • k8s二进制部署
    1.1生产环境部署K8s集群的两种方式kubeadmKubeadm是一个K8s部署工具,提供kubeadminit和kubeadmjoin,用于快速部署Kubernetes集群。二进制包从github......
  • mysql 5.7 编译安装及多实例部署
    一、编译安装mysql数据库yum-yinstall\gcc\gcc-c++\make\pcre-devel\expat-devel\perlyum-yinstall\ncurses\ncurses-devel\bison\cmakeuseradd-s/sbin/nol......
  • CentOS7下搭建JumpServer
    JumpServer部署架构图JumpServer功能架构图JumpServer是广受欢迎的开源堡垒机,是符合4A规范的专业运维安全审计系统。JumpServer使用Python开发,配备了业界......
  • CentOS下下查看硬盘型号、大小等信息(含Raid)
    一、普通模式(该机硬盘没有做磁盘阵列)1、fdisk-l查看你的硬盘编号,如sda,sdb等2、smartctl--all/dev/sda[html] viewplain copy   smartctl --all ......
  • Zabbix 介绍及部署(超详细讲解)
    原文:https://mp.weixin.qq.com/s/7pDagRaWSG9dndHS1gWHBQ一、[zabbix]的基本概述zabbix是一个监控软件,其可以监控各种网络参数,保证企业服务架构安全运营,同时支持灵活的......