Table des matières

Niveau : Admin Junior Numéro de la Leçon Dernière Modification
2/4 <progrecss 4/12 style=inline /> 2020/01/30 03:28

Gestion des Disques et le Swap

Périphériques de stockage

Les unités de stockage sous Linux sont référencé par un des fichiers se trouvant dans le répertoire /dev :

Partitions

Un PC comportent en règle générale 2 contrôleurs de disque, chacun capable de gérer 2 disques, un maître et un esclave. Les disques attachés à ces contrôleurs comportent des noms différents pour pouvoir les distinguer :

Un disque peut comporter trois types de partitions :

Les 4 partitions primaires sont numérotées de 1 à 4. Par exemple :

;#;;#;

Une partition étendue prend la place d'une partition primaire et les lecteurs logiques qui s'y trouvent commencent à partir de hda5 ou de sda5.

Pour clarifier ceci, considérons un disque SATA contenant deux partitions primaires, une seule partition étendue et 3 lecteurs logiques. Dans ce cas, les deux premières partitions sont sda1 et sda2, la partition étendue prend la place de la troisième partition primaire, la sda3 et s'appelle ainsi tandis que la quatrième partition primaire est inexistante.

Les lecteurs logiques commençant à sda5, nous obtenons la liste de partitions suivante : sda1, sda2, sda5, sda6, sda7. Notez que la sda3 ne peut pas être utilisée en tant que partition car elle est cachée par les lecteurs sda5, sda6 et sda7.

;#;;#;

Le nombre de partitions sur un disque est limité :

<note important> Ces limites peuvent être dépassées en utilisant la gestion LVM ( Logical Volume Management ). Ce sujet est abordé dans la leçon Gestion des Disques - RAID et LVM. </note>

Partitionnement

Pour procéder au partitionnement de votre disque ou de vos disques, Linux possède un outil dénommé fdisk.

Lancez fdisk en fournissant en argument le fichier de référence de votre premier disque dur, par exemple :

opensuse:~ # fdisk /dev/sda

Command (m for help): 

Tapez ensuite la lettre m puis ↵ Entrée pour obtenir le menu :

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help): 

Pour créer une nouvelle partition, vous devez utiliser la commande n.

Créez donc les partitions suivantes sur votre disque :

Partition Type Taille de la Partition
/dev/sda4 Extended Du premier cylindre disponible au dernier cylindre du disque
/dev/sda5 Logique 500 Mo
/dev/sda6 Logique 200 Mo
/dev/sda7 Logique 300 Mo
/dev/sda8 Logique 500 Mo
/dev/sda9 Logique 400 Mo
/dev/sda10 Logique 500 Mo
/dev/sda11 Logique 500 Mo
/dev/sda12 Logique 200 Mo

Créez d'abord la partition étendue :

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
e
Selected partition 4
First sector (21671685-33554431, default 21671685): 
Using default value 21671685
Last sector, +sectors or +size{K,M,G} (21671685-33554431, default 33554431): 
Using default value 33554431

Command (m for help): 

Créez ensuite les autres partitions l'une après l'autre :

Command (m for help): n
First sector (21673733-33554431, default 21673733): 
Using default value 21673733
Last sector, +sectors or +size{K,M,G} (21673733-33554431, default 33554431): +500M

Command (m for help): n
First sector (22699781-33554431, default 22699781): 
Using default value 22699781
Last sector, +sectors or +size{K,M,G} (22699781-33554431, default 33554431): +200M

Command (m for help): n
First sector (23111429-33554431, default 23111429): 
Using default value 23111429
Last sector, +sectors or +size{K,M,G} (23111429-33554431, default 33554431): +300M

Command (m for help): n
First sector (23727877-33554431, default 23727877): 
Using default value 23727877
Last sector, +sectors or +size{K,M,G} (23727877-33554431, default 33554431): +500M

Command (m for help): n
First sector (24753925-33554431, default 24753925): 
Using default value 24753925
Last sector, +sectors or +size{K,M,G} (24753925-33554431, default 33554431): +400M

