客户需求,提供在19c环境下,ACFS的命令行操作的具体步骤,便于在图形界面不可用场景使用。

当然,如果有图形可操作,还是推荐首选图形,避免复杂度以及不必要的错误。

其实之前有测试过11g环境下的ACFS命令创建,如下:

但考虑到版本可能会有变化,为避免不必要的试错过程,我们建议依据官方19c最新的方式来创建。

在正式开始之前,首先我们要了解下相关概念,嗯,又要来看官方文档说明了,主要看“Automatic Storage Management Administrator's Guide”这个文档。

Oracle ASM Cluster File System (Oracle ACFS) and Oracle ASM Dynamic Volume Manager (Oracle ADVM) provide key components of storage management.

其实存储管理的功能本身由存储软件商来cover,但是Oracle的ASM一出,就抢占了这个市场。尤其是现在去装Oracle集群数据库,基本不会再用到存储软件的存储管理,都是首选ASM。

但ASM磁盘组只能存放Oracle相关数据,而ACFS就是进一步扩展应用场景,在ASM的基础上,提供了集群文件系统,可以用于存放任意数据。官方原话是:

Oracle Automatic Storage Management Cluster File System (Oracle ACFS) is a multi-platform, scalable file system, and storage management technology that extends Oracle Automatic Storage Management (Oracle ASM) functionality to support all customer files.

创建ACFS,参考官方文档:

  • Creating an Oracle ACFS File System

https://docs.oracle.com/en/database/oracle/oracle-database/19/ostmg/steps-manage-acfs.html#GUID-4C98CF06-8CCC-45F1-9316-C40FB3EFF268

官方文档写的非常清楚,只需要按文档做一个具体测试验证,供客户操作参考:

我这里用于XTTS测试,就将挂载目录创建简单明了的/xtts吧。

[root@db01rac1 ~]# mkdir /xtts
[root@db01rac2 ~]# mkdir /xtts

之后步骤按文档验证如下:

1.在DATADG磁盘组中创建ADVM volume

ASMCMD> volcreate -G datadg -s 5G volume1

实验空间有限,就以5G大小为例,如果你的空间需要更大,按实际调整即可,ACFS支持大空间创建,只要你的ASM磁盘组剩余空间足够。

2.确认已经成功创建ADVM volume

ASMCMD> volinfo -G datadg volume1
Diskgroup Name: DATADG Volume Name: VOLUME1
Volume Device: /dev/asm/volume1-290
State: ENABLED
Size (MB): 5120
Resize Unit (MB): 64
Redundancy: UNPROT
Stripe Columns: 8
Stripe Width (K): 1024
Usage:
Mountpath: [grid@db01rac1 ~]$ sqlplus / as sysasm SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jun 1 14:02:48 2023
Version 19.16.0.0.0 Copyright (c) 1982, 2022, Oracle. All rights reserved. Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.16.0.0.0 SQL> SELECT volume_name, volume_device FROM V$ASM_VOLUME
WHERE volume_name ='VOLUME1'; 2 VOLUME_NAME
------------------------------
VOLUME_DEVICE
--------------------------------------------------------------------------------
VOLUME1
/dev/asm/volume1-290

3.使用mkfs命令创建acfs文件系统

[grid@db01rac1 ~]$ ls -l /dev/asm/volume1-290
brwxrwx--- 1 root asmadmin 250, 148481 Jun 1 13:19 /dev/asm/volume1-290 [grid@db01rac1 ~]$ /sbin/mkfs -t acfs /dev/asm/volume1-290
mkfs.acfs: version = 19.0.0.0.0
mkfs.acfs: on-disk version = 46.0
mkfs.acfs: volume = /dev/asm/volume1-290
mkfs.acfs: volume size = 5368709120 ( 5.00 GB )
mkfs.acfs: Format complete.

注意:这里其实并不需要root用户执行mkfs命令,只要是volume的所有者即可执行此命令,比如这里就是grid用户执行成功的。

4.注册文件系统

使用 srvctl 命令注册并自动挂载文件系统,举例来说:

