Systèmes Répartis

UNIX

Gestion des Systèmes de Fichiers

ESAT

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

Les principes qui président à la gestion des systèmes de fichiers forment l'une des caractéristiques fondamentales du système UNIX. Néanmoins, l'usage montre que ces principes de gestion rendent les systèmes de fichiers relativement fragiles. Il est du ressort de l'administrateur de vérifier la cohérence des systèmes de fichiers de son système..... la négligence à ce niveau entraîne rapidement une perte globale de performances, et il devient de plus en plus difficile de maintenir le système. A un certain niveau de détérioration, c'est l'intégrité des données elle-même qui est en jeu. En dehors de cette mission de contrôle, l'administrateur devra mettre au point une politique de sauvegarde des données. Il doit être en outre en mesure de modifier les différents montages de systèmes de fichiers qui constituent son système UNIX. Au niveau d'un réseau, il devra de plus politique de partage des fichiers. mettre au point une

Dans ce chapitre les sujets suivants seront traités : • • • • Structure d'un système Création d'un système de fichiers ; Vérification et réparation d'un système de fichiers ; Montage et démontage de système de fichiers ;

jj/10/OO

ESAT

2

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

1.

Rappel sur la structure des disques
1.1. Le disque Un disque possède plusieurs plateaux ayant chacun deux faces, une face est constituée de pistes elles-mêmes divisées en secteur, eux-mêmes composés d'octets. Le secteur (512 octets) est l'unité appréhendable c'est à dire qu'il est possible de manipuler des secteurs, mais non des fragments de secteurs. 1.2. Le bloc Un bloc c'est l'unité d'allocation élémentaire. Par rapport à la notion de secteur, qui peut-être qualifié de physique, UNIX définit une unité que l'on dit logique, du fait de son indépendance vis-à-vis des caractéristiques du disque. Pour le système, le bloc est donc l'unité d'allocation et de traitement pour les entrées-sorties. Pour des raisons d'efficacité, il convient que la taille du bloc soit un multiple de la taille d'un secteur (éventuellement égal à 1) : plus ce nombre est grand plus l'accès à l'information peutêtre rapide, la contrepartie en est une possibilité de perte de place pour les petits fichiers. 1.3. Le formatage Le formatage du disque va consister à écrire sur les surfaces les renseignements nécessaires à son utilisation, en particulier la numérotation des secteurs et l'écriture des entêtes (headers) permettant de les identifier. 1.4. La partition Une partition est simplement une partie du disque, sans que sa structuration ou sa capacité à gérer des données entre en ligne de compte. 1.5. Le système de fichier Un système de fichiers est une partition possédant une structure apte à supporter des fichiers UNIX, qui va évoluer au cours du temps.

jj/10/OO

ESAT

3

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

2.

Types de systèmes de fichiers :
Même si les principes d'organisation des fichiers restent à peu près constants sur tous les systèmes, il existe plusieurs types de systèmes de fichiers. Chaque système reconnaît un certain nombre d'entre-eux. Dans le fichier / proc / filesystems se trouve la liste des systèmes de fichiers supportés par le noyau actuellement en exécution. (Si vous avez besoin d'utiliser un système listé ci-dessous et non supporté, vous pouvez insérer le module correspondant dans votre noyau ou bien le recompiler avec l'option correspondante). 2.1. Description des types de SDF connus par LINUX.

minix est le système de fichiers utilise par l'OS Minix, le premier a avoir fonctionne sous Linux. Il a de nombreuses limitations (64 Mo max. par partition, etc...) Néanmoins il reste très appréciable pour les disquettes et les disques RAM. ext est une extension assez élaborée du système de fichiers minix. Il a été complètement remplacé par sa seconde version (ext2) et sera probablement supprimé des noyaux futurs. ext2 est un système de fichiers de haute performance, utilisé par Linux pour disques fixes tout autant que pour les supports amovibles. Le second système fichiers étendu a été conçu comme une extension du système (ext). ext2 offre meilleures performances de tous les systèmes supportés par Linux (en termes vitesse et de consommation CPU). les de les de