Command (m for help): n
First sector (25575173-33554431, default 25575173): 
Using default value 25575173
Last sector, +sectors or +size{K,M,G} (25575173-33554431, default 33554431): +500M

Command (m for help): n
First sector (26601221-33554431, default 26601221): 
Using default value 26601221
Last sector, +sectors or +size{K,M,G} (26601221-33554431, default 33554431): +500M

Command (m for help): n
First sector (27627269-33554431, default 27627269): 
Using default value 27627269
Last sector, +sectors or +size{K,M,G} (27627269-33554431, default 33554431): +200M

Command (m for help):

Tapez ensuite la lettre p puis ↵ Entrée pour visualiser la nouvelle table des partitions. Vous obtiendrez un résultat similaire à celui-ci :

Command (m for help): p

Disk /dev/sda: 17.2 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders, total 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b6e9a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      225279      111616   83  Linux
/dev/sda2          225280    17575109     8674915   83  Linux
/dev/sda3        17575110    21671684     2048287+  82  Linux swap / Solaris
/dev/sda4        21671685    33554431     5941373+   5  Extended
/dev/sda5        21673733    22697732      512000   83  Linux
/dev/sda6        22699781    23109380      204800   83  Linux
/dev/sda7        23111429    23725828      307200   83  Linux
/dev/sda8        23727877    24751876      512000   83  Linux
/dev/sda9        24753925    25573124      409600   83  Linux
/dev/sda10       25575173    26599172      512000   83  Linux
/dev/sda11       26601221    27625220      512000   83  Linux
/dev/sda12       27627269    28036868      204800   83  Linux

Command (m for help): 

<note important> Chaque bloc fait 1 024 octets. Chaque secteur fait 512 octets. Quand la partition contient un nombre impair de secteurs, celle-ci est marquée avec un +. Ceci implique que le dernier secteur de 512 octets est effectivement perdu. </note>

Ecrivez la table des partitions sur disque et redémarrez :

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
opensuse:~ # reboot

Reconnectez-vous et lancez fdisk en tant que root. Tapez ensuite la lettre p puis ↵ Entrée pour visualiser la table des partitions actuelle :

trainee@opensuse:~> su -
Mot de passe : 
opensuse:~ # fdisk /dev/sda

Command (m for help): p

Disk /dev/sda: 17.2 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders, total 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b6e9a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      225279      111616   83  Linux
/dev/sda2          225280    17575109     8674915   83  Linux
/dev/sda3        17575110    21671684     2048287+  82  Linux swap / Solaris
/dev/sda4        21671685    33554431     5941373+   5  Extended
/dev/sda5        21673733    22697732      512000   83  Linux
/dev/sda6        22699781    23109380      204800   83  Linux
/dev/sda7        23111429    23725828      307200   83  Linux
/dev/sda8        23727877    24751876      512000   83  Linux
/dev/sda9        24753925    25573124      409600   83  Linux
/dev/sda10       25575173    26599172      512000   83  Linux
/dev/sda11       26601221    27625220      512000   83  Linux
/dev/sda12       27627269    28036868      204800   83  Linux

Command (m for help): 

Pour supprimer une partition, utilisez la commande d puis ↵ Entrée. fdisk vous demandera le numéro de la partition à supprimer, par exemple :

Command (m for help): d
Partition number (1-12): 12

Command (m for help): p

Disk /dev/sda: 17.2 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders, total 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b6e9a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      225279      111616   83  Linux
/dev/sda2          225280    17575109     8674915   83  Linux
/dev/sda3        17575110    21671684     2048287+  82  Linux swap / Solaris
/dev/sda4        21671685    33554431     5941373+   5  Extended
/dev/sda5        21673733    22697732      512000   83  Linux
/dev/sda6        22699781    23109380      204800   83  Linux
/dev/sda7        23111429    23725828      307200   83  Linux
/dev/sda8        23727877    24751876      512000   83  Linux
/dev/sda9        24753925    25573124      409600   83  Linux
/dev/sda10       25575173    26599172      512000   83  Linux
/dev/sda11       26601221    27625220      512000   83  Linux

