Vous êtes sur la page 1sur 17

Gnralits

Rle d'un administrateur systme


rles d'un systme d'exploitation (OS ou oprating System)


ajouts et suppressions d'utilisateurs ajout, suppression, configuration de matriel sauvegarde et restauration installation, mise jour de logiciels surveillance du systme:

machine virtuelle qui cache la machine physique gestion des ressources matrielles (mmoire, priphriques, ...) multi tches et multi utilisateurs axiome: tout est fichier interface standard: POSIX unix: plusieurs famille d'OS : BSD, SYS V, Linux, ...

Unix

scurit monitoring

documentation locale rdaction de fiches de procdures, cahier des charges, ... aide aux utilisateurs

cf http://fr.wikipedia.org/wiki/Tableau_synoptique_des_syst%C3%A8mes_d'exploitation

Principes de base de l'administration


Droits d'accs aux fichiers et aux processus

tout systme doit avoir un administrateur complexit :


fichiers: possde un propritaire (UID) et un groupe propritaire (GID) le propritaire seul pouvoir modifier les permissions du fichiers processus:

de plus en plus de machines des systmes htrognes

mthodes de travail

rigueur (doc, gestion de version, validation, ...) automatiser les tches qui peuvent l'tre documentation: fiches de procdure, cahier des charges, ... pas de travail de fond: le vendredi soir, aprs un pot :-)

UID et GID rel: ceux de l'utilisateur du programme ( et pas ceux du propritaire du fichier sur disque) UID et GID effectifs: pour dterminer les droits d'accs

bits SETUID ou SETGIUD

Root

les autres pseudo-utilisateurs

root (superutilisateur): tout compte d'UID 0 peut excuter toute opration valide sur n'importe quel fichier ou processus devenir root

daemon : propritaire des logiciels systmes (uid 1) nobody: utilisateur sans droit

connexion directe en tant que root: dconseill, notamment via rseau su : changement d'identit sudo: excuter certaines commande en tant que root

utilis par nfs notamment utilis par certains daemon ne doit possder aucun fichier

squid, bind, ...: pratique actuelle

il est important de journaliser les actions effectues en tant que root (sudo, snoopylogger, ...)

mthodes d'administration

Documentation

installation de logiciels

des packages binaires via l'un des outils de gestion de packages du systme d'exploitation : des logiciels livrs en source recompiler des logiciels non livrs avec le systme d'exploitation via l'dition de fichier de configuration (=> il faut matriser un outil d'dition de texte par plateforme) via des commandes d'administration utilisation d'outils intgrs (smit (AIX), sam (HP UX), webmin, admintool (solaris) via des scripts ou des extension d'outil (webmin) maison

man: les pages de manuel d'unix, sections du manuel


man commande exemples :


configuration:

man 1 kill: kill commande utilisateur (section 1 du man) man 2 kill: kill appel systme (section 2 du man) apropos ou man -k

documentation du systme d'exploitation, /usr/doc, /usr/share/doc, ... WeB (google est votre ami notamment pour les messages d'erreurs) groupe de news USENET, forums WeB

fr.comp.os.* par exemple

le dmarrage des PC

dmarrage du systme

MBR:

chargement et initialisation du noyau dtection des priphriques cration des processus systmes, montage de la partition racine /en lecture seule, cration du processus init intervention de l'oprateur (en cas de dmarrage en mode monoutilisateur) excution des scripts de dmarrage passage en mode multiutilisateur

premier bloc de donnes du periph d'amorage 446 octets pour le gestionnaire d'amorage 64 octets pour la table des partitions (16 par partitions) 2 octets AA55 (valeur fixe)

PBR: partition boot loader: en dbut de partition, charg par le chargeur d'amorage du MBR ou un autre chargeur d'amorage MBR microsoft : charge le pbr de la premire partition principale active gestionnaire d'amorage: lilo, grub & Co

init

mode monoutilisateur

cf man telinit Rle de init


