Je suis en train de configurer un serveur de fichiers et j'en suis arrivé à configurer réellement les lecteurs de données. Le système dispose de 4 lecteurs (un disque OS, 3 disques de données). Le disque du système d'exploitation est formaté en ext4 et ne sera pas ajouté au pool ZFS (si je choisis d'exécuter ZFS) .Mon souci principal est l'intégrité des données et le risque minimum de perte de données (la mise en cache du lecteur est désactivée dans le BIOS). Pour cela, ZFS semble être le candidat parfait, car il a une version stable pour Linux (correct?), Et prend en charge la duplication de données, la mise en commun et raidz, où les disques durs n'ont pas à être de la même taille.
Mais voici mon problème. Le serveur n'a que 2 Go de RAM et cela ne peut pas être mis à niveau dans un proche avenir, et de manière réaliste, seul 1.5 sera réellement accessible à ZFS après avoir installé tous les autres services. Un maximum d'environ 10 clients l'utiliseront à un moment donné (plus comme 4 en moyenne). Est-ce trop bas pour être considéré comme sûr?
D'après ce que je comprends, ZFS peut planter dans des situations de faible RAM et emporter le pool avec. J'ai entendu des opinions contradictoires sur la question de savoir si le swap contribuera à atténuer ce problème (j'ai un disque dédié au swap de 20 Go). Quelqu'un a-t-il subi une perte de données avec ZFS avec peu de RAM et quelles optimisations avez-vous inclus pour éviter cela?
Compte tenu de ce qui précède, serait-il possible de continuer à exécuter ZFS, bien que réduire la taille de l'ack et le réduire un peu ou est-ce trop risqué?
Spécifications du système: 2 Go de RAM, 20 Go de swap drive OS, Debian 7, installation minimale, avec FTP, et XBMC, DNLA (pour donner une idée des besoins en RAM). Utilisé pour le serveur de stockage et le streaming de musique sur d'autres appareils.
Réponses:
Vous déclarez l'intégrité des données et le risque minimum de perte de données comme principales préoccupations. L'exécution de ZFS avec seulement 2 Go de mémoire est risquée et déconseillée. Trop peu de RAM tue les performances et a été la cause de nombreux pools non montables dans le passé. Le projet FreeNAS prévoit au minimum 8 Go de RAM.
De plus, puisque votre préoccupation est la perte de données, vous voudrez utiliser la RAM ECC. Étant donné que votre boîte ne peut prendre en charge que 2 Go de RAM, je suppose que c'est une très vieille boîte qui ne serait pas un bon choix pour ZFS.
Pour répondre à tes questions:
Dans la pratique, oubliez la déduplication lorsque vous n'avez pas au moins 32 Go, comme une règle de base. Vous pourriez avoir besoin de beaucoup plus de RAM, selon la taille du pool. Deuxièmement, faites le calcul si les coûts de déduplication + RAM sont moins chers qu'une poignée de disques supplémentaires. Plus souvent qu'autrement, plus de disques sont l'alternative moins chère.
Oui, c'est beaucoup trop bas.
C'est vrai et de nombreuses personnes ont perdu leur pool en raison de la faible RAM.
Oubliez le swap, votre box ZFS ne devrait jamais utiliser le swap.
EDIT: Si vous vous sentez aventureux et ne craignez pas le risque de paniques occasionnelles ou de perte de données, lisez le guide de réglage ZFS et adaptez les paramètres mentionnés. Voici les exemples de paramètres pour un système de 768 Mo de mémoire.
Sinon, investissez une centaine de dollars dans une bande de mémoire et profitez d'un système stable et performant.
la source
Sur les systèmes à haute pression de mémoire (Linux), il est vraiment nécessaire de mettre à niveau la mémoire. Il y a toujours un bug ( lien ) où l'échange bloque l'IO (tâche bloquée par le noyau), ce qui le rend inutilisable à moins qu'il ne soit redémarré. Je crois que le vm.swappiness = X n'a aucun effet sur zfs, donc limiter l'arc à un certain nombre pourrait aider un peu.
la source