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

Перемещение и разделение 5 ТБ данных

Вот сценарий: у меня есть 5 ТБ (да, это T) файлов на сервере Windows, которые мне нужно перенести на новый сервер в максимально короткие и эффективные сроки. (Подумайте: Robocopy, Rsync и т. Д., Поскольку я планирую использовать дифференциалы для этого со временем). Файлы находятся в ~ 41 000 каталогов в единственном родительском каталоге (d: \ files \ folder1, d: \ files \ folder2 и т. Д.).

Поскольку они переносятся на новый сервер, я хочу разделить их так, чтобы они не находились в одном каталоге «файлов», а вместо этого были разделены как можно более логично между несколькими дисками (пытаясь сохранить размер диска около 2 ТБ для в целях резервного копирования и репликации).

Robocopy не имеет опции регулярного выражения. Для Rsync потребуется Linux-сервер, что не невозможно, но увеличивает накладные расходы: это переход с Windows на Windows. Я нашел способ перебрать 41 000 каталогов с помощью PowerShell и запустить Robocopy для каждого каталога индивидуально, что позволило мне указать место назначения ... но это кажется неэффективным.

Еще один вариант, который я рассмотрел, - это перенести все сразу, а затем при необходимости скопировать копию на другие диски. Это означало бы дважды скопировать 2/3 файлов.

Я пропустил что-нибудь очевидное?

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

На моем файловом сервере было чуть больше 2 ТБ, но это было 4 миллиона файлов и более 250 тысяч папок.

Я сделал первоначальную копию с помощью файлового менеджера (Multi-Commander), еще одну обновленную синхронизацию таким же образом перед переключением сервера. Фактически, первоначальная копия заняла 4 часа, а обновление - всего несколько минут, так как большинство файлов уже были перенесены. Переключение произведено с минимальным временем простоя.

Synkron также является хорошим инструментом для Windows, но я не тестировал его на очень больших объемах данных.

Вы можете смонтировать свои диски с RAID 01 на своем новом сервере, это позволит вам:

  • Используйте все данные, как будто они находятся на одном диске
  • Перераспределение данных на нескольких дисках управляется самой файловой системой (RAID 0)
  • Имея резервное копирование, управляемое самой файловой системой, все данные реплицируются и восстанавливаются при обнаружении ошибки (RAID 1).
  • Высокая производительность, в то время как RAID управляется самой операционной системой или материнской платой, если она интегрирована в нее (на многих материнских платах эта функция доступна)
  • Ваша файловая система может быть легко расширена, в то время как расширение раздела на новых дисках с помощью RAID легко
  • Перенести данные будет легко, потому что RSync будет действовать так, как будто это простой привод для синхронизации.

Я сделал окно 2 Windows rsync, используя CygWin framework пару лет назад. Rsync + sshd определенно выполнимо.

Я также нашел это, и похоже, что это может упростить синхронизацию Windows, чем когда-либо: http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp

Обычно мы сначала клонируем данные на физические диски, чтобы сделать «первую синхронизацию» как можно быстрее, а затем используем rsync, чтобы перемещать только дельты / различия по сети.