Fdisk

Bonjour,

Je cherche a installer un systeme de fichier lvm sur un disque dur :
voilà ou j’en suis et je m’interroge sur le premier secteur sachant que j’ai effacer les partitions juste avant avec fdisk.

[code]Disque /dev/sda : 1000.2 Go, 1000204886016 octets
255 têtes, 63 secteurs/piste, 121601 cylindres, total 1953525168 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d’E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x0fcd1bf7

Périphérique Amorce Début Fin Blocs Id Système

Commande (m pour l’aide): n
Type de partition :
p primaire (0 primaire(s), 0 étendue(s), 4 libre(s))
e étendue
Sélection (p par défaut) : p
Numéro de partition (1-4, par défaut 1): 1
Premier secteur (2048-1953525167, par défaut 2048):[/code]Pourquoi 2048 et pas 1 ?

  1. LVM n’est pas un système de fichiers mais un gestionnaire de volumes logiques.

  2. La proposition de commencer la partition au secteur 2048 sert à aligner le début de la partition sur une limite de bloc arbitrairement fixée à 2048 secteurs censée être multiple de toutes les tailles de bloc de lecture/écriture/effacement physique des SSD et des tailles de secteurs physiques des disques durs au format avancé 512e, pour des raisons de performance. Lire et surtout écrire un bloc non aligné induit une pénalité car il faut lire/modifier/écrire deux blocs consécutifs au lieu d’un. Accessoirement, pour un disque partitionné au format MSDOS, cela laisse de la place pour installer un chargeur d’amorçage comme GRUB. En revanche le format GPT définit un type de partition “BIOS boot” pour cet usage, cet espace ne sert donc qu’à l’alignement.

Merci pour cette réponse…complète :wink:

Maintenant, j’ai ce message à la création de mon volume logique : juste avant, j’ai effacé ma partition avec vgreduce

[code]Commande (m pour l’aide): w
La table de partitions a été altérée.

Appel de ioctl() pour relire la table de partitions.

Attention : la table de partitions n’a pas pu être relue : erreur 16 : Périphérique ou ressource occupé.
Le noyau continue à utiliser l’ancienne table. La nouvelle sera utilisée
lors du prochain démarrage ou après avoir exécuté partprobe(8) ou kpartx(8).
Synchronisation des disques.[/code]

Je continue ou je redémarre ?

Comme tu le vois, il s’agit de secteurs de 512 octets, et le premier secteur est occupé par le MBR qui contient entre autres la table des partitions.
S’il était question de faire commencer la première partition au numéro [mono]1[/mono], il ne pourrait donc pas y avoir de [mono]MBR[/mono],
car les secteurs ne sont pas numérotés en commençant par [mono]0[/mono] mais par le numéro [mono]1[/mono].

Dans ce [mono]MBR[/mono], il y a la table des partition, mais aussi un premier chargeur de boot,
mais dans 440 octets, il serait difficile de faire contenir assez d’instructions pour les différents pilotes qui vont permettre de reconnaître et d’utiliser les différents systèmes de fichiers possibles des partitions ou même les différents systèmes comme LVM, BTRFS, etc.

De plus, il est plus intéressant pour des raison de gestion d’accès entrée/sortie d’aligner le départ des partitions sur une valeur divisible par 1Mio ou parfois sur un début de cylindre (mais ça, c’est encore à un plus bas niveau).

Or :
[mono]2048 x 512 = 1048576[/mono] <=> [mono]1Mio[/mono]

Voilà donc un espace de 1Mio - 512 octets qui ira très bien pour que [mono]Grub[/mono] (ou autre chargeur de boot) puisse y mettre ce qu’il lui faut comme pilote pour pouvoir lire les fichiers contenus ([mono]/boot/grub/grub.cfg[/mono] entre autre) dans le système de fichiers de la partition choisie qui va servir à lancer le système.

=======
Désolé, je suis long à rédiger :slightly_smiling: Il y a eu 3 messages qui sont arrivés entre temps.

M’en fiche de grub :stuck_out_tongue: ; ce disque ne servira qu’à partager les fichiers de mon ptit reseau familial : 500 go en FAT et 500 go en ext4 . D’ou l’idée de faire un lvm pour mofifier au besoin la taille des partitions système.

A la création d’une partition, pas d’un volume logique. [mono]fdisk[/mono] ne s’occupe pas des volumes logiques.

