Назад | Перейти на главную страницу

Как минимизировать потребление памяти?

У меня есть сеть с Live, User Acceptance, промежуточными серверами и серверами разработки (в данном случае Windows в основном 2012r2, все гости Hyper-V). Каждая из этих частей сети имеет внешний и внутренний сервер. Внутренние серверы содержат пропорционально большие объемы данных. На серверах приема пользователей, промежуточных серверах и серверах разработки эти данные не изменяются (за исключением периодического обновления в реальном времени), и к ним редко обращаются вне цикла разработки.

Как в среде такого типа минимизировать потребление хранилища и не тратить его на статические и редко используемые данные. Данные состоят из тысяч файлов, таких как pdf, json, dwgs и pngs.

Вещи, которые я рассмотрел.

Удаление серверов, когда они не используются - не лучший вариант, поскольку иногда время на восстановление этих серверов весит время, которое разработчики собираются использовать. Нашим решением для резервного копирования является MS Data Protection Manager.

Удаление дисков с данными, когда они не используются - немного лучше, чем указано выше, но опять же время имеет значение.

Перемещение дисков с данными между серверами. Поскольку они являются гостевыми системами Hyper-V, я могу просто прикрепить диски с данными по мере необходимости, однако бывают случаи, когда одновременно используется более одной среды.

Возможно, вы захотите проверить несколько гибридных файловых серверов, один из которых выгружает холодные данные в общедоступное облако, где хранение дешево (S3) или почти бесплатно (Glacier). Если у вас есть корпоративное соглашение в Azure, вы можете попробовать StorSimple от Microsoft, как физический, так и виртуальный.

https://azure.microsoft.com/en-us/services/storsimple/

Насуни тоже неплохой, но надежного SMB3 пока нет.

https://www.nasuni.com

Поскольку у вас есть значительный объем данных, которые не сильно меняются со временем, я настоятельно рекомендую вам реализовать какое-то многоуровневое хранение (места для хранения с автоматическим многоуровневым распределением должны соответствовать). Идея состоит в том, что «горячий» уровень, то есть локальное хранилище, должен содержать самые свежие данные, к которым необходимо быстро получить доступ, а «холодный» уровень может быть выгружен в облако.

Идея не нова - Насуни https://www.nasuni.com/ делает вещи, очень похожие на этот подход. Вариант DIY - S3Fuse. https://www.interserver.net/tips/kb/mount-s3-bucket-centos-ubuntu-using-s3fs/ что позволяет монтировать облачное хранилище как локальный диск. StorSimple https://azure.microsoft.com/en-us/services/storsimple/ - другой вариант, но он строго привязан к Azure.

Если вы не желаете устанавливать / настраивать и поддерживать какое-либо дополнительное программное обеспечение, вы можете использовать аппаратный шлюз, такой как AcloudA. http://aclouda.com/ это сделает работу без необходимости в дополнительном программном обеспечении или драйверах.

На рынке очень много интересных решений, Насуни не пробовал, но вроде подошло. Кроме того, вы можете взглянуть на Aclouda, который можно использовать в качестве аппаратного шлюза и представить облачное хранилище как локальный диск и автоматически выгружать данные в облако. Его можно установить на локальном сервере как диск SATA / SAS с возможностью подключения к облаку Amazon или Azure. http://aclouda.com/

Поскольку ваши гости - Windows 2012 R2, вы можете запустить дедупликацию внутри виртуальной машины. За исключением начального обхода, я обнаружил, что он не требует больших ресурсов. На магазинах документов моя экономия составила 55% или больше.

Если ваше хранилище было на сервере Windows (дисковые пространства и т. Д.), Вы могли вывести хранилище VHD. Использование параметра VDI при настройке дедупликации на томе включает дедупликацию открытых VHD. Видеть https://technet.microsoft.com/en-us/library/dn486808.aspx