Моя стратегия аварийного восстановления с открытым исходным кодом для домашнего офиса
В эпоху удаленной работы как никогда важно иметь план аварийного восстановления вашей домашней инфраструктуры.
Я много лет работал дома, и из-за кризиса Covid-19 ко мне присоединились еще миллионы людей. Учителя, бухгалтеры, библиотекари, биржевые маклеры… что угодно, эти работники теперь работают полный или неполный рабочий день из своих домов. Даже после того, как кризис с коронавирусом закончится, многие продолжат работать дома, по крайней мере, неполный рабочий день. Но что происходит, когда компьютер домашнего работника выходит из строя? Независимо от того, является ли устройство смартфоном, планшетом, ноутбуком или настольным компьютером, и является ли проблема аппаратным или программным, результатом могут стать пропущенные рабочие дни и большое разочарование.
В этой статье рассматривается, как обеспечить высокую доступность домашних компьютеров. Программное обеспечение с открытым исходным кодом является ключевым моментом. Он обеспечивает независимость от устройств, поэтому домашние работники могут легко переключаться между основными и резервными устройствами. Самое главное — это дает пользователям возможность контролировать свою среду, а это самый надежный путь к высокой доступности. Эту простую стратегию обеспечения высокой доступности, основанную на открытом исходном коде, легко изменить в соответствии с вашими потребностями.
Разные стратегии для разных ситуаций
Мне нужно сразу подчеркнуть один момент: разные должностные функции требуют разных решений. Некоторые работники на дому могут использовать смартфоны или планшеты, другие полагаются на ноутбуки, а третьим требуются мощные настольные рабочие станции. Некоторые могут мириться с перерывами в несколько часов или даже дней, в то время как другие должны быть доступны без перебоев. Некоторые используют устройства, поставляемые компанией, а другим приходится предоставлять свои собственные. Наконец, некоторые надомные работники хранят свои данные в облаке своей компании, в то время как другие самостоятельно управляют своими данными.
Очевидно, что ни одна стратегия обеспечения высокой доступности не подходит всем. Моя стратегия, вероятно, не является для вас «ответом», но я надеюсь, что она побудит вас задуматься о связанных с этим проблемах (если вы еще этого не сделали) и представит некоторые идеи, которые помогут вам подготовиться до того, как произойдет катастрофа.
Определение высокой доступности
Какое бы вычислительное устройство ни использовал домашний работник, высокая доступность (HA) включает в себя пять совместимых компонентов:
- Аппаратное обеспечение устройства
- Программное обеспечение
- Возможности связи
- Приложения
- Данные
Для достижения успеха план высокой доступности должен включать в себя все пять компонентов. Отсутствие какого-либо компонента приводит к сбою высокой доступности.
Например, вчера вечером я работал над облачной электронной таблицей. Если бы у меня вышел из строя канал связи и я не смог бы получить доступ к своим облачным данным, это остановило бы мою работу над проектом… даже если бы все остальные компоненты высокой доступности были доступны на резервном компьютере.
Конечно, есть исключения. Допустим, вчерашняя таблица хранилась на моем локальном компьютере. Если бы это устройство вышло из строя, я мог бы продолжать работать, пока у меня был резервный компьютер с моими данными, даже если бы у меня не было доступа в Интернет.
Чтобы добиться успеха в качестве домашнего работника высокой доступности, вы должны сначала определить компоненты, необходимые для вашей работы. После этого разработайте план продолжения работы, даже если один или несколько компонентов выйдут из строя.
Дублирующая замена
Один из подходов — создать дубликат замены. Наличие точно такого же оборудования, программного обеспечения, средств связи, приложений и данных на резервном устройстве гарантирует, что вы сможете работать в случае сбоя основного устройства. Этот подход прост, хотя держать под рукой полную резервную копию может оказаться дороже.
В целях экономии вы можете делиться компьютерами со своей семьей или соседями по квартире. Общая резервная копия всегда более экономична, чем выделенная резервная копия, если у вас есть высший приоритет на общем компьютере, когда он вам нужен.
Функциональная замена
Альтернативой дублирующей замене является функциональная замена. Вы заменяете вышедший из строя компонент рабочим эквивалентом. Допустим, я работаю на домашнем ноутбуке и подключаюсь через домашний Wi-Fi. У меня не работает подключение к Интернету. Возможно, я смогу подключить свой компьютер к телефону и вместо этого использовать сотовую сеть. Я добиваюсь высокой доступности, заменяя одну технологию эквивалентной.
Знайте свои требования
Помимо пяти компонентов высокой доступности, обязательно укажите любые особые требования, которые у вас есть. Например, если важна мобильность, вам может потребоваться заменить сломанный ноутбук другим ноутбуком, а не настольным компьютером.
Высокая доступность означает определение всех необходимых вам функций, а затем обеспечение того, чтобы ваш план высокой доступности охватывал их все.
Сроки, планирование и тестирование
Вы также должны определить сроки восстановления. Должны ли вы иметь возможность продолжить работу сразу после сбоя? Или у вас есть роскошь простоя, во время которого вы можете отреагировать?
Чем дольше допустимое время простоя, тем больше у вас возможностей. Например, если вы можете пропустить работу на несколько дней, вы можете просто отнести сломанное устройство в ремонтную мастерскую. Нет необходимости в резервной копии.
В этой статье под «высокой доступностью» я подразумеваю возможность вернуться к работе в очень короткие сроки после сбоя, возможно, менее чем за час. Обычно для этого требуется, чтобы у вас был доступ к устройству резервного копирования, которое сразу же доступно и готово к работе. Хотя могут быть случаи, когда вы можете восстановить свое основное устройство за считанные минуты (например, устраняя сбой или быстро заменяя неисправное оборудование или программное обеспечение), резервный компьютер обычно является частью плана обеспечения высокой доступности.
HA требует планирования и подготовки. «Импровизировать» недостаточно; убедитесь, что ваш план резервного копирования работает, предварительно протестировав его.
Например, предположим, что ваши данные находятся в облаке. Эти данные доступны откуда угодно и с любого устройства. Это звучит идеально. Но что, если вы забудете, что на вашем вышедшем из строя компьютере хранится небольшой, но жизненно важный фрагмент данных? Если вы не можете получить доступ к этим важным данным, ваш план высокой доступности потерпит неудачу. Пробный прогон выявляет подобные проблемы.
Смартфоны в качестве резервной копии
Большинство из нас, занимающихся разработкой программного обеспечения и поддержкой, используют дома ноутбуки и настольные компьютеры. Смартфоны и планшеты — полезные дополнения, но они не являются основой того, что мы делаем.
Основные причины — размер экрана и клавиатура. Что касается работы с программным обеспечением, вы не сможете достичь того же уровня производительности с помощью маленького экрана и сенсорной клавиатуры, как с большим монитором и физической клавиатурой.
Если вы обычно используете ноутбук или настольный компьютер и выбираете смартфон или планшет в качестве резервной копии, протестируйте его заранее, чтобы убедиться, что этого достаточно. Вот пример такой тонкости, которая в противном случае могла бы вас сбить с толку. Большинство платформ для видеоконференций работают как на смартфонах, так и на ноутбуках или настольных компьютерах, но их мобильные приложения могут незначительно, но существенно отличаться. И даже когда платформа предлагает эквивалентные возможности (как, например, Jitsi), может быть неудобно делиться диаграммами, слайдами и документами, использовать функцию чата и т. д. просто из-за разницы в мобильные форм-факторы по сравнению с большим экраном компьютера и множеством вариантов ввода.
Смартфоны являются удобными устройствами для резервного копирования, потому что они есть почти у каждого. Но если вы назначите свой в качестве функциональной замены, попробуйте однажды использовать его для работы, чтобы убедиться, что он соответствует вашим потребностям.
Доступность данных
Доступ к данным жизненно важен, когда ваше основное устройство выходит из строя. Даже если вы создаете резервную копию своих рабочих данных, в случае сбоя устройства вам также могут потребоваться учетные данные для доступа к VPN или SSH, специальное программное обеспечение или формы данных, которые могут не храниться вместе с вашими повседневными документами и каталогами. Вы должны убедиться, что при разработке схемы резервного копирования вы включаете все важные данные и надежно храните ключи шифрования и другую информацию для доступа.
Лучший способ обеспечить безопасность ваших рабочих данных — использовать собственный сервис. Запустить Nextcloud или Sparkleshare легко, а хостинг стоит дешево. Оба автоматизированы: файлы, которые вы помещаете в специально отведенный каталог, синхронизируются с вашим сервером. Это не совсем создание собственного облака, но это отличный способ использовать облако для своих собственных услуг. Вы можете упростить процесс резервного копирования с помощью таких инструментов, как Syncthing, Bacula или rdiff-backup.
Облачное хранилище позволяет вам получить доступ к данным с любого устройства в любом месте, но облачное хранилище будет работать только в том случае, если у вас есть прямой канал связи с ним после сбоя. И не все облачные хранилища соответствуют требованиям конфиденциальности и безопасности для всех проектов. Если на вашем рабочем месте есть решение для резервного копирования в облаке, потратьте некоторое время на изучение услуг поставщика облака и выясните, какой уровень доступности он обещает. Проверьте его послужной список в достижении этой цели. И обязательно разработайте альтернативный способ доступа к вашему облаку, если ваш основной канал связи выйдет из строя.
Локальные резервные копии
Если вы храните свои данные на локальном устройстве, вы несете ответственность за их резервное копирование и восстановление. В этом случае создайте резервную копию данных на другом устройстве и убедитесь, что вы можете восстановить их в приемлемые сроки. Это ваше время на восстановление.
Вам также необходимо будет защитить эти данные и соблюдать все требования конфиденциальности, установленные вашим работодателем.
Приемлемая потеря
Подумайте, сколько данных вы можете позволить себе потерять в случае сбоя. Например, если вы выполняете резервное копирование данных каждую ночь, вы можете потерять максимум один день работы (вся работа, выполненная в течение дня до ночного резервного копирования). Это ваша своевременность резервных данных.
Открытый исходный код предлагает множество бесплатных приложений для локального резервного копирования и восстановления данных. Как правило, те же приложения, которые используются для удаленного резервного копирования, также могут применяться к локальным планам резервного копирования, поэтому ознакомьтесь с учебными статьями Advanced Rsync или Syncthing здесь, на Opensource.com.
Многие предпочитают стратегию данных, сочетающую в себе облачное и локальное хранилище. Храните свои данные локально, а затем используйте облако в качестве резервной копии (вместо работы в облаке). Или сделайте наоборот (хотя автоматизировать отправку резервных копий вам из облака сложнее, чем автоматизировать отправку резервных копий в облако с вашего локального компьютера). Хранение ваших данных в двух разных местах обеспечивает географическую избыточность, что полезно, если какой-либо из сайтов станет недоступен.
Немного предусмотрительно вы можете разработать простой план доступа к своим данным независимо от сбоев.
Моя стратегия высокой доступности
В качестве практического примера я опишу свой собственный подход к обеспечению высокой доступности. Мои цели — время на восстановление в течение часа или меньше, а также своевременность резервного копирования данных в течение дня.
(Говард Фосдик, CC BY-SA 4.0)
Аппаратное обеспечение
Я использую смартфон Android для телефонных звонков и аудиоконференций. Я могу получить доступ к резервному телефону от другого члена семьи, если мой основной выйдет из строя.
К сожалению, небольшой размер моего телефона и сенсорная клавиатура означают, что я не могу использовать его в качестве резервного компьютера. Вместо этого я полагаюсь на несколько обычных настольных компьютеров со стандартными взаимозаменяемыми деталями. Вы можете легко обслуживать такое оборудование с помощью этого простого бесплатного руководства. Вам не нужен какой-либо опыт работы с аппаратным обеспечением.
Программное обеспечение с открытым исходным кодом делает мою стратегию мультибокса доступной. Он работает настолько эффективно, что даже компьютеры десятилетней давности прекрасно работают в качестве резервного копирования для обычной офисной работы. У меня двухъядерные десктопы с 4ГБ ОЗУ и любым диском, который чисто проверяет. Они настолько недороги, что их часто можно получить бесплатно в центрах переработки. (В своей благотворительной деятельности я обнаружил, что многие люди выдают их как непригодные для использования текущего проприетарного программного обеспечения, но на самом деле они находятся в идеальном рабочем состоянии, учитывая гибкую операционную систему, такую как Linux.)
Еще один способ сэкономить — выделить компьютер другого члена семьи для общего резервного копирования.
Системное программное обеспечение и приложения
Запуск программного обеспечения с открытым исходным кодом поверх этого универсального оборудования позволяет мне добиться нескольких преимуществ. Во-первых, гибкость программного обеспечения с открытым исходным кодом позволяет мне устранять любые возможные сбои программного обеспечения. Например, с помощью простых команд операционной системы я могу копировать, перемещать, создавать резервные копии и восстанавливать операционную систему, приложения и данные на разделах, дисках или компьютерах. Мне не нужно беспокоиться об ограничениях программного обеспечения, привязке к поставщику, собственных форматах файлов резервных копий, ограничениях лицензирования или активации или дополнительных сборах.
Еще одним преимуществом открытого исходного кода является то, что вы можете контролировать свою операционную систему. Если у вас нет контроля над собственной системой, вы можете подвергнуться принудительным перезагрузкам, неожиданным и нежелательным обновлениям, а также принудительным обновлениям. Мой родственник не раз сталкивался с такими проблемами. Без его ведома и согласия его компьютер внезапно запустил принудительное обновление с Windows 7 до Windows 10, что стоило ему трех дней потерянного дохода (и невыразимого разочарования). Урок: планы вашего поставщика могут не совпадать с вашими.
Во всех операционных системах есть ошибки. Разница в том, что программное обеспечение с открытым исходным кодом не заставляет вас их есть.
Классификация данных
Я использую очень простые методы, чтобы обеспечить высокую доступность моих данных.
Я не могу использовать облачные сервисы для своих данных из-за требований конфиденциальности. Вместо этого моя «основная копия» данных находится на диске, подключенном через USB. Подключаю его к любому из нескольких компьютеров. После каждого сеанса я создаю резервную копию всех измененных данных на компьютере, который использовал.
Конечно, этот подход возможен только в том случае, если ваши резервные копии выполняются быстро. Для большинства надомников это легко. Все, что вам нужно сделать, это разделить данные по размеру и частоте их обновления.
Изолируйте большие файлы, такие как фотографии, аудио и видео, в отдельные папки или разделы. Убедитесь, что вы создаете резервные копии только новых или измененных файлов, а не старых элементов, для которых уже были созданы резервные копии.
Большая часть моей работы связана с офисными пакетами. Они генерируют небольшие файлы, поэтому я изолирую каждый проект в отдельной папке. Например, я сохранил две дюжины файлов, которые использовал для написания этой статьи, в одном подкаталоге. Резервное копирование так же просто, как копирование этой папки.
Если вы уделите немного внимания разделению данных и резервному копированию только измененных файлов, это обеспечит быстрое и простое резервное копирование для большинства домашних работников. Мой подход прост; лучше всего работает, если вы работаете только над парой проектов за сеанс. И я могу терпеть потерю до рабочего дня. Вы можете легко автоматизировать для себя более совершенную схему резервного копирования.
В разработке программного обеспечения я использую совершенно другой подход. Я использую управление версиями программного обеспечения, которое прозрачно решает все вопросы резервного копирования программного обеспечения и координирует работу с другими разработчиками. Мое планирование высокой доступности в этой области сосредоточено только на обеспечении доступа к онлайн-инструменту.
Коммуникации
Как и многие домашние пользователи, я общаюсь как через сеть сотовой связи, так и через Интернет. Если у меня отключится Интернет, я смогу вместо этого использовать сотовую сеть, подключив свой ноутбук к смартфону Android.
Учимся на неудачах
Как я добился успеха, используя свою стратегию в течение 15 лет? Какие неудачи я испытал и чем они закончились?
- Перегорание материнской платы. Однажды мой компьютер не включился. Я просто переместил внешний диск USB «основные данные» на другой компьютер и использовал его. Я не потерял данные. После некоторого расследования я определил, что это неисправность материнской платы, поэтому утилизировал компьютер и использовал его на запчасти.
- Сбой диска. Во время работы произошел сбой внутреннего диска. Я только что переместил главный USB-диск на резервный компьютер. Я потерял 10 минут обновления данных. После работы я создал новый загрузочный диск, скопировав его с другого компьютера — гибкость, которую предлагает только программное обеспечение с открытым исходным кодом. На следующий день я воспользовался поврежденным компьютером.
- Неустрашимое обновление программного обеспечения. Обновление вызвало сбой в важной службе входа в систему. Я переключился на резервный компьютер, на котором еще не было установлено фатальное обновление. Я не потерял данные. После работы я обратился за помощью с этой проблемой, и она была решена за час.
- Выгорание монитора. Мой монитор вышел из строя. Я просто заменил резервный дисплей и продолжил работу. Это заняло 10 минут. После работы я определил, что проблема в сгоревшем конденсаторе, поэтому сдал монитор в переработку.
- Отключение электроэнергии: Вот ситуация, которую я не планировал! Торнадо на два дня отключил электроэнергию во всем нашем городе. Я узнал, что нужно продумать все возможные непредвиденные обстоятельства, включая альтернативные места работы.
Составьте свой план
Если вы работаете дома, вам необходимо подумать, что произойдет, если ваш домашний компьютер выйдет из строя. В противном случае вы можете столкнуться с утомительными выходными, пока будете пытаться решить проблему.
Программное обеспечение с открытым исходным кодом является ключевым моментом. Он настолько эффективно работает на старых и более дешевых компьютерах, что они становятся доступными машинами для резервного копирования. Он обеспечивает независимость от устройств и гарантирует, что вы сможете разрабатывать решения, которые лучше всего подходят для вас.
Для большинства людей обеспечить высокую доступность очень просто. Хитрость в том, чтобы подумать об этом заранее. Создайте план и протестируйте его.