디스크에 기록할 데이터를 압축합니다.

디스크에 기록할 데이터를 압축합니다.

나는 과학적 계산에 사용되는 서버를 가지고 있으며 각 사용자는 사용할 가상 머신(Linux 또는 Windows)을 가지고 있습니다. 문제는 많은 사용자가 이 서버를 사용할 때 이러한 계산으로 생성된 보고서가 엄청난 양의 저장 공간을 차지한다는 것입니다.

보고서가 완료된 후가 아니라 디스크에 기록될 때 출력을 압축할 수 있는 방법이 있는지 알고 싶습니다.

업데이트1:Vsphere를 하이퍼바이저로 사용하고 HDD를 스토리지로 사용합니다.

답변1

스토리지를 인라인 압축 및/또는 중복 제거할 수 있습니다. 이를 해결하는 방법에는 여러 가지가 있습니다. 일부는 더 쉽고 일부는 더 효과적입니다.

시작하려면 Linux 및 UNIX 시스템에서 블록 수준에서 압축과 중복 제거를 모두 지원하는 파일 시스템 및 볼륨 관리자인 ZFS를 사용할 수 있습니다. 이를 기반으로 구축된 모든 공유 또는 로컬 스토리지 시스템은 이러한 기능을 사용할 수 있으므로 ZFS 위에 NFS처럼 간단한 것이 모든 VM에 걸쳐 공유 풀을 사용하여 원하는 작업을 수행할 수 있습니다.

Linux에서는 인라인 중복 제거 및 압축을 지원하는 다중 장치 파일 시스템인 btrfs를 사용할 수 있습니다. 위와 같은 생각입니다. Btrfs는 ZFS보다 하드웨어 요구 사항이 적지만 인라인 중복 제거는 여전히 꽤 집약적입니다(두 파일 시스템 중 하나를 사용하여 더 큰 공유 데이터 세트에서 수행하는 것이 가장 좋습니다). btrfs에 대해 염두에 두어야 할 점은 파일 시스템이 먼저이고 볼륨 관리자가 그 다음이라는 것입니다. 또한 ZFS처럼 블록 기반 추상화를 제공하지 않으므로 순전히 파일 기반 시스템입니다.

이 기능을 포함하는 여러 NAS/SAN 제품이 있습니다. 공유 스토리지에 하나를 사용하면 미리 준비된 지원 제품이면서 중복 제거 및 압축을 효과적으로 활용할 수 있습니다. FreeNAS는 ZFS를 사용할 수 있는 시스템 중 하나의 예입니다. Synology NAS 장치도 btrfs를 사용할 수 있으며 종종 사용합니다.

답변2

@SmallLoanOf1M에 동의합니다. 하지만 할 수 있는 또 다른 아이디어는 실제로 VM 내에서 보고서를 압축하는 것입니다. 이렇게 하면 기본 하이퍼바이저(예: Xen Dom0)에 부하를 가하지 않고 VM의 CPU 제한 내에 두는 것입니다. .

데이터를 파이프할 수 있다면 언제든지 다음과 같은 작업을 수행할 수 있습니다.

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

또는 gzip느리지만 더 나은 압축을 원하거나 xzCPU를 녹이려는 경우에 사용하십시오.

관련 정보