Command (m for help): 

A ce stade, la partition n'a pas été réellement supprimée. En effet, vous avez la possibilité de sortir de fdisk en utilisant la commande q.

Tapez donc q pour sortir de fdisk puis relancez fdisk. Vous obtiendrez un résultat similaire à celui-ci :

Command (m for help): q

opensuse:~ # fdisk /dev/sda

Command (m for help): p

Disk /dev/sda: 17.2 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders, total 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b6e9a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      225279      111616   83  Linux
/dev/sda2          225280    17575109     8674915   83  Linux
/dev/sda3        17575110    21671684     2048287+  82  Linux swap / Solaris
/dev/sda4        21671685    33554431     5941373+   5  Extended
/dev/sda5        21673733    22697732      512000   83  Linux
/dev/sda6        22699781    23109380      204800   83  Linux
/dev/sda7        23111429    23725828      307200   83  Linux
/dev/sda8        23727877    24751876      512000   83  Linux
/dev/sda9        24753925    25573124      409600   83  Linux
/dev/sda10       25575173    26599172      512000   83  Linux
/dev/sda11       26601221    27625220      512000   83  Linux
/dev/sda12       27627269    28036868      204800   83  Linux

Command (m for help): 

Sortez de fdisk en utilisant la commande q.

Systèmes de Fichiers Journalisés

Présentation

Un journal est la partie d'un système de fichiers journalisé qui trace les opérations d'écriture tant qu'elles ne sont pas terminées et cela en vue de garantir l'intégrité des données en cas d'arrêt brutal.

L'intérêt est de pouvoir plus facilement et plus rapidement récupérer les données en cas d'arrêt brutal du système d'exploitation (coupure d'alimentation, plantage du système, etc.), alors que les partitions n'ont pas été correctement synchronisées et démontées.

Sans un tel fichier journal, un outil de récupération de données après un arrêt brutal doit parcourir l'intégralité du système de fichier pour vérifier sa cohérence. Lorsque la taille du système de fichiers est importante, cela peut durer très longtemps pour un résultat moins efficace car entraînant des pertes de données.

Linux peut utiliser un des systèmes de fichiers journalisés suivants :

Par contre il convient de noter que seul Ext3 est activé par défaut. Pour activer le support des autres systèmes de fichiers il est nécessaire de recompiler le noyau.

Ext3

Ext3 est une évolution de Ext2 et a pour principale différence d'utiliser un fichier journal. Il peut :

Pour plus d'information concernant Ext3, consultez cette page

Ext4

Le système de fichiers Ext4 fut introduit dans le noyau 2.6.19 en mode expérimental et est devenu stable dans le noyau 2.6.28.

Ext4 n'est pas une évolution de Ext3. Cependant il a une compatibilité ascendante avec Ext3.

Les fonctionnalités majeures d'Ext4 sont :

L'option extents est activée par défaut depuis le noyau 2.6.23.

La compatibilité ascendante avec ext3 comprend :

Pour plus d'informations concernant Ext4, consultez cette page.

ReiserFS

ReiserFS permet :

Pour plus d'informations concernant ReiserFS, consultez cette page.

XFS

XFS est un système de fichiers 64-bit journalisé de haute performance crée par SGI pour son système d'exploitation IRIX. XFS est inclus par défaut avec les versions du noyau Linux 2.5.xx et 2.6.xx.

Pour plus d'informations concernant XFS, consultez cette page.

JFS

JFS Journaled File System est un système de fichiers journalisé mis au point par IBM et disponible sous licence GPL.

Pour plus d'informations concernant JFS, consultez cette page.

<note> Pour comparer ces quatre systèmes de fichier, veuillez consulter cette page </note>

Modes de journalisation Ext3

Ext3 dispose de trois modes de journalisation:

Ces modes peuvent être activés au montage de la partition. Par défaut, ext3 est monté avec le mode data=ordered qui convient pour le cas général. Dans ce mode, les metadata - métadonnées sont d'abord écrites dans le journal, ensuite sur le disque après l'écriture effective des données sur le disque.

