JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Manuel d'entretien client des systèmes Oracle® ZFS Storage Appliance

Pour les contrôleurs ZS3-x, 7x20 et les étagères de disques DE2-24, Sun Disk Shelf

Oracle Technology Network
Bibliothque
PDF
Aperu avant impression
Commentaires
search filter icon
search icon

Informations document

Utilisation de la présente documentation

Chapitre 1 Introduction

Chapitre 2 Maintenance de l'équipement

Chapitre 3 Maintenance du système

Système

Introduction

Disques système

Lots de support

Gestion des lots de support à l'aide de la BUI

Génération et téléchargement d'un lot de support à l'aide de la BUI

Options pour les lots de support

Gestion des lots de support à l'aide de la CLI

Configuration initiale

Réinitialisation des paramètres d'usine

Mises à jour

Mises à jour du système

Notification de mises à jour logicielles

Planification des notifications de logiciels à l'aide de la BUI :

Planification des notifications de logiciels à l'aide de la CLI :

Vérification de mises à jour à l'aide de la BUI

Vérification de mises à jour à l'aide de la CLI

Présentation des mises à jour du système

Conditions préalables

Vérifications d'intégrité préalables à la mise à jour

BUI

Interface de ligne de commande

Dépannage des échecs de vérifications d'intégrité préalables à la mise à jour

Mesures à prendre pour résoudre les alertes concernant des vérifications d'intégrité

Etapes de résolution

Etapes de résolution des alertes de vérification d'intégrité

Mises à jour différées

Réinitialisation après une mise à jour

Mises à jour de microprogrammes du matériel

Restauration

Restauration de secours

Mise à niveau d'un cluster

Réalisation d'une mise à niveau de cluster

Etats du cluster pendant la mise à niveau

Mise à jour via la BUI

Décompression et vérification du média

Lancement de la mise à niveau

Restauration

Suppression d'un média de mise à jour

Application de mises à jour différées

Mise à jour via la CLI

Décompression et vérification du média

Lancement d'une mise à niveau

Restauration

Suppression d'un média de mise à jour

Application de mises à jour différées (CLI)

Passthrough x

Mise à jour différée Passthrough-x

Quotas d'utilisateurs

Mise à jour différée Quotas d'utilisateurs

COMSTAR

Mise à jour différée COMSTAR

RAID triple parité

Mise à jour différée RAID triple parité

Suppr doublons

Mise à jour différée Suppression des doublons de données

Réplication

Mise à jour différée Réplication

Propriétés reçues

Mise à jour différée Propriétés reçues

Slim ZIL

Introduction

Suppression d'instantanés

Mise à jour différée Suppression d'instantanés

Instantanés récursifs

Mise à jour différée Instantanés récursifs

Remplacement multiple

Mise à jour différée Remplacement multiple

Miroir RAIDZ

Mise à jour différée RAIDZ/Miroir

Répertoire enfant facultatif

Introduction

Groupes d'initiateurs multiples par LUN

Introduction

Support pour les blocs de très grande taille

Support pour les blocs de très grande taille

Réargenture séquentielle

Réargenture séquentielle

Sauvegarde de configuration

Sauvegarde de configuration

Contenu d'une sauvegarde

Impact d'une restauration

Considérations de sécurité

Gestion des sauvegardes de configuration à l'aide de la BUI

Création d'une sauvegarde de configuration

Restauration à partir d'une configuration enregistrée

Suppression d'une configuration enregistrée

Exportation d'une configuration enregistrée

Importation d'une configuration enregistrée

Gestion de sauvegardes de configuration à l'aide de la CLI

Affichage de la liste des configurations

Création d'une sauvegarde de configuration

Restauration à partir d'une configuration enregistrée

Suppression d'une configuration enregistrée

Exportation d'une configuration enregistrée

Importation d'une configuration enregistrée

Problèmes

Problèmes

Affichage des problèmes actifs

Réparation des problèmes

Fonctionnalités connexes

Journaux

Journaux

Alertes

Erreurs

Système

Audit

Phone Home

BUI

Affichage des journaux

Exportation des journaux

Interface de ligne de commande

Affichage de la liste de journaux

Affichage d'un journal

Afficher toutes les entrées du journal

Afficher des groupes d'entrées du journal

Affichage des détails d'une entrée

Exportation des journaux

Maintenance des workflows

Utilisation des workflows

Contexte d'exécution des workflows

Paramètres des workflows

Paramètres restreints

