Перейти к содержанию
HexaTransfer
Вернуться к блогу
Облако и хранение

Оптимизация места в хранилище: освободите облако

Оптимизируйте место в хранилище с дедупликацией, сжатием и умным архивированием. Освобождайте потраченное место и снижайте расходы.

Оптимизация облачного хранилища, как правило, сокращает счёт на 30–60% за счёт четырёх действий: удаление осиротевших данных, дедупликация идентичных объектов, сжатие текстового контента и перенос холодных данных на Glacier, Azure Archive или B2. Корзина AWS на 100 ТБ при счёте $2 300 в месяц после оптимизации нередко обходится в $800 в месяц — и ни одного нужного файла не теряется. Работа, по большей части, рутинная: инвентаризация, анализ, настройка правил жизненного цикла, — но экономия накапливается каждый месяц. Начинайте с измерений, а не со сжатия.

Сначала проведите аудит

Запустите S3 Inventory, Azure Storage Analytics или отчёты GCS, чтобы получить манифест каждого объекта: ключ, размер, дата последнего изменения, класс хранения и теги. Загрузите данные в Athena, BigQuery или DuckDB и выполните запросы.

Типичные находки в неоптимизированной корзине:

  • 20–40% объектов не были доступны более 90 дней (кандидаты для холодного уровня)
  • 5–15% — точные дубликаты по хешу SHA-256
  • 10–20% — осиротевшие файлы, приложение, создавшее их, уже не существует
  • 30–50% — текст, логи, JSON, сжимаемые с коэффициентом 3:1 через zstd

Нельзя исправить то, что не измерено. Выделите день на первоначальный аудит — и вы будете знать, куда направить следующий месяц работы по оптимизации.

Сначала удалите очевидный мусор

До любых сложных операций удалите то, чего вообще не должно быть. Типичные виновники:

  • Незавершённые составные загрузки (S3 хранит их до явного прерывания, иногда годами)
  • Пустые объекты (ноль байт, но метаданные тарифицируются)
  • Лог-файлы старше политики хранения
  • Временные файлы (.tmp, ~$*, *.bak, .DS_Store, Thumbs.db)
  • Тестовые данные из забытых экспериментов

Выполните aws s3api list-multipart-uploads и прерывайте всё старше 7 дней — правило жизненного цикла с AbortIncompleteMultipartUpload автоматизирует это навсегда. Для S3 достаточно одного правила:

Filter: prefix ""
AbortIncompleteMultipartUpload: DaysAfterInitiation: 7

Осиротевшие составные загрузки на петабайтных корзинах обходились компаниям в тысячи долларов ежемесячно.

Дедупликация: на уровне файлов и блоков

Дедупликация на уровне файлов удаляет идентичные объекты — один хеш, одни байты. Инструменты rdfind, fdupes и jdupes сканируют каталоги и выводят список дублей. Для облачных корзин обработайте CSV-манифест инвентаризации, сгруппируйте по SHA-256 и оставьте одну каноническую копию на хеш. Дубликаты замените указателями (небольшой JSON-файл со ссылкой на канонический ключ) или просто удалите, если они не используются.

Дедупликация на уровне блоков — это то, что делают системы хранения ZFS, Btrfs и специализированные продукты для резервного копирования (Veeam, Commvault, Rubrik). Файлы нарезаются на блоки по 4–128 КБ, каждый блок хешируется, каждый уникальный хеш хранится единожды. Набор резервных копий ВМ может оказаться дублированным на 90% на блочном уровне, что даёт сжатие 10:1. Это важно для резервных корзин, но редко нужно для общего файлового хранилища.

Стратегия сжатия по типу файлов

Не каждый файл сжимается. JPEG, MP4 или ZIP уже сжаты — запуск gzip против них тратит CPU впустую. Но текстовые форматы уменьшаются значительно:

  • JSON-логи: 80–90% сокращение с gzip, 85–92% с zstd
  • CSV-экспорты: 75–85%
  • .docx (уже является zip): 5–10% (пропустить)
  • .xlsx: 10–15% (пропустить)
  • .pdf: 0–5% (пропустить — PDF имеет внутреннее сжатие)
  • SQL-дампы: 85–90%

Используйте zstd для современных конвейеров — скорость декомпрессии в 2–3 раза выше, чем у gzip, при сопоставимых коэффициентах. Для логов, ротирующихся в S3, конфигурация logrotate с compress_program=zstd экономит как трафик, так и хранилище. Никогда не сжимайте уже сжатый формат — 0,5% выигрыша не стоят процессорного времени.