excution ds scripts d'initialisation gestion des terminaux anctre de tous les processus BSD SYSV

init lance un processus qui lance un shell root le processus de dmarrage reprend aprs ce modecorrespond aux runlevel 1 ou S (le sens dpend de la distribution de l'OS)

2 types de dmarrage :

S: rparation des systmes de fichiers ou ~: pas de daemon, racine en lecture seule est la seule partition monte

il faut la remonter en lecture/criture et monter les autres partitions si ncessaire

1: administration, certains daemon sont actifs, les partitions sont toutes montes (Sys V, Suse, ...rf: prciser sous debian)

tats du systme

scripts de dmarrage BSD


BSD: monoutilisateur ou multiutilisateur Sys V, Linux:


varient selon le systme BSD l'ide de base: deux scripts (/etc/rc et /etc/rc.local) pilotent le dmarrages du sytme Scripts de dmarrage FreeBSD et autres BSD libres (rf: dans une version ultrieure de ce document)

plusieurs tats (Run Level) sens (dpend du systme, voire de la distribution) :


0: arrt de la machine (halt) 1: monoutilisateur (administration) 2 5 : multiutilisateur 6: redmarrage (reboot) s ou S: monoutilisateur (maintenance)

le run level par dfaut est dfini dans /etc/inittab connatre son Run level : who -r, runlevel (linux) changer de run level : telinit No

scripts de dmarrage Sys V et Linux


inittab

le systme le plus rpandu /etc/inittab:


Demo:

syntaxe du fichier man inittab

indique init ce qu'il faut faire pour chaque niveau d'excution au dmarrage: init passe par tous les niveaux entre 0 et le niveau d'excution par dfaut; idem dans l'autre sens l'arrt les scripts de dmarrages situes dans /etc/rcN.d sont dmarrs via inittab en pratique: de nos jours, on ne modifie que rarement inittab, on s'appuie sur les scripts (cf cidessus)

Scripts de dmarrage Sys V (suite)

Scripts de dmarrage Sys V (suite)

/etc/init.d ou /sbin/init.d (HP-UX):


processus d'appel des scripts par init


contient la copie d'origine des scripts de dmarrage un script par daemon ou aspect du systme les scripts comprennent les arguments start et stop (et parfois d'autres arguments comme restart) contient un lien symbolique vers le scripts d'origine. Le nom du lien peut avoir deux formes:

/etc/rcN.d (N=0, 1, 2, ... : run level)

recherche de /etc/rcN.d si init augmente son niveau d'excution: execution des scripts commenant par S dans l'ordre des No si init diminue son niveau d'excution: execution des scripts commenant par K dans l'ordre des No

les scripts peuvent tre utiliss pour arrter ou redmarrer manuelle un service

KXX: le service doit tre arret dans ce run level SXX: le service doit tre dmarr dans ce run level

exemple: /etc/inid.d/networking restart

outils de gestion des scripts de dmarrage : updaterc.d (linux debian)

DEMO: exemple d'ajout de script avec updaterc.d

Scripts de dmarrage: la relve

Scripts de dmarrage: initng


Scripts SYS-V : supposent un systme compltement oprationnel au boot : difficilement compatible avec les priphriques amovibles Gestion minimale des dpendances entre actions :

initing : init new generation permet le lancement asynchrone des scripts gestion des dpendances entre scripts

un script est lanc quand tous les scripts dont il dpend ont t lancs

exemple: le montage d'une entre de /etc/fstab peut ncessiter un outil prsent dans /usr qui peut tre mont via rseau. Il faut donc attendre que le rseau soit oprationnel

Exemple :
service system/my_service { need = system/initial net/all; exec start = /sbin/my_service --start option; exec stop = /sbin/my_service --stop --option; }

la configuration des processus lancer est disperse :

dans /etc/init.d & Co, dans la crontab, dans /etc/inittab, dans les outils de gestions des

Scripts de dmarrage: Sun Solaris Service Management Facility (SMF)


Scripts de dmarrage: upstart

