Oracle RAC 集群配置共享目录ACFS
Oracle RAC 集群配置共享目录ACFS
应用场景:创建的ACFS文件系统用于部署OGG做数据同步使用。
1、创建共享磁盘组
create diskgroup OGG external redundancy
disk
'/dev/mapper/ASM08',
'/dev/mapper/ASM09';
2、创建 acfs 文件系统
ACFS文件系统
在ASM磁盘组中通过ADVM(ASM Dynamic Volume Manager)创建ADVM卷和ACFS文件系统:
通过 ASMCMD 工具 volcreate 命令,可以在磁盘组中创建一个卷。
volcreate -G ogg -s 100G ogg_vol1 -- 在磁盘组ogg中创建卷ogg_vol1,大小100G
通过 volinfo 命令可以查看磁盘组中卷的信息:
volinfo -a
volinfo -G ogg ogg_vol1
volinfo -G ogg -a
当在ASM创建了一个卷时,在操作系统中就会对应产生一个对应的设备文件,通过 volinfo 命令还可以获得这个卷所在磁盘组的名称以及卷的名称。
下面命令用于查看卷所在磁盘组名称和卷的名称:
volinfo --show_diskgroup /dev/asm/ogg_vol1-488
volinfo --show_volume /dev/asm/ogg_vol1-488
ASM 磁盘组中的卷也是可以动态扩展的
volresize -G ogg -s 500G ogg_vol1 --将卷ogg_vol1扩展到500G
voldisable 和 volenable 命令分别用于关闭和激活卷:
voldisable -a
voldisable -G ogg -a
voldisable -G ogg ogg_vol1
对应的节点都需要激活:
volenable -a
volenable -G ogg -a
volenable -G ogg ogg_vol1
删除卷:
voldelete -G ogg ogg_vol1
3、管理ASM磁盘组中的文件系统
通过ACFSUTIL工具可以对文件系统进行管理,他对应的命令是 acfsutil ,在创建文件系统时,需要指定文件系统所在卷所对应的设备文件名称。
volinfo -G ogg ogg_vol1 -- 查看ogg_vol1卷所对应的设备文件名称。
也可以通过动态视图查看:
Volume的状态可以从 V$ASM_VOLUME.STATE 字段获得,显示为"ENABLED"才表示已激活
select volume_name,volume_device from v$asm_volume where volume_name=upper('ogg_vol1');
如果Volume状态显示为DISABLE,可以使用如下命令,激活Volume。
SQL>alter diskgroup ogg enable volume 'ogg_vol1';
以GI用户登录系统,使用mkfs命令创建文件系统
$/sbin/mkfs -t acfs /dev/asm/ogg_vol1-488
为了能够正常访问ACFS文件系统, 需要把文件系统挂载到一个操作系统目录下:
#/bin/mount -t acfs /dev/asm/ogg_vol1-488 /ogg/product/ogg_home
如果需要文件系统自动挂载,即随着 Clusterware 服务启动而挂载,则需要对文件系统进行注册。
通过 acfsutil 命令可以对文件系统进行注册,或者删除注册信息。
如:下面两条命令分别用于文件系统注册和删除文件系统注册信息:
$/sbin/acfsutil registry -a /dev/asm/ogg_vol1-488 /ogg/product/ogg_home
$/sbin/acfsutil registry -d /ogg/product/ogg_home
与mount相反的是umount. 下面命令对文件系统执行umount:
#/bin/umount /u01/app/grid/myacfs
注意:在执行取消挂载时遇到设备繁忙可以kill掉正在使用的进程即可,如下:
error:
umount: /u01/app/oracle: device is busy
fuser -m /u01/app/oracle/
ps aux | grep 2636
kill -9 2636
如果文件系统不再使用,可以通过 acfsutil 命令将其删除。如:
$/sbin/acfsutil rmfs /dev/asm/ogg_vol1-488
如果有必要,在通过ASMCMD命令中的 volidisable 命令将文件系统所在卷关闭,然后通过 voldelete 命令将其删除。
注:以上所有通过命令行操作来管理AFCFS的方式,也可以完全通过图形界面来完成,如果服务器安装了GUI,可以通过ASMCA来调出图形界面完成ACFS配置。
4、ACFSUTIL 工具常用命令
注:ACFSUTIL 的功能仅针对ACFS文件系统进行管理,如查看、注册、删除、扩展、创建快照等。由于ACFS是基于ASM磁盘组创建的,所以只要底层卷组具有足够的空间,就可以对ACFS文件系统进行动态的扩缩容,操作过程不会对生产系统的运行造成影响。(扩展单位包含 KB、MB、GB、TB、PB)
常用命令如下:
$/sbin/acfsutil size +500M /ogg/product/ogg_home --把文件系统扩展500M的存储空间
$/sbin/acfsutil size -500M /ogg/product/ogg_home --把文件系统减小500M的存储空间
$/sbin/acfsutil registry -a /dev/asm/ogg_vol1-488 /ogg/product/ogg_home --对文件系统进行注册,使其随集群启动而启动
$/sbin/acfsutil registry -d /ogg/product/ogg_home --删除注册信息
$/sbin/acfsutil registry -m /dev/asm/ogg_vol1-488 --查看文件系统挂接在那个目录下
$/sbin/acfsutil rmfs /dev/asm/ogg_vol1-488 --删除卷上的文件系统,删除前必须先取消挂载
注意:文件系统删除后并没有真正删除里面的文件,文件系统所在卷也没有被删除,只要该卷没有再次创建文件系统,以前文件系统的数据可以通过 fsck 命令进行恢复。Oracle的acfs也可以使用操作系统fsck进行检查以及修复。
ACFS快照命令:
创建快照
$/sbin/acfsutil snap create ogg_vol1_snap /ogg/product/ogg_home
删除快照
$/sbin/acfsutil snap delete ogg_vol1_snap /ogg/product/ogg_home