EVA – Data Architecture

Print Friendly, PDF & Email

I could never locate a single document which would explain how the data is actually laid out within a disk group. After going through several documents I finally managed to understand (I hope it is correct) the relationship between RSS/VDISKS/Block side/LDAD/VRAID etc. Here you go:

LDAD – Logical Disk Allocation Domain – Also known as Diskgroup. Each disk in a diskgroup will contribute same percentage of storage for a vdisk as its contribution to total size of diskgroup.
Example – disk group = 100 drives , 50*72G, 50*36G
each 72G disk will contain > 1% of the vdisk, each 36G disk will contain < 1% of the vdisk
72GB will have approximately double the share of the 36GB drives, because it is double the capacity

EVA does write as much data as it receives from the host: if the host sends a single 512 byte block, the EVA writes exactly this block to the desired location on the disk drive.

Vdisk is divided into RSTORE (one Rstore per RSS). An RSTORE is divided into PSEG (one PSEG per physical drive). PSEG is 2MB in size entirely contained on a single physical drive.

8 MB = 4 x 2MB = 4 x 4 x 512 KB = 4 x 4 x 4 x 128KB
1 Rstore = 4 PSEGs = 16 Stripes = 64 Chunks

128KB chunk size and a 512KB stripe size when wrinting to disk. One chunk is written to mirror pair in RSS, and 4 pairs are striped together to get 512KB stripe. Next 8MB Rstore will be written to next RSS. It is Concatenated Striped Mirrors.

3 X 8MB RStores will be written as below:

RSS1 – First chunk of disk1/2, second on disk3/4, third on disk5/6, fourth on disk7/8
RSS2 – First chunk of disk1/2, second on disk3/4, third on disk5/6, fourth on disk7/8
RSS3 – First chunk of disk1/2, second on disk3/4, third on disk5/6, fourth on disk7/8

128KB host write will go to 2 disks and a 256KB write will hit 4.

Disk level protection –
single (1) = capacity of 2 * largest spindle in disk group
double (2) = capacity of 4 * largest spindle in disk group

VRAID0 – RSTORE of 8 MB – 4 PSEGs – 1 PSEG per drive. First RSTORE on first RSS, 2nd on 2nd and so on.

VRAID1 – RSTORE of 8 MB – 4 PSEGs – 1 PSEG per drive. First RSTORE on first RSS, 2nd on 2nd and so on. Each PSEG mirrored on another drive within RSS. So, 4 pairs within RSS of 8 drives OR 3 pairs within RSS of 7 drives.

VRAID5 – RSTORE of 10 MB – 5 PSEGs – 1 PSEG per drive. First RSTORE on first RSS, 2nd on 2nd and so on. Let’s assume that we have 3 RSS with 8 disk in each. You create Vdisk as Vraid5. First 10MB ((4+1)*2MB PSEG) will be distributed over 5 disks in RSS1 (e.g. 1-1, 1-2, 1-3, 1-4, 1-5). Next 10MB will be placed onto 5 disks in RSS2 (2-1, 2-2, 2-3, 2-4, 2-5), etc. RSS3 will hold another 10MB and when it get back to RSS1 next 10MB will be spread over 5 disk again, but this time it will be (1-6, 1-7, 1-8, 1-1, 1-2). The information is broken up into 10MB pieces which are written out in 2MB segments across 5 disks in each RSS, using an interlace factor of 128KB. The 5 disks in each RSS are not fixed but are rotated.

VRAID6 – RSTORE of 12 MB – 6 PSEGs – 1 PSEG per drive.

,

sanaswati
No comments yet.

Leave a Reply

*