dans une version ultrieure de ce document cf http://www.sun.com/bigadmin/content/selfheal/

Un outil unique qui s'appuie sur des vnements : les scripts sont lancs lors de certaines vnements

le systme a dmarr; un systme de fichier (SGF) a t mont le SGF racine est en lecture/criture un priphrique block a t ajout au systme il est une certaine heure (remplace cron) un processus vient d'tre lanc ou s'est arrt un fichier a t modifi un priphrique rseau a t dtect une connexion rseau a lieu (remplace inetd) ...

Scripts de dmarrage: upstart

Exemple (version simplifie du script de dmarrage des scripts d'init SYSV de niv. 2 sur ubuntu 6.10)
start on startup stop on shutdown stop on runlevel-3 script set $(runlevel --set 2 || true) exec /etc/init.d/rc 2 end script

need to take actual to get the job into the next state. The other states are temporary states; these allow a job to run shell script to prepare for the job itself to be run (starting) and clean up afterwards (stopping). For services that should be respawned if they terminate before an event that stops them is received, they may run shell script before the process is started again (respawning). Jobs leave a state because the process associated with them terminates (or gets killed) and move to the next appropriate state, following the green arrow if the job is to be started or the red arrow if it is to be stopped. When a script returns a non-zero exit status, or is killed, the job will always be stoped. When the main process terminates and the job should not be respawned, the job will also always be stopped. As already covered, events generated by the init daemon or received from other processes cause jobs to be started or stopped; also manual requests to start or stop a job may be received. The communication between the init daemon and other processes is bi-directional, so the status of jobs may be queries and even changes of state to all jobs be

Scripts de dmarrage: lauchd


Scripts de dmarrage: la relve

lauchd est fourni avec MacOS X similaire upstart

upstart (ubuntu) :

des scripts sont lancs quand certains vnements se produisent

http://www.netsplit.com/blog/articles/2006/08/26/upstart-in-universe

http://upstart.ubuntu.com/

diffrence avec upstart: les vnements possibles sont trs limits:


launchd (MacOS-X) : http://developer.apple.com/macosx/launchd.html Sun Service Management Facility : http://www.sun.com/bigadmin/content/selfheal/ synthese:

dmarrage du systme fichier modifi ou plac dans une file d'attente date/heure atteinte (remplace cron) connexion sur un port donn (remplace inetd)

http://www-128.ibm.com/developerworks/library/l-boot-faster/index.html?ca=dgr-lnxw09FastLinuxBo

arrt du systme

processus d'arrt du systme


init est la source de tout


criture de l'vnement dans les journaux excute les scripts KXX (init SYSV) init tue ses processus fils vide les tampons disque (sync) dmonte les systmes de fichiers quand les critures sont termines arrte la machine

arrt du systme: demander init de tuer proprement ses processus fils shutdown [-r|-h] heure message : pour arrter ou rebooter le systme l'heure indiqu reboot: quivaut shutdown -r ou telinit 6 halt: quivaut shutdown -h ou telinit 0

cycle de vie d'un processus


processus
un programme: un fichier sur disque un processus: un programme en cours d'excution

le code excutable du programme les donnes de l'instance en train de s'excuter deux instances du mme programme partagent le mme code excutable elles ont par contre chacune leurs donnes

programme rentrant:

processus systme (daemon)/utilisateur

hirarchie de processus, recouvrement

Hirarchie de processus

un processus (processus fils) est toujours cr par un autre processus (processus pre):

tout processus a un processus parent sauf le processus initial processus initial : init (pid 1) arrter la machine: demander init d'arrter tous ses processus fils

fork: cration d'une copie du processus pre exec: recouvrement par le processus fils
bash PID=708 PPID=432 fork bash PID=917 PPID=708

exec
bash PID=708 PPID=432 bash ls PID=708 PID=917 PPID=708 PPID=708

pstree

caractristiques des processus


statiques

PID PPID propritaire rel (UID, GID) terminal d'attache pour les entres-sorties propritaire effectif (EUID, EGID) priorit nice consommation cpu/mmoire dossier de travail

dynamique

commande ps

commande ps: exemple

2 syntaxes (Linux):

syntaxe Systeme V: option prcdes de syntaxe BSD: options NON prcdes de quelques options SysV:

-e ou -A: tous les processus -a: tous les processus associs un terminal -H: reprsentation hirarchique (fort) -f: format complet;-l: format long (encore plus dtaill) -o: pour modifier le format de sortie (cf manuel) -g, -p, -t, -u: n'affiche que les processus des groupe (g), processus (-p), terminaux (-t) ou utilisateurs (-u) lists.

Etat d'un processus


gestion de processus & shell

R: excution Z: zombi: il est mort mais son pre ne le sait pas D: le processus ne peut tre interrompu S: suspendu T: termin

commande & : lancement de commande en tche de fond bg: reprise de commande en tche de fond fg: reprise de commande en avant plan jobs: liste des commandes lances Ctrl-C: arrt (SIGTERM) du processus Ctrl-Z: suspension (SIGSTOP) du processus

Signaux

priorit des processus

permettent au systme de communiquer avec les processus signaux utiles


STOP: suspendre CONT: reprendre HUP (1): souvent: relecture configuration KILL(9): tuer sans possibilit de traitement INT(2): quivalent Ctrl-C: interruption grable. permet au processus de grer son interruption

l'excution des divers processus est gre par un ordonnanceur (scheduler) une priorit est dfinie dynamiquement but: que chaque processus puisse avancer son excution tout en respectant des priorits nice/renice: permet d'influer sur la priorit des processus

kill -signal PID

de 0 19 pour un utilisateur de -20 19 pour root plus le chiffre est lev, moins le processus est prioritaire

code de retour

systmes de fichiers
diffrents systmes de fichiers:

valeur laquelle le processus pre peut accder 0: terminaison normale autre valeur: situation anormale

exemples journalisation cration d'un systme de fichier exemple sous linux associe un systme de fichier et un point de montage de swap dvelopper LVM sous Linux

partition

gestionnaire de volume logique

acl POSIX

dans une version ultrieure de ce document

Systmes de gestion de fichiers (SGF)


SGF: mode d'organisation et de stockage des donnes sur disque; Exemples: FAT32, NTFS, ext2fs, ext3fs, reiserfs, UFS, ... Les SGF ont des proprits et fournissent des services varis Exemple:

Cf TD

cas particuliers:

linux debian FreeBSD

les SGF Unix (ext2fs, UFS, ...) : droits sur les fichiers. FAT32: pas de droits d'accs aux fichiers

SGF (suite)

Fichiers
contenu d'un dossier: (4257, fichier) (15065,fichier2) (20435, dossier2) Inode uid, gid,rwxr-xr-x taille, nb liens, [acm]time adresse des blocs donnes

Les SGF unix fournissent un sous-ensemble commun de fonctionnalits: celui dont nous parlerons. Chaque SGF peut fournir plus que ce sousensemble Fichier unix: fichier disque mais aussi ressource du systme (pilote de priphrique, terminal, mmoire, ...)

Inode uid, gid,rwxr-xr-x taille, nb liens, [acm]time adresse des blocs donnes

Inode uid, gid,rwxr-xr-x taille, nb liens, [acm]time adresse des blocs donnes

/dev/hda1 : partition 1 du disque 1 (Linux) /dev/kmem: mmoire virtuelle du noyau

Contenu de fichier bla bla bla bla bli bli

Contenu de fichier2 bla bla bla bla bli bli

Contenu de dossier2 (1234, fichier3) (...)

SGF : inode

Dossier/rpertoire

Inode: attributs + localisation des blocs contenant les donnes du fichier Inode:

Deux grandes classes de fichiers :


Fichier ayant un contenu sur disque : fichiers rguliers, dossiers, liens symboliques, tubes Ressources : Fichiers spciaux (pilotes de priphriques, rf, ...)

Id. du disque logique o est le fichier, numro du fichier sur ce disque Type de fichier et droits d'accs Nombre de liens physiques Propritaire, groupe propritaire Taille Dates : De dernier accs (y compris en lecture): atime Date de dernire modification des donnes: mtime Date de dernier modification de l'inode: ctime

Dossiers: listes de couples (nom, No inode) Un couple est appel lien physique (hardlink) Du point de vue de l'utilisateur, un dossier contient des fichiers (fichiers rguliers, dossiers, ...).

Inodes/Nom: consquences

Fichiers: rsum:

Crer/dtruire un fichier: ajouter/retirer un couple dans le dossier opration ncessitant un droit au niveau du dossier pas du fichier Le systme travaille avec des No d'inode, l'utilisateur avec les noms de fichiers :

ce que l'utilisateur peroit comme un fichier identifi par un nom peut se dcomposer en trois notions sous unix :

un inode: informations (taille, dates, uid, gid, droits) et localisation des donnes sur disque le contenu du fichier: les donnes qui y sont stockes un lien physique: associe un nom un inode. Un mme inode peut avoir plusieurs lien.

les dossiers font le lien entre les deux : On trouve le couple (nom, inode) du dossier o est le fichier Pour trouver ce dossier, on applique le mme principe (pour Unix, un dossier est aussi un fichier)

Droits d'accs aux fichiers

Droits d'accs : algorithme

3 types d'accs: lecture (R), criture (W) et excution (X)


O bjet/Droit fichier rgulier R (lecture) lire le contenu W (criture) m odifier le fichier m odifier le contenu du dossier (y com pris destruction lister le contenu du dossier de fichier) X (excuter) excuter le fichier utiliser le dossier dans un chem in ou s'y positionnner

Si l'uid rel du processus est gal l'uid du propritaire du fichier: ce sont les droits du propritaire qui dtermine l'accs (y compris les refus d'accs) Sinon si le gid du processus est gal au gid du propritaire du fichier: ce sont ces les droits du groupe propritaires qui dterminent l'accs (y compris les refus d'accs) sinon, c'est l'entre other qui est utilise

