Comment partitionner un disque de 22 To?

33

J'ai un disque de 22 To sur /dev/sdb. Comment créer une partition de 22 To? Ne vous souciez pas vraiment du système de fichiers - ext4ou ça zfsva.

Exécuter CentOS 6.2 - Partition sera utilisé en tant que vidage de données. Un seul flux de données, de sorte qu'il est difficile de choisir quel système de fichiers n'est pas vraiment une préoccupation pour le moment. Le disque est formé à partir de disques SAS proches de 12 x 2 To et d'un contrôleur Dell Perc.

Je veux juste une partition de 22 To.

LVLAaron
la source
1
quelques informations supplémentaires seraient utiles. quel système d'exploitation utilisez-vous? Quel type de performance espérez-vous ou devez-vous obtenir? quel est le matériel sous-jacent? c'est déjà un set de raid? a-t-il une redondance? avez-vous besoin des fonctionnalités supplémentaires de protection des données de zfs?
Tim Kennedy
3
Quels essais ont échoué jusqu'à présent? fdisk, cfdisk?
Nils

Réponses:

44

La solution la plus simple consiste à utiliser le partitionnement GPT , une version 64 bits de Linux et XFS :

  • GPT est nécessaire car la table de partition MBR de style MS-DOS créée par fdiskest limitée à 2 disques TiB. Vous devez donc utiliser partedun autre programme de partitionnement compatible GPT au lieu de fdisk. ( gdisk, gparted, Etc.)

  • Un noyau 64 bits est nécessaire car les noyaux 32 bits vous limitent aux systèmes de fichiers plus petits que ceux que vous demandez. Soit vous atteignez une limite de taille basée sur des entiers 32 bits, soit vous ne pouvez pas gérer suffisamment de RAM pour prendre en charge le système de fichiers correctement.

  • XFS n'est pas la seule solution, mais à mon avis, c'est la plus simple pour les systèmes RHEL.

    Vous ne pouvez pas utiliser ext4 pour cela dans RHEL 6. Bien que le système de fichiers ait été conçu pour prendre en charge 1 systèmes de fichiers EiB , il existe une limite artificielle de taille de volume de 16 TiB dans la version e2fsprogsincluse dans RHEL 6 et ses dérivés. Les deux Red Hat et CentOS appellent cela dans leurs documents. (La limite ext4 de 16 TiB a été considérablement augmentée dans RHEL de 7 à 50 TiB.)

    ZFS peut ne pas être pratique dans votre situation . En raison de ses nombreuses restrictions légales et techniques, je ne peux le recommander que si vous avez besoin de quelque chose que seul ZFS vous ait fourni.

    Après avoir écarté vos deux systèmes de fichiers choisis, je suggère XFS. Il s’agit du système de fichiers par défaut de RHEL 7; il était disponible en tant que système de fichiers pris en charge dans toutes les versions de RHEL 6 et était reporté dans les versions ultérieures de RHEL 5 après la sortie de RHEL 6.

Voici le processus:

  1. Vérifiez si vous avez mkfs.xfsinstallé en l'exécutant sans arguments. S'il n'est pas présent, installez les outils XFS utilisateur:

    # yum install xfsprogs
    

    Si cela échoue, c'est probablement parce que vous utilisez un système d'exploitation plus ancien qui ne l'a pas dans son référentiel de packages par défaut. Vous devriez vraiment mettre à jour, mais si c'est impossible, vous pouvez l'obtenir auprès de CentOSPlus ou EPEL . Vous devrez peut-être également installer le kmod_xfspackage.

  2. Créez la partition:

    Puisque vous dites que votre volume 22 TiB est activé /dev/sdb, les commandes partedsont les suivantes:

    # parted /dev/sdb mklabel gpt
    # parted -a optimal -- /dev/sdb mkpart primary xfs 1 -1
    

    Cela entraîne la prise en charge de la totalité du volume avec une seule partition. En fait, il ignore le premier 1 Mio du volume, ce qui permet d’obtenir l’ alignement de 4 Ko requis pour tirer pleinement parti des performances des disques durs et SSD au format avancé. .

    Vous pouvez ignorer cette étape et formater le volume entier avec XFS. C'est-à-dire que vous utiliseriez /dev/sdbl'exemple ci-dessous au lieu de /dev/sdb1. Cela évite le problème de l'alignement des secteurs. Dans le cas d'un volume que seul votre système d'exploitation Linux verra, il n'y a pas d'inconvénient à en parler, mais je vous déconseille de le faire sur un volume amovible ou sur un volume interne d'un ordinateur à démarrage multiple , car certains Les systèmes d'exploitation (Windows et macOS, par exemple) vous proposeront de formater un disque dur sans partition pour vous chaque fois qu'il apparaît. Mettre le système de fichiers sur une partition résout ce problème.

  3. Formatez la partition:

    # mkfs.xfs -L somelabel /dev/sdb1
    
  4. Ajouter l' /etc/fstabentrée:

    LABEL=somelabel    /some/mount/point    xfs     defaults   0 0
    
  5. Montez!

     # mount /some/mount/point
    

