• Elastic Volume Service

evs
  1. Help Center
  2. Elastic Volume Service
  3. User Guide
  4. Overview
  5. Shared EVS Disks and Usage Instructions

Shared EVS Disks and Usage Instructions

EVS disks can be classified into non-shared EVS disks and shared EVS disks based on whether the disks can be attached to multiple servers. A non-shared EVS disk can only be attached to one server, whereas a shared EVS disk can be attached to multiple servers.

What Are Shared EVS Disks

Shared EVS disks are block storage devices that support concurrent read/write operations and can be attached to multiple servers. Shared EVS disks feature multiple attachments, high-concurrency, high-performance, and high-reliability. A shared EVS disk can be attached to a maximum of 16 servers. Figure 1 shows its application scenario.

Currently, shared EVS disks can be used as data disks only and cannot be used as system disks.

Figure 1 Application scenario of shared EVS disks

Application Scenarios and Precautions for Shared EVS Disks

Shared EVS disks are usually used for enterprise key applications that require cluster deployment and high availability (HA). These applications demand concurrent access to an EVS disk from multiple servers. Before you attach a shared EVS disk to multiple servers, the disk device type needs to be determined. The device type can be either VBD or SCSI. Most common clusters, such as Windows MSCS and Veritas VCS and CFS, require the usage of SCSI reservations. Therefore, you are advised to use shared SCSI EVS disks for clusters. To use SCSI EVS disks, you may need to install a driver for certain servers. For details, see Device Types and Usage Instructions.

You can create shared VBD disks or shared SCSI disks. It is recommended that you attach the shared disk to the ECSs in the same ECS group to improve service reliability.
  • Shared VBD EVS disks: The device type of a newly created shared EVS disk is VBD by default. Such disks can be used as virtual block storage devices, but do not support SCSI reservations. If SCSI reservations are required for your applications, create shared SCSI EVS disks.
  • Shared SCSI EVS disks: These EVS disks support SCSI reservations.
    • To improve data security, you are advised to use SCSI reservations together with the anti-affinity policy of an ECS group. That said, ensure that shared SCSI EVS disks are only attached to ECSs in the same anti-affinity ECS group.
    • If an ECS does not belong to any anti-affinity ECS group, you are advised not to attach shared SCSI EVS disks to this ECS. Otherwise, SCSI reservations may not work properly, which may put your data at risk.

    Concepts of the anti-affinity ECS group and SCSI reservations:

    • The anti-affinity policy of an ECS group allows ECSs to be created on different physical servers to improve service reliability. You can only select the ECS group when creating an ECS. Existing ECSs cannot be added to an anti-affinity ECS group.

      For details about ECS groups, see Managing ECS Groups in the Elastic Cloud Server User Guide.

    • The SCSI reservation mechanism uses a SCSI reservation command to perform SCSI reservation operations. If an ECS sends such a command to an EVS disk, the disk is displayed as locked to other ECSs, preventing the data damage that may be caused by simultaneous read/write operations to the disk from multiple ECSs.
    • ECS groups and SCSI reservations have the following relationship: A SCSI reservation on a single EVS disk cannot differentiate multiple ECSs on the same physical host. For that reason, if multiple ECSs that use the same shared EVS disk are running on the same physical host, SCSI reservations will not work properly. Therefore, you are advised to use SCSI reservations only on ECSs that are in the same ECS group, thus having a working anti-affinity policy.

Advantages of Shared EVS Disks

  • Multiple attachments: A shared EVS disk can be attached to a maximum of 16 servers.
  • High-performance: When multiple servers concurrently access a shared ultra-high I/O EVS disk, random read/write IOPS can reach up to 160,000.
  • High-reliability: Shared EVS disks support both manual and automatic backup, delivering highly reliable data storage.
  • Wide application scenarios: Shared EVS disks can be used for Linux RHCS clusters where only VBD EVS disks are needed. Whereas, they can also be used for Windows MSCS and Veritas VCS clusters that require SCSI reservations.

Specifications of Shared EVS Disks