Le mode data=writeback, où les métadonnées sont journalisées mais peuvent être écrites sur le disque avant les données elles-mêmes, est plus rapide dans certaines circonstances, tout en assurant la cohérence du système de fichiers. C'est aussi le mode de fonctionnement de reiserfs, jfs et xfs.

Le mode data=journal, où les données et les métadonnées sont journalisées, est plus lent car les données sont écrites deux fois, mais offre aussi plus de garantie quant à l'intégrité des fichiers.

Pour modifier le mode il convient de monter la partition avec l'option désirée :

# mount -o data=writeback /dev/sda12 /mnt/sda12 [Entrée]

Gestion de la journalisation Ext3

Notez maintenant le numéro de la dernière partition que vous avez précédemment créée :

opensuse:~ # fdisk -l

Disk /dev/sda: 17.2 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders, total 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b6e9a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      225279      111616   83  Linux
/dev/sda2          225280    17575109     8674915   83  Linux
/dev/sda3        17575110    21671684     2048287+  82  Linux swap / Solaris
/dev/sda4        21671685    33554431     5941373+   5  Extended
/dev/sda5        21673733    22697732      512000   83  Linux
/dev/sda6        22699781    23109380      204800   83  Linux
/dev/sda7        23111429    23725828      307200   83  Linux
/dev/sda8        23727877    24751876      512000   83  Linux
/dev/sda9        24753925    25573124      409600   83  Linux
/dev/sda10       25575173    26599172      512000   83  Linux
/dev/sda11       26601221    27625220      512000   83  Linux
/dev/sda12       27627269    28036868      204800   83  Linux

Dans le cas de cette exemple, il s'agit de /dev/sda12.

Créez maintenant un filesystem Ext3 sur /dev/hda12 en utilisant la commande mke2fs -j :

opensuse:~ # mke2fs -j /dev/sda12
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
51200 inodes, 204800 blocks
10240 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
25 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729

Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Les options de la commande mke2fs sont :

opensuse:~ # mke2fs --help
mke2fs: invalid option -- '-'
Usage: mke2fs [-c|-l filename] [-b block-size] [-f fragment-size]
	[-i bytes-per-inode] [-I inode-size] [-J journal-options]
	[-G meta group size] [-N number-of-inodes]
	[-m reserved-blocks-percentage] [-o creator-os]
	[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]
	[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]
	[-T fs-type] [-U UUID] [-jnqvFKSV] device [blocks-count]

<note important> Lors de la mise en place d'un filesystem ext2/ext3/ext4, le système réserve 5% de l'espace disque pour root. Sur des disques de grande taille il est parfois préférable de récupérer une partie de cet espace en utilisant la commande tune2fs -m n /dev/sdXY ou n est le nouveau pourcentage à réserver. </note>

La commande dumpe2fs

Pour vérifier si un système de fichiers Ext2 est journalisé, utilisez la commande dumpe2fs :

opensuse:~ # dumpe2fs -h /dev/sda12
dumpe2fs 1.41.14 (22-Dec-2010)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          dcf680a8-4487-48c8-8fff-6bc250a02983
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype sparse_super
Filesystem flags:         signed_directory_hash 
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              51200
Block count:              204800
Reserved block count:     10240
Free blocks:              192674
Free inodes:              51189
First block:              1
Block size:               1024
Fragment size:            1024
Reserved GDT blocks:      256
Blocks per group:         8192
Fragments per group:      8192
Inodes per group:         2048
Inode blocks per group:   256
Filesystem created:       Tue Apr 10 12:47:38 2012
Last mount time:          n/a
Last write time:          Tue Apr 10 12:47:38 2012
Mount count:              0
Maximum mount count:      28
Last checked:             Tue Apr 10 12:47:38 2012
Check interval:           15552000 (6 months)
Next check after:         Sun Oct  7 12:47:38 2012
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          128
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      3fafefde-3121-4cfb-a57c-a4f2ad9ccf55
Journal backup:           inode blocks
Journal features:         (none)
Journal size:             4113k
Journal length:           4096
Journal sequence:         0x00000001
Journal start:            0