Si vous voulez aller sur le LVM chemin, les étapes ci - dessus sont fondamentalement juste une version plus détaillée de la deuxième série de commandes utilisateur bsdla réponse « ci - dessous . Vous devez faire sa première série de commandes avant celles ci-dessus.

LVM offre certains avantages à un coût de complexité. Par exemple, vous pouvez "développer" ultérieurement un groupe de volumes LVM en lui ajoutant davantage de volumes physiques, libérant ainsi de l'espace pour développer le volume logique le volume. (Vous voyez ce que je veux dire à propos de la complexité? :))

Warren Young
la source
4
La partie ZFS est discutable. Le port Linux a parcouru un long chemin depuis 2010 et par rapport à XFS, il présente de nombreux avantages
TheLQ
En ce qui concerne GPT / MBR, cela ne s'applique-t-il pas vraiment si /bootfait partie de /? Le MBR ne devrait pas se soucier de sa taille /s'il ne doit que monter un petit /bootdroit? Je peux me tromper.
jonescb
1
@jonescb: L'emplacement de /bootn'a aucune incidence sur les limites du MBR. Si vous avez besoin d'une partition supérieure à 2 To, vous ne pouvez pas utiliser le partitionnement MBR. Il est vrai, cependant, qu'il est possible de contourner le manque de soutien du BIOS pour le démarrage de GPT en mettant /bootsur un plus petit disque MBR-cloisonné. Une fois le noyau installé, vous n’aurez plus à vous soucier des limitations du BIOS car il sait interpréter la table de partitions GPT. Si votre machine est basée sur EFI, vous n'avez pas besoin de faire cette danse, car EFI comprend la technologie GPT.
Warren Young
16

Juste comme une alternative aux autres suggestions.
Vous n'êtes pas obligé de partitionner un disque.
Vous pouvez simplement créer un groupe de volumes , avec un ou plusieurs volumes logiques .

pvcreate /dev/sdb
vgcreate data /dev/sdb
lvcreate --name dump -L '100%VG' data

Vous avez maintenant un volume logique que vous pouvez formater avec le type de système de fichiers de votre choix.

mkfs.XXXX /dev/mapper/data-dump #<- XXXX can be ext4, xfs, btrfs, reiser
mount /dev/mapper/data-dump /mntpt
bsd
la source
LVM est fondamentalement une forme avancée de partitionnement. Il est inutile d’utiliser LVM si vous voulez créer un seul LV en utilisant tout l’espace. Vous pouvez donc aussi simplement mkfs directement sur l’ensemble du disque.
Psusi
4
aucun LV n'ajoute d'outils pour des instantanés de données réelles, redimensionnables, multiples copies de métadonnées; beaucoup plus flexible qu'un simple fs sur un appareil.
bsd
1
Vous n'avez pas besoin de plusieurs copies de métadonnées lorsque vous n'avez pas de métadonnées (table de partition) en premier lieu. Les instantanés nécessitent de l'espace libre, de même que l'ajout / agrandissement de volumes, ce qui explique pourquoi il devient inutile de créer un seul volume logique en utilisant tout l'espace disponible au départ. Si vous souhaitez utiliser les fonctionnalités de LVM, vous devez commencer par un volume plus petit afin de disposer de beaucoup d'espace libre à utiliser ultérieurement.
Psusi
Je ne recommandais pas LVM dans le cas de cette personne, je la listais simplement comme une alternative aux "autres" solutions de partitionnement sans partitionnement. C'est à elle de lire toutes les réponses, de faire un suivi avec ses propres recherches et de décider ensuite du plan d'action qui convient le mieux à ses besoins.
bsd
3
Un des avantages de LVM, même si vous n’avez qu’un seul LV, est qu’il vous permet d’ajouter facilement de la mémoire ultérieurement.
plugwash
6

Question à la question: Vous avez demandé « comment partitionner un disque de 22 To», puis dans la question, vous avez dit que vous vouliez simplement une partition de 22 To. Donc, c'est ambigu au premier rang.