msdos utilisant la FAT (File Allocation Table ) est le système de fichiers utilisé sous DOS, Windows, et quelques ordinateurs OS/2. Les noms de fichiers sous msdos sont limités à 8 caractères suivis éventuellement d'un point et de 3 caractères d'extension. umsdos est un système de fichier DOS étendu utilisé par Linux. Il ajoute la possibilité d'utiliser des noms de fichier longs, les UID/GID, les autorisations POSIX, les fichiers spéciaux (périphériques, tubes, etc...) sur le système de fichier DOS, sans sacrifier la compatibilité avec celui-ci. ntfs est un système de fichiers DOS étendu utilisé par Windows95 et Windows NT. . Utilisant la vfat (virtual FAT) ajoute la possibilité d'utiliser des noms de fichiers longs sur le système de fichiers MSDOS.

jj/10/OO

ESAT

4

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

proc est un pseudo-système de fichiers qui permet une interface avec les structures de données du noyau plus simple que la lecture et l'interprétation de/ dev / kmem. En particulier, ses fichiers ne prennent aucun espace disque iso9660 est un système de fichiers pour CD-ROM, conforme au standard ISO 9660. hpfs est le système "High Performance File System" utilisé par OS/2. Ce système de fichiers est uniquement en lecture seule sous Linux à cause du manque de documentation disponible. sysv est une implémentation du système de fichiers SystemV/Coherent pour Linux. Il implémente tous les protocoles Xenix FS, SystemV/386 FS, et Coherent FS. nfs est le système de fichiers en réseau utilisé pour accéder à des disques situés sur des ordinateurs distants. smb est un système de fichiers en réseau supportant le protocole SMB, utilisé par Windows for Workgroups, Windows NT, et Lan Manager. Pour utiliser le système smb, il vous faut un programme spécial de montage. (package ksmbfs) ncpfs est un système de fichiers réseau supportant le protocole NCP, utilisé par Novell NetWare. afs (Acer Fast Filesystem) est un système qui améliorant les accès disques et supportant les liens symboliques ffs (Fast File System ) propre à BSD ufs (Unix File System utilisé par SVr4. Reprend la plupart des ;concepts des versions BSD. Il est assez différent des autres types. unix système par défaut xenix  SCO supporte les standards s51k, xenix et dos., afs est le standard par défaut.  SPIX utilise le type FFS mais peut créer des systèmes de type SystemV.

jj/10/OO

ESAT

5

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

2.2.

Partitionnement d'un Disque Physique

Un disque physique peut être découpé en un certain nombre de partitions ou disques logiques. Sur chacune d'elles on peut construire un système de fichiers qui est vu par Unix comme un volume physique indépendant, sans pour autant être raccordé au système de fichiers principal. En partitionnant un disque, le noyau traite à un niveau logique avec le système de fichiers plutôt qu'avec les disques. Il considère chaque système de fichiers comme un périphérique logique identifié par un numéro de périphérique logique (le mineur). Boostrap Superbloc Table des inodes Partition 1 Bloc de données Zone de swap Inutilisé Superbloc Table des inodes Partition 3 Zone de données Partition 2

Chaque partition d'un disque est référencée dans le répertoire / dev. Le partitionnement se fait grâce à la commande fdisk  La commande / sbin / fdisk Manipulation des tables de partitionnement pour Linux. fdisk est un menu pour manipuler les tables de partitions d'un disque dur. Les devices utilisés sont en général / dev / hda - / dev / hdb - / dev / sda - / dev / sdb Syntaxe : fdisk [ -l ] [ -v ] [ -s partition] [ device ]

jj/10/OO

ESAT

6

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

3.