[root@db01rac1 ~]# /u01/app/19.3.0/grid/bin/srvctl add filesystem -device /dev/asm/volume1-290 -path /xtts -user grid,oracle

使用acfsutil命令来注册文件系统,举例如下:

[root@db01rac1 ~]# /sbin/acfsutil registry -a /dev/asm/volume1-290 /xtts
acfsutil registry: mount point /xtts successfully added to Oracle Registry

此时已经可以查到两边节点正常看到这个acfs的文件系统正常挂载:

--node1:
[root@db01rac1 xtts]# df -h /xtts
文件系统 容量 已用 可用 已用% 挂载点
/dev/asm/volume1-290 5.0G 559M 4.5G 11% /xtts
[root@db01rac1 xtts]# ls -ld /xtts
drwxr-xr-x 4 oracle oinstall 32768 6月 1 14:31 /xtts
[root@db01rac1 xtts]# ls -lrth /xtts
总用量 64K
drwx------ 2 root root 64K 6月 1 14:31 lost+found --node2:
[root@db01rac2 xtts]# df -h /xtts
文件系统 容量 已用 可用 已用% 挂载点
/dev/asm/volume1-290 5.0G 559M 4.5G 11% /xtts
[root@db01rac2 xtts]# df -h /xtts
文件系统 容量 已用 可用 已用% 挂载点
/dev/asm/volume1-290 5.0G 559M 4.5G 11% /xtts
[root@db01rac2 xtts]# ls -ld /xtts
drwxr-xr-x 4 oracle oinstall 32768 6月 1 14:31 /xtts
[root@db01rac2 xtts]# ls -lrth /xtts
总用量 64K
drwx------ 2 root root 64K 6月 1 14:31 lost+found

5.挂载并启动文件系统

之前已经注册了文件系统,直接使用SRVCTL命令启动文件系统,举例如下:

[grid@db01rac1 ~]$ srvctl start filesystem -device /dev/asm/volume1-290
PRCR-1120 : Resources are already running.
CRS-5702: Resource 'ora.datadg.volume1.acfs' is already running on 'db01rac1'

实际发现这一步不需要执行了,因为资源都已经正常启动啦:

