Comment créer et régler une partition ext4 à partir de la ligne de commande?

28

PARTITIONNEMENT (par exemple, fdisk )
Quelles sont les commandes utiles utilisées pour partitionner un disque dur supplémentaire à partir de la ligne de commande? Comme la plupart des guides publiés se dirigent vers GParted et d’autres utilitaires graphiques, un résumé de certaines séquences de ligne de commande serait utile.

TUNING - ESPACE RÉSERVÉ, WRITE-BACK & amp; TEMPS D'ACCES
Comment supprimer l'espace disque réservé mis de côté (par défaut) au cas où le lecteur deviendrait plein à 100%. Étant donné que je suis un lecteur secondaire simplement pour «données», la suppression de la zone réservée garantit que le lecteur entier est disponible pour utilisation.

Je m'interroge également sur l'écriture plutôt que sur l'écriture différée et sur la mise à jour des temps d'accès (sur les fichiers et les répertoires) afin d'améliorer les performances.

    
posée gth 30.11.2013 - 06:12
la source

2 réponses

45

Avant tout:

!! ATTENTION !!

Ces commandes sont EXEMPLES . SUPPRIMER des partitions, MODIFIER et FORMATER des systèmes de fichiers détruit des données et / ou peut empêcher votre machine de démarrer. Faites des sauvegardes Utilisez à vos risques et périls. Essayez sur une machine qui ne vous dérange pas de perdre toutes les données. mise en garde admin.

Pour configurer rapidement un disque en tant que partition ext4 unique ...
  1. Afficher les périphériques détectés de la classe "DISK"

    lshw -C disk
    
  2. Afficher les tables de partitions existantes

    fdisk -l
    
  3. Modifiez la table de partition de mon périphérique choisi (dans ce cas, "sdx")

    fdisk /dev/sdx
    

    Dans FDISK, appuyez sur:

    • d ... à d sélectionnez la partition actuelle

    • n ... pour créer une partition n ew

    • p ... pour le spécifier en tant que partition RIMARY P

    • 1 ... pour le définir comme partition principale ST 1

    • w ... à w rite les modifications.

  4. Affiche la nouvelle table de partition:

    fdisk -l
    
  5. Formatez le système de fichiers de la nouvelle partition en tant que type ext4

    mkfs -t ext4 /dev/sdx1
    
  6. Créez un nouveau répertoire dans lequel le nouveau lecteur sera monté dans:

    mkdir /storage
    mount /dev/sdx1 /storage
    

