Перейти к основному содержанию

База знаний
FirstDedic

Использование образа SystemRescue на Proxmox VE

Работа системного администратора постоянно сопряжена с действиями по настройке и восстановлению работоспособности сервера. В некоторых случаях сервер может быть недоступен или его загрузка нарушена. Тогда на помощь приходит дистрибутив SystemRescue. 

В статье мы разберем способы добавления и использования образа SystemRescue на Proxmox VE для виртуальных машин.

Все консольные команды, представленные в статье, требуется выполнять из-под пользователя root или иного пользователя с аналогичными привилегиями.

Что такое SystemRescue

SystemRescue — это специализированный дистрибутив Linux, предназначенный для выполнения задач по восстановлению и администрированию системы. 

Дистрибутив может поставляться как компакт-диск, образ диска, USB-накопитель или загружен по сети. В этой статье мы будем использовать образ диска.

SystemRescue может быть использован для таких задач как:

  1. Восстановление поврежденных данных на диске;
  2. Диагностика и ремонт файловых систем;
  3. Управление разделами на дисках; 
  4. Сетевая диагностика и восстановление;
  5. Редактирование и восстановление загрузчиков операционной системы;
  6. Общий доступ к системе для проверки данных и работы с ними.

Однако это далеко не все задачи, для которых можно использовать SystemRescue. Это действительно универсальный инструмент для обслуживания сервера.

Добавление образа на сервер 

Чтобы использовать образ SystemRescue для обслуживания виртуальных машин, нужно его добавить на сервер.

Сделать это можно через веб-интерфейс Proxmox VE или через консоль SSH — выберите способ, который вам удобнее. 

Через консоль SSH

Для начала нужно определить место для хранения образа. По умолчанию используется директория /var/lib/vz/template/iso/. В вашем случае может использоваться другое расположение хранилища.

Для скачивания воспользуемся командой:

wget -P <storage> <url_iso>

Где:

  • <storage> – адрес каталога, где будет размещен ISO-образ;
  • <url_iso> – URL-адрес для скачивания ISO-образа.

Пример команды:

wget -P /var/lib/vz/template/iso/ https://fastly-cdn.system-rescue.org/releases/11.02/systemrescue-11.02-amd64.iso
Актуальную ссылку для скачивания ISO-образа вы можете получить, зайдя на сайт SystemRescue. Для этого перейдите на сайт. Откройте нужную версию и скопируйте ссылку на страницу из адресной строки браузера.

Когда загрузка образа будет завершена, можете переходить к следующему пункту.

Через веб-интерфейс Proxmox VE

Добавить образ SystemRescue можно и через веб-интерфейс Proxmox VE:

Шаг 1. В левом вертикальном меню выбираем хранилище, на котором будет храниться образ. 

Выбор хранилища, где будет храниться образ

Шаг 2. Переходим на вкладку «ISO Images» и нажимае кнопку «Download from URL».

Вкладка «ISO Images»

Шаг 3. В открывшемся диалоговом окне указываем URL-адрес для скачивания образа и нажимаем кнопку «Query URL». Для начала загрузки нажимаем кнопку «Download».

Указание URL-адреса для скачивания образа

Когда загрузка образа будет завершена, можем переходить к следующему пункту.

Подключение образа к виртуальной машине

Чтобы загрузить виртуальную машину с добавленным образом, требуется подключить его к серверу. Сделать это можно через веб-интерфейс Proxmox VE или через консоль SSH — рассмотрим оба способа.

ВАЖНО! Все работы следует производить на выключенной виртуальной машине.

Через консоль SSH

Ранее мы добавили ISO-образ SystemRescue. Определяться он будет как CD/DVD-дисковод. Чтобы добавить новое устройство к виртуальной машине через консоль SSH, воспользуемся следующей командой:

qm set <VMID> --cdrom <storage>:iso/<iso_file>

Где:

  • <VMID> – идентификатор виртуальной машины, к которой хотим добавить CD/DVD-дисковод;
  • <storage> – имя хранилища, где находится ISO-образ;
  • <iso_file> – имя файла ISO-образа.

Пример команды: 