Paramètres facultatifs

Gestion des erreurs des workflows

Validation des entrées des workflows

Audit sur l'exécution de workflows

Rapports sur l'exécution de workflows

Gestion des versions

Versions d'Appliance

Gestion des versions des workflows

Workflows en tant qu'actions d'alerte

Contexte d'exécution des actions d'alerte

Réalisation d'audits sur les actions d'alerte

Utilisation de workflows programmés

Utilisation de la CLI

Codage du calendrier

Exemple : sélection du type de périphérique

BUI

Interface de ligne de commande

Téléchargement de workflows

Affichage de workflows

Exécution de workflows

Exemple : sélection du type de périphérique

L'exemple suivant illustre un workflow créant une feuille de travail à partir d'un type de lecteur donné :

var steps = [ {
	step: 'Checking for existing worksheet',
	execute: function (params) {
		/*
		 * In this step, we're going to see if the worksheet that
		 * we're going to create already exists.  If the worksheet
		 * already exists, we blow it away if the user has indicated
		 * that they desire this behavior.  Note that we store our
		 * derived worksheet name with the parameters, even though
		 * it is not a parameter per se; this is explicitly allowed,
		 * and it allows us to build state in one step that is
		 * processed in another without requiring additional global
		 * variables.
		 */
		params.worksheet = 'Drilling down on ' + params.type + ' disks';

		try {
			run('analytics worksheets select name="' +
			    params.worksheet + '"');

			if (params.overwrite) {
				run('confirm destroy');
				return;
			}
				
			throw ('Worksheet called "' + params.worksheet +
			    '" already exists!');
		} catch (err) {
			if (err.code != EAKSH_ENTITY_BADSELECT)
				throw (err);
		}
	}
 }, {
	step: 'Finding disks of specified type',
	execute: function (params) {
		/*
		 * In this step, we will iterate over all chassis, and for
		 * each chassis iterates over all disks in the chassis,
		 * looking for disks that match the specified type.
		 */
		var chassis, name, disks;
		var i, j;

		run('cd /');
		run('maintenance hardware');

		chassis = list();
		params.disks = [];

		for (i = 0; i < chassis.length; i++) {
			run('select ' + chassis[i]);

			name = get('name');
			run('select disk');
			disks = list();

			for (j = 0; j < disks.length; j++) {
				run('select ' + disks[j]);

				if (get('use') == params.type) {
					params.disks.push(name + '/' +
					    get('label'));
				}

				run('cd ..');
			}

			run('cd ../..');
		}

		if (params.disks.length === 0)
			throw ('No ' + params.type + ' disks found');
		run('cd /');
	}
 }, {
	step: 'Creating worksheet',
	execute: function (params) {
		/*
		 * In this step, we're ready to actually create the worksheet
		 * itself:  we have the disks of the specified type and
		 * we know that we can create the worksheet.  Note that we
		 * create several datasets:  first, I/O bytes broken down
		 * by disk, with each disk of the specified type highlighted
		 * as a drilldown.  Then, we create a separate dataset for
		 * each disk of the specified type.  Finally, note that we
		 * aren't saving the datasets -- we'll let the user do that
		 * from the created worksheet if they so desire.  (It would
		 * be straightforward to add a boolean parameter to this
		 * workflow that allows that last behavior to be optionally
		 * changed.)
		 */
		var disks = [], i;

		run('analytics worksheets');
		run('create "' + params.worksheet + '"');
		run('select name="' + params.worksheet + '"');
		run('dataset');
		run('set name=io.bytes[disk]');

		for (i = 0; i < params.disks.length; i++)
			disks.push('"' + params.disks[i] + '"');

		run('set drilldowns=' + disks.join(','));
		run('commit');

		for (i = 0; i < params.disks.length; i++) {
			run('dataset');
			run('set name="io.bytes[disk=' +
			    params.disks[i] + ']"');
			run('commit');
		}
	}
} ];

var workflow = {
	name: 'Disk drilldown',
	description: 'Creates a worksheet that drills down on system, ' +
	    'cache, or log devices',
	parameters: {
		type: {
			label: 'Create a new worksheet drilling down on',
			type: 'ChooseOne',
			options: [ 'cache', 'log', 'system' ],
			optionlabels: [ 'Cache', 'Log', 'System' ]
		},
		overwrite: {
			label: 'Overwrite the worksheet if it exists',
			type: 'Boolean'
		}
	},
	execute: function (params) { return (steps); }
};