Le super-bloc
Le bloc suivant le bloc de boot (bloc n°1), est connu sous le nom de superbloc. Il est présent sur chaque partition et contient les éléments nécessaires à l'exploitation de celle-ci. Il est initialisé lors de la création du système de fichiers par la commande mkfs. 3.1. Structure du super bloc
<none> <not available> 10b59154-cd4f-11d1-91a0-83da51f4378e 0xEF53 0 (original) (none) not clean Continue Linux 126480 503968 25198 74074 97110 1 1024 1024 8192 8192 2040 255 Wed Apr 29 11:33:22 1998 Wed Apr 29 11:33:22 1998 Wed Apr 29 10:07:42 1998 17 20 Wed Apr 22 16:01:58 1998 15552000 (6 months) Mon Oct 19 16:01:58 1998 0 (user root) 0 (group root)

Filesystem volume name Last mounted on Filesystem UUID Filesystem magic number Filesystem revision # Filesystem features Filesystem state Errors behavior Filesystem OS type Inode count Block count Reserved block count Free blocks Free inodes First block Block size Fragment size Blocks per group Fragments per group Inodes per group Inode blocks per group Last mount time Last mount time Last write time Mount count Maximum mount count Last checked Check interval Next check after Reserved blocks uid Reserved blocks gid

jj/10/OO

ESAT

7

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

3.2.

Commandes de gestion du super bloc

 La commande / sbin / dumpe2fs Affiche le contenu du super-bloc Syntaxe : -V dumpe2fs [ -b ] [ -V ] device] Affiche le numéro de version de dumpe2fs et quitte celui-ci.

 La commande / sbin / tune2fs Modifie le contenu du super-bloc Syntaxe : tune2fs [ -l ] [ -c max-mount-counts ] [ -e errors-behavior ] [ -i interval-between-checks ] [ -m reserved-blocks-percentage ] [ -r reserved-blockscount ] [ -s sparse-super-flag ] [ -u user ] [ -g group ] [ -C mount-count ] [ -L volume-name ] [ -M last-mounted-directory ] [ -U UUID ]device Ne jamais utiliser tune2fs sur un FS monté pour changer les paramètres

jj/10/OO

ESAT

8

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

4. Les inodes
4.1. Généralités

L'inode (i-noeud) est le descripteur d'un fichier et c'est l'élément clé d'un système de fichiers. Les inodes sont regroupées dans une table, la i-tab ou table des inodes. Le numéro d'inode associé à chaque fichier sert d'index pour accéder au descripteur dans la table des inodes. La table des inodes est stockée sur disque mais il existe une copie en mémoire centrale. Cette copie est mise à jour dès qu'il y a une modification du contenu ou des attributs d'un fichier. Périodiquement le système la sauvegarde sur disque (commande sync). 4.2. Le Contenu d'un Inode

Un inode est une zone de 64 octets. La première entrée de la table est inutilisée. Cette table commence toujours au bloc numéro 2 d'un système de fichiers Unix. Chaque inode contient les informations suivantes : -mode et type du fichier -nombre de liens sur le fichier -n° d'identification du propriétaire du fichier -n° de groupe du propriétaire du fichier -taille du fichier en octets -adresse des blocs constituant le fichier -date du dernier accès au fichier -date de la dernière modification du fichier -date de création 2 octets 2 " 2 " 2 " 4 " 40 " 4 " 4 " 4 "

Remarque : Les dates sont exprimées en secondes a compté du 01/01/1970. Pour voir le contenu d'une inode on utilisera la commande debugfs  La commande / sbin / debugfs La commande debugfs est un debugger de file system. Il peut-être utilisé pour examiner ou changer les paramètres d'un File System de type ext2. Syntaxe : debugfs [ -w ] [ -f cmd_file ] [ -R request ] [ device ]

Le device est le fichier spécial correspondant au device contenant le fs ext2 (/dev/hdxx)

jj/10/OO

ESAT

9

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

4.2.1. Description d'une inode 81 ED 00 0B 00
UID

00

00
GID

03

00

00

00

C0

00

02
@ bloc n°1

92

type et droits

Nb de liens

taille du fichier en octets

00

