Как я копирую данные своего клиента?

Я использовал проект Чулана (записанный в Ruby on Rails) как простой способ служить файлам определенным группам с определенными полномочиями. Кажется, что это соответствует всем Вашим критериям. Мой старый работодатель даже спонсировал автора для добавления виртуального хостинга.

От этого несколько отказался его автор, но это кажется, что было с тех пор повторно принято (дважды).

1
задан 28 November 2010 в 22:32
1 ответ

Я обрабатываю операции для относительно большого сервиса сотрудничества в режиме онлайн. У нас есть почти 200 ГБ реляционных данных в базах данных MySQL и приблизительно 20 ТБ пользовательского контента.

Мы владеем нашим собственным серверным оборудованием, таким образом, у нас есть несколько серверов хранилища файлов для пользовательского контента. Эти серверы выполняют MogileFS, который настроен для тиражирования 3 копий каждого файла через кластер. Так как у нас есть копии на 3 различных серверах, мы не используем RAID на файловых серверах. Хранение 3 копий означает, что мы можем обработать сбой диска, или удалить сервер для обслуживания и все еще иметь 2 копии каждого файла.

Каждый час мы выполняем удаленные резервные копирования со сценарием собственной разработки. Сценарий ищет новые файлы и делает резервное копирование на удаленном сервере. Этот сценарий сохраняет свою собственную базу данных точно, какие файлы были уже сохранены. (Мы могли просто использовать метку времени для определения, какие файлы скопировать, но это не позволит нам "заделывать" резервные копии при необходимости. Мы могли также просто проверить удаленный сервер на присутствие каждого файла, но с 150 миллионами файлов в MogileFS, который возьмет навсегда!)

Наши удаленные резервные копии шифруются с помощью симметричного ключа. Это на самом деле довольно изящно. У нас есть единственный основной резервный ключ. Закрытый ключ хранится в банковской ячейке, и открытый ключ доступен на всех наших файловых серверах. Резервные копии шифруются с помощью основного открытого ключа. Это означает, что они могут все быть дешифрованы с основным закрытым ключом, но даже если бы наши серверы все поставлены под угрозу, взломщик не смог бы получить доступ к зашифрованным резервным копиям.

Мы используем Диспетчер резервного копирования для обработки наших резервных копий базы данных MySQL и других разных резервных копий сервера. Диспетчер резервного копирования является потрясающим - он обрабатывает все автоматически, как шифрование резервных копий и отправка их удаленный. Диспетчер резервного копирования выполняет возрастающие резервные копирования указанных каталогов на серверах и выполняет mysqldump для наших баз данных.

Можно даже передать другие инструменты по каналу через Диспетчер резервного копирования - например, я тестирую Percona XtraBackup с Диспетчером резервного копирования для более быстрых резервных копий MySQL. (Технически, XtraBackup не ускоряет резервные копии - он ускоряет восстановления. Без XtraBackup требовалось почти неделя для восстановления нашей базы данных MogileFS на 40 ГБ. Это помогло настроить MySQL, но даже затем выполнение восстановления не соответствовало. Я только что начал тестировать XtraBackup, который может позволить нам восстановить базу данных в течение многих часов, не дней.)

Я настоятельно рекомендую использовать Диспетчер резервного копирования - это смехотворно быстро для установки и обрабатывает всю механику установления удаленного резервного копирования. Я даже начал использовать его на двух из моих собственных персональных серверов, храня зашифрованные резервные копии на Amazon S3. Пока Ваш набор данных не является очень большим, Диспетчер резервного копирования должен смочь обработать все для Вас, включая конфигурацию сервера, исходный код и пользовательские данные. Это автоматически, зашифровано, и очень прост использовать.

0
ответ дан 4 December 2019 в 10:33

Теги

Похожие вопросы