<note important> Le drapeau Filesystem features: has_journal … démontre que Ext3 est utilisé sur cette partition. </note>

Les options de cette commande sont :

opensuse:~ # dumpe2fs --help
dumpe2fs 1.41.14 (22-Dec-2010)
dumpe2fs: invalid option -- '-'
Usage: dumpe2fs [-bfhixV] [-o superblock=<num>] [-o blocksize=<num>] device

La commande tune2fs

Pour supprimer Ext3 sur cette partition, il convient d'utiliser la commande tune2fs

opensuse:~ # tune2fs -O ^has_journal /dev/sda12
tune2fs 1.41.14 (22-Dec-2010)

Les options de cette commande sont :

opensuse:~ # tune2fs --help
tune2fs 1.41.14 (22-Dec-2010)
tune2fs: invalid option -- '-'
Usage: tune2fs [-c max_mounts_count] [-e errors_behavior] [-g group]
	[-i interval[d|m|w]] [-j] [-J journal_options] [-l]
	[-m reserved_blocks_percent] [-o [^]mount_options[,...]] 
	[-r reserved_blocks_count] [-u user] [-C mount_count] [-L volume_label]
	[-M last_mounted_dir] [-O [^]feature[,...]]
	[-E extended-option[,...]] [-T last_check_time] [-U UUID]
	[ -I new_inode_size ] device

Constatez le résultat de cette commande :

opensuse:~ # dumpe2fs -h /dev/sda12
dumpe2fs 1.41.14 (22-Dec-2010)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          dcf680a8-4487-48c8-8fff-6bc250a02983
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super
Filesystem flags:         signed_directory_hash 
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              51200
Block count:              204800
Reserved block count:     10240
Free blocks:              196787
Free inodes:              51189
First block:              1
Block size:               1024
Fragment size:            1024
Reserved GDT blocks:      256
Blocks per group:         8192
Fragments per group:      8192
Inodes per group:         2048
Inode blocks per group:   256
Filesystem created:       Tue Apr 10 12:47:38 2012
Last mount time:          n/a
Last write time:          Tue Apr 10 13:01:53 2012
Mount count:              0
Maximum mount count:      28
Last checked:             Tue Apr 10 12:47:38 2012
Check interval:           15552000 (6 months)
Next check after:         Sun Oct  7 12:47:38 2012
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          128
Default directory hash:   half_md4
Directory Hash Seed:      3fafefde-3121-4cfb-a57c-a4f2ad9ccf55
Journal backup:           inode blocks

<note important> Notez que le drapeau Filesystem features: has_journal … a été supprimé. </note>

Supprimez maintenant l'inode du journal :

opensuse:~ # fsck /dev/sda12
fsck from util-linux 2.19
e2fsck 1.41.14 (22-Dec-2010)
/dev/sda12: clean, 11/51200 files, 8013/204800 blocks

Créez maintenant un point de montage pour /dev/sda12 :

opensuse:~ # mkdir /mnt/sda12

Essayez de monter /dev/sda12 en tant que système de fichiers Ext3. Vous obtiendrez un résultat similaire à celui-ci :

opensuse:~ # mount -t ext3 /dev/sda12 /mnt/sda12
mount: wrong fs type, bad option, bad superblock on /dev/sda12,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

<note important> Notez l'erreur due au mauvais système de fichiers qui suit l'option -t. </note>

Montez maintenant le système de fichiers en tant que Ext2 :

opensuse:~ # mount -t ext2 /dev/sda12 /mnt/sda12
opensuse:~ # 

Pour replacer le journal sur /dev/sda12, il convient d'utiliser la commande tune2fs :

opensuse:~ # umount /mnt/sda12
opensuse:~ # tune2fs -j /dev/sda12
tune2fs 1.41.14 (22-Dec-2010)
Creating journal inode: done
This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

<note important> Notez que vous avez du démonter la partition avant d'exécuter la commande tune2fs. </note>

Le journal d'un système de fichiers peut être placé sur un autre périphérique bloc.

