همانطور که میدانید، در نسخه Oracle Linux 8.7 برای نصب ASMLIB ناچار بودیم نسخه کرنل را تنزل دهیم، زیرا امکان نصب ASMLIB روی آخرین نسخه کرنل وجود نداشت. اخیراً، Oracle نسخه ASMLIB 3 را ارائه کرده است که امکان نصب آن بر روی Oracle Linux 8 و 9 بدون هیچ محدودیتی فراهم شده است. این نسخه همچنین قابلیتهای جدیدی دارد که در مستندات دیگری به آنها خواهیم پرداخت.
در این مقاله، قصد داریم نحوه نصب Grid Infrastructure 19.25 روی Oracle Linux 9.5 با ASMLIB 3 را مستند کنیم.
پیشنیازها
پیش از شروع نصب، بستههای موردنیاز را دانلود کنید:
oracleasmlib-3.0.0–13.el9.x86_64.rpm
oracleasm-support-3.0.0–7.el9.x86_64.rpm
oracle-database-preinstall-19c-1.0–1.el9.x86_64.rpm
مراحل پیش از نصب
در مراحل زیر، سیستمعامل را برای نصب Grid Infrastructure آماده میکنیم.
تنظیم نام میزبان (Hostname) و IP
echo "192.168.1.34 OL95">> /etc/hosts
ایجاد دایرکتوریهای موردنیاز (برای ORACLE_HOME، ORACLE_BASE و OraInventory)
mkdir /grid/19.25 -p mkdir /grid/base -p mkdir /oraInventory
نصب بسته پیشنیاز (Pre-Installation Package)
dnf install /source/oracle-database-preinstall-19c-1.0-1.el9.x86_64.rpm
ایجاد گروهها و کاربر برای ASM و تنظیم رمز عبور
groupadd -g 54327 asmdba groupadd -g 54328 asmoper groupadd -g 54329 asmadmin useradd -u 1001 -g oinstall -G asmdba,asmadmin,asmoper,dba grid passwd grid
نصب بستههای ASMLIB
در این مرحله، بستههای دانلودشده را نصب میکنیم.
نصب oracleasm-support
dnf localinstall /source/oracleasm-support-3.0.0-7.el9.x86_64.rpm
نصب oracleasmlib
dnf localinstall /source/oracleasmlib-3.0.0-13.el9.x86_64.rpm
پیکربندی ORACLEASM
پیکربندی ASMLIB 3 مشابه نسخههای قبلی است و مراحل آن به شرح زیر است.
مقداردهی اولیه ORACLEASM
oracleasm init
اجرای دستور configure
[root@OL95 ~]# oracleasm configure –i Configuring the Oracle ASM library driver. This will configure the on-boot properties of the Oracle ASM library driver. The following questions will determine whether the driver is loaded on boot and what permissions it will have. The current values will be shown in brackets ('[]'). Hitting <ENTER> without typing an answer will keep that current value. Ctrl-C will abort. Default user to own the driver interface []: grid Default group to own the driver interface []: asmadmin Start Oracle ASM library driver on boot (y/n) [n]: y Scan for Oracle ASM disks on boot (y/n) [y]: y Maximum number of disks that may be used in ASM system [2048]: Enable iofilter if kernel supports it (y/n) [y]: y Writing Oracle ASM library driver configuration: done
شروع و فعالسازی سرویس oracleasm
systemctl start oracleasm systemctl enable oracleasm
فعالسازی قابلیت io_uring
echo "kernel.io_uring_disabled = 0">>/etc/sysctl.conf sysctl –p
ایجاد یک دیسک ASM
oracleasm createdisk asm01 /dev/sdb1 oracleasm listdisks
نکته ای که باید در این قسمت به آن اشاره شود آن است که، ASMLIB در OEL 9 دیگر شامل دایرکتوری dev/oracleasm/ نیست:
[root@OL95 ~]# ll /dev/oracleasm ls: cannot access '/dev/oracleasm': No such file or directory
میتوانیم مسیر صحیح این دیسک (ASM01) را جستجو و پیدا کنیم:
[root@OL95 ~]# find /dev -name 'ASM01' /dev/disk/by-label/ASM01
همانطور که مشاهده میکنید، مسیر صحیح به dev/disk/by-label/ بروزرسانی شده است:
[root@OL95 ~]# ll /dev/disk/by-label/ASM01 lrwxrwxrwx. 1 root root 10 Mar 27 05:27 /dev/disk/by-label/ASM01 -> ../../sdb1
این مسیر برای diskDiscoveryString معتبر نیست و باید مقدار آن را با استفاده از دستور kfod روی *:ORCL تنظیم کنیم:
kfod status=TRUE asm_diskstring='ORCL:*' disks=all
نصب Grid Infrastructure
استخراج نرمافزار
cd /grid/19.25 unzip /source/grid_home_19R25_GoldImage.zip
اجرای نصب بهصورت بیصدا (Silent Mode)
./gridSetup.sh -silent \ INVENTORY_LOCATION=/oraInventory \ SELECTED_LANGUAGES=en \ ORACLE_BASE=/grid/base \ oracle.install.option=HA_CONFIG \ oracle.install.asm.OSDBA=asmdba \ oracle.install.asm.OSOPER=asmoper \ oracle.install.asm.OSASM=asmadmin \ oracle.install.crs.config.autoConfigureClusterNodeVIP=false \ oracle.install.asm.diskGroup.name=ASM \ oracle.install.asm.diskGroup.redundancy=EXTERNAL \ oracle.install.asm.diskGroup.diskDiscoveryString=ORCL:* \ oracle.install.asm.diskGroup.disks=ORCL:ASM01 \ oracle.install.asm.SYSASMPassword=Your_Password \ oracle.install.asm.monitorPassword=Your_Password \ -ignorePrereqFailure
اجرای اسکریپت orainstRoot.sh
/oraInventory/orainstRoot.sh
اجرای اسکریپت root.sh
/grid/19.25/root.sh
اجرای پیکربندی نهایی
در مرحله پایانی، باید یک فایل Response ایجاد کرده و اسکریپت gridSetup.sh را با استفاده از آن اجرا کنیم:
[grid@OL95 ~]$ cat /grid/19.25/install/response/gridsetup.rsp oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v19.0.0 INVENTORY_LOCATION=/oraInventory oracle.install.option=HA_CONFIG ORACLE_BASE=/grid/base oracle.install.asm.OSOPER=asmoper oracle.install.asm.OSASM=asmadmin oracle.install.asm.OSDBA=asmdba oracle.install.asm.SYSASMPassword=Deraz_Kolah_122_Kebria oracle.install.asm.diskGroup.name=ASM oracle.install.asm.diskGroup.redundancy=EXTERNAL oracle.install.asm.diskGroup.disks=ORCL:ASM01 oracle.install.asm.diskGroup.diskDiscoveryString=ORCL:* oracle.install.asm.monitorPassword=Deraz_Kolah_122_Kebria [grid@OL95 19.25]$ ./gridSetup.sh -silent -executeConfigTools -responseFile /grid/19.25/install/response/gridsetup.rsp Launching Oracle Grid Infrastructure Setup Wizard... You can find the logs of this session at: /oraInventory/logs/GridSetupActions2025-03-28_08-40-59AM You can find the log of this install session at: /oraInventory/logs/UpdateNodeList2025-03-28_08-40-59AM.log Successfully Configured Software.
نصب با موفقیت و بدون هیچ خطایی تکمیل شد. برای بررسی دیسک ASM و disk group، به ASM instance متصل میشویم:
[grid@OL95 19.25]$ ps -eaf|grep pmon grid 12410 1 0 08:42 ? 00:00:00 asm_pmon_+ASM grid 13199 1515 0 08:43 pts/0 00:00:00 grep --color=auto pmon [grid@OL95 19.25]$ asmcmd 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 2047 1980 0 1980 0 N ASM/ [grid@OL95 19.25]$ sqlplus "/as sysasm" SQL*Plus: Release 19.0.0.0.0 - Production on Fri Mar 28 08:49:45 2025 Version 19.25.0.0.0 Copyright (c) 1982, 2024, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.25.0.0.0 SQL> col PATH format a10 SQL> select NAME, PATH from v$asm_disk; NAME PATH ------------------------------ ---------- ASM01 ORCL:ASM01