Translate

Mostrar mensagens com a etiqueta DASD. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta DASD. Mostrar todas as mensagens

quarta-feira, 22 de abril de 2026

💣 SEU COBOL NÃO É LENTO — SEU STORAGE É QUE DECIDE O DESTINO DO JOB

 

Bellacosa Mainframe apresenta Storage para DEV Cobol

💣 SEU COBOL NÃO É LENTO — SEU STORAGE É QUE DECIDE O DESTINO DO JOB

Um papo direto com quem já escreveu milhões de linhas em COBOL…
mas talvez nunca tenha olhado o storage como o verdadeiro protagonista.


☕ Introdução — o erro que ninguém te contou

Você já viu isso:

  • Job que ontem rodava em 5 minutos… hoje leva 40
  • Batch que “do nada” começa a gargalar
  • VSAM “misteriosamente” lento
  • DB2 com I/O explodindo

E alguém diz:

“É o programa.”

Não.
Na maioria das vezes… é o storage.


🧠 CAPÍTULO 1 — Antes do disco… existia o tempo físico

🧾 Cartão perfurado: o primeiro “storage”

Antes de DASD, antes de tape…
o dado era literalmente um buraco no papel.

  • Cada linha COBOL → um cartão
  • Ordem física → lógica do programa
  • Caiu no chão? 💣 acabou o sistema

💡 Insight:

O primeiro “bug” da história era… baralho embaralhado.


🎞️ CAPÍTULO 2 — Tape: o começo do streaming

📼 Fita magnética — o avô do Big D

Tape trouxe algo revolucionário:

  • Processamento sequencial
  • Grandes volumes
  • Backup antes de existir “backup”

👉 E aqui nasce o conceito que você usa até hoje:

Batch

💡 Curiosidade:

  • Tape ODEIA parar
  • Se parar → “shoe-shining” (vai e volta igual fita cassete)

💿 CAPÍTULO 3 — Disco: quando o acesso ficou inteligente

🏢 DASD (Direct Access Storage Device)

Aqui muda o jogo:

  • Acesso direto (não sequencial)
  • Surge VSAM
  • Surge CICS
  • Surge DB2

👉 Você para de ler tudo… e passa a ler o que precisa

💡 Insight COBOL:

READ NEXT virou READ KEY


⚡ CAPÍTULO 4 — Flash: o fim da mecânica

🔥 SSD no mundo enterprise

Sem disco girando
Sem braço mecânico
Sem latência física relevante

👉 Resultado:

  • I/O quase instantâneo
  • Batch acelera absurdamente
  • DB2 muda comportamento

💡 Insight crítico:

Flash não melhora programa ruim…
ele expõe arquitetura ruim


🚀 CAPÍTULO 5 — NVMe: paralelismo bruto

Aqui não é mais “rápido”…
é outro modelo mental.

  • I/O paralelo massivo
  • Filas simultâneas
  • CPU quase não espera

👉 No mainframe:

O gargalo deixa de ser storage… e vira desenho da aplicação


🔌 CAPÍTULO 6 — O segredo que poucos entendem: I/O NÃO É CPU

🧠 Como o z/OS realmente funciona

No mundo distribuído:

  • CPU faz tudo

No mainframe:

  • CPU manda
  • Channel executa
  • Storage responde

👉 Resultado:

Seu COBOL NÃO faz I/O… ele pede I/O

💡 Easter egg:

  • EXCP → você acha que controla tudo
  • Mas quem manda mesmo é o Channel Subsystem

🧬 CAPÍTULO 7 — RAID: onde mora o risco invisível

Você nunca configurou RAID no COBOL…
mas ele define seu tempo de execução.

  • RAID 5 → barato, mais lento
  • RAID 10 → caro, extremamente rápido
  • RAID 6 → seguro, mais pesado

💣 Verdade dura:

RAID errado = gargalo invisível


🧠 CAPÍTULO 8 — SMS: o cérebro invisível

Aqui está o ponto mais ignorado por dev:

SMS decide onde seu dado vai viver

  • Storage Class → performance
  • Management Class → lifecycle
  • Data Class → formato

👉 Você escreve:

OPEN INPUT ARQUIVO

👉 Mas quem decide:

  • Disco?
  • Flash?
  • Tape?

💡 Insight:

Você não controla o storage…
você negocia com ele


📦 CAPÍTULO 9 — Tape moderno: o sobrevivente

Tape não morreu.

Ele virou:

  • Backup
  • Archive
  • Compliance
  • Air gap (anti-ransomware)

💡 Insight:

Quando tudo falha…
é o tape que salva


🤖 CAPÍTULO 10 — Cartridge + robô = escala

  • Cartucho = mídia
  • Drive = leitura
  • Robô = automação

👉 Você pede dataset
👉 Um robô físico movimenta o dado

Sim… existe um braço robótico trabalhando pro seu JCL


🧊 CAPÍTULO 11 — Air Gap: o último nível

  • Offline
  • Fora da rede
  • Intocável

👉 Nem hacker… nem erro humano alcança


💣 CAPÍTULO FINAL — A verdade que muda tudo

Você achava que:

“Programa define performance”

Mas na prática:

  • Storage define latência
  • RAID define risco
  • SMS define localização
  • Tape define sobrevivência

☕ Bellacosa-style conclusão

“COBOL executa regra de negócio…
mas é o storage que decide se ela chega a tempo.”

 

💣 LAB MASTER 🔥 Storage Não Armazena — Ele Decide o Destino do Dado

 

Bellacosa Mainframe Treine Storage Mainframe

💣 LAB MASTER

🔥 Storage Não Armazena — Ele Decide o Destino do Dado


