Introducing Oracle ACFS and Oracle ADVM
ASM集群文件系统(Oracle ACFS)和ASM动态卷管理器(Oracle ADVM)提供了存储管理的关键组件。
本章描述了Oracle自动存储管理集群文件系统(Oracle ACFS)和Oracle ASM动态卷管理器(Oracle ADVM)的组成部分。
本章通过以下主题提供了Oracle ACFS和Oracle ADVM特性的概念和概述:
Oracle ACFS概述
理解Oracle ACFS的概念
了解Oracle ACFS管理
ASM动态卷管理器概述
Overview of Oracle ACFS
Oracle ACFS概述
Oracle自动存储管理集群文件系统(Oracle ACFS)是一种多平台、可伸缩的文件系统和存储管理技术,它扩展了Oracle自动存储管理(Oracle ASM)功能,支持所有客户文件。
Oracle ACFS支持Oracle数据库文件和应用程序文件,包括可执行文件、数据库数据文件、数据库跟踪文件、数据库警报日志、应用程序报告、BFILEs和配置文件。其他受支持的文件包括视频、音频、文本、图像、工程绘图和所有其他通用应用程序文件数据。Oracle ACFS遵循针对Linux和UNIX的POSIX标准,以及针对Windows的Windows标准。
Oracle ACFS文件系统与Oracle ASM通信,并配置了Oracle ASM存储,如下图所示。
Oracle ACFS Storage Layers
Oracle ACFS存储层
这个图显示了Oracle ACFS存储层。
在顶部是Oracle RAC、Oracle数据库和客户机应用程序。
中间层包括Oracle Clusterware、Oracle ASM、Oracle Automatic Storage Management Cluster File System (Oracle ACFS)文件系统、第三方文件系统、Oracle ASM Dynamic Volume Manager (Oracle ADVM)。
底层显示了ASM磁盘组及其可能包含的文件。
Oracle ACFS利用Oracle ASM功能实现:
Oracle ACFS动态文件系统大小调整
通过直接访问ASM磁盘组存储来最大化性能
通过Oracle ASM磁盘组存储均衡分配Oracle ACFS,以提高I/O并行性
通过ASM镜像保护机制实现数据可靠性
Oracle ACFS建立并维护与Oracle ASM实例的通信,以参与Oracle ASM状态转换,包括Oracle ASM实例和磁盘组状态更新以及磁盘组再平衡。Oracle自动存储管理与Oracle ACFS和Oracle ASM动态卷管理器(Oracle ADVM)提供支持所有客户数据并提出一套共同的Oracle存储管理工具和服务跨多个供应商平台和操作系统环境在Oracle重启(独立)和集群配置。
Oracle ACFS与Oracle集群技术紧密耦合,直接参与集群成员状态转换和基于资源的高可用性(HA)管理。此外,还更新了Oracle安装、配置、验证和管理工具,以支持Oracle ACFS。
可以使用本地操作系统文件系统工具和标准应用程序编程接口(api)访问和管理Oracle ACFS。Oracle ACFS也可以通过Oracle ASM配置助手进行管理。可以使用行业标准网络附加存储(NAS)文件访问协议访问Oracle ACFS:网络文件系统(NFS)和通用Internet文件系统(CIFS)。但是,Windows上的CIFS客户机在与Oracle ACFS Linux、Solaris或AIX服务器交互时不能使用ACLs,但是可以在Windows上使用与Oracle ACFS交互的ACLs。
除了共享文件数据之外,Oracle ACFS还提供了额外的存储管理服务,包括对Oracle Grid基础设施集群级挂载注册表的支持、动态在线文件系统大小调整和每个文件系统的多个空间有效快照。
Oracle ACFS通过提供:
一个通用的独立服务器和集群文件系统解决方案,与Oracle ASM和Oracle Clusterware技术集成
跨多个供应商平台和操作系统的一组通用文件系统特性,提供了本地操作系统或第三方文件系统解决方案的替代方案
独立的和集群范围共享Oracle数据库home、所有Oracle数据库文件和应用程序数据
统一、一致的共享文件访问和所有客户应用程序文件的集群级命名
与Oracle集群高可用性资源的集成
Oracle ACFS支持大的存储容量和大量的集群节点。它有效地管理大量的文件系统、文件,并支持具有exabyte能力的大小文件和文件系统容量。Oracle ACFS为具有数百万个文件的大型目录提供了优化的快速目录查找。
Understanding Oracle ACFS Concepts
About Oracle ACFS
Oracle ACFS被设计成一个通用的、独立的服务器和集群范围的文件系统,它提供对所有客户文件的支持。用户和应用程序可以使用本地操作系统文件系统应用程序编程接口(api)和命令行接口(CLI)工具访问和管理Oracle ACFS。用户还可以使用Oracle ASM Configuration Assistant (ASMCA)管理Oracle ACFS。
Oracle ACFS支持64位文件和文件系统数据结构大小的大文件,在64位平台上支持exabyte文件和文件系统容量。基于可变区段的存储分配和高性能目录有助于实现快速的性能和共享磁盘配置,从而为每个集群成员的Oracle ACFS文件数据提供直接的存储路径。文件系统的完整性和快速恢复是通过Oracle ACFS元数据校验和和日志实现的。Oracle ACFS被设计为一个多节点、共享的文件系统模型,它从每个集群成员向Oracle ACFS文件数据提供一致的、缓存的、直接的存储路径。
Oracle ACFS文件系统通常配置为集群级访问。文件系统、文件和目录对所有集群成员都是可见和可访问的,用户和应用程序可以使用来自任何集群成员的相同路径名来引用它们。此设计支持跨集群成员简化应用程序部署,并为多个实例集群应用程序和未修改的独立服务器应用程序的高可用性(HA)故障转移提供了便利。
Oracle ACFS提供了跨集群配置的单系统文件访问语义。所有集群成员上的应用程序和用户总是以共享Oracle ACFS文件数据的相同视图呈现,该视图由Oracle ACFS全集群用户和元数据缓存一致性机制支持。
asmca -silent -createACFSSnapshot (-acfsMountPoint mount_path ) (-snapshotName snapshot_name ) [-snapshotMode { r|w } ] [-parentSnapshotName parent_snapshot_name ]
Options for the -createACFSSnapshot command
Option | Description |
---|---|
|
Specifies an existing path to be used as the mount point. This is required in an Oracle RAC environment. |
|
Specifies the name of the Oracle ACFS snapshot. |
|
Specifies the mode of the Oracle ACFS snapshot, either read-only ( |
|
Specifies the name of the Oracle ACFS parent snapshot. |
asmca -silent -deleteACFSSnapshot (-acfsMountPoint mount_path ) (-snapshotName snapshot_name )
Options for the -deleteACFSSnapshot command
Option | Description |
---|---|
|
Specifies an existing path to be used as the mount point. This is required in an Oracle RAC environment. |
|
Specifies the name of the Oracle ACFS snapshot. |
Create a Volume
asmca -silent -createVolume { -volumeName volume_name -volumeDiskGroup diskgroup -volumeSizeGB size_GB [-volumeRedundancy { INHERIT | HIGH | NORMAL | EXTERNAL }] [-sysAsmPassword sysasm_password]
Option | Description |
---|---|
|
Specifies the name of the volume to create. |
|
Specifies the name of the disk group where you want to create the volume. |
|
Specifies the size of the volume in Gigabytes. |
|
Specifies the redundancy setting for the volume. |
$ asmca -silent -createVolume -volumeName volume1 -volumeDiskGroup mynewdg -volumeSizeGB 1 Volume volume1 created successfully.
Create an Oracle ACFS File System
-createACFS
creates an Oracle Automatic Storage Management Cluster File System (Oracle ACFS).
asmca -silent -createACFS { -acfsVolumeDevice volume_device} { -acfsMountPoint mount_path} [ -acfsUserName acfs_username] [ -acfsUserGroup acfs_usergroup] [-sysAsmPassword sysasm_password]
Options for the -createACFS command
Option | Description |
---|---|
|
Specifies the name of the Oracle ADVM volume device. |
|
Specifies an existing path to be used as the mount point. This is required in an Oracle RAC environment. |
|
Specifies the Oracle ACFS user name. |
|
Specifies the Oracle ACFS group name. |
$ asmca -silent -createACFS -acfsVolumeDevice /dev/asm/volume1-457 -acfsMountPoint /acfsmounts/acfs1
Managing Oracle ADVM with ASMCMD
Summary of ASMCMD volume management commands
Command | Description |
---|---|
Creates an Oracle ADVM volume in the specified disk group. 在指定的磁盘组中创建Oracle ADVM卷。 |
|
Deletes an Oracle ADVM volume. 删除一个Oracle ADVM卷。 |
|
Disables Oracle ADVM volumes in mounted disk groups. 在挂载的磁盘组中禁用Oracle ADVM卷。 |
|
Enables Oracle ADVM volumes in mounted disk groups. 在挂载的磁盘组中启用Oracle ADVM卷。 |
|
Displays information about Oracle ADVM volumes.
|
|
Resizes an Oracle ADVM volume. 调整Oracle ADVM卷的大小。 |
|
Sets attributes of an Oracle ADVM volume in mounted disk groups. 在挂载的磁盘组中设置Oracle ADVM卷的属性。 |
|
Reports volume I/O statistics. 报告卷I/O统计数据。 |
Creates an Oracle ADVM volume in the specified disk group.
volcreate -G diskgroup -s size [--column number] [-- width stripe_width] [--redundancy] {high | mirror | unprotected} [--primary {hot | cold}] [--secondary {hot | cold}] volume
Options for the volcreate command
Option | Description |
---|---|
|
Name of the disk group containing the volume. 包含卷的磁盘组的名称。 |
|
Size of the volume to be created in units of 以K、M、G或t为单位创建的卷的大小。该值必须是正整数。单元名称必须附加到指定的数字上。号码与单位名称之间不得有空格。例如:200M或20G |
|
Number of columns in a stripe set. Values range from
|
|
Stripe width of a volume in units of
|
|
Redundancy of the Oracle ADVM volume which can be only specified for normal redundancy disk groups. If redundancy is not specified, the setting defaults to the redundancy level of the disk group and this is the recommended setting. The range of values is as follows: 只能为正常冗余磁盘组指定的Oracle ADVM卷的冗余。如果没有指定冗余,则设置默认为磁盘组的冗余级别,这是推荐的设置。值的范围如下:无保护的非镜像冗余、镜像冗余的双镜像冗余或高镜像冗余。 |
|
Data placement specification for primary extents, either 主要区段(热区或冷区)的数据放置规范。 |
|
Data placement specification for secondary extents, either 次要区段(热区或冷区)的数据放置规范。
|
|
Name of the volume. Only alphanumeric characters and underscores are allowed. Hyphens are not allowed. The first character must be alphabetic.
|
The following is an example of the volcreate
command that creates volume1
in the data
disk group with the size set to 10 gigabytes.
ASMCMD [+]> volcreate -G data -s 10G --width 1M --column 8 volume1 ASMCMD [+]> volinfo -G data volume1 Diskgroup Name: DATA Volume Name: VOLUME1 Volume Device: /dev/asm/volume1-123 State: ENABLED Size (MB): 10240 Resize Unit (MB): 64 Redundancy: MIRROR Stripe Columns: 8 Stripe Width (K): 1024 Usage: Mountpath:
Deletes an Oracle ADVM volume.
Syntax and Description
voldelete -G diskgroup volume
Option | Description |
---|---|
|
Name of the disk group containing the volume. |
|
Name of the volume. |
The following is an example of the voldelete
command that deletes volume1
from the data
disk group.
ASMCMD [+] > voldelete -G data volume1
voldisable
Disables Oracle ADVM volumes in mounted disk groups and removes the volume device on the local node.
voldisable {--all | { -G diskgroup { -a | volume}}}
ptions for the voldisable command
Option | Description |
---|---|
|
Specifies all volumes within all disk groups. |
|
Name of the disk group containing the volume. |
|
Specifies all volumes within the specified disk group. |
|
Name of the volume. |
您可以在关闭Oracle ASM实例或卸载磁盘组之前禁用卷,以验证操作是否可以正常完成,而不需要因为打开卷文件而包含强制选项。禁用卷还可以防止在卷或设备文件上打开任何后续操作,因为它不再存在。
在禁用卷之前,必须确保没有与卷关联的活动文件系统。在禁用卷之前,必须先卸载Oracle ACFS文件系统。请参阅取消注册、卸载和禁用卷和Oracle ACFS文件系统。
您可以删除卷而不首先禁用该卷。
The following is an example of the voldisable
command that disables volume1
in the data
disk group.
ASMCMD [+] > voldisable -G data volume1
Enables Oracle ADVM volumes in mounted disk groups.
volenable { --all | { -G diskgroup {-a | volume}}}
Options for the volenable command
Option | Description |
---|---|
|
Specifies all volumes within all disk groups. 指定所有磁盘组中的所有卷。 |
|
Name of the disk group containing the volume. 包含卷的磁盘组的名称。
|
|
Specifies all volumes within the specified disk group. 指定指定磁盘组中的所有卷。 |
|
Name of the volume. |
The following is an example of the volenable
command that enables volume1
in the data
disk group.
ASMCMD [+] > volenable -G data volume1
Displays information about Oracle ADVM volumes.
volinfo { --all | { -G diskgroup {-a | volume}}} volinfo { --show_diskgroup | --show_volume} volumedevice
Options for the volinfo command
Option | Description |
---|---|
|
Specifies all volumes within all disk groups. 指定所有磁盘组中的所有卷。 |
|
Name of the disk group containing the volume. 包含卷的磁盘组的名称。 |
|
Specifies all volumes within the specified disk group. 指定指定磁盘组中的所有卷。 |
|
Name of the volume. |
|
Returns only the disk group name. A volume device name is required. 只返回磁盘组名。需要一个卷设备名。 |
|
Returns only the volume name. A volume device name is required.
|
|
Name of the volume device. 卷设备的名称。 |
第一个示例显示关于数据磁盘组中的卷1卷的信息。这个示例是在Linux环境中生成的。第二个示例显示关于数据磁盘组中的卷1卷的信息,它是在Windows环境中生成的。
Mountpath字段包含当前挂载卷的路径或最后挂载卷的路径。
Using the ASMCMD volinfo command
ASMCMD [+] > volinfo -G data volume1 Diskgroup Name: DATA Volume Name: VOLUME1 Volume Device: /dev/asm/volume1-123 State: ENABLED Size (MB): 10240 Resize Unit (MB): 64 Redundancy: MIRROR Stripe Columns: 8 Stripe Width (K): 1024 Usage: ACFS Mountpath: /acfsmounts/acfs1 ASMCMD [+] > volinfo -G data -a Diskgroup Name: DATA Volume Name: VOLUME1 Volume Device: \.asm-volume1-311 State: ENABLED Size (MB): 10240 Resize Unit (MB): 64 Redundancy: MIRROR Stripe Columns: 8 Stripe Width (K): 1024 Usage: ACFS Mountpath: C:oracleacfsmountsacfs1
Resizes an Oracle ADVM volume.
volresize -G diskgroup -s size [ -f ] volume
Option | Description |
---|---|
|
Name of the disk group containing the volume. 包含卷的磁盘组的名称。 |
|
Forces the shrinking of a volume that is not an Oracle ACFS volume and suppresses any warning message. 强制收缩非Oracle ACFS卷并禁止任何警告消息。
|
|
Name of the volume. |
|
New size of the volume in units of |
如果卷挂载在非oracle ACFS文件系统上,那么在调整大小之前先卸载文件系统。如果新大小小于当前大小,则会警告您可能的数据损坏。除非指定-f (force)选项,否则系统将提示您是否继续操作。
如果卷上有Oracle ACFS文件系统,则无法使用volresize命令调整卷的大小。您必须使用acfsutil size命令,该命令还调整卷和文件系统的大小。有关信息,请参阅“acfsutil大小”。
The following is an example of the volresize
command that resizes volume1
in the data
disk group to 20 gigabytes.
Using the ASMCMD volresize command
ASMCMD [+] > volresizes -G data -s 20G volume1
Sets attributes of an Oracle ADVM volume in mounted disk groups.
volset -G diskgroup [ --usagestring string] [--mountpath mount_path ] [--primary {hot|cold}] [--secondary {hot|cold}] volume
Options for the volset command
Option | Description |
---|---|
|
Name of the disk group containing the volume. 包含卷的磁盘组的名称。 |
|
Optional usage string to tag a volume which can be up to 30 characters. This string is set to 可选使用字符串标记最多30个字符的卷。当卷附加到Oracle ACFS文件系统时,该字符串被设置为ACFS,不应该更改。 |
|
Optional string to tag a volume with its mount path string which can be up to 1024 characters. This string is set when the file system is mounted and should not be changed. 可选字符串,用于标记卷及其最多可达1024个字符的挂载路径字符串。此字符串是在挂载文件系统时设置的,不应更改。 |
|
Data placement specification for primary extents, either 主要区段(热区或冷区)的数据放置规范。 |
|
Data placement specification for secondary extents, either
|
|
Name of the volume. |
运行mkfs命令创建文件系统时,usage字段设置为ACFS,如果设置了mountpath字段,则将其重置为空字符串。usage字段应该保留在ACFS中。
在运行挂载命令以挂载文件系统时,将mountpath字段设置为挂载路径值,以标识文件系统的挂载点。通过mount命令设置值之后,不应该更新mountpath字段。
The following is an example of a volset
command that sets the usage
string for a volume that is not associated with a file system.
ASMCMD [+] > volset -G data -usagestring 'no file system created' volume1
Reports I/O statistics for Oracle ADVM volumes.
volstat [-G diskgroup] [volume]
Options for the volstat command
Option | Description |
---|---|
|
Name of the mounted disk group containing the volume. |
|
Name of the volume. |
以下内容在使用volstat命令时也适用。
如果没有指定磁盘组,并且指定了卷名,则将搜索所有挂载的磁盘组以查找指定的卷名。
如果指定了磁盘组名,并且省略了卷名,则显示指定的磁盘组的所有卷。
如果省略磁盘组名和卷名,则显示所有磁盘组上的所有卷。
The following is an example of the volstat
command that displays information about volumes in the data
disk group.
ASMCMD [+] > volstat -G data DISKGROUP NUMBER / NAME: 1 / DATA --------------------------------------- VOLUME_NAME READS BYTES_READ READ_TIME READ_ERRS WRITES BYTES_WRITTEN WRITE_TIME WRITE_ERRS ------------------------------------------------------------- VOLUME1 10085 2290573312 22923 0 1382 5309440 1482 0