dossier

3 classes d'utilisateurs: le propritaire du fichier, le Groupe du propritaire du fichier, les Autres utilisateurs.
type fichier R Propritaire W X Groupe du proprio R X Autres utilisateurs R X

informations dans l'inode, affichage avec ls , changement avec chmod, chgrp et chown

Droits d'accs : algorithme

ACL posix: algorithme

Exemple (tordu) : soit un fichier f dont les permissions sont : R RWX RWX et un utilisateur qui en est propritaire et qui appartient au groupe propritaire du fichier

L'utilisateur n'a que le droit de lecture alors qu'il appartient au groupe Sous unix, les permissions ne sont pas cumulatives. En rsum, on peut dire que sous unix, le particulier (utilisateur) l'emporte sur le gnral (groupe)

Si l'uid rel du processus est gal l'uid du propritaire du fichier ou l'IUD d'une entre utilisateur des ACL :ce sont les droits du propritaire qui dtermine l'accs (y compris les refus d'accs) Sinon si le gid du processus est gal au gid du propritaire du fichier ou l'IUD d'une entre groupe des ACL : ce sont ces les droits du groupe propritaires qui dterminent l'accs (y compris les refus d'accs) sinon, c'est l'entre other qui est utilise

ACL posix: conseils

Droits d'accs (2): suid, sgid, sticky bit