The key indicators of EVS disk performance include read/write I/O latency, IOPS, and throughput.
  • IOPS: Number of read/write operations performed by an EVS disk per second
  • Throughput: Amount of data successfully transmitted by an EVS disk per second, that is, the amount of data read from and written into an EVS disk
  • Read/write I/O latency: Minimum interval between two consecutive read/write operations of an EVS disk
Table 1 EVS disk performance data

Parameter

Common I/O

High I/O

Ultra-high I/O

High I/O (Performance optimized I)

Ultra-high I/O (Latency optimized)

IOPS per GB/EVS disk

1

3

50

3

50

Min. IOPS/EVS disk

100

100

100

100

100

Max. IOPS/EVS disk

1,000

3,000

20,000

3,000

30,000

IOPS Burst Limit/EVS disk

1,000

3,000

10,000

3,000

15,000

Max. Throughput

40 MB/s

120 MB/s

320 MB/s

550 MB/s

1 GB/s

Read/write I/O latency

NOTE:

This parameter specifies the single-queue access latencies of EVS disks.

10 ms to 15 ms

6 ms to 10 ms

1 ms to 3 ms

6 ms to 10 ms

1 ms

Number of servers that can be attached to

A shared EVS disk can be attached to a maximum of 16 servers.

NOTE:
To test the performance of a shared disk, the following requirements must be met:
  • The shared disk must be attached to multiple ECSs or BMSs.
  • If the shared disk is attached to multiple ECSs, these ECSs must belong to the same anti-affinity ECS group.

    If these ECSs fail to meet the anti-affinity requirement, the optimal performance of the shared disk cannot be achieved.

Data Sharing Principle and Common Usage Mistakes of Shared EVS Disks

A shared EVS disk is essentially the disk that can be attached to multiple servers for use, which is similar to a physical disk in that the disk can be attached to multiple physical servers, and each server can read data from and write data into any space on the disk. If the data read/write rules, such as the read/write sequence and meaning, between these servers are not defined, data read/write interference between servers or other unpredictable errors may occur.

Though shared EVS disks are block storage devices that provide shared access for servers, shared EVS disks do not have the cluster management capability. Therefore, you need to deploy a cluster system to manage shared EVS disks. Common cluster management systems include Windows MSCS, Linux RHCS, Veritas VCS, and Veritas CFS.

If shared EVS disks are not managed by a cluster system, the following issues may occur:
  • Data inconsistency caused by read/write conflicts

    When a shared EVS disk is attached to two servers (server A and server B), server A cannot recognize the disk spaces allocated to server B, vice versa. That said, a disk space allocated to server A may be already used by server B. In this case, repeated disk space allocation occurs, which leads to data errors.

    For example, a shared EVS disk has been formatted into the ext3 file system and attached to server A and server B. Server A has written metadata into the file system in space R and space G. Then server B has written metadata into space E and space G. In this case, the data written into space G by server A will be replaced. When the metadata in space G is read, an error will occur.

  • Data inconsistency caused by data caching

    When a shared EVS disk is attached to two servers (server A and server B), the application on server A has read the data in space R and space G, then cached the data. At that time, other processes and threads on server A would then read this data directly from the cache. At the same time, if the application on server B has modified the data in space R and space G, the application on server A cannot detect this data change and still reads this data from the cache. As a result, the user cannot view the modified data on server A.

    For example, a shared EVS disk has been formatted into the ext3 file system and attached to server A and server B. Both servers have cached the metadata in the file system. Then server A has created a new file (file F) on the shared disk, but server B cannot detect this modification and still reads data from its cached data. As a result, the user cannot view file F on server B.

Before you attach a shared EVS disk to multiple servers, the disk device type needs to be determined. The device type can be either VBD or SCSI. Shared SCSI EVS disks support SCSI reservations. Before using SCSI reservations, you need to install a driver in the server OS and ensure that the OS image is included in the compatibility list.

For details about the usages of shared EVS disks, see Managing a Shared EVS Disk.

If you simply attach a shared EVS disk to multiple servers, files cannot be shared between the servers as shared EVS disks do not have the cluster capability. Therefore, build a shared file system or deploy a cluster management system if you need to share files between servers.