Saturday, 20 June 2026

another exadata disk creation examle

 ok lets consider now I have 10 full capacitry storage server  , each provides 264 TB disk capacity 

how to create asm disk out of it , using dcli command ?

like I need to create celldsik then gridisk and then askdisk

I needs to create one +DATA01 and +RECo01 diskgorup with high reducnccy and needs to reserver some space as well 

show me the step by step and give me how does each stage looks after we running command like "cellcli -e CREATE CELLDISK ALL HARDDISK"

also explain as per industry standard like creating flashlog with specific size and then the flashlog 

as we have 27.2 TB Total Raw Smart Flash Cache / Log  per cell 


the 22 TB per drive (which gives you that $12 \times 22 \text{ TB} = 264 \text{ TB}$ raw total per cell) is not 100% useful for actual database storage due to binary formatting conversion, system OS partitions etc


Your raw 22 TB hard drive shows up to the Exadata operating system as roughly 20.01 TiB.


Stage                     | Math Formula / Process            | Total Cluster Space

--------------------------+-----------------------------------+--------------------

Raw Factory Space         | 10 cells x 264 TB                 | 2,640 TB

After Binary Conversion   | True OS recognized space (~91%)   | 2,402 TB

Minus Spare Cushion (10%) | Leaving space for cell rebuilds   | 2,162 TB

High Redundancy Mirroring | Divide by 3 (2,162 / 3)           | 720.6 TB


The Final Verdict

Out of your 2,640 TB of raw hardware space, your databases will see roughly 720 TB of total usable space shared between +DATA01 and +RECO01.


To configure 10 High-Capacity (HC) Exadata Storage Servers from scratch using dcli, you must follow a precise execution order. As an industry standard, you configure the flash performance layers first before touching the spinning disks (hard disks) to prevent space allocation conflicts.

Here is the step-by-step enterprise workflow to build your architecture, reserving space for high redundancy +DATA01 and +RECO01 disk groups.



The Strategic Sequence (Overview)

  1. Flash Layer Configuration: Create Flash Log (512 MB per flash drive) $\rightarrow$ Allocate remaining flash to Flash Cache.

  2. Physical to Logical Hard Disk Mapping: Create Celldisks from the 12 raw HDDs per cell.

  3. Slicing Storage (Griddisks): Carve out precise per-disk sizes for DATA01 and RECO01 to leave a 10% unallocated cushion.

  4. ASM Provisioning: Discover devices and build High Redundancy Disk Groups.

Step 1: Configure Flash Log & Flash Cache

Each cell has 4 physical Flash Cards. Industry standard dictates provisioning a small, highly effective 512 MB slice per flash disk for the log first, then letting the cache take the rest.

Bash
# 1. Creates a 512MB log slice per internal flash disk
dcli -g cell_group -l root "cellcli -e CREATE FLASHLOG ALL"

# 2. Allocates 100% of the remaining ~27.15 TB per cell to Flash Cache
dcli -g cell_group -l root "cellcli -e CREATE FLASHCACHE ALL"

How the stage looks:

  • list flashlog shows 4 logs per cell, sized at 512M each, status normal.

  • list flashcache shows a unified logical caching layer covering the remainder of the 27.2 TB, status normal.

Step 2: Create Celldisks from Hard Disks

Initialize the 12 physical spinning hard drives per cell.

Bash
dcli -g cell_group -l root "cellcli -e CREATE CELLDISK ALL HARDDISK"

How the stage looks:

Running cellcli -e list celldisk outputs the 12 mapped hard drives per cell:

Plaintext
CD_00_dm01cel01   normal
CD_01_dm01cel01   normal
...
CD_11_dm01cel01   normal

What it did: It cleared any old metadata and created an Exadata logical hardware abstraction over the raw blocks. True OS-recognized space per 22 TB drive drops to roughly 20.01 TiB ($\approx$ 22,000 GB) due to binary formatting math.

Step 3: Create Griddisks (Slicing per Hard Disk)

Because cellcli acts on individual drives, the sizing parameter must be specified per disk, not per cluster.