🎯 Objetivo do LAB

Ao final você será capaz de:

  • Entender como o SMS decide storage
  • Criar datasets com e sem striping
  • Simular impacto de RAID (conceitual)
  • Trabalhar com DASD vs Tape
  • Ver migração automática (HSM ML1/ML2)
  • Executar backup e restore
  • Entender o papel do air gap

🏗️ Cenário

Você é responsável por:

  • Um ambiente com:
    • DASD (disco)
    • Flash (simulado via classe)
    • Tape (ML2)
  • Workloads:
    • Batch pesado
    • Dados críticos
    • Arquivos de archive

🧪 LAB 1 — Alocação sem SMS (controle manual)

🎯 Objetivo

Sentir o “mundo antigo”

//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=USER.TEST.MANUAL,
// DISP=(NEW,CATLG),
// UNIT=3390,
// SPACE=(CYL,(10,5))

🧠 O que observar:

  • Você escolhe tudo manualmente
  • Sem inteligência

🧪 LAB 2 — Alocação com SMS

🎯 Objetivo

Ver o SMS em ação

//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=USER.TEST.SMS,
// DISP=(NEW,CATLG),
// DATACLAS=STANDARD,
// STORCLAS=FAST,
// MGMTCLAS=BACKUP

🧠 O que observar:

  • Nenhum volume definido
  • SMS decide tudo

🧪 LAB 3 — Striping (performance)

🎯 Objetivo

Simular I/O paralelo

👉 Criar Data Class com:

  • Stripe Count = 4
//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=USER.TEST.STRIP,
// DISP=(NEW,CATLG),
// DATACLAS=STRIPE4

🧠 Observe:

  • Dataset distribuído
  • Performance maior

🧪 LAB 4 — RAID (conceitual via comportamento)

🎯 Objetivo

Entender impacto sem ver RAID direto

Teste:

  • Dataset pequeno vs grande
  • Com e sem striping

👉 Analise:

  • Tempo de execução
  • I/O count

💡 Insight:

RAID está por baixo — você vê o efeito, não a configuração


🧪 LAB 5 — Tape (gravação)

🎯 Objetivo

Gravar em fita

//STEP1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=USER.TEST.SMS,DISP=SHR
//SYSUT2 DD DSN=USER.TEST.TAPE,
// DISP=(NEW,CATLG),
// UNIT=TAPE,
// VOL=SER=TAPE01

🧠 Observe:

  • Acesso sequencial
  • Tempo maior


Bellacosa Mainframe apresenta leitor cartrige com braço robotico

🧪 LAB 6 — HSM (migração automática)

🎯 Objetivo

Ver dados indo para tape

Comando:

HSEND MIGRATE DATASET('USER.TEST.SMS')

🧠 Resultado:

  • ML1 → disco
  • ML2 → tape

Bellacosa Mainframe apresenta antigo leitor tape para mainframe mvs 

🧪 LAB 7 — Recall (volta do tape)

//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=USER.TEST.SMS,DISP=SHR

🧠 Observe:

  • Dataset volta do tape
  • Delay perceptível

🧪 LAB 8 — Backup

🎯 Objetivo

Criar cópia de segurança