C’est un inconvénient de [mono]fdisk[/mono] encore présent même dans la nouvelle version qui supporte le format GPT : il utilise un appel système du noyau pour lui faire recharger toute la table de partition mais qui échoue si au moins une partition est utilisée (système de fichiers monté, swap activé, membre d’un ensemble RAID assemblé, volume physique LVM d’un groupe ayant un volume logique activé…). D’autres outils comme [mono]parted[/mono] n’ont pas cet inconvénient car ils utilisent un appel système différent qui n’a pas cette limitation. Le paquet parted contient la commande [mono]partprobe[/mono] (suivie du nom du disque) qui utilise ce même appel système pour rafraîchir la liste des partitions connues du noyau. Néanmoins elle ne fonctionnera pas si la partition modifiée était en cours d’utilisation (ce qui est une mauvaise idée).

Pardon ? vgreduce sert à retirer un PV d’un VG, pas à effacer une partition.

[quote]…M’en fiche de grub :stuck_out_tongue: …[/quote]Alors oui, tu pourrais utiliser cet espace disque et faire commencer ta partition au secteur N°2, mais je ne sais pas si GPT permettra de le faire (avec un MBR MSDOS, pas de problèmes), et de toutes façons, cela pourrait rendre les accès entrée sortie beaucoup moins performants, pour finalement n’avoir récupéré même pas 1Mio => finalement, c’est pas très rentable à mon avis.

EDIT : Au pire si tu n’utilisais qu’une seule partition sur ce disque, tu pourrais même te passer de MBR (MSDOS ou GPT), et faire commencer la partition au secteur numéro [mono]1[/mono] pour récupérer ce premier méga octet (et il n’y aurait donc même plus de partition en fait).

=======
Bon, je vais laisser Pascal te répondre, sinon ça va être difficile de suivre :slightly_smiling:

du coup vous me conseillez de faire quoi pour mon reseau : deux banales partitions primaires ?

En adressage linéaire LBA, la seule qui ait encore un sens, la numérotation des secteurs commence à 0. Le MBR est donc le secteur 0. Avec une table de partition MSDOS, une partition pourrait très bien commencer au secteur 1, ce qui n’a aucun inconvénient avec un disque dur ayant des secteurs physiques et logiques de même taille et n’ayant donc pas besoin d’alignement. Mais il faut penser qu’on voudra peut-être un jour transférer le contenu du disque sur un autre support qui nécessite un alignement. Avec une table de partition GPT, une partition peut commencer juste après la fin de la table de partition, typiquement au secteur 34 pour des secteurs de 512 octets et une table de 128 entrées. Mais ce disque n’est manifestement pas au format GPT : d’une part fdisk ne mentionne pas le type de table de partition donc c’est l’ancienne version présente jusqu’à Wheezy qui ne supporte pas GPT, d’autre part il propose de créer une partition principale, étendue ou logique or ces distinctions n’existent pas en GPT.

La géométrie cylindres/têtes/secteurs présentée par un disque ne reste présente que pour des raisons de compatibilité et n’a aucune réalité physique. 255 têtes et 63 secteurs par piste, c’est une vaste blague. Elle est purement factice. Aligner les partitions sur un début de cylindre n’a par conséquent aucun impact sur les performances et aucun intérêt autre que la compatibilité avec de très vieux systèmes d’exploitation tels que MS-DOS.

Au secteur 0, et effectivement ce ne serait pas une partition. C’est faisable mais je ne le recommande pas car les programmes ou systèmes d’exploitation qui s’attendent à ce qu’un disque ait une table de partition pourrait considérer que ce disque est vide. Avec la capacité des disques actuels, on ne va pas pleurer pour 1 Mio.

Pour quoi faire ? Quel rapport avec le réseau ?

J’ai fini par créér deux partitions principales :
une en fat32 sur /dev/sda1
une en ext4 sur /dev/sda2

chacune de 500 go.
Voici mon fstab :

[quote]at /etc/fstab

/etc/fstab: static file system information.

Use ‘blkid’ to print the universally unique identifier for a

device; this may be used with UUID= as a more robust way to name devices

that works even if disks are added and removed. See fstab(5).

/dev/mapper/serveur–debian-root / ext4 errors=remount-ro 0 1

/boot was on /dev/sda1 during installation

UUID=089f61b9-829e-4832-bed0-98127481b52c /boot ext2 defaults 0 2
/dev/mapper/serveur–debian-home /home ext4 defaults 0 2
/dev/mapper/serveur–debian-tmp /tmp ext4 defaults 0 2
/dev/mapper/serveur–debian-usr /usr ext4 defaults 0 2
/dev/mapper/serveur–debian-var /var ext4 defaults 0 2
/dev/mapper/serveur–debian-swap_1 none swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
#/dev/sdb1 /media/usb0 auto rw,user,noauto 0 0

