Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
Database Servers
DB2InformixIngresMS SQLOraclePervasive.SQLPostgreSQLProgressSybase
Desktop Databases
FileMakerFoxProMS AccessParadox
General
General DB TopicsDatabase Theory
Related Topics
Java Development.NET DevelopmentVB DevelopmentMore Topics ...

Database Forum / DB2 Topics / September 2008

Tip: Looking for answers? Try searching our database.

DB2 Container behaviour on EMC DMX 3 San.

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Patrick Finnegan - 26 Sep 2008 15:17 GMT
We are reviewing database container design where the storage layer is
an EMC DMX 3 Raid 5 San.

The SAN comprises multiple raid 5 arrays, four disks in each array.
We have been allocated 8 gig virtual hypervolumes(LUNS) each mapped
horizontally across the four disks.  The 8 gig hyper volumes are split
into 2 gig hypers one hyper per disk.  The SAN stripe size is 768KB.

Hypervolumes are exposed to AIX as hdisks hence each hdisk is 8 gig.
The data on each hdisk is mapped across four physical drives in
contiguous stripes (tracks) of 2 gig(hypers).

For this example let's say we create four DMS containers(files) of 8
gig each for a tablespace.

Assign one hyper volume(hdisk) to each container.

Assign the four hdisks to logical volume 01.

The containers are c1, c2, c3, c4.
The hypers are c1/d1, c1/d2.......c4/d3, c4/d4.

       D1  D2  D3  D4
      .---. .---. .---. .---.
C1   | 1 | | 1 | | 1 | | 1 |    <=== hypervolume hdisk1 8 gig
C2   | 2 | | 2 | | 2 | | 2 |    <=== hypervolume hdisk2 8 gig
C3   | 3 | | 3 | | 3 | | 3 |    <=== hypervolume hdisk3 8 gig
C4   | 4 | | 4 | | 4 | | 4 |    <=== hypervolume hdisk4 8 gig
      ` ---' `---' `---' `---'

DB2 writes data in extents over the containers in a round robin
fashion. If the
tablespace extent size is set to 768KB then the data is written out in
768KB chunks in the
order c1/d1, c2/d1, c3/d1, c4/d1, c1/d1, c2/d1, c3/d1, c4/d1.

The SAN writes data in stripe order,  left to right . c1/d1, c1/d2, c1/
d3, c1/d4, c2/d1.....

We assume that all the disks in the array are dedicated to our host

My questions are:

1.  Will the SAN write to disk in the same sequence as DB2?  E.G if
DB2 is writing to C3/D1 could the SAN actually allocate the data on C2/
D4 because C2/D4 has no data or will it respect the hypervolume and
write on D3.

If the SAN follows the same allocation logic as DB2 then.......

2.  Will all the activity be on disk one until the first two gigabytes
in one of the containers is filled and DB2 moves to the next disk e.g
disk2 becomes active when the c1/d1 hyper is full and db2 moves to c1/
d2?

3.  If the data in each of the containers never exceeds 2 gig will
disk 1 be the only active disk in the array?
stefan.albert - 29 Sep 2008 11:58 GMT
> The containers are c1, c2, c3, c4.
> The hypers are c1/d1, c1/d2.......c4/d3, c4/d4.
[quoted text clipped - 24 lines]
> D4 because C2/D4 has no data or will it respect the hypervolume and
> write on D3.

I think, that DB2 doesn't know how the SAN stripes and vice versa.
If your SAN stripes are 768KB and the DB2 extent size also, both will
use the next stripe each 768KB.

> If the SAN follows the same allocation logic as DB2 then.......
>
> 2.  Will all the activity be on disk one until the first two gigabytes
> in one of the containers is filled and DB2 moves to the next disk e.g
> disk2 becomes active when the c1/d1 hyper is full and db2 moves to c1/
> d2?

No.

> 3.  If the data in each of the containers never exceeds 2 gig will
> disk 1 be the only active disk in the array?

No.

I think, you'll be on D1 for the first 4  768KB, because DB2 will
stripe by extent size.
the next 4 extents would be striped by SAN to D2 (each). Thats quite
good, you can tune it a little bit, by placing the start of DB2-
container_X on SAN-Disk_X. This will cause that the very first extent
in CONT1 in on DISK1, in CONT2 is on DISK2 ... Your first 4 extends
are also striped to Disk1..4. The following extents are striped by
SAN. So this would be a bit more distributed. But your extent size is
quite small, when you have "enough" data this seems to be a good
physical storage design. I won't worry... But anyhow: Monitoring is
quite a good thing to see how your design works under real conditions.
Haider Rizvi - 29 Sep 2008 21:07 GMT
> We are reviewing database container design where the storage layer
> is an EMC DMX 3 Raid 5 San.

For best practices on DB2 layout on EMC, pl see
   http://www.emc.com/solutions/application-environment/ibm-db2/index.htm

There is a whitepaper there describing how to layout DB2 containers on EMC boxes.

Signature

Haider

 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2010 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.