00
@ bloc n°2

00

00

00
@ bloc n°3

00

00

00
@ bloc n°4

00

00

00
@ bloc n°5

00

00

00
@ bloc n°6

00

00

00
@ bloc n°7

00

00

00
@ bloc n°8

00

00

00
@ bloc n°9

00

00

00
@ bloc n°10

00

00

00
@ bloc n°11

00

00

00
@ bloc n°12

00

00

00
@ bloc n°13

00

C8

2F

49

98

F0

2E

B9

02

51

date du dernier accès au fichier

date de la dernière modification

0B

FA

02

51

date de création du fichier

-rwxr-xr-x 11 root

sys

192 Sep 11 10:21 lanceur

4.2.2. Décomposition de 2 premiers octets s 1 0 8 0 0 0 s 0 1 4.2.3. Tableau de correspondance F D C P S G Droits spéciaux T r w x r w Droits Groupe x r w x t 0 1 U 1 1 E 1 G 0 1 1 D O 0 1

Type de fichiers F :fichier normal D: répertoire C: fichier spécial caractère DC: fichier spécial bloc P: fichier pipe

Droits Propriétaire

Droits des autres

S : SUID bit G : SGID bit T: STICKY bit

r : lecture w : écriture x exécution ou passage

jj/10/OO

ESAT

10

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

4.3.

Adresses des Blocs d'un Fichier

Le système de fichiers Unix gère, dans l'inode, une table d'adresses de blocs constituant le fichier. Cette table possède 13 éléments de 3 octets chacun dont le principe est le suivant :

1 ko 256 @ 1 ko @ bloc 1@ @ @ @ @ 256 @ 1 ko 256 @ 256 @ 256 @ 256 @ 256 @ 1 ko 1 ko 1 ko @ @ @ @ @ @ @ 1 ko 256 @ 256 @ 1 ko 1 ko

La taille maximale théorique d’un fichier sera donc Blocs de 1° niveau : 1024 * 10 = 10240 ou 10 Ko Blocs de 2° niveau : 1024 * 256 = 264 144 ou 256 Ko Blocs de 3° niveau : 1024 * 256 * 256 = 67 108 864 ou 64 Mo Blocs de 4° niveau : 1024 * 256 * 256 * 256 = 17 179 869 1874 ou 16 Go Remarque : Etant donné que le champ taille du fichier dans l’inode est codé sur 32 bits, la taille d’un fichier est effectivement limitée à 4 Go (2 puissance 32)

jj/10/OO

ESAT

11

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

4.4.

CREATION D'UN SYSTEME DE FICHIERS

Normalement, le système de fichier racine est créé lors de l'installation du système UNIX. Néanmoins on peut être amené à créer de nouveaux systèmes de fichiers, en particulier sur les disquettes ou des disques supplémentaires. Pour cela il faut réaliser un formatage de haut niveau. RAPPEL : Sous UNIX, l'opération de formatage se déroule en deux phases indépendantes : Un formatage physique (dit de bas niveau ) qui consiste à préparer la surface physique à recevoir un système de fichiers en créant des pistes et des secteurs : ceci est réalisé grâce à la commande format étudiée dans le chapitre sur la gestion des unités de disque.

Un formatage logique (dit de haut niveau ) qui consiste à installer, dans les premiers secteurs du support magnétique, les tables utilisées par le système pour gérer le support (création du super-bloc et de la table des inodes ).
• 

Il n'y a aucune relation entre les deux opérations. De ce fait si la commande format rencontre des secteurs défectueux, elle les prend en compte mais ne transmet pas l'information à la commande mkfs chargée de créer le système de fichiers. Le système, ultérieurement, est donc susceptible d'allouer les secteurs défectueux à un fichier, avec les conséquences que cela peut entraîner.

