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

Корневой раздел с возможностью горячей замены в Ubuntu Server 10.04 LTS

Моя компания использует небольшие сетевые хранилища NAS, которые мы раздаем предприятиям и домам для использования в личных или деловых сетях. Эти машины работают под управлением Ubuntu Server 10.04 и настроены на загрузку с флэш-накопителя. Основная часть хранилища и общих ресурсов находится в массиве RAID5 с 4 дисками. Мы клонируем флэш-накопители с помощью dd и меняем их для быстрого и легкого устранения проблем с ОС. Некоторые из наших клиентов не могут позволить себе отключать компьютер даже на несколько минут для перезагрузки. Итак, мы хотели бы знать, как начать создавать флешку с возможностью «горячей замены». Я рассматривал возможность запуска небольшой ОС с базовым общим доступом, ssh и FTP из массива RAID5, а также использовать сигнал USB для запуска сценария, инструктирующего машину переключить загрузчик на эту «крошечную» ОС. Итак, пока машина работает под этой временной ОС, мы отключаем флешку с основной ОС и снова запускаем сигнал USB, чтобы снова переключить загрузчик. Итак, я предполагаю, что мой вопрос будет заключаться в том, существует ли уже программное обеспечение для этого, а если нет, то какой путь мне следует выбрать, чтобы начать?

Итак ... это на самом деле хороший вопрос.

Сначала я расскажу, почему не работает, потом расскажу, как это сделать мощь работай. :-)

Ваша «ОС» (точнее, ваше ядро) предоставляет все необходимые интерфейсы для ваших устройств. Включая ваши дисковые массивы. Он также хранит список дескрипторов, которые сообщают процессам, куда отправлять свои данные.

Итак, когда вы говорите о «горячей замене» вашей «ОС», вы на самом деле просите заменить ядро ​​(и все связанные с ним библиотеки и конфигурации) во время работы. У вас МОЖЕТ быть одна операционная система в действии, а другая хранится на устройстве. Но вы не можете выполнить горячую замену стандартного ядра во время работы.

НО, вы можете взглянуть на новую технологию под названием ksplice. Его цель - предложить ядро ​​без перезагрузки. Я не знаком с вашей текущей реализацией или с тем, насколько стабилен ksplice в настоящее время, но он должен помочь вам встать на правильный путь. И Canonical даже является одним из их главных сторонников!

Удачи!

Если проблема связана с заменой конфигурации o / s, привод ничего не делает. Вы не можете изменить состояние работающей ОС, просто не выполнив что-то вроде перезапуска служб.

Что касается замены неисправного диска на новый, например, на USB, что можно сделать.

ЕСЛИ вы создаете USB-диск как группу томов в LVM2, вы можете использовать pvmove команда для достижения этого эффекта.

Процесс будет следующим:

  1. Вставьте новый USB-диск такого же или большего размера.
  2. С помощью vgextend добавить указанный диск в существующую группу томов.
  3. С помощью pvmove переключите экстенты со старого корневого раздела на новый USB-диск.
  4. С помощью vgreduce удалите старый старый USB-диск из группы томов.
  5. Удалите старый диск.

Я еще раз упомяну, что это вообще ничего не делает для устранения каких-либо основных проблем, вызванных состоянием сервера, которое, вероятно, является источником основной причины большинства проблем.

Кроме того, это не поможет вам исправить существующий комплект, для которого не включен LVM. Просто вещи, которые вы бы отправили сейчас.

Если вы хотите в первую очередь предложить высокодоступное решение, создайте его. Создайте резервный NAS. Ты можешь использовать drbd сделать это. Затем вы можете безопасно переключиться на отказ, чтобы выполнить столько автономной работы над проблемным ящиком, сколько захотите.