Les ACL POSIX vrifient le principe selon lequel le particulier l'emporte sur le gnral Utiliser des ACL utilisateur et des ACL groupe limite la lisibilit des ACL :

3 autres droits spciaux:

bit SUID: le programme s'excute avec les droits de son propritaire (au lieu de ceux de l'utilisateur qui le lance) bit SGID: le programme s'excute avec les droits du groupe propritaires du fichier sticky bit :

Pour savoir si un utilisateur a un droit, il faut vrifier si ce droit ne lui est pas refus dans une ACL utilisateur et s'il existe une ACL utilisateur ou groupe ou other le lui donnant

Conseil : n'utiliser que des ACL groupe (quitte crer un groupe pour un seul utilisateur si ncessaire)

sur un fichier excutable : (obsolte) maintient le fichier en mmoire aprs l'excution pour diminuer le temps de la prochaine invocation sur un dossier: seul le propritaire du fichier a le droit de le supprimer. Exemple: /tmp/

Commandes de base: chmod


chmod: exemples

chmod [-R] mode fichier ... -R: fichier est un dossier, chmod agit rcursivement sur fichier et sur son contenu mode:

forme numrique: 644


pour u: 400 (r), 200 (w) et 100 (x) pour g: 40 (r), 20 (w) et 10 (x) pour o: 4 (r), 2 (w) et 1 (x)