qm set 333 --cdrom local:iso/systemrescue-10.02-amd64.iso

После нужно скорректировать приоритет загрузки, чтобы добавленный образ стоял первым в списке. Это требуется, чтобы загрузка сервера происходила с этого устройства. Для этого выполняем команду:

qm set <VMID> --bootorder <device1>,<device2>,<device3>

Где <device1>, <device2>, <device3> и т. д. — это устройства ide0, sata0, virtio0, net0 и другие в порядке, в котором их надо загрузить.

Пример команды: 

qm set 444 --bootorder ide2,scsi0,net0

Теперь запускаем виртуальную машину командой:

qm start <VMID>

Где <VMID> – идентификатор виртуальной машины, которую вы хотите запустить.

Через веб-интерфейс Proxmox VE

Как и в предыдущем пункте, описанные действия можно выполнить через веб-интерфейс Proxmox VE:

Шаг 1. Выбираем тестовую виртуальную машину. Проверяем, что виртуальная машина выключена.

Проверка сервера

Шаг 2. Переходим в раздел «Hardware». Нажимаем кнопку «Add» и выбираем пункт «CD/DVD Drive».

Добавление CD DVD Drive

Шаг 3. В открывшемся окне выбираем хранилище, нужный образ и нажимаем кнопку «Add».

Выбор хранилища и нужного образа

Шаг 4. Теперь переходим в раздел «Options». Выбираем пункт «Boot Order» и нажимаем кнопку «Edit».

В опциях выбираем Boot Order

Шаг 5. В открывшемся окне меняем порядок загрузки, чтобы добавленный образ SystemRescue оказался первым в списке, и нажимаем кнопку «OK».

Меняем порядок загрузки

Готово. Образ добавлен, порядок загрузки изменен. Теперь можно включать виртуальный сервер и работать с SystemRescue.

Работа с SystemRescue 

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

Давайте познакомимся с интерфейсом и основными возможностями SystemRescue .

Важно понимать, что для работы с SystemRescue нам потребуется прямое подключение к серверу. При работе с физическим сервером в дата-центре, мы бы подключили к серверу монитор и клавиатуру, либо воспользовались IP-KVM или IPMI. В случае с виртуальным сервером, сделать это невозможно. Поэтому будем использовать noVNC-консоль в веб-интерфейсе Proxmox VE.

В статье используется версия 11.02-amd64. В других версиях функциональность и дизайн могут отличаться.

При загрузке сервера с образа SystemRescue первым мы увидим такое окно:

Окно, выходящее при загрузке сервера с образа SystemRescue

Это меню выбора типа загрузки. Здесь представлены способы запуска SystemRescue для решения разных задач:

  • Boot SystemRescue using default options. Загружает SystemRescue с использованием стандартных настроек. Вариант подходит для большинства задач;
  • Boot SystemRescue and copy system to RAM (copytoram). Загружает SystemRescue в оперативную память. Это позволяет извлечь загрузочный носитель после завершения загрузки;
  • Boot SystemRescue and verify integrity of the medium (checksum). Загружает SystemRescue и проверяет целостность загрузочного носителя. Это позволяет проверить, что ISO-образ был записан корректно и не поврежден;
  • Boot SystemRescue using basic display drivers (nomodeset). Загружает SystemRescue с базовыми драйверами отображения. На случай, если у вас возникли проблемы с видеодрайверами или графическим интерфейсом;
  • Boot SystemRescue with serial console (ttySO, 1152OOn8). Загружает SystemRescue с использованием последовательной консоли. Это полезно для удаленного управления через последовательный порт;
  • Boot SystemRescue, do not activate md raid or lvm (nomdlvm). Загружает SystemRescue без активации программного RAID (mdadm) или LVM (Logical Volume Manager). Это будет полезно, если вам нужно провести диагностику или восстановление данных без вмешательства в существующие RAID или LVM конфигурации;
  • Boot a Linux operating system installed on the disk (findboot). В этом режиме будет осуществлена попытка найти и загрузить установленную на диске операционную систему Linux;
  • Stop during the boot process before mounting the root filesystem. Останавливает процесс загрузки перед монтированием корневой файловой системы. Это позволяет выполнить ручные действия или диагностику перед завершением загрузки;
  • Boot existing OS. В этом режиме будет произведена попытка загрузить существующую операционную систему, установленную на вашем диске.
  • Run Memtest86+ (RAM test). Запускает утилиту Memtest86+ для проверки оперативной памяти на наличие ошибок;
  • Reboot. Выполнение перезагрузки сервера;
  • Power off. Выключение сервера.