Créez un système de fichiers sur /dev/sda11 :

opensuse:~ # mke2fs -O journal_dev /dev/sda11
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
0 inodes, 128000 blocks
0 blocks (0.00%) reserved for the super user
First data block=0
0 block group
32768 blocks per group, 32768 fragments per group
0 inodes per group
Superblock backups stored on blocks: 

Zeroing journal device: done 

<note important> Notez l'utilisation de l'option -O. </note>

Créez maintenant un système de fichiers Ext3 sur /dev/sda12 en plaçant le journal sur /dev/sda11 :

                     
opensuse:~ # mke2fs -j -J device=/dev/sda11 /dev/sda12
mke2fs 1.41.14 (22-Dec-2010)
Using journal device's blocksize: 4096
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
51200 inodes, 51200 blocks
2560 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=54525952
2 block groups
32768 blocks per group, 32768 fragments per group
25600 inodes per group
Superblock backups stored on blocks: 
	32768

Writing inode tables: done                            
Adding journal to device /dev/sda11: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

<note important> Notez que le journal a été placé sur /dev/sda11 graĉe à l'utilisation de l'option -J. </note>

Pour modifiez la fréquence de vérification du système de fichiers sur /dev/sda12, il convient d'utiliser soit l'option -c, soit l'option -i :

opensuse:~ # tune2fs -i 100d /dev/sda12
tune2fs 1.41.14 (22-Dec-2010)
Setting interval between checks to 8640000 seconds

Le Swap

Taille du swap

Le tableau suivant résume la taille du swap recommandée en fonction de la mémoire de la machine :

Mémoire Taille du swap
4 Go ou moins 2 Go
4 Go à 16 Go 4 Go
16 Go à 64 Go 8 Go
64 Go à 256 Go 16 Go

Partitions de swap

Une partition de swap peut être créée sur :

La Commande swapon

Pour préparer un espace de swap, il convient d'utiliser la commande mkswap. Pour activer une partition de swap, il convient d'utiliser la commande swapon. Pour consulter la liste des partitions swap, il convient d'utiliser la commande swapon avec l'option -s.

opensuse:~ # swapon -s
Filename				Type		Size	Used	Priority
/dev/sda3                               partition	2048280	0	-1

<note important> Vous noterez que dans l'exemple ci-dessus, le swap n'est pas utilisé. Notez aussi qu'il existe une notion de priorité pour les partions de swap. </note>

Options de la Commande

Les options de la commande swapon sont :

opensuse:~ # swapon --help

Usage:
 swapon -a [-e] [-v] [-f]             enable all swaps from /etc/fstab
 swapon [-p priority] [-d] [-v] [-f] <special>  enable given swap
 swapon -s                            display swap usage summary
 swapon -h                            display help
 swapon -V                            display version

The <special> parameter:
 {-L label | LABEL=label}             LABEL of device to be used
 {-U uuid  | UUID=uuid}               UUID of device to be used
 <device>                             name of device to be used
 <file>                               name of file to be used

<note important> L'option -p de la commande swapon permet de régler la priorité. </note>

La Commande swapoff

Dans le cas de notre exemple, la partition de swap se trouve sur /dev/sda3. Pour la désactiver, il convient de saisir la commande suivante :

opensuse:~ # swapoff /dev/sda3
opensuse:~ # swapon -s
Filename				Type		Size	Used	Priority

Options de la Commande

opensuse:~ # swapoff --help

Usage:
 swapoff -a [-v]                      disable all swaps
 swapoff [-v] <special>               disable given swap
 swapoff -h                           display help
 swapoff -V                           display version

The <special> parameter:
 {-L label | LABEL=label}             LABEL of device to be used
 {-U uuid  | UUID=uuid}               UUID of device to be used
 <device>                             name of device to be used
 <file>                               name of file to be used

Le Fichier /etc/fstab

Pour réactiver le swap, il convient de saisir de nouveau la commande swapon :

opensuse:~ # swapon /dev/sda3
opensuse:~ # swapon -s
Filename				Type		Size	Used	Priority
/dev/sda3                               partition	2048280	0	-1

