Если инстанс SFS Turbo используется как сетевое файловое хранилище — смонтирован по NFS на одной или нескольких виртуальных машинах ECS — доступны следующие варианты миграции:
Выбор решения зависит от характера переносимых данных и числа сетевых хранилищ.
Способ | Миграция в один инстанс | Миграция в OBS | Миграция на NFS |
|---|---|---|---|
Когда подходит | Несколько маленьких сетевых хранилищ с POSIX-нагрузкой, минимальная замена клиентов | Крупные файлы, в основном для чтения: статические, медиа, бэкапы, архивы, логи | Мелкие файлы, активная запись, POSIX (locks, rename, hard links) |
Когда не подходит | Изолированные по I/O нагрузки (общая полоса) | Базы данных, мелкий рандомный I/O, POSIX-locks | Критичные к отказоустойчивости нагрузки без резервирования |
Стоимость | Оплата одного инстанса вместо нескольких (устраняется минимум емкости x N) | Оплата по факту использования, без минимумов, выгоднее других. | Оплата виртуальной машины и диска EVS. |
Доступ | NFS из VPC, несколько клиентов одновременно | Из любой AZ, по HTTP API и через FUSE-монтирование | VPC локально, кросс-AZ добавляет задержку |
Отказоустойчивость | Высокая (управляемый сервис) | Высокая (управляемый сервис) | Единая точка отказа — отказоустойчивость и бэкапы на стороне клиента |
Администрирование | Минимальное | Не требуется | Полностью на стороне клиента |
Изменения на клиентах | Только точка монтирования в fstab | Переход на SDK/API или FUSE-монтирование | Только точка монтирования в fstab |
Риск | Рекомендация |
|---|---|
Миграция в один инстанс: нехватка полосы общего инстанса. | Мониторьте пропускную способность, тяжелые нагрузки располагайте на отдельном инстансе. |
Миграция в один инстанс: пересечение прав доступа между сетевыми хранилищами. | Используйте POSIX-права (uid / gid) на подкаталогах, раздельные точки монтирования :/share-X. |
Миграция в OBS: приложение опирается на POSIX-семантику. | Проверьте на тестовом стенде до миграции, при несовместимости — переходите на SFS Turbo или на NFS на виртуальной машине. |
Миграция в OBS: деградация на множестве мелких файлов. | Используйте параллельную файловую систему, агрегируйте файлы. |
Миграция на NFS: единая точка отказа. | Используйте снапшоты EVS-диска, план восстановления, при необходимости HA-пара. |
Миграция на NFS: узкое место NIC/CPU. | Рассчитайте конфигурацию виртуальной машины под пиковую нагрузку всех клиентов. |
Не переключен один из клиентов сетевого хранилища. | Используйте полный список клиентов из собранного списка инстансов, после переключения проверьте showmount (активные сессии) старого инстанса перед удалением. |
Расхождение данных при переключении. | Используйте инкрементальный перенос с помощью rsync или obsutil с финальной синхронизацией в коротком окне. |
Миграция на EVS: обнаружился второй клиент файлового ресурса уже после миграции. | Проверьте showmount -a на инстансе до начала работ, зафиксируйте полный список клиентов на этапе анализа. |
Миграция на EVS: виртуальная машина не загружается после правки fstab. | Используйте монтирование по UUID, опцию nofail, проверку командой mount -a до перезагрузки. |
Миграция на EVS: отказ AZ или потеря виртуальной машины. | Используйте регулярные снапшоты диска, план восстановления. |
Проанализируйте, как используется каждый инстанс SFS Turbo, который нужно мигрировать.
По каждому инстансу SFS Turbo соберите следующую информацию в консоли управления Advanced:
ID
Емкость
IP-адрес
VPC/AZ
Проверьте фактическую утилизацию хранилища с любого клиента, где смонтирован инстанс:
df -h | grep -E 'nfs|<sfsturbo_ip>'
Зафиксируйте объем и количество файлов для каждого инстанса:
du -sh /mnt/<sfsturbo>/find /mnt/<sfsturbo>/ -type f | wc -l
Используя информацию, которую вы получили, определите подходящий способ миграции.
Перед миграцией выполните резервное копирование.
Используйте сервис Cloud Backup and Recovery (CBR) на платформе Advanced или выполните копирование вручную с хоста, где смонтирован инстанс SFS Turbo одним из способов:
Утилитой tar локально, например:
tar czf backup-<instance>.tgz -C /mnt/<sfsturbo> .
Утилитой obsutil или rsync в OBS-бакет, например:
obsutil config -i=YOUR_ACCESS_KEY_ID -k=YOUR_SECRET_ACCESS_KEY -e=obs.ru-moscow-1.hc.sbercloud.ruobsutil sync /mnt/<sfsturbo> obs://<your-bucket-name>/backup/
Где:
<access_key> и <secret_key> — ключи доступа AK/SK.
<bucket_name> — название бакета, в который будет помещен бэкап.
-u — будут скопированы только новые и измененные файлы.