Système de fichiers Linux pour un gros serveur de fichiers

8

Je voudrais savoir, auprès de personnes plus expérimentées, quel serait le meilleur choix de système de fichiers à utiliser pour un serveur de fichiers ayant plus de 20 To de disques durs. Personnellement, j'ai toujours utilisé EXT3 (à l'époque) et EXT4 (depuis sa disponibilité) [et une fois ReiserFS 3 bien que cela ait causé de nombreuses altérations de données] sur mes ordinateurs personnels et sur les disques BOOT et ROOT des "petits serveurs".

Cependant, comme les outils EXT4 (mais pas EXT4 lui-même) sont limités à des partitions de 16 To, ce n'est peut-être pas mon meilleur choix. La distribution sera Debian 6.0 (Squeeze) et / ou Gentoo (dernière version), donc le noyau devrait être assez récent (sur Debian au moins avec les rétroportages), ce qui signifie noyau Linux> = 2.6.32.

Le serveur de fichiers sera utilisé à trois fins (et également pour les partitions séparées, car le but est de garder les données "en sécurité" et ne se soucie pas vraiment des frais généraux). Tous les disques doivent cependant être chiffrés à l'aide de LUKS :

  1. Médias, téléchargements et référentiel Debian local [J'ai au moins 6 machines exécutant Debian]> 20 To (peut-être une séparation supplémentaire entre les médias, les téléchargements et le référentiel Debian)
  2. Données (documents, photos, ...) ~ 4TB SAFE (signifiant raid1 ou raid6 + disque de sauvegarde)
  3. Sauvegardes> = 20 To pour les sauvegardes d'autres ordinateurs de mon réseau local gigabit (pouvez-vous suggérer un logiciel qui sauvegarde l'intégralité du système d'exploitation même si c'est Windows, BackupPC dit qu'il fait cela, des alternatives?)

Des vitesses rapides ne sont pas vraiment nécessaires (accès simultanés: maximum à 2 ou 3 gros fichiers, par exemple des vidéos), même si c'est "juste" 200 Mo / s de lecture à partir d'un Raid 10 HDD6 je peux vivre avec ça.

En résumé, je recherche un système de fichiers fiable, évolutif (c'est-à-dire facilement extensible) qui prend en charge plus de 20 To / partition. Plus le FS est sûr et fiable, mieux c'est. Le matériel utilisé sera au moins un quad core (amd x4 630 ou intel i5-2500k) et beaucoup de RAM (> 8 Go, peut-être> 16 Go), de sorte que les exigences matérielles doivent être respectées.

Mon PC / serveur sera connecté à un onduleur (alimentation sans interruption) en cas de panne de courant. Peut également effectuer des supports et des sauvegardes sur des machines distinctes (c'est-à-dire deux serveurs).

user51166
la source
7
À cette échelle, vous devez vraiment évaluer sérieusement ZFS. Les temps de reconstruction et les taux d'erreur deviennent de sérieuses préoccupations avec autant de disques que vous en parlez et zfs est le seul fs stable disponible actuellement avec une vérification et une correction robustes des erreurs tout au long de la pile.
afrazier
1
ZFS n'est pas pris en charge nativement par Linux (uniquement avec FUSE) ou est pris en charge nativement dans un état pré-alpha précoce. Je ne considère pas l'utilisation de Solaris comme une option. Je n'ai jamais essayé FreeBSD une fois et je serais peut-être intéressé, mais je ne le fais pas maintenant si sa prise en charge des raids logiciels (et la prise en charge matérielle générale) est aussi bonne que celle de Linux
user51166
1
Je sais, mais ZFS fonctionne nativement sur d'autres plates-formes. Bien que le support matériel ne soit pas le même que Linux, cela devrait être le moindre de vos soucis. ZFS est une pile de stockage complète, donc le raid logiciel est hors de l'équation. Évaluez comment vous allez stocker, gérer, protéger et sauvegarder vos données avant de choisir votre système d'exploitation ou votre système de stockage. Ne négligez pas ZFS simplement parce qu'il n'est pas natif sur Linux, c'est probablement la solution de stockage la plus avancée disponible gratuitement en ce moment.
afrazier
Merci pour vos réponses, mais je ne comprends pas: même si je pouvais utiliser FreeBSD sans problème (je n'en suis pas si sûr), y a-t-il quelque chose comme un raid logiciel implémenté? Quelque chose comme LUKS (Linux Encryption) pour FreeBSD? Merci. Je connais surtout Gentoo et Debian GNU / Linux. Le serveur est un serveur domestique .
user51166
Ou proposez-vous un autre système d'exploitation que FreeBSD?
user51166

Réponses:

3

Beaucoup de gens suggèrent ZFS. Mais ZFS n'est pas disponible nativement sous Linux, sauf via un fusible. Je ne recommanderais pas cela pour votre situation où les performances sont susceptibles d'être importantes.

Malheureusement, ZFS ne sera jamais disponible en tant que module de noyau natif à moins que les problèmes de licence ne soient résolus d'une manière ou d'une autre.

XFS est bon, mais certaines personnes ont signalé des problèmes de corruption et je ne peux pas vraiment commenter cela. J'ai joué avec de petites partitions XFS et je n'ai pas eu ces problèmes mais pas en production.

ZFS a trop d'avantages et de fonctionnalités utiles qui ne peuvent cependant pas être ignorés. En résumé, ils le sont (voir Wiki ZFS pour une description complète de ce qu'ils signifient):

  • Intégrité des données
  • Pools de stockage
  • L2ARC
  • Grande capacité
  • Copie en écriture
  • Instantanés et clones
  • Bande dynamique
  • Tailles de blocs variables
  • Création d'un système de fichiers léger
  • Gestion du cache
  • Endianité adaptative
  • Déduplication
  • Encrypion

Alors, comment pouvons-nous contourner cela? Mon alternative suggérée qui peut convenir à votre situation est de considérer le nexenta . Il s'agit d'un noyau Open Solaris avec des outils GNU userland fonctionnant en haut. Avoir un noyau Open Solaris signifie avoir ZFS disponible en natif.

Matt H
la source
De leur site "Community Edition: illimité, version GRATUITE pour jusqu'à 18 To de stockage". On dirait que j'aurais une autre limitation comme celle d'EXT4
user51166
Et j'ai compris que ZFS est tout simplement le "meilleur" comme presque tous le disent. J'essaye juste de trouver la "meilleure" distribution de système d'exploitation / solaris capable de l'exécuter.
user51166
Debian GNU / kFreeBSD semble prendre en charge ZFS et j'aime la méthode Debian, je ne suis pas sûr de pouvoir l'utiliser cependant car il semble y avoir une petite communauté de support et encore quelques bugs majeurs.
user51166
@ user51166 - Vous devriez également considérer FreeBSD ou FreeNAS si votre serveur est purement pour le stockage. Les deux ont un support ZFS.
Matt H
4

Vous devriez essayer XFS, qui correspond bien à vos besoins:

XFS est un système de fichiers 64 bits. Il prend en charge une taille maximale du système de fichiers de 8 exbibytes moins un octet, bien que cela soit soumis aux limites de bloc imposées par le système d'exploitation hôte. Sur les systèmes Linux 32 bits, cela limite la taille des fichiers et du système de fichiers à 16 tebioctets.

aleroot
la source
J'ai entendu dire qu'il pouvait provoquer des pertes de données en cas de panne de courant et que sa journalisation ne couvre pas les données (uniquement le journal sur les métadonnées). L'avait utilisé une fois sur mon bureau mais avait généré beaucoup d'erreurs fsck, j'ai donc préféré ne plus l'utiliser. Je le répète: la performance n'est pas la (principale) portée de ce choix: la stabilité l'est.
user51166
Je ne pense pas que XFS soit instable, je l'utilise dans plusieurs serveurs de fichiers et je n'ai eu aucun problème ...
aleroot
Non, c'est stable dans le sens d'avoir une version stable. Est-ce à dire que je n'aurai pas de pertes de données au fil des ans? XFS est sûrement bon si vous recherchez des performances, même si je me souviens avoir lu sur le net qu'il y avait des problèmes de perte de données (mais pas autant qu'avec reiser 3 heureusement). J'ai oublié de préciser, mais je regarde une configuration LUKS, donc LVM sera utilisé , si cela peut aider.
user51166
N'existe pas un système de fichiers parfait ... Je pense que pour vos besoins, XFS est le meilleur choix. Il ne devrait pas y avoir de problème en utilisant LVM sur XFS.
aleroot
Sûrement pas. Des "restrictions" / "caractéristiques" spéciales? Problèmes de fsck et / ou de défragmentation en ligne comme les problèmes d'ext4?
user51166
4

L'option la plus simple consiste à utiliser XFS. Beaucoup de mauvaises expériences autour de XFS sont basées sur d'anciennes versions et des problèmes de matériel de bureau qui ne sont pas vraiment pertinents pour les nouveaux déploiements sur du matériel serveur de qualité standard. J'ai écrit un blog sur ce sujet qui pourrait vous aider à faire le point sur la situation actuelle. Il y a plusieurs installations de bases de données XFS occupées avec des centaines d'utilisateurs et des téraoctets de données que j'aide à gérer. Ils sont tous sur le noyau Debian Lenny (2.6.26) ou plus tard et je n'ai pas entendu de problème avec eux depuis des années. Je n'utiliserais pas XFS avec un noyau antérieur à celui-là. J'ai entendu des rapports directs de personnes constatant un comportement XFS étrange lorsque le système manque de mémoire ou d'espace disque; Je ne l'ai pas encore vu moi-même.

La seule autre option raisonnable consiste à utiliser ext4 avec un certain piratage pour prendre en charge des systèmes de fichiers plus volumineux. Je ne m'attendrais pas à ce que le niveau de fiabilité soit très différent. J'ai dû récupérer des données à partir de plusieurs systèmes ext4 cassés qui rencontraient des bugs dans le noyau, jusqu'à présent tous ont été corrigés en amont mais pas dans le noyau du distributeur à ce moment-là. ext4 a son propre ensemble de problèmes de métadonnées comme la perte de données d'allocation retardée , des choses qui étaient moins susceptibles de se produire sur ext3. Je dirais que les chances que vous rencontriez un bogue ext4 soient encore plus élevées que la normale si vous le forcez à dépasser la limite de taille normale, simplement parce qu'il semble plus probable que vous atteigniez un nouveau chemin de code moins bien testé à un moment donné .

L'idée alternative est d'utiliser simplement ext3 plus sûr et ennuyeux, d'accepter la limite de 16 To et de mieux partitionner les choses afin qu'aucun système de fichiers unique ne soit aussi volumineux.

Une extrémité lâche liée aux numéros de revues. Vous n'avez pas parlé de la façon dont tous ces disques vont être connectés. Assurez-vous de comprendre l'implication de toute mise en cache d'écriture qui se trouve dans votre chaîne de stockage ici. Désactivez-le ou assurez-vous que le système de fichiers vide le cache. J'ai caché quelques ressources à ce sujet chez Reliable Writes si ce n'est pas quelque chose que vous vérifiez encore.

Les lecteurs sont nuls. Les matrices RAID sont nulles. Les systèmes de fichiers sont nuls. Plusieurs échecs se produisent. Je suis content de voir que vous pensez déjà aux sauvegardes; passer d'une bonne à une grande fiabilité sur le stockage nécessite plus qu'un simple RAID et quelques disques de rechange. La redondance coûte quelque chose à tous les niveaux, et l'argent pour la complexité matérielle vs logicielle est difficile à gérer. Et surveillez vos attentes en matière de performances. Alors qu'une matrice RAID comme celle que vous envisagez peut facilement faire des centaines de Mo / s, il suffit que deux lecteurs simultanés recherchent constamment le disque pour le réduire à quelques Mo / s à la place. Je peux facilement écraser une matrice RAID10 à 24 disques de telle sorte qu'elle ne délivre que <5 Mo / s contre une charge de travail de référence . Une chose qui vous aide est de vous assurer de modifier la lecture anticipée vers le haut si plusieurs lecteurs de streaming sont possibles.

Greg Smith
la source
Je vais l'utiliser à la maison, je prévois donc d'utiliser du matériel grand public. Autant utiliser le matériel serveur mais je dois encore voir ce que SB-E va offrir l'année prochaine dans le département xeon (j'aurais aussi aimé jouer un peu avec la virtualisation). Si ce n'est pas trop cher, je prévois d'utiliser du matériel de serveur bon marché et de la mémoire ECC (beaucoup). Côté performance, je ne veux rien d'exceptionnel.
user51166
Et oui, je pense aux sauvegardes, mais je ne les ai pas encore implémentées. Je suis toujours à la recherche d'une solution de sauvegarde capable de créer une image système et / ou facilement tar / zip / ... les dossiers requis avec une interface de gestion qui permet des restaurations automatiques. BackupPC semble juste un peu limité et je ne suis pas sûr de faire confiance à Crashplan (l'utiliser pour sauvegarder des données vers un emplacement distant, souhaiterait donc une redondance, donc un autre système). Dois-je écrire une interface graphique Web moi-même ou quelque chose comme ça existe déjà (logiciel open source, ou au moins gratuit à utiliser)
user51166
2

Le déploiement sur ZFS à l'aide de FreeBSD pourrait se produire ici en utilisant gbde pour le chiffrement. ZFS lui-même serait le fournisseur de logiciels RAID, via RAIDZ . La complexité de la gestion du stockage de la création de zpools n'est pas significativement différente de ce que Linux va vous faire vivre avec mdadm, et dans certains cas, ce sera en fait plus facile. Ma première installation ZFS (sur Solaris 10 il y a environ 3 ans) avait un système de fichiers de 17 To sur 48 disques. J'ai survécu à plusieurs échecs sans problème, apprenant la gestion ZFS au fur et à mesure.

Le principal avantage est que la somme de contrôle de ZFS offre une meilleure détection des erreurs que Linux, ce qui est une défense contre le mauvais matériel qui mérite d'être envisagée. Les principaux inconvénients sont que FreeBSD est moins populaire. Vous ne savez pas encore comment l'administrer, le support matériel est un peu plus faible que Linux, et comme c'est une plate-forme moins populaire, il n'y a pas autant de gens pour demander de l'aide si vous rencontrez des problèmes.

Une matrice de stockage de plusieurs téraoctets met vraiment en évidence les qualités de ZFS. Cela vaut la peine d'envisager sérieusement si vous êtes prêt à plonger dans quelque chose de nouveau. Si vous souhaitez explorer la véritable paranoïa de sauvegarde, créez des serveurs de sauvegarde Linux et FreeBSD, afin de réduire les risques de bogues du système d'exploitation comme cause unique de défaillance.

Greg Smith
la source
J'ai déjà Linux comme serveur de fichiers et je dois encore vraiment commencer à l'utiliser (je n'ai commencé que quelques tests de logiciels RAID-6 + LUKS sur 6 disques). Le seul problème est que j'ai très peu de temps pour jouer avec. J'aime ta réponse. Alors, que proposez-vous comme système d'exploitation si vous suivez la voie ZFS? FreeBSD et opensolaris (qui ne sont plus maintenus), OpenIndiana (OpenSolaris opensource comme je l'ai vu) et Solaris Express 11 (Oracle: S) semblent être les seuls choix. Je ne l'utilise pas au travail, c'est mon passe-temps à la maison, mais je voudrais quand même quelque chose de stable et qui soit facile à utiliser.
user51166
J'ai vraiment pris l'habitude d'utiliser l'aptitude et d'émerger. Ma compréhension de la façon dont vous compilez / gérez / mettez à jour les ports dans freebsd (cd / usr / ... && make install) est que cela ne semble tout simplement pas "correct" (j'espère que le puriste me pardonnera l'utilisation de ce terme , mais il me semble étrange que si vous voulez mettre à jour un paquet, vous devez le faire, pas de résolution automatique des dépendances [je viens de jeter un œil au manuel de FreeBSD]). Ou existe-t-il un système de gestion de paquets simple comme Debian ou Gentoo?
user51166
Je sais déjà que je pourrais simplement rsync ce que je veux ou tar / diff etc mais je voudrais savoir si quelque chose de plus pratique existe déjà. Merci
user51166