C'est pour cela que la commande format vérifie systématiquement l'état du support et prévient l'utilisateur. D'où la conclusion qu'il ne faut jamais utiliser des disquettes qui présentent des secteurs défectueux ( et donc qu'il n'est pas rentable d'acheter des disquettes bon marché.... ). L'unique moyen de réaliser un formatage de haut niveau et donc de créer un système de fichiers, est d'utiliser la commande mkfs ( MaKe File-System ).

Certains utilitaires ( tar et cpio en particulier ), mais aussi certaines applications évoluées (par exemple ORACLE qui est une base de données ), n'utilisent pas les services du gestionnaire de fichiers : ils gèrent directement l'espace magnétique.

jj/10/OO

ESAT

12

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

 La commande / sbin / mkfs : Réalise un formatage de haut niveau sur le support magnétique préparé par format. Syntaxe : -V -t ftype fichier_special fs-options blocks mkfs [ -V ] [ -t fstype ] [ fs-options ] filesys [ blocks ] mode verbose ; ftype est le type de système de fichiers à installer ; est le nom du fichier spécial définissant le disque / dev; options transmises directement à mkfs ; nombre de blocs physiques ou de secteurs ( suivant le stype choisi ) que gérera le système de fichiers à créer.

Exemple : mkfs -t ext2 /dev/fd0 2880 mkfs crée un système de fichiers sur une disquette 3,5 pouces de type ext2 Ce système comporte 2880 blocs physiques, soit 1440 blocs logiques de 1 Ko.  La commande / usr / sbin / mklost+found Certaines versions de mkfs ne créent pas automatiquement le catalogue lost+found. Or celuici est utilisé lors de la réparation du File System , après un crash, par la commande fsck. Le rôle de cette commande est de créer ce fichier Syntaxe : /usr/sbin/mklost+found

jj/10/OO

ESAT

13

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

4.5.

LA ZONE DE SWAP

L'espace de swap est un terme général désignant l'espace disque utilisé pour augmenter la mémoire apparente disponible dans la machine. Attention , l'espace de swap ne peut pallier un manque réel de mémoire RAM. Linux supporte deux formes de zones de swap : des partitions dédiées sur le disque dur, ou bien des fichiers situés n'importe où dans votre arborescence. La commande free vous affiche les quantités de mémoires libres et utilisées. Syntaxe : / us r/ sbin /free

Toutes les valeurs sont exprimées en blocs de 1024 octets. Un certain nombre de distributions nécessitent que vous prépariez et activiez une partition de swap avant d'installer le système, car si vous avez trop peu de mémoire RAM, la procédure d'installation pourrait en manquer et échouer. mkswap permet de créer cette zone .  La commande / sbin / mkswap permet de créer une zone de swap soit sur un espace disque réservé , soit sur un fichier Syntaxe : mkswap [ -c ] device [size-in-blocks]

L'option –c demande à mkswap de tester les secteurs défectueux. Après avoir formaté la ou les zones de swap, il faut les activer afin que le système puisse les utiliser. swapon permet la mise en service de la zone de swap  Les commandes / sbin / swapon - / sbin / swapoff permet d'activer ou de désactiver une zone de swap Syntaxe : /sbin/swapon [-h -V] /sbin/swapon -a [-v] /sbin/swapon [-v] [-p priority] specialfile /sbin/swapon [-s] /sbin/swapoff [-h -V] /sbin/swapoff -a /sbin/swapoff specialfile ...]

Dans le cas d'un fichier, vous devez le créer et écrire des octets dedans, jusqu'à obtenir la taille désirée. Le plus simple est de faire appel à la commande dd. Exemple : dd if=/dev/zero of=/swap bs=1024 count=8192 sync mkswap –c /swap 8192 swapon /swap

jj/10/OO

ESAT

14

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

4.6.

REPARATION DU SYSTEME DE FICHIERS

