For ease of management and monitoring, we created two storage hosts on the PowerMax array—one containing the two initiators from the Oracle database ESXi host (MX840c in MX slot 1) and the other containing the two initiators from the SQL Server ESXi host (MX840c in MX slot 3).
As described in FCoE-to-FC connectivity and zoning, the FC connectivity and zoning design ensures that both the Oracle ESXi host and the SQL Server ESXi hosts are connected to eight unique front-end ports on the PowerMax array. As a result, we created two storage port groups on the PowerMax array—one containing the eight front-end ports that were zoned with the Oracle database host initiators and the second containing the other eight front-end ports that were zoned with the SQL Server database host initiators. This design ensures equal bandwidth, high-availability, ease of management and monitoring, and security for both the Oracle and the SQL Server databases.
To consolidate the mixed workloads of Oracle and SQL databases in the single PowerMax storage array, we adapted the following principles for the storage group and storage volume design for three Oracle databases—Oracle OLTP database, Oracle DSS database, and Oracle snapshot database. These design principles simplify the management and performance monitoring of the storage volumes.
With these design principles in mind, we developed the following storage groups and volumes for these mixed workload Oracle databases.
For the Oracle OLTP database, we created the ORA-OLTP-SG parent storage group and the following child storage groups within the parent group:
We also created the ORA-OLTP-OS and ORA-OLTP-OCR child groups within the common ORA-OS-OCR parent group. The following table shows the storage groups and the number of volumes and volume sizes for this Oracle OLTP database:
Table 28. Storage groups and volumes for the Oracle OLTP database
Parent SG |
Child SG |
Each volume size (GB) |
Number of volumes |
Total size (GB) |
ORA-OS-OCR |
ORA-OLTP-OS |
500 |
1 |
500 |
ORA-OLTP-OCR |
50 |
3 |
150 |
|
ORA-OLTP-SG |
ORA-OLTP-DATA |
500 |
4 |
2,000 |
ORA-OLTP-REDO |
25 |
4 |
100 |
|
ORA-OLTP-FRA |
100 |
2 |
200 |
|
ORA-OLTP-TEMP |
500 |
1 |
500 |
Similarly, for the Oracle DSS database, we created the ORA-DSS-SG parent storage group and the following child storage groups:
We also created the ORA-DSS-OS child group and ORA-DSS-OCR child group within the common ORA-OS-OCR parent group. The following table shows these storage groups, the number of volumes, and the size of the volumes for this Oracle DSS database:
Table 29. Storage groups and volumes for the Oracle DSS database
Parent SG |
Child SG |
Volume size (GB) |
Number of volumes |
Total size (GB) |
ORA-OS-OCR |
ORA-DSS-OS |
500 |
1 |
500 |
ORA-DSS-OCR |
50 |
3 |
150 |
|
ORA-OLAP-SG |
ORA-DSS-DATA |
500 |
8 |
5,000 |
ORA-DSS-REDO |
25 |
4 |
100 |
|
ORA-DSS-FRA |
100 |
2 |
200 |
|
ORA-DSS-TEMP |
2,000 |
1 |
2,000 |
In this reference architecture design, we adapted the following principles for the storage group and storage volume design for five SQL Server databases—two OLTP databases, two DSS databases, and one snapshot database:
These design principles simplify the management and performance monitoring of the storage volumes, including the volumes that were created through snapshots for the SQL Server workload running along with the Oracle workload.
The following table shows the storage groups and volumes for the SQL Server OLTP database workloads.
Table 30. Storage groups and volumes for the SQL Server OLTP databases
Parent SG |
Child SG |
Volume size (GB) |
Number of volumes |
Total size (GB) |
SQL_OS_SG |
SQL_OLTP_OS1 |
500 |
1 |
500 |
SQL_OLTP_OS2 |
500 |
1 |
500 |
|
SQL_OLTP_VM1 |
SQL_OLTP_VM1_Data |
1,024 |
2 |
2,048 |
SQL_OLTP_VM1_Log |
300 |
1 |
300 |
|
SQL_OLTP_VM1_TempData |
400 |
1 |
400 |
|
SQL_OLTP_VM1_TempLog |
300 |
1 |
300 |
|
SQL_OLTP_VM2 |
SQL_OLTP_VM2_Data |
1,024 |
2 |
2,048 |
SQL_OLTP_VM2_Log |
300 |
1 |
300 |
|
SQL_OLTP_VM2_TempData |
400 |
1 |
400 |
|
SQL_OLTP_VM2_TempLog |
300 |
1 |
300 |
For the SQL Server DSS database, we created a similar storage layout. The following table shows the storage groups, the number of volumes, and the volume sizes for the two SQL Server DSS databases:
Table 31. Storage groups and volumes for the SQL Server DSS databases
Parent SG |
Child SG |
Each volume size (GB) |
Number of volumes |
Total size (GB) |
|
SQL_OS_SG |
SQL_DSS_OS1 |
500 |
1 |
500 |
|
SQL_DSS_OS2 |
500 |
1 |
500 |
||
SQL_DSS_VM1 |
SQL_DSS_VM1_Data |
1,024 |
2 |
2,048 |
|
SQL_DSS_VM1_Log |
300 |
1 |
300 |
||
SQL_DSS_VM1_TempData |
400 |
1 |
400 |
||
SQL_DSS_VM1_TempLog |
300 |
1 |
300 |
||
SQL_DSS_VM2 |
SQL_DSS_VM2_Data |
1,024 |
2 |
2,048 |
|
SQL_DSS_VM2_Log |
300 |
1 |
300 |
||
SQL_DSS_VM2_TempData |
400 |
1 |
400 |
||
SQL_DSS_VM2_TempLog |
300 |
1 |
300 |
||
The following figure illustrates the architecture of SnapVX snapshots of the production (source) database volumes. It shows how these snapshots are linked to another set of target devices, which are accessed by the snapshot database host, to form a snapshot database such as a development or test database.
Figure 28. SnapVX snapshot creation and snapshot database mounting
For snapshot databases, we created two types of storage groups:
Table 32. New storage groups for snapshot databases
New storage group |
Volumes |
|||
Parent name |
Child name |
Size (GB) |
Quantity |
Total size (GB) |
ORA-OS-OCR |
ORA-SNAP-OS |
500 |
1 |
500 |
|
ORA-SNAP-OCR |
50 |
3 |
50 |
ORA-SNAP-TEMP |
NONE |
500 |
1 |
500 |
SQL_OS_SG |
SQL_SNAP_OS |
500 |
1 |
500 |
SQL_OLTP_SNAP_VM |
SQL_OLTP_SNAP_VM_TEMPDATA |
400 |
1 |
400 |
|
SQL_OLTP_SNAP_VM_TEMPLOG |
300 |
1 |
300 |
Table 33. Source, snapshot, and link target storage groups for snapshot databases
Source storage group |
Snapshot name |
SnapVX link target storage group |
Volumes |
||
Parent |
Child |
Parent |
Child |
||
ORA-OLTP-SG |
|
ORA-OLTP-SNAP-SG |
ORA-OLTP-SG_LNK_SG_001 |
|
|
|
ORA-OLTP-SG-DATA |
snapshots |
|
ORA-OLTP-SG-DATA-SG_001 |
4 |
|
ORA-OLTP-SG-REDO |
snapshots |
|
ORA-OLTP-SG-REDO_SG_001 |
4 |
|
ORA-OLTP-SG-FRA |
snapshots |
|
ORA-OLTP-SG-FRASG_001 |
2 |
SQL-OLTP-VM1 |
|
SQL-OLTP-VM1-SNAP |
SQL-OLTP-VM1_LNK_SG_001 |
|
|
|
SQL-OLTP-VM1_Data |
snapshots |
|
SQL_OLTP_VM1_Data_SG_001 |
2 |
|
SQL-OLTP-VM1_Log |
snapshots |
|
SQL_OLTP_VM1_Log_SG_001 |
1 |
Note: Unisphere storage management automatically creates the SnapVX link target storage group structure to be the same as that from which it is created. Hence, the number and the size of the snapshot volumes is identical to the source database volumes.
We then mapped all the new storage groups and the SnapVX link target storage groups that were created for the snapshot databases to their respective database ESXi hosts by creating the appropriate masking views. Within the respective ESXi hosts, we manually added all the volumes to the appropriate VM that was created for the snapshot database. Within the respective database guest VMs, we mounted these volumes to the snapshot database.
The following figure illustrates the snapshot creation, linking, and mounting process, using the Oracle OLTP database and its snapshot database as an example.