//STEP1 EXEC PGM=ADRDSSU
//SYSPRINT DD SYSOUT=*
//DUMP DD DSN=USER.BACKUP.TAPE,
// UNIT=TAPE,
// DISP=(NEW,CATLG)
//SYSIN DD *
DUMP DATASET(USER.TEST.SMS) -
OUTDD(DUMP)
/*

🧪 LAB 9 — Simulação de desastre

🎯 Objetivo

Recuperação

//STEP1 EXEC PGM=ADRDSSU
//SYSPRINT DD SYSOUT=*
//DUMP DD DSN=USER.BACKUP.TAPE,DISP=SHR
//SYSIN DD *
RESTORE DATASET(USER.TEST.SMS) -
INDD(DUMP)
/*

🧪 LAB 10 — Air Gap (conceito aplicado)

🎯 Objetivo

Entender proteção real

👉 Cenário:

  • Dataset corrompido
  • Backup online comprometido

👉 Recuperação:

  • Apenas via tape

💡 Insight:

Aqui você entende por que tape ainda existe


🧠 Fechamento técnico

Você acabou de trabalhar com:

  • DASD (3390)
  • SMS (policy-driven storage)
  • Striping (performance)
  • RAID (efeito indireto)
  • Tape (sequencial)
  • HSM (automação)
  • Backup/Restore
  • Air Gap (segurança real)

☕ Bellacosa-style conclusão

“Você não manipulou disco…
você manipulou decisões sobre onde o dado vive, se move… e sobrevive.”

 

segunda-feira, 9 de março de 2026

E se o Mainframe Pudesse Saltar para o Hiperespaço? — A Tecnologia Secreta do IBM Z Que Dobra o Espaço-Tempo do I/O

 

Bellacosa Mainframe apresenta dados na velocidade star wars conheça o zHyperLink

🚀 E se o Mainframe Pudesse Saltar para o Hiperespaço? — A Tecnologia Secreta do IBM Z Que Dobra o Espaço-Tempo do I/O

“Quando milissegundos são eternidades… só um salto à velocidade da luz salva a galáxia.”

Padawan, aproxime-se do terminal 3270. Hoje você vai aprender sobre uma das tecnologias mais elegantes, silenciosas e absurdamente poderosas já criadas para o universo IBM Z:

⚡ zHyperLink — o hiperespaço do armazenamento

Se você trabalha com mainframe, já ouviu falar de FICON, canais, controladoras, I/O paths…

Tudo muito respeitável.
Tudo muito… subluz.

O zHyperLink é diferente.

Ele não acelera a nave.
Ele dobra o espaço entre a nave e o destino.


🌌 A analogia definitiva: Star Wars

Quando Han Solo puxa a alavanca e as estrelas viram linhas brancas:

👉 A Millennium Falcon não ficou apenas mais rápida
👉 Ela entrou no hiperespaço

O zHyperLink faz exatamente isso com o acesso a dados.

Em Mainframe o fluxo padrão para obter dados processo de I/O


Sem ele:

CPU → Canal → Switch → Controladora → Disco → volta

Com ele:

CPU → ⚡ SALTO → Dado → ⚡ volta

Latência típica:

  • I/O tradicional: centenas de microssegundos a milissegundos

  • zHyperLink: ~20 microsegundos

Padawan, isso não é otimização.
Isso é teletransporte operacional.


🏛️ Origem: por que a IBM criou isso?

Nos anos 2010, um problema começou a dominar a galáxia corporativa:

👉 CPU cada vez mais rápida
👉 Storage cada vez mais veloz
👉 MAS… latência de I/O síncrono continuava sendo gargalo

Principalmente para:

  • DB2 OLTP

  • Bancos

  • Cartões

  • Sistemas core em tempo real

  • Logs de transação

  • Workloads dependentes de resposta imediata

A IBM percebeu algo fundamental:

“Não precisamos mover mais dados.
Precisamos responder instantaneamente.”

Assim nasceu o zHyperLink, lançado com o IBM z14 (2017).


🧠 O que ele realmente é?

Não é rede.
Não é canal tradicional.
Não é Fibre Channel.

É um link físico dedicado, de curtíssima distância e latência ultrabaixa, conectando diretamente o processador ao storage compatível.

Pense como:

🧵 Um fio direto entre o cérebro e a memória externa.


🔬 Características técnicas (modo Jedi Scholar)

  • Comunicação síncrona de ultra-baixa latência

  • Bypass parcial do Channel Subsystem

  • Otimizado para blocos pequenos (ex.: páginas DB2)

  • Distância curta (mesma sala/datacenter)

  • Não substitui FICON — complementa

  • Altíssima prioridade para workloads críticos


🏦 Aplicação prática no mundo real

Onde isso faz diferença absurda?

💳 Bancos e pagamentos

Quando você passa um cartão:

  1. Sistema verifica saldo

  2. Consulta histórico

  3. Atualiza contas

  4. Grava logs

  5. Confirma transação

Tudo isso em frações de segundo.

Se cada leitura síncrona demora demais:

👉 filas aumentam
👉 throughput cai
👉 SLA explode
👉 clientes reclamam
👉 Sith Lords do negócio aparecem

Com zHyperLink:

⚡ Leituras críticas praticamente instantâneas
⚡ Mais transações por segundo
⚡ Menor uso de CPU esperando I/O
⚡ Melhor experiência do usuário


🧩 Curiosidade obscura (Easter Egg mainframe)

O zHyperLink é particularmente poderoso para:

👉 leituras aleatórias dependentes

Ou seja:

“Preciso desse dado AGORA para continuar.”

Isso é o oposto de workloads sequenciais, onde throughput importa mais que latência.


🥚 Easter Egg nível arquivista Jedi

Muitos engenheiros consideram o zHyperLink uma resposta moderna ao velho sonho da computação:

“Memória infinita com latência zero.”

Não é memória.
Mas para certos padrões de acesso… chega assustadoramente perto.


🛰️ Por que ele não é mais famoso?

Porque é invisível para usuários finais.

Não tem interface bonita.
Não tem marketing flashy.
Não roda apps diretamente.

Ele apenas:

👉 faz sistemas críticos parecerem mágicos
👉 remove gargalos silenciosamente
👉 sustenta economias inteiras sem aplausos

Um verdadeiro mestre Jedi da infraestrutura.


⚔️ Diferença para “mais CPU” ou “SSD mais rápido”

Padawan, este é um erro comum.

Problema: CPU ociosa esperando resposta
Solução ingênua: comprar mais CPU

Mas CPU não acelera resposta externa.

O zHyperLink resolve a causa raiz:

👉 o tempo de ida e volta do dado


🌠 Outra analogia Star Wars perfeita

Sem zHyperLink:

Você envia um droide numa nave subluz até outro sistema e espera ele voltar.

Com zHyperLink:

Você usa um comunicador hiperespacial instantâneo.


🏁 Conclusão — A verdadeira Força do IBM Z

O mainframe sempre foi sobre confiabilidade, escala e previsibilidade.

O zHyperLink adiciona algo novo:

⚡ Imediatismo físico

Ele não faz o sistema trabalhar mais.
Ele faz o universo cooperar melhor.


“No mundo distribuído, você tenta fugir da latência.
No mainframe, você a derrota.”


https://www.linkedin.com/pulse/e-se-o-mainframe-pudesse-saltar-para-hiperespaco 


 

quinta-feira, 4 de julho de 2024

☕💥 Storage: DASD, Flash e a Imortalidade do 3390

 

Bellacosa Mainframe e o storage em mainframe evolução do armazenamento

☕💥 DASD, Flash e a Imortalidade do 3390

Ou como a IBM convenceu o z/OS de que ainda estamos em 1989 enquanto gravamos dados em NVMe mais rápido que um caça de quinta geração



Introdução

Existe uma lenda urbana entre desenvolvedores Mainframe.

Dizem que em algum lugar dentro de um DS8950F existe um pequeno senhor de barba branca usando suspensórios, fumando cachimbo e respondendo:

"Sim, z/OS. Eu ainda sou um 3390."

E o mais assustador?

Ele está dizendo a verdade.

Enquanto boa parte da indústria de TI troca tecnologias como quem troca de smartphone, o Mainframe possui uma filosofia bastante diferente.

Ele não descarta tecnologias.

Ele as absorve.

Encapsula.

Virtualiza.

Esconde atrás de interfaces estáveis.

E permite que programas COBOL escritos durante o Governo Sarney continuem funcionando em um IBM z17 sem perceber que o disco físico que armazena seus arquivos está centenas de milhares de vezes mais rápido.

Hoje vamos tomar um café forte e explorar a evolução do armazenamento IBM Z.


Bellacosa Mainframe e o disco fisico no mundo mainframe

O que é DASD?

DASD significa:

Direct Access Storage Device

Foi o nome adotado pela IBM para dispositivos de armazenamento de acesso direto.

Na prática:

  • HDs Mainframe

  • SSDs Mainframe

  • Volumes virtuais

  • Flash arrays

No universo z/OS tudo continua sendo chamado simplesmente de:

DASD

Mesmo que não exista mais nenhum disco girando.


Bellacosa Mainframe e a evolução do storage no Mainframe

A Pré-história

2305

Ano: 1970

Capacidade:

5 MB

Tecnologia:

Disco removível

Tempo acesso:

30 ms


3330 Merlin

1971

Capacidade:

100 MB

RPM:

3600


3350

1975

317 MB


O gigante dos anos 80

IBM 3380

Lançamento:

1980

Capacidade:

2,52 GB

Velocidade:

3600 rpm

Track:

47.476 bytes

15 tracks/cylinder

Peso:

Mais de 500 kg

Era praticamente uma geladeira industrial.


O rei absoluto

IBM 3390

Ano

1989

Track Size

56.664 bytes

Tracks

15

Cylinder

849.960 bytes

≈0,81 MB


Modelos

ModeloCylCapacidade
111130,9 GB
222261,8 GB
333392,7 GB
9100178 GB
273276026 GB
546552054 GB

Como calcular espaço

Cyl = 15 trilhas

Track = 56664

Exemplo

100 cylinders

100 × 849960

84 MB

aproximadamente


Como o z/OS enxerga discos

Programa COBOL:

SELECT CLIENTE
ASSIGN TO CLIENTE.

FD CLIENTE.

01 REG-CLI.
   05 CODIGO PIC 9(9).
   05 NOME PIC X(50).

Nada aqui sabe se o dado está em:

3390

SSD

NVMe

DS8000

Cloud

Absolutamente nada.


O truque da IBM

Hoje usamos:

DS8880

DS8910

DS8950

DS8A10

DS8A50

Mas o z/OS continua vendo:

3390-54

ou

3390-A

Virtual.


A era DS8000

DS8000

Ano

2004

Foi revolucionário.

Trouxe:

FICON

RAID

Cache enorme

Tiering

Snapshots

Replication


DS8880

2015

Até centenas de TB

Flash

Easy Tier


DS8950F

Flash puro.

NVMe

Microsegundos de latência.


Como funciona internamente

Aplicação

VSAM

Catalog

SMS

Volume

DS8000


SMS

Storage Management System

Possui:

ACS

Storage Class

Data Class

Management Class


Exemplo

STORCLAS

FAST

MGMTCLAS

BACKUP30


Exemplo JCL

//STEP1 EXEC PGB=IEFBR14

//ARQ DD

DSN=VAGNER.TESTE

DISP=(NEW,CATLG)

SPACE=(CYL,(100,20))

UNIT=3390

DCB=(RECFM=FB,LRECL=80)

Observe

UNIT=3390

Mesmo em 2026.


VSAM

KSDS

ESDS

RRDS

LDS


IDCAMS

//DEF EXEC PGB=IDCAMS

//SYSIN DD *


DEFINE CLUSTER(

NAME(CLIENTE.KSDS)

VOLUMES(VOL001)

TRACKS(100 20)

)

/*

Onde monitorar uso

ISPF

3.4

Volume


SDSF

DA

DEV


IDCAMS

LISTCAT

LISTCAT ENT(CLIENTE.KSDS)

DFSMS

DCOLLECT


RMF

RMF Monitor III


SMF

42

74

78


Comandos úteis

D U,VOL=SER001

LISTVTOC

LISTCAT


Curiosidade

52 GB parecia enorme.

Hoje um smartphone possui:

512 GB

Dez vezes mais.

Mas...

Um smartphone não processa

PIX

Bolsa

INSS

Cartões

Compensação bancária

para milhões de pessoas.


Flash

Flash eliminou:

Seek time

Rotação

Head movement


Antes

10 ms

Hoje

100 microsegundos

100 vezes melhor.


Easy Tier

Move automaticamente dados.

Hot

SSD

Cold

SATA

Sem intervenção.


Compressão

Hardware.

Sem CPU z/OS.


Replicação

Metro Mirror

Global Mirror

Safeguarded Copy


Erros comuns

B37

Sem espaço


D37

Volume cheio


E37

Extensão insuficiente


IEC070I

Falha de alocação


Solução

Mais secondary

SMS

Novo volume


Melhor prática

Nunca usar:

SPACE=(CYL,(1,1))

Produção odeia isso.


Bellacosa Mainframe e a evolução do storage 

Easter Egg Bellacosa

Imagine um COBOL de 1987.

Compilado em COBOL II.

Executando em 2026.

Lendo VSAM.

Em um DS8950F.

Flash NVMe.

z17.

LinuxONE ao lado.

IA embarcada.

Criptografia quântica.

E ainda existe:

UNIT=3390

O programa olha para o disco e diz:

Bom dia senhor 3390.

O DS8950F responde:

Sim filho... continue trabalhando.

E ninguém percebe que existe aproximadamente quarenta anos de evolução tecnológica escondida atrás de uma única palavra.


Considerações finais

Talvez esta seja a maior obra de engenharia produzida pela IBM.

Não foi criar discos maiores.

Nem processadores mais rápidos.

Nem flash mais eficiente.

Foi construir um ecossistema onde décadas de aplicações continuam executando sem alterações significativas.

O Mainframe não luta contra o passado.

Ele conversa com ele.

E talvez seja exatamente por isso que, enquanto muitas plataformas precisam ser reescritas a cada década, ainda existam aplicações COBOL escritas por profissionais aposentados há vinte anos processando bilhões de dólares diariamente.

No universo IBM Z, o armazenamento não é apenas um lugar para guardar dados.

É um pacto silencioso entre gerações de engenheiros.

E toda vez que digitamos:

SPACE=(CYL,(100,20))
UNIT=3390

estamos, de certa forma, apertando a mão de todos os sysprogs, operadores e desenvolvedores que vieram antes de nós.

E isso merece, no mínimo, mais uma xícara de café.


quinta-feira, 17 de abril de 2014

☕🔥 ABEND S837 — O “CEMITÉRIO DOS DATASETS” NO z/OS

 

Bellacosa Mainframe e o abend s837

☕🔥 ABEND S837 — O “CEMITÉRIO DOS DATASETS” NO z/OS

Quando o Mainframe Diz:

“EU NÃO CONSIGO ALOCAR ESSE DATASET.”

Se existe um ABEND que faz o Junior Padawan perceber que:

espaço em disco no mainframe é um ritual sagrado…

é o lendário:

🚨 S837

E normalmente ele aparece assim:

IEF450I JOBNAME STEP01 - ABEND=S837

ou:

SPACE ALLOCATION FAILED

ou ainda:

NO SPACE LEFT ON VOLUME

E então começa o caos existencial:

“O dataset não nasceu?”
“O disco acabou?”
“O SMS ficou bravo?”
“Meu SORT criou um buraco negro?”
“Como um mainframe GIGANTE pode ficar sem espaço?!”

☕ Respira.

Porque o S837 é um dos ABENDs MAIS IMPORTANTES para entender:

SPACE allocation

DASD

extents

SMS

secondary allocation

SORT work datasets

volumes z/OS


🔥 O QUE É O S837?

O S837 é um:

🚨 SPACE ALLOCATION FAILURE

Traduzindo:

O z/OS NÃO CONSEGUIU ENCONTRAR ESPAÇO EM DISCO PARA O DATASET.


☕ A FILOSOFIA DO S837

No mainframe:

datasets ocupam espaço físico controlado rigorosamente.

Nada é “solto” como em PCs modernos.

Tudo precisa de:

  • cylinders

  • tracks

  • extents

  • volumes

  • allocation units


🔥 ANALOGIA BELLACOSA MAINFRAME

Imagine um estacionamento corporativo.

Seu caminhão chega precisando:

50 vagas contínuas.

Mas:

  • estacionamento lotado

  • vagas fragmentadas

  • limite atingido

Resultado:

❌ sem espaço.

Isso é o:

☠️ S837


🔥 O GRANDE SEGREDO

S837 NÃO significa necessariamente:

“acabou disco no datacenter.”

Frequentemente significa:

não existe espaço adequado para aquela alocação.


☕ O MOMENTO EXATO DO S837

Fluxo:

JCL solicita dataset
 ↓
z/OS tenta alocar espaço
 ↓
DASD/SMS procura área livre
 ↓
Falha
 ↓
S837

🔥 O MAIOR VILÃO DO S837

🚨 SPACE MAL DIMENSIONADO

O clássico absoluto.


☕ EXEMPLO JCL

//OUTFILE DD DSN=TESTE.ARQ,
// SPACE=(CYL,(5000,5000))

Mas o volume NÃO possui isso disponível.

Resultado:

💥 S837


🔥 O SORT DA MORTE

Lenda absoluta do z/OS.


☕ EXEMPLO

//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(9999,9999))

DFSORT tenta criar work datasets gigantescos.

O disco entra em sofrimento espiritual.

Resultado:

☠️ S837


🔥 O S837 E O “SECONDARY SPACE”

Agora nasce o conhecimento Jedi.


☕ PRIMARY SPACE

Espaço inicial.


☕ SECONDARY SPACE

Expansão dinâmica.


🔥 O PROBLEMA

Primary cabe.

Mas durante crescimento:

secondary allocation falha

Resultado:

💥 S837


☕ O S837 FANTASMA

O mais traiçoeiro.

Job roda:

30 minutos normal

E explode depois.

Porque dataset cresceu além do previsto.


🔥 O S837 E O “EXTENTS”

Modo arquimago ativado.


☕ O QUE É EXTENT?

Bloco contínuo de espaço em disco.

Datasets possuem limite de extents.


🔥 O DRAMA

Disco possui espaço.

Mas fragmentado demais.

Sistema não consegue criar novo extent adequado.

Resultado:

☠️ S837


☕ O S837 E O SMS

Hoje muitos ambientes usam:

SMS (Storage Management Subsystem)

Ele decide:

  • volume

  • classe

  • performance

  • gerenciamento

Políticas SMS inadequadas podem causar:

💥 S837


🔥 O S837 E O GDG

Outro clássico.

Gerações antigas:

  • não apagadas

  • acumuladas

  • espaço esgotado

Nova geração tenta nascer.

Resultado:

☠️ S837


☕ O S837 E O RLSE

Parâmetro mágico:

RLSE

Libera espaço não usado ao final do job.

Sem isso:

desperdício silencioso.


🔥 O S837 E O UNIT=SYSDA

Outro cenário clássico.

Todos jobs disputando:

mesmos volumes.

Ambiente congestionado.

Resultado:

💥 falha de alocação.


☕ O S837 E O DB2

Utilities DB2 podem gerar datasets temporários gigantes:

  • SORT

  • REORG

  • UNLOAD

  • LOAD

Space errado?

☠️ S837


🔥 O S837 E O CICS

Menos comum diretamente.

Mas logs/journals/datasets auxiliares também podem sofrer.


☕ O S837 E O “VOLUME FULL”

Às vezes o volume realmente está:

LOTADO.

Operador olha:

D U,VOL=XXXX

E percebe:

sem espaço restante.


🔥 COMO INVESTIGAR O S837 PASSO A PASSO


✅ PASSO 1 — VERIFIQUE JESMSGLG

Procure:

S837
SPACE ALLOCATION FAILED
B37
E37

✅ PASSO 2 — IDENTIFIQUE O DDNAME

Qual dataset falhou?

SORTWK01
OUTFILE
TEMP001

✅ PASSO 3 — ANALISE SPACE=

Veja:

SPACE=(CYL,(x,y))

ou:

SPACE=(TRK,(x,y))

✅ PASSO 4 — VERIFIQUE VOLUME

Talvez:

  • cheio

  • fragmentado

  • limitado


✅ PASSO 5 — VERIFIQUE EXTENTS

Datasets podem atingir:

limite máximo de extents.


🔥 O SEGREDO DOS B37/E37

Parentes sombrios do S837.


☕ B37

Sem espaço durante escrita.


☕ E37

Sem extents disponíveis.


☕ S837

Falha de alocação/expansão.


🔥 O DUMP DO S837

Normalmente pouco útil.

O ouro está em:

  • mensagens IEC

  • SMS reports

  • allocation messages

  • JESMSGLG


☕ MENSAGENS IMPORTANTES


☕ IEC030I

Problemas de espaço/extents.


☕ IEC070I

Falha de allocation.


☕ IGDxxxx

Mensagens SMS.


🔥 O MAIOR ERRO DO PADAWAN

Resolver tudo assim:

SPACE=(CYL,(9999,9999))

Agora o job pede:

MAIS ESPAÇO DO QUE O DATACENTER POSSUI.


☕ O VERDADEIRO JEDI

Não apenas aumenta espaço.

Ele pergunta:

“QUAL O CRESCIMENTO REAL DO DATASET?”


🔥 COMO EVITAR S837


✅ Dimensionar SPACE corretamente


✅ Revisar secondary allocation


✅ Usar RLSE


✅ Monitorar SORTs gigantes


✅ Limpar GDGs antigos


✅ Revisar SMS classes


✅ Evitar datasets monstruosos desnecessários


✅ Monitorar extents


☕ O SEGREDO DOS VETERANOS

Veteranos respeitam profundamente:

SPACE planning.

Porque no z/OS:

storage físico ainda importa MUITO.


🔥 CURIOSIDADE HISTÓRICA

Nos anos 60/70:

discos eram:

  • pequenos

  • caríssimos

  • lentos

Programadores literalmente calculavam:

trilhas e cilindros manualmente.

O S837 nasceu dessa realidade brutal.


☕ EASTER EGG MAINFRAME

Veteranos brincam:

“S837 significa:

Seu Dataset Tentou Crescer Mais do Que o Universo Permitia.”


🔥 O MAIOR ENSINAMENTO DO S837

Ele ensina algo profundo:

no z/OS, armazenamento é engenharia matemática.

Não basta:

“salvar arquivo”

É preciso entender:

  • cylinders

  • tracks

  • extents

  • SMS

  • crescimento

  • fragmentação

  • alocação física


☕ A VERDADE FINAL

O S80A pune falta de memória.
O S878 pune fragmentação de storage virtual.
O S913 pune falta de autorização.

Mas…

☕ O S837 É O MOMENTO EM QUE O z/OS OLHA PARA O DISCO… E DESCOBRE QUE NÃO EXISTE MAIS ESPAÇO ADEQUADO PARA O SEU DATASET NASCER.


sexta-feira, 3 de dezembro de 2010

🧱 IBM Mainframe Storage Management no z/OS

Bellacosa Mainframe apresenta Storage Management no IBM z/OS



🧱 IBM Mainframe Storage Management no z/OS

DFSMS, SMS x non-SMS, ISMF, ACS, DASD, TAPE, JCL, VSAM, PS e PO

O disco não é só espaço. É política, disciplina e sobrevivência.


☕ Introdução – Quando o disco manda mais que o código

Todo mainframe nasce vazio.
Nenhum COBOL roda, nenhum CICS responde, nenhum batch fecha balanço sem que alguém tenha decidido onde os dados vão morar.

E é aqui que muita gente erra:

“Ah, storage é só pedir espaço no JCL…”

❌ Errado.
No IBM Mainframe, storage é governança, automação, história, política corporativa e, muitas vezes, briga silenciosa entre times.

Este artigo é para você que:

  • Já sofreu com SMS override

  • Já ouviu “o ACS mandou”

  • Já viu dataset ir parar num disco que você nem sabia que existia

  • Ou ainda acha que VOL=SER ainda manda em tudo

Senta, pega o café, que a aula começa agora.


🏛️ Origem e História – Do ferro bruto ao cérebro automático

📼 Anos 60–70: tudo era manual

  • Disco era caro

  • Poucos volumes

  • Programador escolhia tudo

  • Erro humano era rotina

💣 Anos 80: o caos

  • Explosão de dados

  • Batch gigante

  • Fragmentação absurda

  • Discos cheios às 03:00 da manhã

🧠 Anos 90: nasce o DFSMS

A IBM percebeu:

“Não dá para deixar cada programador decidir disco.”

Surge o DFSMS (Data Facility Storage Management Subsystem).

Objetivo:

  • Padronizar

  • Automatizar

  • Controlar

  • Evitar desastre operacional

📌 DFSMS não é luxo. É resposta ao caos.


🧠 DFSMS – O cérebro do armazenamento no z/OS

DFSMS é:

  • Parte nativa do z/OS

  • Gerente de dados

  • Juiz das decisões de disco

  • Guarda-costas da infraestrutura

Ele cuida de:

  • DASD

  • TAPE

  • Migração

  • Backup

  • Alocação

  • Performance

  • Disponibilidade


💽 DASD – O chão onde tudo pisa

DASD = Direct Access Storage Device

Tradução Bellacosa:

“É o HD do mainframe, só que sério.”

Tudo mora em DASD:

  • z/OS

  • SYS1

  • Aplicações

  • VSAM

  • Logs

  • Catálogos

📌 Volume = Disco = DASD

Exemplos reais:

PRD001
TSO123
CICS45

📼 TAPE – O ancião que ainda reina

Muita gente subestima, mas:

  • Tape é barato

  • Tape é denso

  • Tape é confiável

  • Tape é rei do backup

DFSMS controla:

  • Migração HSM

  • Recall automático

  • Arquivamento

📌 Easter egg:
Muitos bancos ainda têm dados mais velhos que o programador, morando felizes em fita.


🧩 SMS x non-SMS – O conflito eterno

🔴 Non-SMS (old school)

Você manda:

  • VOL=SER

  • SPACE

  • UNIT

Vantagem:

  • Controle total

Desvantagem:

  • Risco total

📌 Hoje: usado só em casos muito específicos.


🟢 SMS-Managed (mundo real)

O sistema manda.

Você pede:

  • Nome do dataset

O SMS decide:

  • Onde fica

  • Quanto espaço

  • Performance

  • Migração

📌 Naming convention é lei.


🧬 ACS – O código que manda mais que o JCL

ACS Routine = cérebro do SMS

Ela decide:

  • Data Class

  • Storage Class

  • Storage Group

Baseado em:

  • Nome do dataset

  • Usuário

  • Programa

  • Ambiente

Exemplo simplificado:

IF &DSN = 'PRD.*'
   SET &STORCLAS = 'HIGH'

💣 Easter egg cruel:

Você pode pedir CYL(1000).
O ACS pode te dar TRK(10).
E ainda sorrir.


🖥️ ISMF – Onde o poder mora

ISMF = Interactive Storage Management Facility

Ferramenta do:

  • Storage admin

  • Infra

  • Arquitetura

Aqui você vê:

  • Volumes

  • Classes

  • Storage Groups

  • ACS

  • Espaço real

📌 Programador geralmente não entra aqui.


🧱 Data Class – O DNA do dataset

Define:

  • RECFM (FB, VB…)

  • LRECL

  • DSORG

Exemplo:

RECFM=FB
LRECL=80
DSORG=PS

📌 Template padrão corporativo.


🚀 Storage Class – Performance e SLA

Define:

  • Prioridade

  • Backup

  • Migração

  • Disponibilidade

📌 Onde o negócio fala mais alto que o código.


🗄️ Storage Group – O endereço físico

  • Conjunto de volumes

  • Abstração total

  • Usuário não escolhe disco

📌 Você não precisa saber qual disco.
📌 O SMS sabe.


📂 Tipos de Data Set – PS, PO, VSAM

📄 PS (Sequential)

  • Batch

  • Relatórios

  • Entrada/Saída simples


📚 PO / PDS / PDSE

  • Código

  • JCL

  • Copybooks

📌 PDSE > PDS (sempre que possível).


🧬 VSAM

  • KSDS

  • ESDS

  • RRDS

Alta performance, alta complexidade.

📌 VSAM mal dimensionado = pesadelo.


📜 JCL x DFSMS – Quem manda?

JCL pede.
DFSMS decide.

Exemplo clássico:

SPACE=(CYL,(100,50))

Resultado:

SPACE=(TRK,(10,5))

Mensagem:

“Some attributes were overridden by ACS routine.”

📌 Tradução:

“Você tentou. Eu mandei.”


🧪 Passo a passo prático (vida real)

  1. Dataset criado

  2. ACS roda

  3. Classes atribuídas

  4. Volume escolhido

  5. Espaço ajustado

  6. Catálogo atualizado

Tudo automático.


🧙‍♂️ Dicas Bellacosa Mainframe

✔ Naming convention é tudo
✔ Nunca confie só no JCL
✔ Leia o ACS antes de reclamar
✔ ISMF é seu melhor amigo
✔ Storage admin é aliado, não inimigo
✔ PDSE sempre que possível
✔ VSAM exige respeito


🥚 Easter Eggs & Curiosidades

🥚 Existem ACS routines com 20+ anos em produção
🥚 Já houve banco parado porque alguém mexeu no ACS sem change
🥚 Muitos datasets “fantasmas” existem só porque ninguém sabe quem usa
🥚 Tape ainda salva mais empresa que cloud hype


☕ Conclusão – A frase que resume tudo

“No mainframe, código faz o sistema funcionar.
Storage faz o negócio sobreviver.”

Se quiser, posso:

  • 📚 Transformar isso em curso

  • 🧪 Criar labs práticos

  • 🎓 Adaptar para aula corporativa

  • 🔐 Criar versão bancária real

  • 📊 Montar mapa mental DFSMS

Só chamar.
O café está quente ☕🖥️


domingo, 5 de setembro de 2010

🧠 Uma visão Padawan Storage Engineer, sente-se.

 

Bellacosa Mainframe fala sobre Storage 
Engineer em ibm mainframe zos

🧠 Uma visão Padawan Storage Engineer, sente-se.

Hoje o papo é sério, profundo e cheio de easter eggs:
Monitoramento de Disco em Ambiente IBM Mainframe (z/OS)
(ou: como evitar que o DASD te acorde às 02:37 da manhã)


📜 História rápida (porque storage tem memória longa)

Antes de “elastic storage”, já existia DASD.
E não era luxo: era engenharia.

No mundo mainframe:

  • Disco sempre foi caro

  • I/O sempre foi crítico

  • Planejamento sempre foi obrigatório

Por isso o z/OS nasceu obcecado por controle:

  • Trilhas

  • Cilindros

  • Extents

  • Catálogo

  • Alocação
    Nada é por acaso. Nada é “default inocente”.


💿 DASD – não é disco, é contrato

DASD (Direct Access Storage Device) não é só mídia.
É um modelo lógico estável há décadas.

Mesmo que hoje o storage seja:

  • Flash

  • NVMe

  • Storage definido por software

  • DS8K com magia negra dentro

👉 Para o z/OS, continua sendo 3390.

🧠 Easter Egg clássico:

Você pode trocar todo o storage físico…
…mas o JCL de 1999 continua funcionando.


🧱 3390 – o idioma nativo do z/OS

Estrutura lógica

  • Track

  • Cylinder

  • Volume

  • Extent

Tipos mais comuns:

  • 3390-3 → o feijão com arroz

  • 3390-9 → mais conforto

  • 3390-27 / 54 → ambientes grandes

  • EAV (EAS) → milhões de cylinders

⚠️ Padawan alerta:
EAV resolve espaço, não resolve desorganização.


👀 Por que monitorar disco não é opcional?

Porque no mainframe:

  • Disco cheio não avisa

  • Fragmentação cobra juros

  • Catálogo corrompido vira outage

  • Storage mal planejado vira reunião com diretoria


📊 O que um Storage Engineer DEVE monitorar

🔢 1. Utilização de Volume

  • < 70% → zen

  • 70–85% → atenção

  • 85% → plano de ação

  • 90% → você já perdeu


🧩 2. Fragmentação

  • Muitos extents = mais I/O

  • Sequential sofre

  • VSAM sofre mais ainda

  • Sort chora em silêncio

🧠 Easter Egg:

Fragmentação não mata hoje.
Ela te mata no pico do fechamento mensal.


🧮 3. Número de extents

  • Dataset com 100+ extents é alerta

  • 200+ extents é cirurgia

  • Extents demais = alocação ruim ou volume saturado


📚 4. Catálogo

  • Catálogo cheio = caos

  • Catálogo fragmentado = lentidão

  • Catálogo sem backup = pedido de demissão indireto

Comandos:

LISTCAT ALL

🧠 5. Storage Groups (DFSMS)

Você monitora:

  • Capacidade total

  • Balanceamento

  • Tendência de crescimento

  • Volume “quente”

Comandos úteis:

D SMS,SG D SMS,VOL

🛠️ Ferramentas nativas (o mínimo que você deve dominar)

📟 SDSF

  • DA

  • /D U,DASD,ONLINE

Visual rápido, mas não substitui análise.


🧾 IDCAMS

O velho sábio que nunca mente:

LISTCAT VOLUME(VOL001) ALL

Mostra:

  • Extents

  • Datasets órfãos

  • Fragmentação

  • Bagunça histórica


🧪 SMF (onde mora a verdade)

Se você quer ser engenheiro de verdade, vá para:

  • SMF 42 (DFSMS)

  • SMF 78 (Storage)

  • SMF 14/15 (dataset activity)

📌 Hot take Bellacosa™:

Quem não olha SMF, administra no escuro.


🧙‍♂️ Ferramentas enterprise (o lado premium da Força)

  • IBM OMEGAMON

  • BMC MainView

  • Broadcom SYSVIEW

Alertas comuns:

  • Volume acima do threshold

  • Storage Group desequilibrado

  • Crescimento anormal

  • Tendência explosiva


🧪 Caso real (história de guerra)

Batch falhando aleatoriamente.
Erro muda todo dia.

Causa real:

  • Volume temporário com 88%

  • Crescimento não monitorado

  • Sort concorrente em pico

Correção:

  • Redistribuição de volumes

  • Aumento de pool

  • Monitoramento de tendência

📌 Moral:
Storage não quebra.
Ele acumula dívida técnica.


🧠 Curiosidades que só storage engineer aprende sofrendo

  • Dataset “temporário” criado em 2003 ainda ativo

  • Volume “de teste” com dado crítico

  • SMS class herdada de outro CPD

  • Storage flash com comportamento de fita (sim, acontece)


🧭 Dicas Bellacosa Mainframe™ para Padawan Storage

✔️ Monitore tendência, não só status
✔️ Espaço livre sem balanceamento é ilusão
✔️ EAV não é desculpa para relaxar
✔️ Catálogo merece carinho diário
✔️ Documente storage group (ninguém faz, todos sofrem)
✔️ Nunca confie em “esse volume sempre foi assim”


☕ Encerrando o café…

Ser Storage Engineer no z/OS não é só administrar disco.
É:

  • Prever

  • Planejar

  • Equilibrar

  • Proteger

  • E evitar que alguém te ligue fora do horário 😄

💬 “No mainframe, storage não é onde os dados moram.
É onde a estabilidade vive.”

Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...