Le système de fichiers est relativement fragile. Des erreurs dans l'allocation ou la désallocation des blocs, dans la gestion des numéros d'inodes, etc. finissent par se produire.  Les erreurs se produisent en particulier lorsque les tampons mémoires ne sont pas vidés correctement ( arrêt intempestif de la machine ) ce qui provoque des incohérences entre les données contenues dans le super-bloc sur disque et celui chargé en mémoire. Les erreurs s'accumulent et bientôt certains signes indiquent que le système agit de manière incohérente. Il est temps de réparer avant qu'il ne soit trop tard. UNIX met à la disposition de l'administrateur quelques outils permettant de diagnostiquer et de réparer les incohérences du système de fichiers. Cependant il faut savoir que la plupart de ces outils sont à manipuler avec précautions les actions qu'ils réalisent étant irréversibles.  Il faut être sensible au fait que, si ces utilitaires réussissent à réparer le système de fichiers, et donc à sauvegarder l'essentiel, leur action réparatrice se traduit presque tout le temps par des pertes de données  La commande / sbin / fsck Cet utilitaire est le plus connu des outils de test et réparation des systèmes de fichiers. Syntaxe : / sbin / fsck [ --AVRTNP ] [ -s ] [ -t fstype ] [ fs-options ] system_name

fsck permet de vérifier la cohérence du système de fichier. S'il rencontre des erreurs, il propose des solutions pour réparer. Il agit en 6 passes distinctes: 1) 2) 3) 4) Validation des inodes et recherche des blocs de données dupliqués ; Validation des répertoires ; Reconnexion des répertoires non référencés ; Reconnexion des fichiers non référencés, validation du nombre de liens des fichiers ; 5) Validation de la liste des blocs libres. 6) Reconstruction de la liste des blocs libres.

jj/10/OO

ESAT

15

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

 Bien avoir à l'esprit que la plupart des réparations proposées par fsck entraînent des pertes de données.  Avant toute utilisation de fsck sur un système de fichiers, il est préférable de démonter tous les systèmes annexes.  Avant toute utilisation de fsck sur un système de fichiers il faut démonter tous les systèmes qui y sont montés.  Le système de fichiers risque d'être modifié : les fichiers ou répertoires perdus qui ont été repérés par fsck sont placés dans le répertoire / lost + found situé dans la racine du système à analyser. Il faut que le répertoire / lost+ found ait été créé au préalable et qu'il contienne des entrées de fichiers vides [ c.a.d. que des fichiers ont été créés dans ce répertoire puis ont été effacés ].  Conseils d'emploi : Pour utiliser correctement fsck il faut être en mesure de répondre correctement aux messages d'erreurs qu'il est susceptible d'afficher pendant son exécution : selon la réponse donnée on peut effacer des fichiers qu'il sera ensuite impossible de retrouver. Une bonne solution consiste à ce munir d'un crayon et d'un papier et d'effectuer une première passe sans réaliser de correction : • noter alors tous les fichiers considérés comme défectueux ( ils sont signalés par leur numéro d'inode la plupart du temps ); • sortir de fsck, et retrouver ces fichiers ; • recopier, lorsque cela est possible, tous les fichiers qui contiennent des données importantes ; • relancer fsck et effectuer les réparations.  On peut profiter de l'examen des fichiers pour essayer de déterminer quelles commandes ou quels utilitaires ont pu causer ces incohérences.  Si fsck a réparé quelque chose dans le système de fichiers, il demande de rebooter le système. Il ne faut pas réaliser la commande sync dans ce cas là. En effet fsck a corrigé le super-bloc sur le disque et non sa copie en mémoire. Si l'on appelle sync, cette copie sera réécrite sur le disque et le super-bloc devient incohérent par rapport aux modifications apportées. Dans ces conditions il est préférable d'utiliser une commande comme halt ou reboot.

jj/10/OO

ESAT

16

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

4.7.

MONTAGE DE SYSTEMES DE FICHIERS 4.7.1. Création de volumes : 4.7.1.1. Généralités