To achieve a 70% DATA / 20% RECO / 10% Free Cushion split based on the raw 22 TB nominal capacity:

  • DATA01 Size per disk: $22 \text{ TB} \times 0.70 = \mathbf{15.4\text{T}}$

  • RECO01 Size per disk: $22 \text{ TB} \times 0.20 = \mathbf{4.4\text{T}}$

  • Remaining Cushion: Leaves exactly $2.2 \text{ TB}$ unallocated per disk ($\approx 10\%$).

Execute the slices sequentially. Creating DATA01 first guarantees it lands on the outer tracks of the platter for maximum IOPS:

Bash
# 1. Create DATA Griddisks on the high-performance outer tracks
dcli -g cell_group -l root "cellcli -e CREATE GRIDDISK ALL HARDDISK PREFIX=DATA01, size=15.4T"

# 2. Create RECO Griddisks right behind them
dcli -g cell_group -l root "cellcli -e CREATE GRIDDISK ALL HARDDISK PREFIX=RECO01, size=4.4T"

How the stage looks:

Running cellcli -e list griddisk will show 240 active griddisks across your 10 cells (24 per cell):

Plaintext
DATA01_CD_00_dm01cel01   active
RECO01_CD_00_dm01cel01   active
...

Step 4: Form the ASM Disk Groups (Run from DB Node)

Log into your primary Database Node as the grid user and access SQL*Plus (sqlplus / as sysasm).

ASM uses the Exadata network protocol (o/) to automatically aggregate the 120 DATA01 griddisks and 120 RECO01 griddisks into their respective disk groups.

SQL
-- 1. Create the +DATA01 Disk Group (High Redundancy)
CREATE DISKGROUP DATA01 HIGH REDUNDANCY 
  DISK 'o/*/DATA01_*' 
  ATTRIBUTE 
    'au_size'='4M',
    'compatible.asm'='19.0.0.0.0',
    'compatible.rdbms'='19.0.0.0.0',
    'cell.smart_scan_capable'='TRUE';

-- 2. Create the +RECO01 Disk Group (High Redundancy)
CREATE DISKGROUP RECO01 HIGH REDUNDANCY 
  DISK 'o/*/RECO01_*' 
  ATTRIBUTE 
    'au_size'='4M',
    'compatible.asm'='19.0.0.0.0',
    'compatible.rdbms'='19.0.0.0.0',
    'cell.smart_scan_capable'='FALSE';

Final Storage Cluster Profile

Because you specified High Redundancy (3-way mirroring) to protect your enterprise data, your usable database footprint calculates as follows:

Plaintext
Stage                     | Math Formula / Process            | Total Cluster Space
--------------------------+-----------------------------------+--------------------
Raw Factory Space         | 10 cells x 12 drives x 22 TB      | 2,640.0 TB
After Binary Conversion   | True OS recognized space (~91%)   | 2,402.4 TB
Targeted Sliced Space     | Sliced via 15.4T + 4.4T per disk  | 2,376.0 TB
Minus 10% Cushion Space   | Left unallocated for rebalancing  |   264.0 TB
High Redundancy Usable    | Divide Sliced Space by 3          |   792.0 TB

(Out of the 792 TB total usable cluster space, 616 TB belongs to +DATA01 and 176 TB belongs to +RECO01)



Explaining the Industry Standard Elements:

  • o/*/DATA01_*: This is the Exadata internal discovery string syntax. The o/ tells ASM to use the Exadata specialized network protocol (o通用) to talk directly to cellsrv over InfiniBand/RoCE, bypassing standard Linux OS device files.

  • HIGH REDUNDANCY: Ensures that every single block of your data is written simultaneously to 3 distinct storage cells. If any 2 storage servers completely lose power or catch fire at the same moment, your database stays online without data loss.

  • cell.smart_scan_capable='TRUE': This flag tells the Exadata cells to offload predicate evaluation, column projection, and decryption directly to the cell CPUs for +DATA01, which is the cornerstone of Exadata's extreme query performance.





No comments:

Post a Comment

another exadata disk creation examle

 ok lets consider now I have 10 full capacitry storage server  , each provides 264 TB disk capacity  how to create asm disk out of it , usin...