Pour chaque partition de swap, le fichier /etc/fstab doit contenir un enregistrement. Saisissez la commande suivante :

opensuse:~ # cat /etc/fstab
/dev/sda3	swap                 swap       defaults              0 0
/dev/sda2	/                    ext3       acl,user_xattr        1 1
/dev/sda1 	/boot                ext3       acl,user_xattr        1 2
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
usbfs                /proc/bus/usb        usbfs      noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0

Chaque ligne dans ce fichier contient 6 champs :

Champ 1 Champ 2 Champ 3 Champ 4 Champ 5 Champ 6
Fichier de bloc spécial ou UUID ou système de fichiers virtuel Point de montage Type de système de fichiers Options séparées par des virgules Utilisé par dump ( 1 = à dumper, 0 ou vide = à ignorer ) L'ordre de vérification par fsck des systèmes de fichiers au moment du démarrage

L'UUID ( Universally Unique IDentifier ) est une chaîne d'une longueur de 128 bits. Les UUID sont créés automatiquement et d'une manière aléatoire lors de la création du filesystem sur la partition. Ils peuvent être modifiés par l'administrateur. Dans l'exemple ci-dessus, si les UUID étaient utilisés, ils se trouveront à la place de /dev/sda1, /dev/sda2 et /dev/sda3.

<note> Consultez l'explication de l'option -o de la commande mount dans le manuel de ce dernier afin de comprendre les options possibles du quatrième champs du fichier /etc/fstab. </note>

Fichiers de swap

Sous SLES/openSUSE, vous pouvez aussi bien utiliser un fichier de swap qu'une partition. La mise en place de ce fichier est faite en utilisant la commande dd.

La commande dd copie le fichier passé en entrée dans le fichier de sortie en limitant le nombre d'octets copiés par l'utilisation de deux options :

Dans le cas du fichier swap il convient d'utiliser le fichier spécial /dev/zero en tant que fichier d'entrée. Le fichier /dev/zero contient une valeur null.

Pour créer votre fichier de swap de 256Mo, appelé swap, saisissez la commande suivante :

opensuse:~ # dd if=/dev/zero of=/swap bs=1024k count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 1.40702 s, 191 MB/s

Pour préparer le fichier en tant qu'espace de swap, saisissez la commande suivante :

opensuse:~ # mkswap /swap
Setting up swapspace version 1, size = 262140 KiB
no label, UUID=539885cd-332c-49af-8039-c6b6a78a026d

Pour activer le fichier avec une priorité de 3, saisissez la commande suivante :

opensuse:~ # swapon -p3 /swap

Pour visualiser les éspaces swap, saisissez la commande suivante :

opensuse:~ # swapon -s
Filename				Type		Size	Used	Priority
/dev/sda3                               partition	2048280	0	-1
/swap                                   file		262140	0	3

<note important> Le fichier de swap ayant une priorité de 3 sera utilisé avant la partition de swap ayant une priorité de -1. </note>

Pour activer le fichier swap d'une manière permanente, il convient d'éditer le fichier /etc/fstab ainsi :

opensuse:~ # cat /etc/fstab
/dev/sda3	swap                 swap       defaults              0 0
/dev/sda2	/                    ext3       acl,user_xattr        1 1
/dev/sda1 	/boot                ext3       acl,user_xattr        1 2
/swap		swap		     swap	defaults	      0 0	
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
usbfs                /proc/bus/usb        usbfs      noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0

<note important> Ne modifiez pas votre fichier /etc/fstab car vous allez supprimer le fichier de swap. </note>

Désactivez maintenant le fichier swap :

opensuse:~ # swapoff /swap
opensuse:~ # swapon -s
Filename				Type		Size	Used	Priority
/dev/sda3                               partition	2048280	0	-1

Supprimez maintenant le fichier de swap :

opensuse:~ # rm /swap

~~DISCUSSION:off~~

Donner votre Avis

{(rater>id=opensuse_11_l109|name=cette page|type=rate|trace=user|tracedetails=1)}