Volumes (TSM)

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Tables SQL volumes, libvolumes, volhistory, volumeusage
Rôle Unités physiques/logiques de stockage des pools
Voir aussi Pool de stockage (TSM) · Gestion des bandes (TSM) · Bibliothèque (TSM)

Les volumes sont les unités physiques (bandes) ou logiques (VTL) sur lesquelles sont stockées les données des pools de stockage. Trois tables SQL principales : volumes (état par pool), libvolumes (présence en bibliothèque) et volhistory (historique des bandes de sauvegarde de la base).

Volumes scratch

-- Nombre total
SELECT COUNT(*) FROM libvolumes WHERE status='Scratch'

-- Dans une bibliothèque donnée (exemple : modèle 3584)
SELECT COUNT(*) FROM libvolumes WHERE status='Scratch' AND library_name='3584'

-- Par bibliothèque
SELECT library_name,COUNT(*) FROM libvolumes WHERE status='Scratch' GROUP BY library_name

Volumes par classe de périphérique / pool

SELECT devclass_name, COUNT(*) FROM volumes GROUP BY devclass_name

SELECT stgpool_name,COUNT(*) FROM volumes GROUP BY stgpool_name

Volumes indisponibles ou en erreur

-- Indisponibles
SELECT COUNT(*) FROM volumes WHERE error_state='YES'

-- En erreur lecture/écriture, en bibliothèque
SELECT volumes.volume_name, volumes.stgpool_name, volumes.pct_utilized, volumes.status,
  volumes.write_errors, volumes.read_errors FROM volumes, libvolumes WHERE
  volumes.volume_name=libvolumes.volume_name AND ( volumes.write_errors>0 OR volumes.read_errors>0 )

Volumes par bibliothèque

SELECT library_name,COUNT(*) FROM libvolumes GROUP BY library_name

Occupation et réclamation

-- Tri par pourcentage réclamable
SELECT volume_name,devclass_name,stgpool_name,pct_reclaim,pct_utilized,status,access FROM volumes ORDER BY pct_reclaim

-- Volumes pleins peu utilisés (< 10%)
SELECT volume_name,devclass_name,stgpool_name,pct_reclaim,pct_utilized FROM volumes
  WHERE status='FULL' AND pct_utilized < 10

-- Volumes pleins fortement réclamables (> 90%)
SELECT volume_name,devclass_name,stgpool_name,pct_reclaim,pct_utilized FROM volumes
  WHERE status='FULL' AND pct_reclaim >90

-- Idem, en bibliothèque (> 80%)
SELECT volumes.volume_name, volumes.stgpool_name, volumes.pct_utilized, volumes.pct_reclaim,
  volumes.status, volumes.access FROM volumes, libvolumes WHERE volumes.volume_name=libvolumes.volume_name
  AND volumes.status='FULL' AND volumes.pct_reclaim>80 ORDER BY stgpool_name

-- Dans un pool donné (exemple OFFSITE, > 80%)
SELECT volume_name,devclass_name,stgpool_name,pct_reclaim,pct_utilized FROM volumes
  WHERE pct_reclaim>80 AND stgpool_name='OFFSITE'

Volumes en bibliothèque

-- Nombre de bandes par pool en bibliothèque
SELECT volumes.stgpool_name, count(*) FROM volumes, libvolumes WHERE
  volumes.volume_name=libvolumes.volume_name GROUP BY stgpool_name

-- Détail des volumes en bibliothèque (sous-requête)
SELECT volume_name, stgpool_name, pct_utilized, pct_reclaim, status, access FROM volumes
  WHERE volume_name IN ( SELECT volume_name FROM libvolumes )

-- Détail équivalent par jointure
SELECT volumes.volume_name, volumes.stgpool_name, volumes.pct_utilized, volumes.pct_reclaim, volumes.status,
  volumes.access FROM volumes, libvolumes WHERE volumes.volume_name=libvolumes.volume_name ORDER BY stgpool_name

-- Par propriétaire (environnement library manager)
SELECT owner,count(*) FROM libvolumes WHERE status<>'Scratch' GROUP BY owner

Nœuds utilisant un volume

SELECT DISTINCT node_name, volume_name, stgpool_name FROM volumeusage WHERE volume_name='TAPE10'

-- Nombre de nœuds par volume
SELECT volume_name, stgpool_name, COUNT(DISTINCT node_name) AS "Number of Nodes" FROM
  volumeusage GROUP BY volume_name, stgpool_name

Historique des volumes (volhistory)

-- Nombre de db backups complets dans les dernières 24 heures
SELECT COUNT(*) FROM volhistory WHERE
  type='BACKUPFULL' AND date_time>=current_timestamp-24 hours

-- Complets ou incrémentaux dans les dernières 24 heures
SELECT COUNT(*) FROM volhistory WHERE ( type='BACKUPFULL' OR type='BACKUPINCR' )
  AND date_time>=current_timestamp-24 hours

-- Détail sur 48 heures
SELECT date_time, type, backup_series, volume_seq, devclass, volume_name FROM volhistory WHERE
  ( type='BACKUPFULL' OR type='BACKUPINCR' OR type='DBSNAPSHOT' ) AND date_time>=current_timestamp-48 hours

Voir aussi