Pour des raisons d'efficacité et de sécurité, il est déconseillé de ne créer qu'un seul système de fichiers [ D'autant que sur certains gros systèmes une telle organisation serait impossible ]. Pour éviter qu'un système de fichiers ne soit trop important : • UNIX autorise la division d'une partition d'un disque dur : chaque partition sert alors de support à un système de fichiers à part entière. • UNIX sait gérer les systèmes de fichiers qui sont créés sur des unités mobiles. • UNIX peut gérer des configurations comportant plusieurs disques durs, chacun servant de support à un ou plusieurs système de fichiers.

Pour globaliser la gestion de ces ensembles de système de fichiers, UNIX utilise la notion de volume : un volume est le support d'un système de fichiers à part entière, quelle que soit son implantation physique réelle. Il peut y avoir de nombreux volumes, mais un seul système de fichiers est actif : c'est le système racine ( root filesystem ). Il sert de racine ' / ' à l'arborescence reconnue par le système. Les autres systèmes de fichiers ne sont reconnus par le système que s'ils sont "montés" sur le système racine ( = rattachés à l'arborescence racine ) : la notion de montage de volumes fait quelle que soit la configuration en cours, le système a la vision d'une arborescence unique qu'il gère comme telle. 4.7.1.2. Politique de création de volumes

Quelques règles sont à respecter concernant la création des volumes :  Règles physiques : • Chaque disque peut être divisé en plusieurs parties, chacune représentant un volume ;

La partition swap, créée lors de l'installation, est gérée directement par le système et n'est pas à considérer comme un volume ( il n'y a pas de système de fichiers dans cette partition ).

jj/10/OO

ESAT

17

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

 Règles logiques : • Il est conseillé de créer une partition contenant le système proprement dit. Elle supportera le système racine ; • Une ou plusieurs partitions supplémentaires seront créées pour contenir les répertoires des utilisateurs et, éventuellement, des applications importantes particulières ( bases de données );

4.7.2. Opérations de montage et de démontage : De fait l'administrateur devra souvent monter et démonter des volumes annexes de manière à ce qu'ils puissent être pris en compte par le système. Certains de ces montages sont réalisés automatiquement lors de l'initialisation du système : il s'agit du montage des diverses partitions du (ou des) disque(s). D'autres ne sont effectués qu'à la demande (disquettes). Le système fournit en standard plusieurs outils pour assurer la gestion des volumes montés. Les opérations de montage et de démontage peuvent être réalisées, lorsque le besoin s'en fait sentir, par les commandes mount et umount. En général les montages autorisés concernent le système de fichiers contenant les répertoires utilisateurs et les systèmes de fichiers montés via les lecteurs de disquettes.  Commande / bin / mount : La commande mount réalise le montage d'un système de fichiers, présent sur un volume caractérisé par un fichier spécial, sur un répertoire présent dans l'arborescence du système de fichiers racine. Syntaxe mount [-hV] mount -a [-fnrvw] [-t type] mount [-fnrvw] [-o options [,...]] periph | rep mount [-fnrvw] [-t type] [-o options] periph rep -r Le système de fichiers est monté en lecture seule - f sftype Indique le type du système de fichiers ( voir : création de système de fichiers ) fic_special Nom du fichier spécial sous lequel est référencé le volume à monter. répertoire Chemin du répertoire où le volume est monté.

 Le répertoire récepteur devrait être vide. S'il contient des fichiers, ceux-ci sont masqués ( mais non détruits ), pendant la durée du montage : on ne peut plus y accéder.

jj/10/OO

ESAT

18

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

 nom du répertoire récepteur devient celui de la racine du système monté. Le  mount met à jour le fichier / etc / mtab qui contient la liste des volumes montés (et éventuellement leur provenance dans le cas de fichiers distribués sur un réseau ).  Invoqué sans paramètres, mount affiche le contenu de / etc / mtab : nom de chaque volume monté, répertoire sur lequel il est monté, montage éventuel en lecture seule. • La commande mount -a [-t type] (généralement exécutée dans un script de démarrage) monte tous les systèmes de fichiers indiqués dans / etc / fstab (ou uniquement ceux du type indiqué), à l'exception de ceux dont la ligne contient le mot-clé noauto. • Lorsque l'on monte un système de fichiers mentionné dans la fstab, il suffit d'indiquer le point de montage ou le périphérique. • Normalement, seul le Super-Utilisateur peut monter des systèmes de fichiers. Néanmoins, si la ligne de la fstab contient l'option user, n'importe quel utilisateur peut monter le système de fichiers correspondant. Ainsi, avec une ligne : /dev/cdrom /cd iso9660 ro,user,noauto,unhide dans la fstab, n'importe quel utilisateur peut monter le système iso9660 se trouvant sur son CDROM en utilisant la commande mount / dev / cdrom  Commande / bin / umount : umount réalise le démontage d'un système de fichiers. La structure du système de fichiers est remise à jour ainsi que le fichier / etc / mtab. Syntaxe : umount fic_special

 Il faut toujours invoquer umount avant d'extraire une disquette du lecteur. Si cela n'est pas fait, il y aura des incohérences dans les tables du système de fichiers de la disquette.

jj/10/OO

ESAT

19

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

 Format du fichier / etc / mtab : Chaque ligne de ce fichier contient l'identification des systèmes de fichiers montés par la commande mount. Chaque entrée est constituée des champs suivants: • chemin du point de montage • nom du fichier spécial du système à monter • permissions de lecture / écriture sur le système de fichiers • date du montage.  Ce fichier est remis à zéro à chaque démarrage ( il ne contient alors que l'entrée : /dev / root ) pour assurer la cohérence des informations. Le fichier / etc / mtab est verrouillé en écriture : il ne peut être modifié que par les utilitaires de montage / démontage.  Dans certains autres systèmes ce fichier s'appelle / etc / mnttab.

5.

Commandes diverses
 La commande / bin / df Affiche l'espace disque Syntaxe : df [-aikPv] [-t fstype] [-x fstype] [--all] [--inodes] [--type=fstype] [-exclude-type=fstype] [--kilobytes] [--portability] [--print-type] [--help] [--version] [file- name...]

 La commande / usr / bin / du du affiche la quantité d'espace disque utilisée par chacun des arguments, et pour chacun des sous-répertoires des répertoires indiqués en argument. L'espace est mesuré en blocs d'un Ko par défaut. Syntaxe : du [-abcklsxDLS] [--all] [--total] [--count-links] [--sum-marize] [-bytes] [--kilobytes] [--one-file-system] [--separate-dirs] [--dereference] [ --dereference-args ] [--help] [--version] [fichiers...]

 La commande / usr / bin / strings Affiche les valeurs ascii imprimables d'un fichier binaire Syntaxe : strings [-a|-|--all] [-f|--print-file-name] [-o] [--help] [-v|--version] [-n min-len|-min-len|--bytes=min-len] [-t {o,x,d}[--target=bfdname] |-radix={o,x,d}] file

jj/10/OO

ESAT

20

Systèmes Répartis

UNIX

Gestion des systèmes de fichiers

 La commande / usr / bin / mtools mtools est une commande présentant une collection de commandes permettant de manipuler des fichiers DOS. On trouve entre autres : mattrib, mbadblocks, mcd, mcopy, mdel, mdeltree, mdir, mformat minfo, mlabel, mmd, mmount, mpartition, mrd, mread, mmove mren, mtoolstest, mtype, mwrite, mzip Les lettres des lecteurs attribués dans le monde DOS sont reconnues par ces utilitaires (a: premier floppy , b: deuxième floppy) ainsi que d'autres lettres comme j: pour atteindre un disque JAZZ , z: un disque ZIP etc.…  La commande / usr / sbin / fuser Identifie les processus qui utilisent un fichier ou un système de fichiers. Syntaxe : fuser [-a|-s] [-signal] [-kmuv] fichier ... [-] [-signal] [-kmuv] fichier ... fuser -l fuser -V

jj/10/OO

ESAT

21

Sign up to vote on this title
UsefulNot useful