Распределение по уровням на основе паттернов доступа

Горячие данные — на быстрое хранилище; холодные — на дешёвое. S3 Intelligent-Tiering автоматизирует это: через 30 дней без обращений объекты переходят в Infrequent Access ($0,0125/ГБ); через 90 дней — в Archive Instant; через 180 — в Deep Archive. Сервис взимает $0,0025 за 1 000 отслеживаемых объектов, поэтому маленькие файлы (до 128 КБ) не стоят накладных расходов.

Для детерминированного управления пропишите явные правила жизненного цикла:

  • День 30: Standard → Standard-IA
  • День 90: Standard-IA → Glacier Instant Retrieval
  • День 365: Glacier IR → Glacier Deep Archive
  • День 2555: Удаление (если не помечено legal-hold)

Правила применяются ко всем новым загрузкам автоматически. Корзина на 100 ТБ, равномерно распределённая по возрасту, экономит $1 500 в месяц по сравнению с хранением всего в Standard.

Работа с overhead маленьких файлов

Каждое облако устанавливает минимальный тарифицируемый размер объекта. S3 Standard-IA берёт плату за минимум 128 КБ, даже если объект весит 4 КБ; Glacier Instant Retrieval — то же самое; Glacier Flexible и Deep Archive имеют метаданные на объект в 40 КБ, тарифицируемые по ставкам Standard-IA.

Корзина из 10 миллионов 4-КБ файлов в Standard-IA платит за 1,28 ТБ вместо 40 ГБ. Решение: пакуйте маленькие файлы в ежемесячные TAR- или ZIP-архивы перед переносом на холодный уровень. tar czf 2026-12-logs.tar.gz logs/2026-12/ — один объект вместо тысяч. Ведите параллельный индекс (CSV с именем файла → смещение) для последующего извлечения.

Оптимизация изображений и видео

Медиафайлы часто составляют основу хранилища. Конвертируйте старые JPEG в WebP (на 30% меньше) или AVIF (на 50% меньше) с помощью cwebp или avifenc. Для видео перекодируйте старые H.264 MP4 в H.265 (HEVC) или AV1: 1 ГБ 1080p H.264 становится 400 МБ в H.265 без видимой потери качества.

Для CMS-сайтов с большим количеством изображений выполните одноразовую пакетную конвертацию с помощью imagemagick или ffmpeg, храните оригиналы в Deep Archive и отдавайте оптимизированные версии. Cloudflare Images и AWS CloudFront Image Optimizer генерируют варианты на лету — вы храните одну каноническую копию и отдаёте изменённые и перекодированные версии по запросу.

Поиск дублей между облачными хранилищами

В корпоративных средах одни и те же файлы часто рассеяны по OneDrive, Google Drive, Dropbox и SharePoint. Настоящая оптимизация означает поиск дублей между хранилищами. Varonis, Egnyte и rclone (с --track-renames и сравнением контрольных сумм) умеют хешировать файлы у разных провайдеров и выявлять дубликаты.

Для разовой консолидации — собрать разрозненные копии annual-report-2024.pdf в одно место — специализированный инструмент передачи экономит время. HexaTransfer перемещает файлы до 10 ГБ с шифрованием AES-256-GCM напрямую между людьми, без промежуточного облака.

Измерьте разницу

После оптимизации измерьте снова. Storage Lens (AWS), Cost Management (Azure) или разбивка затрат в GCP должны показать снижение. Если счёт не уменьшился, что-то пошло не так: проверьте, не переводят ли правила жизненного цикла объекты обратно в Standard (такое бывает), нет ли непреднамеренной репликации, утроившей данные между регионами.

Поставьте ежемесячное напоминание для контроля роста хранилища. Корзина, растущая на 10% в месяц без очевидной бизнес-причины, обычно накапливает мусор. Поймать это рано — двухчасовой ритуал раз в квартал — лучше, чем экстренная оптимизация после сюрприза в $50 000 в месяц.

Попробуйте на hexatransfer.com — бесплатно, без регистрации, до 10 ГБ.

Безопасная отправка больших файлов со сквозным шифрованием

Передавайте файлы до 10 ГБ бесплатно со сквозным шифрованием. Регистрация не требуется. Ваши файлы шифруются в браузере перед загрузкой — никто другой не может их прочитать.

Отправить файл