3 votes

Compression des données lorsqu'elles doivent être écrites sur le disque

J'ai un serveur qui est utilisé pour des calculs scientifiques, chaque utilisateur a une machine virtuelle (Linux ou Windows) pour son utilisation. Le problème est que les rapports générés par ces calculs prennent une quantité énorme de stockage lorsque de nombreux utilisateurs utilisent ce serveur.

Je veux savoir s'il y a un moyen de compresser les sorties, non pas après que le rapport soit terminé mais quand il doit être écrit sur le disque.

mise à jour1 : Nous utilisons Vsphere comme hyperviseur et H.D.D. pour le stockage.

1 votes

Quel hyperviseur ? Quel type de stockage ? Certains systèmes de fichiers ou SAN prennent en charge la compression.

0 votes

@Zoredache J'ai mis à jour ma question

3voto

dsegleau Points 1460

Vous pourriez compresser et/ou dédupliquer votre stockage en ligne. Il existe plusieurs façons d'y parvenir, certaines plus simples, d'autres plus efficaces.

Pour commencer, les systèmes Linux et UNIX peuvent utiliser ZFS, un système de fichiers et un gestionnaire de volumes qui prend en charge la compression et la déduplication au niveau des blocs. Tout système de stockage partagé ou local construit au-dessus de ce système peut utiliser ces fonctionnalités, de sorte que quelque chose d'aussi simple que NFS au-dessus de ZFS peut faire ce que vous voulez avec un pool partagé sur toutes les VM.

Linux peut utiliser btrfs, qui est un système de fichiers multi-dispositifs prenant en charge la déduplication et la compression en ligne. Les mêmes idées que ci-dessus. Btrfs a moins d'exigences matérielles que ZFS, mais la déduplication en ligne est toujours assez intensive (il est préférable de la faire sur un ensemble de données partagées plus important en utilisant l'un ou l'autre système de fichiers). Il faut garder à l'esprit que btrfs est d'abord un système de fichiers et ensuite un gestionnaire de volume. Il n'offre pas non plus d'abstractions basées sur les blocs comme le fait ZFS, il s'agit donc d'un système purement basé sur les fichiers.

Il existe plusieurs offres de NAS/SAN qui incluent cette fonctionnalité. L'utilisation de l'une d'entre elles pour le stockage partagé permettrait de faire bon usage de la déduplication et de la compression tout en étant un produit de série et supporté. FreeNAS est un exemple d'un tel système, qui peut utiliser ZFS. Les périphériques NAS de Synology peuvent également utiliser et utilisent souvent btrfs.

1voto

Brennen Smith Points 1608

Je suis d'accord avec @SmallLoanOf1M, mais une autre idée que vous pourriez faire est de compresser les rapports dans la VM - de cette façon, vous ne mettez pas la charge sur l'hyperviseur sous-jacent (c'est-à-dire Xen Dom0) et vous la mettez dans les limites du CPU de la VM.

Si vous pouvez canaliser les données, vous pouvez toujours faire quelque chose comme :

report-generator-program | lz4 > report-file.lz4

Ou utilisez gzip si vous voulez une compression plus lente mais meilleure, ou xz si tu veux faire fondre ton processeur.

1 votes

J'ai trouvé brotli s'est récemment révélé excellent, compressant (au niveau q1) environ 4 fois plus vite que gzip au même taux de compression sans faire cuire totalement une dinde sur un disque. q0 est à nouveau en train de faire fondre le territoire de votre CPU.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X