合 ASM管理命令行三工具:KFOD、KFED和AMDU
简介
ASM(Automatic Storage Management)是Oracle目前主推的软集群存储策略。一般而言,管理ASM的工具包括使用sqlplus命令行、ASMCA图形化界面。此外,ASM Disk的配置和创建,可以通过oracleasm程序命令行进行配置。进入11g之后,集群件GI的crsctl和srvctl也可以提供ASM实例Instance和Disk Group级别的修改。
一般情况下,ASM安装管理借助上述工具就够了,况且Oracle Restate和Cluster ware可以确保ASM组建的HA架构。
一些特殊场景,如磁盘数据损坏、底层修复和ASM盘发现,需要额外的一些命令行工具。ASM工具包括:kfod、kfed和AMDU。在早期的ASM版本(10gR2)中,一部分工具还需要额外的重新编译和链接才能使用。在11g,这部分工具已经成为默认设置,可以直接使用。
本篇主要介绍三个工具的基本使用和功能介绍。
kfod工具
在Oracle ASM和Database安装过程中,kfod是会自动被调用,用于进行磁盘发现过程(Disk Discovery)。如果在安装Grid过程没有成功,那么kfod也会在安装stage文件夹中被找到。目录地址为:
1 2 3 4 5 6 7 8 9 10 11 12 13 | [grid@orclalhr ~]$ $ORACLE_HOME/bin/kfod disk=asm s=true ds=true c=true -------------------------------------------------------------------------------- Disk Size Header Path Disk Group User Group ================================================================================ 1: 1000 Mb MEMBER /dev/raw/raw1 DATA oracle dba 2: 1000 Mb MEMBER /dev/raw/raw2 DATA oracle dba 3: 1000 Mb MEMBER /dev/raw/raw3 DATA oracle dba 4: 1000 Mb MEMBER /dev/raw/raw4 DATA oracle dba 5: 1000 Mb MEMBER /dev/raw/raw5 DATA oracle dba -------------------------------------------------------------------------------- ORACLE_SID ORACLE_HOME HOST_NAME ================================================================================ +ASM /u01/app/11.2.0/grid orclalhr |
与图形化界面不同,kfod属于底层的功能命令行工具。最常用的场景是从操作系统层面刺激磁盘的扫描动作,用于辅助ASM发现可用的ASM DISK。Oracle官方门户中,对于kfod的描述包括如下几个方面:
ü Oracle ASM和Database安装过程中,kfod是会自动被调用,用于进行磁盘发现过程(Disk Discovery);
ü 如果在安装Grid过程没有成功,kfod也会在安装stage文件夹中被找到。目录地址为:/grid/stage/ext/bin/。如果有这样的情况,Oracle就要求我们设置环境变量LD_LIBRARY_PATH到/grid/stage/ext/bin/;
简单的说,kfod查看检索的意义更大,并不像其他有破坏性工具那样存在很大风险。使用帮助命令参数,可以看到kfod的功能说明。
[grid@NCR-Standby-Asm ~]$ kfod help
KFOD-00101: LRM error [107] while parsing command line arguments
_asm_a/llow_only_raw_disks KFOD allow only raw devices [_asm_allow_only_raw_disks=TRUE/(FALSE)]
_asm_l/ibraries ASM Libraries[_asm_libraries=lib1,lib2,...]
_asms/id ASM Instance[_asmsid=sid]
a/sm_diskstring ASM Diskstring [asm_diskstring=discoverystring, discoverystring ...]
c/luster KFOD cluster [cluster=TRUE/(FALSE)]
db/_unique_name db_unique_name for ASM instance[db_unique_name=dbname]
di/sks Disks to discover [disks=raw,asm,badsize,all]
ds/cvgroup Include group name [dscvgroup=TRUE/(FALSE)]
g/roup Disks in diskgroup [group=diskgroup]
h/ostlist hostlist[hostlist=host1,host2,...]
metadata_a/usize AU Size for Metadata Size Calculation
metadata_c/lients Client Count for Metadata Size Calculation
metadata_d/isks Disk Count for Metadata Size Calculation
metadata_n/odes Node Count for Metadata Size Calculation
metadata_r/edundancy Redundancy for Metadata Size Calculation
n/ohdr KFOD header suppression [nohdr=TRUE/(FALSE)]
o/p KFOD options type [OP=DISKS/CANDIDATES/MISSING/GROUPS/INSTS/VERSION/CLIENTS/RM/RMVERS/DFLTDSTR/GPNPDSTR/METADATA/ALL]
p/file ASM parameter file [pfile=parameterfile]
s/tatus Include disk header status [status=TRUE/(FALSE)]
v/erbose KFOD verbose errors [verbose=TRUE/(FALSE)]
几个常见的操作方法:
--查看ASM配置基本情况
[grid@NCR-Standby-Asm ~]$ kfod
--------------------------------------------------------------------------------
ORACLE_SID ORACLE_HOME
================================================================
+ASM /u01/app/grid/product/11.2.0/grid
--查看ASM Disk情况
[grid@NCR-Standby-Asm ~]$ kfod di=all
--------------------------------------------------------------------------------
Disk Size Path User Group
================================================================================
1: 20489 Mb ORCL:DATA1
2: 20489 Mb ORCL:DATA2
3: 20489 Mb ORCL:DATA3
4: 20489 Mb ORCL:DATA5
5: 20442 Mb ORCL:DATA6
--------------------------------------------------------------------------------
ORACLE_SID ORACLE_HOME
================================================================================
+ASM /u01/app/grid/product/11.2.0/grid
--特定diskgroup情况
[grid@NCR-Standby-Asm ~]$ kfod status=true g=data
--------------------------------------------------------------------------------
Disk Size Path
================================================================================
0 20489 Mb ORCL:DATA1
1 20489 Mb ORCL:DATA2
2 20489 Mb ORCL:DATA3
[grid@NCR-Standby-Asm ~]$ kfod status=true g=reco
--------------------------------------------------------------------------------
Disk Size Path
================================================================================
0 20489 Mb ORCL:DATA5