Si vous possédez déjà un périphérique monobloc pouvant prendre en charge 22 To d'espace, vous possédez déjà une partition complète de 22 To. Tout ce dont vous avez besoin, c'est d'un système de fichiers, ce qui permettra au périphérique d'être montable et utilisable en lecture / écriture par les processus système. De plus en plus, vous avez besoin d’un noyau Linux fonctionnant en mode 64 bits avec un module / pilote de système de fichiers prenant en charge et évoluant jusqu’à 22 To de croissance de données, capable de gérer les tenants et les aboutissants de la gestion des données sur le périphérique (mono) bloc avec facilité. La performance est tout à fait une autre dimension. Dans ce cas, je choisirais de choisir XFScomme système de fichiers, car il s’agit d’un système de fichiers 64 bits capable de gérer des systèmes de fichiers pouvant atteindre un million de téraoctets. Il prend en charge jusqu'à 9 EXABYTES.

2^63  = 9 x 1018 = 9 exabytes 

Pour plus de détails sur XFS: http://oss.sgi.com/projects/xfs/

Si vous souhaitez partitionner davantage le périphérique de bloc énorme de 22 To, utilisez-le gpartedpour le diviser en partitions utilisables, puis formatez-les avec les systèmes de fichiers pour les rendre montables.

Il semble que vous ayez un contrôleur RAID matériel, puisque vous mentionnez que vous avez un contrôleur RAID DELL perc, ce qui signifie que vous devez indiquer quelle configuration RAID (précisément quel niveau RAID utilisez-vous?) Et dans la plupart des cas, vous n'allez pas avoir 22 To d'espace libre pour une utilisation, je pourrais me tromper cependant.

Nikhil Mulley
la source
J'allais aussi suggérer xfs, mais xfs_check demandera beaucoup de mémoire et beaucoup de temps pour exécuter w / 22G fs. Entre physique et échange, il faudrait au moins 32 G pour vérifier, c'est-à-dire s'il veut vérifier le fs sur un 'datadump' (peu importe ce que c'est;)
bsd
@bdowning, vous voudrez peut-être le corriger en 22T fs :)
Nikhil Mulley
Il est 22TB Raid 5. J'ai beaucoup de disques :)
LVLAaron
C'était une faute de frappe (péter le cerveau). J'ai le même appareil, 10 To, avec LSI Megaraid (même carte que Dell Perc)
bsd
@bdowning: xfs_checkutilise effectivement beaucoup de mémoire, mais la page de manuel (8) mentionne: " Notez que l'utilisation xfs_checkn'est PAS recommandée. Veuillez utiliser xfs_repair -nplutôt, pour une meilleure évolutivité et une meilleure vitesse. ".
Cristian Ciupitu
4

Vous ne devriez avoir besoin d'aucun partitionnement lorsque vous utilisez ZFS, créez simplement un pool ZFS sur votre périphérique 22 To et un système de fichiers dans ce dernier si vous ne souhaitez pas utiliser le pool par défaut et c'est tout. Si, pour une raison quelconque, zpool ne prend pas en charge l'utilisation de l'intégralité du disque, créez tout d'abord une étiquette EFI et une partition utilisant l'intégralité de l'espace disponible, puis utilisez cette partition pour créer le pool.

Pour plusieurs raisons, je ne recommanderais pas d'utiliser autre chose que ZFS pour un système de fichiers aussi volumineux. Le plus évident est que si vous êtes brutalement mis hors tension (par exemple: panique du noyau ou panne de courant), fsck peut prendre un temps douloureux pour restaurer les systèmes de fichiers traditionnels. En revanche, ZFS n'a pas besoin de fsck, il importera donc instantanément le pool.

Notez que vous feriez mieux de casser la configuration RAID matérielle et d'utiliser les douze périphériques en tant que JBOD pour créer un pool ZFS en tirant parti de ses capacités logicielles RAID. Si votre objectif est la performance, vous pouvez dupliquer des paires de disques et si votre objectif est d'optimiser l'espace, vous pouvez utiliser une configuration RAIDZ, RAIDZ2 ou RAIDZ3. Cela améliorera grandement la fiabilité de vos données et la tolérance aux pannes de la solution.

