Partitionnement avec SSD

Avec HDD

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Un noob sauvage apparaît.

Bonjour,

Ayant décidé de me mettre à ArchLinux (en virtuel pour l'instant), j'ai eu à partitionner mon disque et me suis posé plusieurs questions.

Commençons avec juste un disque dur. Suivant la procédure d'installation de base (ici), j'ai cela :

1
2
3
4
/dev/sda (dos, 8G)
/dev/sda1 (primary, bootable, 100M, ext2)
/dev/sda2 (primary, 5G, ext4)
/dev/sda3 (primary, 2.9G, ext4)

Plusieurs interrogations déjà :

  • Quel type de table de partition (mbr/gpt) ?
  • Un tel type est-il imposé par le disque (cfdisk me le demande, mais peut-être est-ce parce que je suis en virtuel) ?
  • Pour MBR, comment choisir entre primaire et étendue ?
  • Comment choisir le système de fichiers ?

Vu que je possède 4G de RAM, il me semble que le swap n'est pas nécessaire. Je monte alors mes partitions :

1
2
3
/dev/sda1 : /mnt/boot
/dev/sda2 : /mnt
/dev/sda3 : /mnt/home

Une question me titille alors :

  • Linux se fiche-t-il de l'inclusion des répertoires quand il gère les partitions ? Cela expliquerait que, bien que /mnt/home soit un sous répertoire de /mnt, il corresponde à une autre partition.

J'installe ensuite le système de pacstrap : il me crée pleins de trucs dans /mnt et notamment des dossiers (/mnt/etc, /mnt/usr…). Du coup :

  • Puis-je stocker le contenu de ces dossiers ailleurs que dans /dev/sda2 ?

En effet, ayant un SSD (120G) en plus du disque dur (500G), je me demande où stocker quoi.

  • Suis-je obligé de partager le stockage en trois (/, /boot, /home et, pourquoi pas, le swap) ?

Merci !

Si certaines questions dénotent d'un manque quasi-total de connaissances en la matière c'est normal, puisque c'est le cas. ^^

Édité par Vayel

+0 -0

Salut,

Je ne peux répondre qu'à une partie de tes questions.

Pour MBR, comment choisir entre primaire et étendue ?

Si tu choisis MBR, tu auras la possibilité de créer quatre partitions primaires et pas une de plus. Si tu veux plus de quatre partitions, il te faudra en créer une étendue, qui permet d'avoir à l'intérieur d'autres partitions.

Comment choisir le système de fichiers ?

En général c'est en fonction de l'usage. Certains systèmes de fichiers sont optimisés pour du travail sur des petits fichiers, d'autres des gros. Certains sont journalisés (ext3 et 4 par exemple) ce qui veut dire que les modifications à effectuer sont inscrites dans un journal avant d'être effectuées. En cas de plantage tu peux éviter une perte de données. La version 4 d'ext améliore les performances. Pour les autres systèmes de fichiers je te laisse te renseigner mais je pense qu'ext4 est un bon choix pour un usage général.

Si tu dois avoir une partition accessible par Linux et Windows (en général pour les données, il faudra plutôt se tourner vers FAT ou NTFS les systèmes de fichiers de Windows. Il me semble qu'écrire depuis Linux en NTFS est une fonctionnalité en bêta depuis des années, mais ça marche à peu près avec ntfs-3g.

Linux se fiche-t-il de l'inclusion des répertoires quand il gère les partitions ? Cela expliquerait que, bien que /mnt/home soit un sous répertoire de /mnt, il corresponde à une autre partition.

Pour Linux, la racine est toujours / et on y monte des systèmes de fichiers. L'emplacement physique de ces systèmes n'a pas d'importance tant qu'on y a accès (exemple : si /home est sur un réseau, il faut avoir du réseau avant d'y accéder).

Dans ton cas, /mnt permet d'accéder à ce qui sera la racine (/) du nouvel Archlinux que tu installes.

Puis-je stocker le contenu de ces dossiers ailleurs que dans /dev/sda2 ?

Oui et non.

Oui pour certains parce que tu peux prévoir dans ton partitionnement d'utiliser plusieurs partitions ou disques différents.

Non, pour la raison expliquée au-dessus. /dev/sda2 est la racine et la racine contient forcément certains répertoires. Si tu ne l'a pas prévu avant, il te faudra recommencer. Peut-être qu'en reconfigurant /etc/fstab ça suffirait, mais je ne suis pas sûr.

En effet, ayant un SSD (120G) en plus du disque dur (500G), je me demande où stocker quoi.

En général, le système sur SSD et les données (/home) sur disque dur classique. Si tu prévois d'écrire beaucoup au point d'user ton SSD avec les logs ou que tu as besoin d'en stocker beaucoup, il faut mettre /var sur le disque dur classique.

+0 -0
Auteur du sujet

Merci !

Si tu choisis MBR, tu auras la possibilité de créer quatre partitions primaires et pas une de plus. Si tu veux plus de quatre partitions, il te faudra en créer une étendue, qui permet d'avoir à l'intérieur d'autres partitions.

Je crée donc toujours les primaires avant la secondaire ?

La version 4 d'ext améliore les performances. Pour les autres systèmes de fichiers je te laisse te renseigner mais je pense qu'ext4 est un bon choix pour un usage général.

Même pour le /boot ?

Si tu prévois d'écrire beaucoup au point d'user ton SSD avec les logs ou que tu as besoin d'en stocker beaucoup, il faut mettre /var sur le disque dur classique.

Mais du coup, je vais monter /dev/sda2 sur /. Mais /var est ensuite créé par Arch dans /. Donc comment puis-je lui dire de mettre le contenu de /var dans une partition sur le disque dur et non sur le SSD comme / ?

+0 -0

Pour /boot, ext2 est le système de fichiers généralement utilisé.

Pour ton histoire de partition : il faut savoir que tes disques auront chacun un nom : /dev/sda et /dev/sdb. Il te suffira de switcher entre le disque sda et le disque sdb dans ton outil de création de partitions, et tu pourras placer les partitions sur le disque voulu.

Par contre, si j'ai bien compris tu es en machine virtuelle. Dans ce cas tu n'auras pas accès au ssd, puisque tu utilise aussi un disque dur virtuel.

Édité par anonyme

+0 -0

La première étape c'est de créer toutes tes partitions utiles : - / sur le SSD - /home sur le disque dur

Après, comme tu l'as remarquée, la structure sous linux n'est pas figée, tu peux a peu près monter tes partitions où tu veux, donc il faut indiquer au système quel partition correspond à quoi, et ça se passe dans /etc/fstab. Exemple pour moi (je n'ai qu'un disque dur ici) :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# 
# /etc/fstab: static file system information
#
# <file system> <dir>   <type>  <options>   <dump>  <pass>
# /dev/sda6
UUID=3009f42c-c39a-4449-8dfd-7bc3623526d1   /           ext4        rw,relatime,data=ordered    0 1
# /dev/sda2
UUID=975af7f5-582e-4938-a3d8-2cfa032931aa   /boot       ext2        rw,relatime 0 2
# /dev/sda7
UUID=575faa45-859c-41f8-9746-6e8c5612eec9   /home       ext4        rw,relatime,data=ordered    0 2
# /dev/sda5
UUID=9d22b6a5-5e4a-4b36-ae73-a39357540873   none        swap        defaults    0 0

Le UUID, c'est l'identifiant unique de ton disque dur, que tu retrouves soit dans /dev/disk/by-uuid/ qui contient des liens symboliques (équivalent des raccourcis sous windows, en mieux) vers tes disques, donc ls -l /dev/disk/by-uuid/ te le donnera, soit avec l'aide de la commande lsblk -f !

Mais normalement archlinux a déjà presque fait ça pour toi je crois bien, avec genfstab.

Pour les systèmes de fichiers, ext2 pour /boot et ext4 pour le reste me parait être un bon choix. Pour le boot, c'est surtout que tu n'as pas besoin du journal et que si ce n'est pas encore le cas, grub ne supportait pas bien d'être sur une partition en ext4 avant.

Ensuite, pour le cas de /var, il faut évidemment que cette partition ne soit pas sur ton SSD si possible, donc tu peux soit créer une nouvelle partition et la monter quelque part, soit créer un lien symbolique dans un endroit en RW, et tu peux alors créer un lien symbolique ln -s /tondossierduvar /var lorsque la partition var n'existe pas, et linux va s'occuper de tout derrière.

Pour les partitions primaires/secondaires, je fais généralement mon /boot en primaire, et je crée une partition secondaire où je met le reste de mon système. (En fait, sur mon fixe j'utilise lvm, donc c'est presque comme ça, hormis que ma partition "secondaire" est en fait une partition primaire, et linux fait le partitionnement dynamiquement dessus, mais c'est un poil plus compliqué à mettre en place sans les notions de base !).

Si tu veux accélérer la compilation de tes codes, tu peux également te mettre un petit espace sur ton SSD sur lequel copier les données à compiler, mais ça peut être fait lorsque tu en auras vraiment besoin/envie.

+0 -0
Auteur du sujet

Merci !

Ce que je ne comprenais pas c'est qu'ArchLinux utilise les dossiers existants quand il installe le système. Du coup, si je crée une partition /dev/sdaX sur mon disque dur et que je la monte sous /mnt/var, il écrira les fichiers de /var sur le disque dur. Mais comme dans l'exemple ils mettaient tout le / sur la même partition, je pensais qu'on ne pouvait pas faire autrement. En somme, j'aurais alors :

  • /boot - ext2 - SSD
  • /home - ext4 - HDD
  • /var - ext4 - HDD
  • / - ext4 - SSD

Au niveau de la table de partition, j'ai cru comprendre que GPT tendait à remplacer MBR et qu'il était donc préférable d'utiliser le premier type.

+0 -0
Auteur du sujet

Du coup, j'ai la configuration suivante :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[vincent@vincent ~]$ sudo fdisk -l
Disque /dev/sdb : 111,8 GiB, 120034123776 octets, 234441648 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : gpt
Identifiant de disque : 67EFB7F5-5115-4246-AC8E-5D132DB63AF1

Périphérique Début      Fin Secteurs Taille Type
/dev/sdb1      2048   616447   614400   300M Amorçage BIOS
/dev/sdb2    616448 63531007 62914560    30G Système de fichiers Linux


Disque /dev/sda : 465,8 GiB, 500107862016 octets, 976773168 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Type d'étiquette de disque : gpt
Identifiant de disque : B6023B0B-0411-49CA-88EE-B707B3473626

Périphérique   Début       Fin  Secteurs Taille Type
/dev/sda1        2048  25167871  25165824    12G Système de fichiers Linux
/dev/sda2    25167872 976773134 951605263 453,8G Système de fichiers Linux

sdb2 est montée sous /, sda1 sous /var et sda2 sous /home.

Or je viens d'installer MongoDB et je lis dans la doc qu'il enregistre ses données dans /data/db. Mais si je crée une tel dossier, les fichiers seront stockés sur mon SSD (vu que /data n'est ni dans /var ni dans /home), non ?

Faut-il alors que je crée une nouvelle partition sur mon HDD pour /data ? Le cas échéant, puis-je redimensionner celle montée sous /home ?

Merci !

+0 -0

Ouais. Mais du coup, je suis obligé de le mettre dans /home, non ?

Je ne vois pas pourquoi. Tu peux parfaitement définir /var/mongodb comme répertoire personnel de l'utilisateur mongodb.

Ne connaissant pas mongodb, y a-t-il quelque chose qui m'a échappé ?

+0 -0

Ezenku : Bien sur ! la solution finale est d'avoir un dossier dans son application et de le lancer dedans. ;)

Pas bien compris là. Je n'arrive pas à savoir si j'ai dit une bêtise ou pas. De ce que je connais en applicatif, il est rare que les utilisateurs (au sens utilisateurs du système et non personnes physiques) aient un dossier dans /home. On met plutôt ces dossiers ailleurs pour réserver le /home aux utilisateurs physiques s'il en existe et si le besoin est présent.

À moins que tu parles de faire un chroot ? Dans ce cas, je ne vois pas ce que ça change surtout si Vayel a une préférence pour /var. Tu m'expliques ?

+0 -0
Auteur du sujet

Ce qu'il veut dire, c'est qu'on peut passer à Mongo le dossier contenant les bases sur lesquelles on travaille. Du coup, à l'instar de SQLite, je peux tout à fait avoir plusieurs dossiers où sont stockées mes données. Cela permettrait de stocker la (ou les) base(s) directement dans le dossier du projet correspondant.

Mais j'ignore si c'est préférable au stockage dans /var ou non.

+0 -0

En pratique, (au moins avant), il y avait /var/www, /var/ftp, mais je vois ces dossiers plus comme des dossiers par défaut que de réels choix (hormis si le reste de la configuration est faite pour, ou si l'on est dans un environnement chroot).

J'avoue avoir raté (fatigue, soyons mauvaise langue :-°) que /var etait sur ton disque dur, puisque /var/mongodb est en effet bien plus cohérent (masqué de l'utilisateur).

Mais pour les besoins que tu as, pas besoin de sortir l'artillerie lourde dans la configuration, il vaut mieux garder ton temps pour le reste, et cette solution est très propre !

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte