Learn About the Shared Storage Options on Oracle Cloud Infrastructure

You can set up shared storage on Oracle Cloud Infrastructure by using Oracle Cloud Infrastructure File Storage Service. This service is fully managed, fully elastic in the cloud, and doesn't require any upfront provisioning. It provides ready-to-use high availability, redundancy, and encryption. The Oracle Cloud Infrastructure Console allows you to create the file system and mount the target without having to download, install, or manage an appliance or any other tool.

Given that Oracle Cloud Infrastructure File Storage Service seems to be such a good fit for a shared storage solution on Oracle Cloud Infrastructure, why would you want to use any other shared storage approach? Well, in a few scenarios, Oracle Cloud Infrastructure File Storage Service might not be the perfect choice for you. For example, Oracle Cloud Infrastructure File Storage Service uses Network File System version 3.0 (NFSv3), so if you use a different network file system protocol, such as Server Message Block (SMB) or NFSv4, or if you need to access the shared storage from Windows instances, you’d need a different solution.

About Oracle Cloud Infrastructure File Storage Service

If you’re looking for shared storage for services in Oracle Cloud Infrastructure, you can consider using Oracle Cloud Infrastructure File Storage Service. Oracle Cloud Infrastructure File Storage Service is a managed file storage service that can be accessed concurrently by thousands of compute instances.

Using Oracle Cloud Infrastructure File Storage Service

Oracle Cloud Infrastructure File Storage Service is a persistent, shared file system in Oracle Cloud. It provides a durable, scalable, distributed, enterprise-grade network file system. Oracle Cloud Infrastructure File Storage Service supports Network File System version 3.0 (NFSv3) and Network Lock Manager (NLM) for file locking functionality.

Large compute clusters of thousands of instances can use Oracle Cloud Infrastructure File Storage Service for high-performance shared storage. Storage provisioning is fully managed and automatic. Storage scales seamlessly from kilobytes to exabytes without upfront provisioning. You have redundant storage for resilient data protection.

By default, Oracle Cloud Infrastructure File Storage Service uses AES-128 encryption to encrypt all file systems. Encryption happens at the file level. Data and metadata are encrypted at rest rather than while in transit. You can’t turn off encryption.

Oracle Cloud Infrastructure File Storage Service is fully managed and is offered across all availability domains in each Oracle Cloud Infrastructure region. You can connect to an Oracle Cloud Infrastructure File Storage Service file system from any bare metal instance, virtual machine instance, or container instance in your virtual cloud network (VCN). You can also access a file system from outside the VCN by using Oracle Cloud Infrastructure FastConnect and an Internet Protocol security (IPSec) virtual private network (VPN).

Use cases for Oracle Cloud Infrastructure File Storage Service

Oracle Cloud Infrastructure File Storage Service is designed to meet the needs of applications and users that require an enterprise file system across a wide range of use cases. You’d use it when your application or workload includes big data and analytics, media processing, or content management, and you require Portable Operating System Interface (POSIX)-compliant file system access semantics and concurrently-accessible storage. For example, you’d use File Storage Service in any of these use cases:

  • Enterprise applications that need shared files, such as Oracle E-Business Suite

  • Oracle Applications that need shared file storage to optimize capacity consumption and to ease deployments

  • Analytic applications and Apache Hadoop environments that use a repository to store analysis source data and value-added data

  • Microservices-based architectures, where you need persistent storage for container environments

  • Transactional file workloads, databases, scale-out file workloads, and high-performance computing (HPC) (for example, web application servers that need access to file data and need the ability to scale access across many instances)

  • Graphics, where you process video data and use a file system to store transcoded data or stream data

  • General purpose file systems, for storing unstructured and structured data

  • Container-based applications, where you store persistent application state for each container for Docker environments and Kubernetes environments

About Other Shared Storage Options

Oracle Cloud Infrastructure allows you to attach a block volume to multiple instances in read-write mode. Because the storage volumes are locally attached to the instances, you don’t need protocols such as Network File System (NFS) or Server Message Block (SMB) to attach or share disks on instances. You do, however, need a clustered file system to manage concurrent read-write requests on shared volumes. After you attach the block volumes to multiple instances, you can use any file system on them, depending on your workload requirements. For example, you can use file systems such as Oracle Cluster File System version 2 (OCFS2), Gluster, ext3, ext4, and so on.

Oracle Cluster File System

OCFS2 is a free, open source, general-purpose, shared-disk cluster file system for Linux. It is capable of providing both high performance and high availability. As it provides local file system semantics, it can be used with almost all applications. OCFS2 was developed by Oracle in association with the open source community. Support for OCFS2 is provided as part of Oracle Linux Support.

You can use OCFS2 nodes to share access to shared block volumes across client systems. For example, the nodes could export a shared file system by using Samba or NFS. You must configure at least three instances, or nodes, for OCFS2. Block volumes that are attached to OCFS2 nodes are shared across the nodes. To distribute service requests between the nodes, you can use round-robin domain name system (DNS), a network load balancer, or specify which node to use on each client.

Applications that are cluster-aware can use cache-coherent parallel I/O from multiple cluster nodes to balance the activity across the cluster. Other applications can use the available file system functionality to fail over and run on another node if a node fails. The block volumes themselves are mirrored at the infrastructure level, to provide protection against failure at the block volume level.

While using OCFS2 provides several benefits, you might experience performance issues at high volumes of traffic.

Gluster File System

Gluster is a distributed scale out file system that allows rapid provisioning of additional storage based on your storage consumption needs. It doesn’t require multi-attached block volumes. Instead, it uses a replication model to make files highly available across multiple servers. With Gluster, data can be accessed by using GlusterFS, NFS, or SMB. Each server has its own block volumes. Gluster manages the replication of files across the servers in the cluster as applicable, to ensure that data is synchronized. Failover from one server to another is also managed by Gluster. When you set up a Gluster client, the client is aware of every server in the cluster. If any server becomes unavailable, the client automatically switches to another server.

Gluster is open source and works well on Oracle Cloud Infrastructure services. However, the Gluster server isn’t supported on Oracle Linux. This lack of support doesn’t mean that you can’t install the Gluster server on an Oracle Linux instance. You can install the Gluster server on an Oracle Linux instance from the CentOS YUM repository. Alternatively, for the Gluster servers, you can set up CentOS instances. Note that you won’t be entitled to Oracle Linux Support for Gluster even when Gluster is running on an Oracle Linux instance.

Oracle Linux Storage Appliance

Oracle Linux Storage Appliance is designed to provide a fast and simple way to build shared storage by using Non-Volatile Memory Express (NVMe) devices or block volumes that are attached to Oracle Cloud Infrastructure compute instances. It is a Linux-based file server that utilizes the shared file system features that are already available from Oracle Linux, packaged in an appliance that was developed specifically for Oracle Cloud Infrastructure.

With Oracle Linux Storage Appliance, you can create NFS shares and Samba shared file systems by using the SMB export protocol. Both NFSv3 and NFSv4 are supported. You can configure multiple NFS and SMB exports for the same share. You can restrict access to shares based on host names and IP addresses.

You can use the Oracle Linux Storage Appliance web interface to create and manage shares, view storage capacity, back up and restore shares, display appliance status and configuration information, and perform appliance administration.

Oracle Linux Storage Appliance is included under Oracle Linux Support and is available with an Oracle Cloud Infrastructure subscription at no additional cost.

Select Your Shared Storage Option

Use this decision tree to select the shared storage option that best fits your requirements.

Description of select_shared_storage_oci.png follows
Description of the illustration select_shared_storage_oci.png