forme symbolique: [ugo][+-=][rwxXstguo]

commande de base: umask

Commandes de base: chown, chgrp


dfinit les droits d'accs par dfaut d'un fichier les droits sont le complment du paramtre d'umask: on laisse tout sauf les droits prciss Exemple:

chown -R [-H | -L | -P] proprio[:groupe] fichier chgrp -R [-H | -L | -P] groupe fichier ...

umask 002 : mode par dfaut: RWXRWXR-X (tout sauf 002) umask 026: mode par dfaut: RWXR-X--X (tout sauf 026) umask a=rx,gu+w: mode par dfaut: RWXRWXR-X umask -S : affiche le l'tat courant sous forme symbolique : u=rwx,g=rwx,o=rw dans notre exemple.

chown/chgrp: exemples

Commandes de base: ls

Commandes de base: cat

Commande de base: stat

Exemples

Arborescence

Stat fichier (noter ctime, mtime et atime) Cat fichier Stat fichier (atime a chang) Chmod fichier Stat fichier (ctime a chang) Modif fichier Stat fichier (mtime a chang)

Sous unix, on a une arborescence unique (donc pas de C:\, D:\, ...comme sous windows) Le disque systme contient la racine absolue / toute l'arborescence est sous cette racine absolue Les systmes de fichiers des autres partitions s'intgrent dans l'arborescence en prenant la place d'un dossier existant la racine d'un systme de fichier a 2 comme numro d'inode

arborescence

monter un systme de fichier

/ 2

commande mount/umount /etc/fstab


usr 1432

home 2

var 728

bin 4562

local 3721

petit 708

spool 1823

log 1127

des associations systme de fichier/point de montage notamment: les partitions monter au dmarrage du systme l'ordre des lignes est important pour mount, umount et fsck syntaxe: periph pointDeMontage typeSGF options fsfreq fspassNo demo: exemple de fstab

stat 7812

find 634

fsck, df, du

algo de recherche

Chemin

/usr/bin/stat algo de localication:

/usr/bin/stat: chemin absolu du fichier stat chemin absolu: chemin depuis la racine absolue notion de dossier courant chemin relatif: chemin depuis le dossier courant

examiner le contenu du dossier d'inode 2 pour trouver le No d'inode du dossier usr : 1432 par exemple. examiner le contenu de dossier d'inode 1432 pour trouver le No d'inode du dossier bin. 4562 par exemple examiner le contenu de dossier d'inode 4562 pour trouver le No d'inode du fichier stat. 7812 par exemple excuter le fichier d'inode 7812

Commandes de base:

commande de base: cp
lien (1234, fichier1) Inode Donnes
cp

pwd : indique le dossier courant cd : changer de dossier courant mkdir: pour crer un dossier rmdir: dtruit les dossiers vides
lien (2317, fichier2) Inode Donnes

cp fichier1 fichier2

Commandes de base: cp

cp (2)

copie des donnes d'un fichier (source) dans un autre (cible) :


gnu cp: en standard sous Linux, installable facilement ailleurs fournit des options non standard mais pratiques rf