TUNING

  1. Supprimez les blocs réservés (c'est-à-dire définis sur 0%), car ce lecteur est uniquement destiné aux données utilisateur

    tune2fs -m 0 /dev/sdx1
    
  2. Depuis que le serveur est sur UPS, définissez une écriture différée afin que les applications n'attendent pas les écritures réelles sur le disque

    tune2fs -o journal_data_writeback /dev/sdx1
    
  3. Montez au démarrage en utilisant /etc/fstab et définissez également la politique de réinscription

    vi /etc/fstab
    
  4. Recherchez (ou ajoutez) la ligne correspondante dans fstab pour votre lecteur. Les paramètres de fstab sont séparés par un espace blanc. Par exemple, le lecteur décrit ci-dessus peut apparaître comme suit:

    /dev/sdx1 /storage ext4 relatime,errors=remount-ro 0 1
    
    • Le premier paramètre identifie la partition (soit par / dev / ou un UUID long);
    • Le deuxième paramètre est le chemin sur lequel la partition sera montée;
    • Troisième est le type de système de fichiers;
    • Le quatrième paramètre contient les options;
    • Cinquièmement, le calendrier dump pour les sauvegardes; et,
    • Le sixième paramètre est le numéro de passe (utilisé pour contrôler l’ordre de fsck ).

Modifiez les options (4ème paramètre) pour:

noatime,nodiratime,data=writeback,barrier=0,nobh,errors=remount-ro

Redémarrez pour vérifier que tout s’est bien passé.
Rappelez-vous que ces commandes sont destructives! Avoir des sauvegardes et faire attention!

    
réponse donnée gth 30.11.2013 - 06:12
la source
9

Utilisation de parted

Ci-dessous les instructions pour créer une nouvelle partition ext4 sur un nouveau disque dur avec parted (testé sur Ubuntu 14.04.4 LTS x64). parted prend en charge GPT (Table de partition GUID) et peut par la suite être utilisé pour des partitions de plus de 2 To, contrairement à fdisk .

Utilisez sudo lshw -C disk *-disk pour voir le nom logique de votre nouveau disque dur:

   description: ATA Disk
   product: ST6000NM0024-1HT
   vendor: Seagate
   physical id: 0.0.0
   bus info: [email protected]:0.0.0
   logical name: /dev/sdb
   version: SN05
   serial: Z4D30T30
   size: 5589GiB (6001GB)
   configuration: ansiversion=5 sectorsize=4096

Le nom logique est /dev/sdb . Nous pouvons commencer:

sudo parted /dev/sdb mklabel gpt # Creating the GUID Partition Table (GPT)

Avec sudo parted /dev/sdb print , nous pouvons voir que le GPT a été créé:

[email protected]:~$ sudo parted /dev/sdb print
Model: ATA ST6000NM0024-1HT (scsi)
Disk /dev/sdb: 6001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

Nous devons également connaître la taille du disque (nous utiliserons MB comme unité):

sudo parted /dev/sdb print unit MB print free

qui indique:

Disk /dev/sdb: 6001175MB

Nous pouvons maintenant créer la partition principale pour qu'elle occupe tout l'espace disque. Pour définir le libellé de la partition:

sudo parted --align optimal /dev/sdb mkpart primary ext4 0% 6001175MB 

(voir lien si vous voulez savoir pourquoi nous utilisons --align optimal )

Avec sudo parted /dev/sdb print , nous pouvons voir que l’étiquette de la partition principale a été créée:

[email protected]:~$ sudo parted /dev/sdb print
Model: ATA ST6000NM0024-1HT (scsi)
Disk /dev/sdb: 6001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  6001GB  6001GB  xfs          primary

Nous devons ensuite utiliser mkfs pour créer la partition:

sudo mkfs.ext4 /dev/sdb1

La partition est maintenant créée, nous devons la monter. Pour ce faire, sudo nano /etc/fstab et ajoutez la ligne suivante ( /crimea est le dossier dans lequel nous choisissons de monter la nouvelle partition):

/dev/sdb1       /crimea ext4 defaults   0       0      

Nous créons le dossier et rechargeons /etc/fstab :

sudo mkdir /crimea
sudo mount -a # Remount /etc/fstab without rebooting in Linux

Vous pouvez voir la nouvelle partition montée en utilisant df -h :

/dev/sdb1                      5.5T   58M  5.2T   1% /crimea

Dans sudo nano /etc/fstab , au lieu d'utiliser /dev/sdb1 , vous pouvez utiliser UUID , que vous pouvez trouver avec sudo lshw -C volume :

*-volume
       description: EXT4 volume
       vendor: Linux
       physical id: 1
       bus info: [email protected]:0.0.0,1
       logical name: /dev/sdb1
       logical name: /crimea
       version: 1.0
       serial: c3559307-795b-66db-9844-8e974c88a1cf
       size: 200MiB
       capacity: 5589GiB
       capabilities: journaled extended_attributes huge_files dir_nlink extents ext4 ext2 initialized
       configuration: created=2016-06-24 14:56:55 filesystem=ext4 lastmountpoint=/boot modified=2016-07-01 17:15:55 mount.fstype=ext4 mount.options=rw,relatime,data=ordered mounted=2016-07-01 17:07:19 name=primary state=mounted

Sinon, vous pouvez simplement faire sudo blkid /dev/sdb1 :

/dev/sdb1: UUID="c3559307-795b-66db-9844-8e974c88a1cf" TYPE="ext4"

La nouvelle ligne /etc/fstab sera:

UUID=c3559307-795b-66db-9844-8e974c88a1cf          5.5T   58M  5.2T   1% /crimea

lien explique pourquoi il est préférable d'utiliser UUID (liquidat, cc by-sa 3.0):

  

L'avantage de l'utilisation de l'UUID est qu'il est indépendant du numéro de périphérique que le système d'exploitation fournit à votre disque dur. Image Vous ajoutez un autre disque dur au système et, pour une raison quelconque, le système d'exploitation décide que votre ancien disque est désormais sdb au lieu de sba . Votre processus de démarrage serait foutu si fstab indiquait le nom du périphérique. Cependant, dans le cas des UUID, ça irait bien.

Résumé:

sudo lshw -C disk                # Checking the location of the new drive. It is /dev/sdb.     
sudo parted /dev/sdb mklabel gpt # Creating the GUID Partition Table (GPT)
sudo parted /dev/sdb print       # Checking that the GPT has been created
sudo parted /dev/sdb print unit MB print free # see 6001175MB size
sudo parted --align optimal /dev/sdb mkpart primary ext4 0% 6001175MB # Creating partition label
sudo mkfs.ext4 /dev/sdb1         # Creating the partition
sudo nano /etc/fstab             # Add line '/dev/sdb1 /crimea ext4 defaults 0 0'
sudo mount -a # Remount /etc/fstab without rebooting
    
réponse donnée Franck Dernoncourt 13.08.2016 - 22:53
la source

Lire d'autres questions sur les étiquettes