Как можно понять, большинство вариантов загрузки необходимы для единичных случаев. Используем первый вариант.

Когда SystemRescue будет загружен, можем приступить к работе.

Приступаем к работе

Просмотреть полную документацию по работе с SystemRescue можно с помощью команды:

manual

Графическая среда Xfce

Для запуска графической среды SystemRescue используйте команду:

startx 
Запуск графической среды SystemRescue

Среди таких утилит можно выделить:

  • GParted. Утилита для управления разделами диска. Работа с разделами возможна и в командной строке, например, через fdisk, parted или lsblk. Однако GParted позволяет делать это проще и быстрее; 
  • Графический файловый менеджер Thunar. В командной строке для этого используются команды ls, cp, mv и другие;
  • Графический текстовый редактор FeatherPad. В командной строке для этого используются nano, vi или vim;
  • Веб-браузер. Существуют и текстовые браузеры, такие как lynx или w3m, но пользовательский опыт получается совершенно разный.

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

Как было сказано, большинство задач, которые они решают, могут быть выполнены и с помощью командной строки, если знать соответствующие команды и утилиты.

Утилиты командной строки

В целом, дистрибутив SystemRescue включает в себя большинство утилит, доступных в Linux. Ценность дистрибутива, скорее, состоит именно в возможности использования этих утилит поверх установленной системы — для отладки, настройки и восстановления.

Мы поговорим только про те утилиты, которые предназначены для выполнения задач по восстановлению и администрированию системы. А также о тех, которые трудно или невозможно реализовать в графической среде.

Вот некоторые из них:

  • gdisk/parted. Утилиты для управления разделами диска. Позволяют создавать, удалять и изменять размер разделов;
  • dd. Утилита для низкоуровневого копирования данных. Используется для создания образов дисков, клонирования дисков и восстановления данных;
  • rsync. Утилита для синхронизации и копирования файлов и директорий. Может использоваться, например, для резервного копирования данных;
  • awk/sed. Утилиты для обработки и преобразования текстовых данных. Используются для сложных текстовых манипуляций и автоматизации обработки данных;
  • mount. Утилита для подключения файловых систем к определенным точкам монтирования в файловой системе;
  • mdadm. Утилита для управления программными RAID-массивами. Позволяет создавать, удалять и управлять RAID-массивами;
  • lvm. Набор команд для управления логическими томами, такие как lvcreate, lvremove, vgcreate, и другие. Позволяют управлять логическими томами и группами томов;
  • chroot. Утилита для изменения корневой файловой системы текущего процесса. Часто используется для восстановления систем, которые не загружаются;
  • fsck/xfs_repair. Утилиты для проверки и восстановления файловых систем. Позволяют исправлять ошибки в файловых системах.

Эти утилиты присутствуют и в обычных дистрибутивах Linux. Но здесь важно, что при использовании SystemRescue вы получаете доступ к диску без установки дополнительной операционной системы, что позволяет восстанавливать и администрировать операционную систему вашего диска. 

Большим плюсом SystemRescue является и его сравнительно небольшой размер (около 800 Мб). При этом вы получаете необходимый набор утилит для восстановления работы основной системы.

Подводя итог, хочется сказать, что хоть дистрибутив SystemRescue не единственный в своем роде, но именно он стал неотъемлемой частью администрирования Linux систем (и не только). 

В статье мы разобрали, как добавить и подключить образ SystemRescue к виртуальной машине на Proxmox VE. Похожим образом это можно сделать и в других системах виртуализации или при работе с физическими серверами.


База знаний

Telegram-канал FirstDEDIC

Узнавайте новости первыми

подписаться

Сообщить об ошибке

Выделенная ошибка:

Опишите найденную ошибку