[grid@db01rac1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATADG.VOLUME1.advm
ONLINE ONLINE db01rac1 STABLE
ONLINE ONLINE db01rac2 STABLE
...
ora.datadg.volume1.acfs
ONLINE ONLINE db01rac1 mounted on /xtts,STA
BLE
ONLINE ONLINE db01rac2 mounted on /xtts,STA
BLE
...

你根据实际情况判断即可,如果要启动,是这个命令没错。

如果你之前没有注册文件系统,那么使用oracle acfs的mount命令挂载文件系统,举例如下(这里上面已完成注册、启动并挂载,未做这种情况的验证):

# /bin/mount -t acfs /dev/asm/volume1-290 /xtts

这一步也不需要执行。

6.方法二:使用asmca静默模式来创建ACFS

下面看下另外一种封装的方法,其实就是直接使用asmca,只不过用它的静默模式,来创建ACFS:

对应文档:

https://docs.oracle.com/en/database/oracle/oracle-database/19/ostmg/manage-acfs-advm-asmca.html#GUID-5DD43A64-2D00-469A-8035-88F10D79F5E4

首先创建ADVM,然后创建ACFS,两步都可以使用asmca静默模式来创建:

这里另外创建一个测试挂载点 /ggs,使用另外一个ASM磁盘组:ARCHDG。

1. 创建一个Oracle ADVM volume:

$ asmca -silent \
-createVolume \
-volumeName volume1 \
-volumeDiskGroup archdg \
-volumeSizeGB 1 --实际执行效果:
[grid@db01rac1 ~]$ asmca -silent \
> -createVolume \
> -volumeName volume1 \
> -volumeDiskGroup archdg \
> -volumeSizeGB 1 [INFO] [DBT-30079] Volume volume1 created successfully.

此时对应资源正确显示:

--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ARCHDG.VOLUME1.advm
ONLINE ONLINE db01rac1 STABLE
ONLINE ONLINE db01rac2 STABLE

2. 创建一个Oracle ACFS文件系统:

先查询下volume的名字:

ASMCMD> volinfo --all
Diskgroup Name: ARCHDG Volume Name: VOLUME1
Volume Device: /dev/asm/volume1-346
State: ENABLED
Size (MB): 1024
Resize Unit (MB): 64
Redundancy: UNPROT
Stripe Columns: 8
Stripe Width (K): 1024
Usage:
Mountpath: Diskgroup Name: DATADG Volume Name: VOLUME1
Volume Device: /dev/asm/volume1-290
State: ENABLED
Size (MB): 5120
Resize Unit (MB): 64
Redundancy: UNPROT
Stripe Columns: 8
Stripe Width (K): 1024
Usage: ACFS
Mountpath: /xtts

然后确认是/dev/asm/volume1-346后,执行:

$ asmca -silent \
-createACFS \
-acfsVolumeDevice /dev/asm/volume1-346 \
-acfsMountPoint /ggs --实际执行效果:
[grid@db01rac1 ~]$ asmca -silent \
> -createACFS \
> -acfsVolumeDevice /dev/asm/volume1-346 \
> -acfsMountPoint /ggs [INFO] [DBT-30092] ASM Cluster File System created on /dev/asm/volume1-346 successfully.
[INFO] Run the generated ACFS registration script /u01/app/grid/cfgtoollogs/asmca/scripts/acfs_script.sh as privileged user to register the ACFS with Grid Infrastructure and to mount the ACFS. The ACFS registration script needs to be run only on this node: db01rac1.

使用root用户执行提示的这个脚本,

注意只需在节点1执行一次即可:

[root@db01rac1 xtts]# sh /u01/app/grid/cfgtoollogs/asmca/scripts/acfs_script.sh
已在节点 db01rac1,db01rac2 上装载 ACFS 文件系统/ggs

最后有个小细节稍微提下,这里挂载的/ggs目录默认权限是root用户哈,而上面方法一,因为有指定用户权限,挂载的目录/xtts是oracle用户。

如何不使用图形来创建ACFS文件系统的更多相关文章

  1. OCM_第十七天课程:Section7 —》GI 及 ASM 安装配置 _管理和配置 GRID /实施 ASM 故障组 /创建 ACFS 文件系统

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  2. oracle一体机(exdata)创建ACFS文件系统

    ACFS是一个支持多个平台,可扩展的,基于ORACLE ASM的集群文件系统,可以用来存储数据库和各种应用的文件,包括数据库的trace文件,alert日志文件和配置文件等等,也可以用来存储视频,音频 ...

  3. [置顶] Oracle 11g ASM:如何在 ASMCMD 命令行工具中创建 Oracle ACFS 文件系统

    实验环境:Oracle 11g R2 RAC (11.2.0.3.5)                Oracle Enterprise Linux 5.6 x86 1.创建 ASM 磁盘组 在两节点 ...

  4. kubernetes高级之创建只读文件系统以及只读asp.net core容器

    系列目录 使用docker创建只读文件系统 容器化部署对应用的运维带来了极大的方便,同时也带来一些新的安全问题需要考虑.比如黑客入侵到容器内,对容器内的系统级别或者应用级别文件进行修改,会造成难以估量 ...

  5. Ubuntu下创建XFS文件系统的LVM

    以前在Linux下面玩LVM,一般都是选择ext3.ext4格式的文件系统,最近在Ubuntu 16.04.5下安装配置一个MySQL数据库服务器,遂测试了一下XFS文件系统的LVM,其实仔细对比下来 ...

  6. nova虚拟机镜像从创建到文件系统resize完整流程

    1. 虚拟机镜像的创建和resize流程 nova创建虚拟机涉及的组件比较多,调用比较复杂,这里只列出跟虚拟机镜像创建相关的流程,方便理清虚拟机状态变化的整个流程. nova-api nova.api ...

  7. 使用 Azure 创建网络文件系统

    本快速入门介绍了如何使用 Azure 文件存储实现网络文件共享.在本教程中完成的所有操作均符合 1 元试用条件. 本快速入门介绍了如何使用 Azure 文件存储实现网络文件共享.在本教程中完成的所有操 ...

  8. Samba服务创建共享文件系统

    Linux 系统中的Samba Linux系统中的Samba服务器又提供了另外一种技术来弥补这种安全性的不足的技术,那就是采用账户映射方式为Samba服务器提供虚拟账户(不与Linux系统中的用户账户 ...

  9. ASM集群文件系统ACFS(ASM Cluster File System)

    在11g R2中ASM文件支持包括数据文件,控制文件,归档日志文件,spfile,RMAN备份文件,Change Tracking文件,数据泵Dump文件盒OCR文件等.而推出的ACFS和Oracle ...

  10. oracle-asm,acfs

    两个类比asm与lvm比较asm实例与oracle实例比较 ASM是OMF的一个扩展,通过ASM和OMF的结合,oracle在上层将数据文件进行自我管理,在底层将存储进行自我管理.同时,ASM模式下, ...

随机推荐

  1. Django-5

    Django-5 1.Coookie 1.1 什么是cookie Cookie是储存在浏览器端的一小段文本数据(键值对). 被广泛用于在网站之间传输信息, 当您访问一个网站时,它会将一个Cookie发 ...

  2. Solon2 自定义 slf4j 日志添加器

    本案需要引入已适配的 slf4j 日志框架(solon.logging.simple 或 logback-solon-plugin 或 log4j-solon-plugin). 1.自定义添加器入门 ...

  3. 小心golang中的无类型常量

    对于无类型常量,可能大家是第一次听说,但这篇我就不放进拾遗系列里了. 因为虽然名字很陌生,但我们每天都在用,每天都有无数潜在的坑被埋下.包括我本人也犯过同样的错误,当时代码已经合并并发布了,当我意识到 ...

  4. Python——基础知识(一)

    1. 那么多编程语言,为什么学python 易于学习,是所有编程语言当中最容易学习的 没有最好的语言,只有最合适的语言 2. 反复执行的用例如何提升效率 测试流程回归(回顾) 很多测试用例在不同的测试 ...

  5. SpringBoot——模板引擎及原理

    更多内容,前往IT-BLOG 一.模板引擎的思想 模板是为了将显示与数据分离,模板技术多种多样,但其本质都是将模板文件和数据通过模板引擎生成最终的 HTML代码. 二.SpringBoot模板引擎 S ...

  6. 磁盘IO 基本常识

    计算机硬件性能在过去十年间的发展普遍遵循摩尔定律,通用计算机的 CPU主频早已超过3GHz,内存也进入了普及DDR4的时代.然而传统硬盘虽然在存储容量上增长迅速,但是在读写性能上并无明显提升,同时SS ...

  7. 算法学习笔记(20): AC自动机

    AC自动机 前置知识: 字典树:可以参考我的另一篇文章 算法学习笔记(15): Trie(字典树) KMP:可以参考 KMP - Ricky2007,但是不理解KMP算法并不会对这个算法的理解产生影响 ...

  8. 【实战】SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目

    JavaDog Chat v1.0.0 基于SpringBoot+uniapp简单通讯聊天软件 项目介绍 JavaDog Chat 简单通讯聊天软件是基于SpringBoot+MybatisPlus+ ...

  9. VideoPipe可视化视频结构化框架更新总结(2023-3-30)

    项目地址:https://github.com/sherlockchou86/video_pipe_c 往期文章:https://www.cnblogs.com/xiaozhi_5638/p/1696 ...

  10. 随机服务系统模拟—R实现(二)

    M/M/1随机服务系统的模拟 M/M/1模型是一种出生-死亡过程,此随机过程中的每一个状态代表模型中人数的数目.因为模型的队列长度无限且参与人数亦无限,故此状态数目亦为无限.例如状态0表示模型闲置.状 ...