jlliagre
la source
1
Je sais que c’est une vieille réponse à une vieille question, mais… si vous utilisez ZFS, la meilleure option est de détruire la matrice RAID, de configurer le contrôleur RAID pour JBOD afin que Linux visualise chaque disque, puis de créer des paires en miroir. (moins de capacité, d'excellentes performances) ou RAIDZ / Z2 / Z3 (plus de capacité, performances médiocres) des disques individuels. Vous perdez une grande partie des avantages de ZFS si vous le superposez au RAID existant plutôt que de le laisser gérer les disques lui-même. La même chose s'applique à btrfs.
cas le
@cas Vous avez certainement raison, répondez mis à jour. J'étais concentré sur la question de l'OP bien que "comment partitionner un disque de 22 To" et non pas "que recommanderiez-vous de faire avec la configuration de mon disque".
jlliagre
3

Je ne suis pas sûr que cela soit actuellement possible avec la table de partition standard. Dans le schéma de table de partition standard, les volumes sont limités à 2 32 secteurs. Avec 512 octets par secteur, il vous suffirait d'exécuter des numéros à attribuer à des secteurs d'environ 2 To.

Cependant, vous devriez pouvoir le faire si vous utilisez une table de partition GUID au lieu d'une table standard. Les tables de partition GUID permettent aux volumes de s'étendre dans la plage de zettaoctets. La plupart des distributions Linux sont amorçables à partir d'un volume GUID, mais aucune version de Windows (à l'exception de Windows 7 sur EFI) ne l'est actuellement.

Certains outils tels que fdisk ne peuvent pas fonctionner avec des volumes GUID, contrairement à d'autres comme GParted. Une fois que vous avez créé votre table de partition GUID, vous devriez être capable de créer un volume en utilisant l’un des systèmes de fichiers courants qui prennent en charge un volume de cette taille (par exemple EXT4).

Andrew Lambert
la source
Sur un système 32 bits peut être. J'ai pu créer une partition de 3,5 To sur un serveur Ubuntu 64 bits pris en charge par la version 8.04 et ultérieure. En parlant de cyberciti.biz/tips/…
Karlson le
À ma connaissance, vous n’avez peut-être même pas besoin d’une table de partition pour placer un système de fichiers sur un disque dur. De plus, selon l'OP, ce n'est pas un lecteur de démarrage, mais un espace de sauvegarde important.
Karlson
3

Comme indiqué précédemment, GPT est une excellente option pour votre table de partitions. Elle prend en charge les partitions d’une taille maximale de 9,4 ZIB (9,4 × 10 21). octets), ce qui est bien au-delà de tout ce dont vous auriez besoin avec 22 TiB.

Pour votre système de fichiers, sous Linux, BTRFS est un excellent système de fichiers avec copie sur écriture:

  1. Son attribut de copie sur écriture signifie qu'aucun fichier en double n'est stocké deux fois.
  2. Il offre une compression à la volée pour que vos données soient exécutées via LZO ou GZip avant d'être écrites et lues sur le disque, économisant ainsi de l'espace disque physique.
  3. Il prend en charge la redondance dans les configurations RAID-1, RAID-10, RAID-5 et RAID-6 sans surcharge.
  4. Il prend également en charge RAID-0, si la vitesse est essentielle.
  5. Il propose également des sous-volumes, des instantanés, etc.
  6. Presque toutes les tâches du système de fichiers sont effectuées en ligne , vous n’avez donc généralement pas besoin de démonter le système de fichiers pour régler le problème.

Il est similaire à ZFS dans ses fonctionnalités, mais fait partie du noyau Linux principal.

Naftuli Kay
la source
La FAQ de BTRFS met en garde contre l'utilisation de sa fonctionnalité RAID de parité, sauf à des fins de test et de développement. Il a des bugs connus qui peuvent dévorer votre système de fichiers. Plus d'infos sur le lien.
Warren Young
1

Si vous ne recherchez pas la redondance ou la possibilité de le sauvegarder, vous pouvez probablement faire:

mkfs -t ext4 /dev/sdb
Karlson
la source
4
L'as tu essayé? J'ai changé le mkfspour spécifier le système de fichiers
Karlson
1
@AaronJAnderson une explication serait utile.
n0pe
Cette commande ne fonctionnera pas si le périphérique dépasse 2 To.
LVLAaron, le
1
@AaronJAnderson J'ai créé un volume de 3,5 To à l'aide de reiserfs. ext3Ainsi, si les ext4revendications prétendent avoir une taille maximale du volume de 16 exaoctets, je ne vois aucune raison pour que 22 To ne fonctionne pas.
Karlson
1
la version d'e2fsutils livrée avec cette version de linux (et la plupart des autres ne supportent pas plus de 16 To pour le moment)
LVLAaron le