#montage disque dur externe packardbell
UUID=B449-F3A1 /media/diskexterne vfat defaults,user,utf8,umask=002,gid=1000,uid=1000

#montage disque interne de sauvegarde rsync
#UUID=xxxxxxxxxxxxxxxxxxxxxx /media/sauvegarde_rsync auto auto,root,rw 0 0
#/dev/sda1 /media/usb0 auto rw,user,auto 0 0
#montage Western Digital 1 To
/dev/sda1 /media/donnees_windows_linux vfat errors=remount-ro 0 0
/dev/sda2 /media/donnees_linux ext4 errors=remount-ro 0 0[/quote]

Identifier une partition avec son nom de périphérique /dev/sdxn est déconseillé car ce noms n’est pas garanti persistant. Mieux vaut utiliser l’UUID ou le LABEL. La preuve : avant de brancher ce nouveau disque, /dev/sda identifiait visiblement le disque système.

Et LVM dans tout ça ?

blkid ne renvoit pas des informations cohérentes sur dev/sda:

[quote]blkid
/dev/mapper/serveur–debian-swap_1: UUID=“7d37c0a7-d4a7-403c-a116-b4415a72e5a3” TYPE=“swap”
/dev/sda1: LABEL=“donnees” UUID=“0D6E-3D0B” TYPE=“vfat”
/dev/mapper/serveur–debian-root: UUID=“e8503d64-c289-4339-8622-827d5951f336” TYPE=“ext4”
/dev/mapper/serveur–debian-usr: UUID=“cddb6ba7-7fc3-4bb6-9026-ab77aea35da6” TYPE=“ext4”
/dev/mapper/serveur–debian-var: UUID=“b67a9c09-eb81-45eb-b95f-819717c34aeb” TYPE=“ext4”
/dev/mapper/serveur–debian-tmp: UUID=“6520d2d2-974d-4eb8-8626-20bf3468803a” TYPE=“ext4”
/dev/mapper/serveur–debian-home: UUID=“aae1c83d-f3f5-4e13-bdc6-9e4bacd41ba5” TYPE=“ext4”
/dev/sda2: UUID=“12c755b9-8ceb-4280-bd83-b44ff59b9bb4” TYPE=“ext4”
/dev/sdb1: UUID=“089f61b9-829e-4832-bed0-98127481b52c” TYPE=“ext2”
/dev/sdb5: UUID=“SU40L5-xnID-PoiH-xga9-ch1r-6nsi-c6Fp0m” TYPE=“LVM2_member”[/quote]

lvm j’ai laissé tmber à cause du message concernant la GPT

Qu’est-ce qui ne te paraît pas cohérent concernant /dev/sda dans la sortie de blkid ?

Quel message concernant GPT t’a poussé à abandonner LVM ? Je ne vois pas le rapport.

c’est pas le même numéro alors que c’est le même disque ; ou alors j’ai pas compris ce que signifiait l’UUID : pour moi c’est un disque identifié par son numéro de…je ne sais plus trop quoi d’ailleurs :blush:

celui-là :

Bon, maintenant que tu le dis, je me trompais :blush: Il s’agit bien d’une identification de la partition .
Donc dans mon fstab je peux faire ceci :

UUID="0D6E-3D0B" /media/donnees_windows_linux vfat errors=remount-ro 0 0 UUID="12c755b9-8ceb-4280-bd83-b44ff59b9bb4" /media/donnees_linux ext4 errors=remount-ro 0 0

Pas le même numéro et le même disque que quoi ?

L’UUID n’identifie pas un disque mais un contenu comme un système de fichiers ext4 ou FAT ou un swap. On s’en sert pour identifier la partition qui contient ce contenu à la place de son nom de périphérique car contrairement à ce dernier, il ne change pas si on ajoute ou retire un disque ou une partition. Chaque partition a donc un UUID propre.

Je ne vois pas le rapport avec LVM.

Pardon, un oubli :

[quote] mais je ne sais pas si GPT permettra de le faire (avec un MBR MSDOS, pas de problèmes), et de toutes façons, cela pourrait rendre les accès entrée sortie beaucoup moins performants, pour finalement n’avoir récupéré même pas 1Mio => finalement, c’est pas très rentable à mon avis.
[/quote]

Il n’y avait pas d’oubli ; c’est moi qui n’ai pas jugé utile de citer la citation, dans laquelle, je répète, je ne vois aucun lien avec LVM.