Единственная выгода - то, что я хотел бы, чтобы данные были зашифрованы
Так как это - взгляд Linux на dm-склеп или truecrypt.
С dm-склепом или truecrypt, будет кто-либо с доступом к файловой системе смочь получить доступ к данным?
Это зависит от того, что Вы подразумеваете под любым и доступом. Если Вы не сохранили свои ключи на поле, и некоторый злой человек крадет компьютер или диск, зашифрованные данные будут нечитабельными. Если на системе оставят, и зашифрованную файловую систему оставляют смонтированной, и человек может войти в систему с учетной записью, которая имеет полномочия на файлах затем затем то да, они смогут получить доступ к данным. При управлении доступом правильно никто, но авторизованные пользователи не должен мочь получить доступ к данным.
Данные должны быть зашифрованы на файловом сервере, но монтируемые на другом сервере Linux через NFS или некоторый другой протокол.
То, как данные шифруются на сервере, обычно не связано с тем, как Вы служите ему. Следует иметь в виду, что большинство протоколов обслуживания файлов, которые Вы будете использовать, не будет зашифровано, таким образом, люди смогут видеть Ваши файлы, поскольку они используются по сети, если Вы не делаете что-то для шифрования их в пути. Вы могли использовать что-то как IPSEC, VPN между хостами или sshfs.
Sneakernet кто-либо?
Принятие этого является одной копией времени, я не предполагаю, что его возможное просто копирует файл в CD (или другие медиа), и в течение ночи это месту назначения там?
Это могло бы на самом деле быть Вашей самой быстрой опцией, поскольку передача файлов того размера, по тому соединению, не могла бы скопировать правильно..., в этом случае, Вы добираетесь для запуска снова и снова.
rsync
Моим вторым выбором/попыткой был бы rsync, поскольку он обнаруживает отказавшие передачи, частичные передачи, и т.д. и может поднять от того, где он кончил.
rsync --progress file1 file2 user@remotemachine:/destination/directory
- флаг прогресса даст Вам некоторую обратную связь вместо того, чтобы просто находиться там и оставить Вас второму предположению самих.:-)
Vuze (bittorrent)
Третий выбор состоял бы в том, чтобы, вероятно, попытаться использовать Vuze в качестве сервера потока и затем иметь Ваше удаленное использование местоположения стандарт bitorrent клиент для загрузки его. Я знаю о других, которые сделали это, но Вы знаете... к тому времени, когда они получили все это настроенное выполнение и т.д... У меня мог быть overnighted данные...
Зависит от Вашей ситуации, которую я предполагаю.
Удачи!
ОБНОВЛЕНИЕ:
Вы знаете, я получил взгляды о Вашей проблеме немного больше. Почему файл должен быть единственным огромным tarball? Tar совершенно способен к разделению больших файлов в меньшие (для охвата медиа, например) итак, почему бы не разделить тот огромный tarball на более managable части, и затем передайте части вместо этого?
Я сделал это в прошлом с 60 ГБ tbz2 файл. У меня больше нет сценария, но должно быть легко переписать его.
Во-первых, разделите свой файл на части ~2GB:
split --bytes=2000000000 your_file.tgz
Для каждой части вычислите хеш MD5 (это должно проверить целостность), и сохраните его где-нибудь, затем начните копировать части и их md5 на удаленный сайт с инструментом по Вашему выбору (меня: netcat-tar-pipe на экранной сессии).
Через некоторое время сверьтесь с md5, если Ваши части хорошо, то:
cat your_file* > your_remote_file.tgz
Если Вы также сделали MD5 исходного файла, проверьте его также. Если это хорошо, Вы можете untar Ваш файл, все должно быть в порядке.
(Если я найду время, то я перепишу сценарий),
Обычно я - крупный защитник rsync, но при передаче единственного файла впервые, это, кажется, не имеет много смысла. Если бы, однако, Вы повторно передавали файл только с незначительными различиями, то rsync был бы явным победителем. Если Вы принимаете решение использовать rsync так или иначе, я настоятельно рекомендую выполнение одного конца в --daemon
режим для устранения уничтожения производительности ssh туннель. Страница справочника описывает этот режим вполне полностью.
Моя рекомендация? FTP или HTTP с серверами и клиентами, которые поддерживают возобновление, прервали загрузки. Оба протокола быстры и легки, избегая ssh-туннельного штрафа. Apache + wget кричал бы быстро.
Прием канала netcat также хорошо работал бы. Tar не необходим при передаче единственного большого файла. И причина, это не уведомляет Вас, когда это сделано, состоит в том, потому что Вы не сказали это. Добавьте a -q0
отметьте к стороне сервера, и она будет вести себя точно, как Вы ожидали бы.
server$ nc -l -p 5000 > outfile.tgz client$ nc -q0 server.example.com 5000 < infile.tgz
Оборотная сторона к подходу netcat - то, что он не позволит Вам возобновляться, умирает ли Ваша передача 74 ГБ в...
Дайте netcat (иногда названный nc) выстрел. Следующие работы над каталогом, но должно быть достаточно легко настроить для того, чтобы просто справиться один файл.
На целевом поле:
netcat -l -p 2342 | tar -C /target/dir -xzf -
На исходном поле:
tar czf * | netcat target_box 2342
Можно попытаться удалить 'z' опцию в обеих командах tar некоторое время больше скорости, видя, поскольку файл уже сжат.
SCP по умолчанию и Rsync (который использует SCP) являются очень медленными для больших файлов. Я предполагаю, что изучил бы использование протокола с более низкими издержками. Вы попытались использовать более простой шифр шифрования, или не вообще? Попытайтесь изучить --rsh
опция для rsync для изменения метода передачи.
Почему не FTP или HTTP?
Хотя это добавляет немного служебное к ситуации, БитТоррент является на самом деле действительно хорошим решением передачи больших файлов. БитТоррент имеет много хороших функций как собственное разделение на блоки файла и вычисления контрольной суммы каждый блок, который может ретранслироваться если повреждение.
Программа как Azureus [теперь известный как Vuze] содержит все части, необходимо будет создать, сервер и загрузить потоки в одном приложении. Боб в памяти Azureus не является самым минимизированным из решений, доступных для БитТоррента, и я думаю, требует его GUI также - существует большая командная строка управляемые инструменты потока для Linux все же.
Ну, лично, 20-30Kb/s кажется довольно низким для 10 МБ (принимающий 10 МБ и не 10 МБ) ссылка.
Если бы я был Вами, то я сделал бы одну из двух вещей (предполагающий, что физический доступ не доступен) -
Любой, я советую Вам разделять большой файл на меньшие блоки, приблизительно 500 МБ Просто упаковывают повреждения в пути.
Когда у Вас есть меньшие блоки, используйте или rsync снова, или я лично предпочитаю использовать частный Безопасный сеанс FTP и затем CRC файлы после завершения.
Несколько вопросов могли бы помочь в обсуждениях: как очень важный данные должны быть переданы? Это для аварийного восстановления, горячего резервного копирования, автономного хранения или что? Вы намереваетесь скопировать базу данных, в то время как она произошла или вниз? Что относительно того, чтобы настроить базу данных в удаленной системе и сохраняют их в синхронизации с помощью или кластеризируясь или обновляя через журналы изменений (я не являюсь полностью сведущим на возможностях системы баз данных MySql). Это могло бы помочь уменьшить объем данных, бывший должный быть переданным через ссылку.
Поздний ответ для гуглеров:
При передаче больших наборов данных можно использовать rsync для сравнения источника и места назначения, а затем записать пакетный файл на локальный съемный носитель с помощью флага --only-write-batch. Затем вы отправляете локальный носитель в удаленное место, подключаете его и снова запускаете rsync, используя --read-batch для включения изменений в удаленный набор данных.
Если исходные файлы изменяются во время физической транспортировки, или если транспортный носитель заполняется, вы можете просто продолжать повторять --only-write-batch |, отправляя | цикл --read-batch до тех пор, пока не будет достигнут пункт назначения.
(Ref: Я был одним из авторов этой функции в rsync -- подробнее о фоновом режиме и примерах использования смотрите в этом обсуждении реализации прототипа: https://lists.samba.org/archive/rsync/2005-March/011964.html)