la cible n'existe pas : cration d'un nouvel inode et recopie des donnes du fichier la cible existe: inode destination inchange, recopie des donnes du fichier dans la cible

cp et liens physiques

Commandes de base: rm
suppression d'un lien d'un fichier ou plusieurs fichiers: rm [-fiRr] fichier1 ... options:

lien (1234, fichier1)

Inode

Donnes

cp lien (2317, fichier2)

-i: demande de confirmation pour tout fichier supprimer (aff sur stderr et lecture sur stdin) -f: supprime les messages d'erreur lorsqu'un fichier n'existe pas et supprime la demande d'acquittement si l'utilisateur de rm n'a pas les droits d'criture sur le fichier supprimer -R ou -r: supprime rcursivement le contenu d'un dossier avant d'appliquer rmdir au dossier.

Inode
lien (2317, fichier3)

Donnes

cp fichier1 fichier2

rm :exemples

Commandes de base: mv
mv [-fi] source destination

renomme un lien. Source et fichier sont des fichiers rguliers renomme les sources en les dplaant dans le dossier destination

mv [-fi] source1 ... destination

la commande fonctionne aussi si sources et destinations sont dans des systmes de fichiers diffrents. la seconde forme est utilise si la destination est un dossier existant

mv: exemples

Commandes de base: ln

mv [-fi] source destination

ln fichier nouveau_lien_physique ln -s fichier lien_symbolique options:


renomme un lien. Source et fichier sont des fichiers rguliers renomme les sources en les dplaant dans le dossier destination

mv [-fi] source1 ... destination

-s: cre un lien symbolique -f: force la cration mme si la destination existe dj --: fin des options (pour permettre le traitement d'un fichier dont le nom commence par -

la commande fonctionne aussi si sources et destinations sont dans des systmes de fichiers diffrents. la seconde forme est utilise si la destination est un dossier existant

Exemples

Sauvegarde versus Archivage: sauvegarde


sauvegarde: c'est dupliquer et externaliser les donnes pour se protger :

des erreurs humaines des crash matriel des erreurs logicielles des sinistres (incendie, inondation, ...) de la malveillance (vol, virus, ...)

la dure de vie d'un jeu de sauvegarde est limite dans le temps (quelques mois au plus) Sauvegarde des donnes / du systme

Sauvegarde versus Archivage: sauvegarde

Sauvegarde versus Archivage: archivage

on sauvegarde certaines donnes pour se protger de certains risques


l'archivage, c'est le stockage hors ligne de donnes peu utilises


faire la liste des risques dont il faut se protger adapter le cahier des charges des sauvegardes et des autres mesures en fonction des ces risques les sauvegardes ne sont qu'un des lments permettant de garantir la continuit du service ct d'autres : disques raid, redondance des serveurs, ...

le temps d'accs a souvent peu d'importance on peut avoir une hirarchie de mode de stockage (du plus rapide au moins rapide (bande aller chercher) suivant la frquence de l'utilisation des donnes concernes)

la dure de vie d'une archive se compte au minimum en annes, voire en dcennies il faut donc penser l'obsolescence des matriels, des supports, des logiciels, des standards utiliss

Solutions qui ont prouv leur inefficacit

Sauvegardes : procdure/planification

Faire faire les sauvegardes par les utilisateurs : pour dgager sa responsabilit mais aucune garantie qu'elles seront faites Sauvegardes sur des supports peu fiables (disquettes, DAT, ...) Sauvegarde en criture seule : il faut valider sauvegarde et procdures de restauration Sauvegarde d'un systme en cours d'excution Un seul support de sauvegarde Sauver sur une partition du mme disque Pas de sauvegarde hors site (incendie, ...)

Planifier les sauvegardes, tester leur ralisation


il faut avoir l'assurance que les sauvegarde prvues ont eu lieu les procdures de sauvegardes doit tre crites procdures testes procdures et planification valides par les utilisateurs/propritaires des donnes

Sauvegardes : planification

Problmes lis la volumtrie:


choix des donnes sauvegarder :

donnes des utilisateurs (y compris : botes aux lettres, profil, ...), fichiers de configuration, ..;

Cot Charge rseau Dure des sauvegardes Indisponibilit des serveurs/applications dans le cas o le logiciel de sauvegarde impose l'arrt des logiciels.

retrouver un systme en tat suppose de rinstaller le systme puis de restaurer les donnes volumtrie plus faible restauration directe et rapide d'un systme oprationnel volumtrie plus importante

Systme entier avec procdure de redmarrage:


priodicit, choix des donnes ont un impact fort sur la volumtrie et donc sur le cot =>compromis

Restauration

Fiablisation

procdures de restauration

utiliser des mdia fiables


crites au rsultat valid par les propritaires des donnes (pour ne pas en oublier) testes rgulirement en grandeur relle de faon garantir :

viter disquettes, CD RW, DAT, ..et leur prfrer CD R (bof), DLT, AIT, ... varier les marques de media pour palier un dfaut de fabrication dans une srie, ...)

que toutes les donnes pertinentes ont t sauvegardes d'tre capable de tout restaurer correctement

grer le vieillissement des mdia de sauvegarde/archivage (reprise sur des mdia rcents, ...)

Fiabilisation (2)

Sauvegarde live: problmatique


... ... Fichier 1 v1 ... ... ... Fichier 2 v2 ... ...

fiabiliser l'environnement des media de sauvegarde:


inondation, incendie, vol (coffre ignifug, ...) sauvegarde hors site (penser la confidentialit des donnes, au risque de vol, l'interception des donnes, ...)

indexer les donnes pour s'y retrouver dans le volume total des jeux de sauvegardes

indexer les donnes tiqueter les media

Si l'application modifie plusieurs fichiers durant la sauvegarde, les versions sauves peuvent ne pas tre cohrentes.

Sauvegarde

Sauvegarde live: solutions

Sauvegarde live: snapshot

Arrt de l'application pendant la sauvegarde:

garantit de plus qu'aucun verrou n'empchera l'accs un fichier

L, on mettra une illustration du fonctionnement des snapshot Fait en live au tableau.

Instantan (Snapshot): image des blocs du sgf, en cas d'effacement de fichier, les blocs ne sont pas rallous tant que la sauvegarde n'est pas finie

Suppose un support dans le sgf Propos par les NAS, par afs, LVM, UFS2 (FreeBSD, ...), ... Application supplmentaire : proposer aux utilisateurs une image des tats antrieurs de leur compte moindre cot.

Sauvegardes incrmentales/diffrentielles

Exemple:

Sauvegarde incrmentales : fichiers crs ou modifis depuis la sauvegarde prcdente


Diminue le volume sauver Restauration ncessite toutes les sauvegardes, restaure toutes les versions d'un mme fichier Peu adapt si la totalit des fichiers changent

Comparer la taille des sauvegardes et les procdures de restauration dans les cas suivants : (ST: sauvegarde totale, I: sauvegarde incrmentale, D: sauvegarde Diffrentielle) Cas 1) ST, I1, I2, I3, I4, I5, I5 Cas 2) ST, D1, D2, D3, D4, D5 Cas 3) ST, I1, I2, I3, D1, I4, I5

Sauvegarde diffrentielle : fichiers crs/modifis depuis la dernire sauvegarde de rfrence


Diminue le volume sauver Plus de volume qu'en incrmental Restauration ncessite la sauvegarde de rfrence et la dernire sauvegarde diffrentielle

Dump: un outil de sauvegarde sous unix


Dump est un outil unix Il est efficace (travail directement au niveau du sgf) Sauvegarde non portable d'un unix un autre (li au sgf) Niveau (0 9) permettant un gestion trs souples des sauvegarde incrmentales/differentielles:

Une sauvegarde niveau n sauvegarde tous les fichiers modifis depuis la dernire sauvegarde de niveau n-1