From OpenSCADAWiki
Jump to: navigation, search
This page is a translated version of the page Documents/How to/Live disk and the translation is 100% complete.

Other languages:
English • ‎российский • ‎українська

Автор: Роман Савоченко

Для максимального упрощения развёртывания OpenSCADA можно использовать живые сборки загрузочных дисков CD, DVD и USB от Linux дистрибутива автоматизации проекта OpenSCADA. Живой диск предусматривает возможность загрузки, прямо из него, и быстрое получение желаемого рабочего окружения. При загрузке и работе живой диск не использует штатных носителей, а значит Вы можете не беспокоиться за целостность и сохранность данных на них. В целом живой диск является удобным средством с широким набором нужных программных инструментов под рукой и независимым от стационарного программного окружения, способным осуществить:

  • демонстрацию и ознакомление с возможностями OpenSCADA;
  • установку готового, исчерпывающего и проверенного окружения автоматизированного рабочего места (АРМ);
  • диагностику программного и аппаратного окружения, а также их восстановление, в некоторых случаях;
  • формирования в специальных редакциях, содержащих все, что касается целевого решения: техническую и программную документацию, конфигурации ПЛК и АРМ, ...

Живой диск представляет собой упакованный образ операционной системы и прикладных программ размером около 700МБ, записанный на CD/DVD диск или USB-Flash носитель. При своей работе операционная система "на лету" распаковывает нужные файлы для запуска программ и открытия документов, т.е — не использует оперативной памяти больше, чем при её стационарной установке.

Живые диски от Linux дистрибутива автоматизации проекта OpenSCADA собираются в нескольких вариантах на основе дистрибутивов ОС Linux Debian, ALTLinux (старые версии) и доступны для загрузки, в последней версии OpenSCADA, здесь: http://oscada.org/ru/glavnaja/zagruzit. Настоящие живые сборки с OpenSCADA обладают значительно большими функциями чем предусматривалось изначально:

  • Возможность прозрачного сохранения рабочих изменений в случае записи на USB-Flash. Функция обеспечивается созданием раздела диска, с возможностью записи, на свободном месте USB-Flash. Этот раздел отражается на корень файловой системы, или её часть, и все изменения записываются на него. Кроме сохранения рабочих данных в этот раздел можно доустанавливать недостающие пакеты программ из репозитория пакетов Debian, OpenSCADA или ALTLinux.
  • Возможность совмещения обычного Flash-диска данных с живым Flash-диском. Предусматривает запись данных живого диска прямо на файловую систему USB-Flash — FAT16 или FAT32, что сохраняет функции обычного носителя данных и добавляет функцию живого диска.
  • Возможность установки окружения живого диска на стационарный носитель. Позволяет не заниматься глубоким изучением и погружением в операционную систему Linux при её установке, настройке, а также развёртывания OpenSCADA. Достаточно загрузиться с живого диска, убедиться, что основное оборудование определилось нормально, нужные программы работают, а затем, посредством простой процедуры с иконки на рабочем столе или отдельного меню загрузки, установить на стационарный носитель. Полученная установка будет идентична окружению живого диска.

1 Комбинированный-гибридный ISO-образ живого диска

На данный момент, в основном осуществляются сборки гибридных ISO образов "живых дисков" (*LiveCD_USB.iso), которые можно записать прямо на CD/DVD, USB-Flash, а также извлечь содержимое для записи на USB-Flash с файловыми системами FAT или EXT.

Основным вариантом формирования "живого диска" является запись на CD/DVD, для чего можно использовать стандартный инструментарий исходной операционной системы. Дополнительным, хотя по факту уже основным, вариантом является запись на USB-Flash, которая может быть осуществлена из окружения ОС Linux, например, из окружения этого-же "живого диска", записанного и загруженного ранее с CD/DVD диска; или-же из ОС MS Windows посредством "Win32DiskImager".

At.png Запись образа "живого диска" на USB-Flash уничтожит все данные и сделает его непригодным для использования в качестве носителя данных, если не учитывать возможность записи на раздел сохранения изменений окружения ОС живого диска, который будет создан при первой загрузке с живого диска, в случае ALTLinux, или пользователем, в случае "Debian".

Адрес диска для записи ISO-образа имеет вид "/dev/sd{x}" и узнать его можно вызовом консольной команды $ dmesg сразу после подключения целевого диска USB-Flash. Из окружения Linux ISO-образ можно записать таким образом:

# Запись файла ISO-образа на USB-Flash:
$ dd if=Debian_9-OpenSCADA_0.9.0-TDE_R14-amd64-LiveCD_USB.iso of=/dev/sd{x} bs=4096
# Запись ISO-образа прямо с загруженного CD/DVD живого диска:
$ dd if=/dev/sr0 of=/dev/sd{x} bs=4096

2 Живой USB-Flash диск с файловой системой FAT или EXT

Ранее осуществлялись отдельные сборки образов для записи их на файловую систему FAT. На данный момент специально такие образы собираются только для "прошивок" (FirmWare) ряда ПЛК (*flash.tar). Для создания живых USB-Flash дисков общего назначения можно использовать гибридный ISO-образ, про который написано в разделе выше.

Преимуществом "живого диска" на USB-Flash, как ранее упоминалось, является совмещение функции USB-Flash диска, как носителя данных и как живого диска. Кроме того, таким образом можно создавать компактные, надёжные и функциональные решения встраиваемых систем с OpenSCADA, взяв "живой диск" за основу, например: программируемые логические контроллеры (ПЛК), панельные контроллеры (с сенсорным дисплеем), а также просто SCADA-сервера и SCADA-станции оператора "быстрого приготовления"; путём записи живого диска на стационарный носитель (HDD, SSD или Flash). Надёжность данного решения определяется размещением основного ПО в немодифицируемом упакованном файле, а рабочих данных на журналируемой файловой системе.

Записать данные "живого диска" на файловую систему можно из любой ОС (для FAT), но установить загрузчик только в ОС Linux, для чего можно воспользоваться "живым" CD/DVD диском из прошлого раздела.

Процедура создания живого диска следующая, для данных гибридного ISO-диска (Debian и ALTLinux):

  • Для простоты, операцию извлечения и копирования данных ISO выполняем в двух-панельном файловом менеджере mc. Чтобы mc смог прочитать ISO образ необходимо установить утилиту isoinfo, обычно находится в пакете "genisoimage".
  • Берём исходный файл ISO-образа, открываем его в mc и копируем из него на целевую FAT или EXT файловую систему:
    • Debian: директории "isolinux" и "live"; директорию "isolinux", на целевой файловой системе, переименовываем в "syslinux".
    • ALTLinux: директорию "syslinux" и файл "live".
  • Переименовываем файл "syslinux/isolinux.cfg" на "syslinux/syslinux.cfg", для FAT, или "syslinux/extlinux.cfg", для EXT.
  • ALTLinux: добавляем, в секции "label live" файла "syslinux/syslinux.cfg", подстроку "automatic=method:disk,label:MY_LAB" или "automatic=method:disk,uuid:MY-UUID", где MY_LAB и MY-UUID можно узнать, для раздела "живого диска", с помощью команды $ blkid.
  • ALTLinux: Заменяем файл "syslinux/gfxboot.c32" аналогичным файлом из текущей системы (обычно находится в директории "/usr/lib/syslinux/").
  • Устанавливаем загрузчик из командной строки, всё от суперпользователя: $ su -
    • Отключаем диск: $ umount /dev/sd{x}1
    • Инициируем MBR диска в корректное значение: $ ms-sys -s /dev/sd{x}
    • Инициируем загрузчик: $ syslinux /dev/sd{x}1

Для образа "живого диска" на FAT (ALTLinux), всё от суперпользователя: $ su -

  • Подключаем целевой диск и определяем его адрес: $ dmesg
  • Монтируем: $ mkdir /mnt/tmp; mount /dev/sd{x}1 /mnt/tmp
  • Распаковываем содержимое архива прошивки на смонтированный диск: $ cd /mnt/tmp; tar xvf /var/tmp/LP8x81-ALTLinux6-OpenSCADA_0.9+r2302-i586-plc-rt1-up.flash.tar
  • Определяем UUID для файловой системы целевого диска: $ blkid | grep /dev/sd{x}1
  • Модифицируем файл "/mnt/tmp/syslinux/syslinux.cfg" в конце строки "append initrd=alt0/full.cz live ... disk,uuid:4EB3-0478", где указываем ранее полученный UUID.
  • Добавляем или модифицируем файл "/mnt/tmp/syslinux/lang" на предмет указания локали-языка интерфейса по умолчанию, для российского — "ru_RU", иначе будет Английский.
  • Отключаем диск: $ umount /dev/sd{x}1
  • Инициируем MBR диска в корректное значение: $ ms-sys -s /dev/sd{x}
  • Инициируем загрузчик: $ syslinux /dev/sd{x}1

At.png Данный способ развёртывания живого диска требует знаний ОС Linux и интерфейса командной строки (консоли), а также основ разбиения дисковых носителей поскольку, при некорректном начальном разбиении носителя, загрузка может не пройти.

3 Сохранение рабочих данных живого диска на разделе USB-Flash

Живой диск, как ранее указывалось, допускает полноценную работу с возможностью сохранения рабочих данных, а также обновления ПО (за исключением системного ПО и ядра ОС Linux). Обычно данная возможность имеет смысл только для USB, HDD, SSD носителей.

В случае дистрибутивов Debian, отдельный раздел для хранения рабочих данных, с меткой "persistence", нужно всегда создавать специально, а в файле "persistence.conf" на нём также указывать файловую систему, или её часть, для отражения на запись (например, "/home"). Для отражения всей корневой файловой системы в файле нужно записать "/ union". В качестве файловой системы этого раздела лучше использовать "EXT3". Для создания раздела Вы можете использовать программу менеджера разделов, например — gparted.

В случае дистрибутива ALTLinux (6), и прямой записи гибридного ISO-образа, такой раздел будет создан при первом запуске. При формировании "живого диска" на FAT и EXT необходимо создать отдельный раздел с меткой "alt-live-storage" и файловой системой "EXT3", что можно сделать в программе менеджера разделов, например — gparted.

4 Загрузка

Для загрузки с полученного "живого диска" нужно перегрузить компьютер и в самом начале загрузки в стационарную ОС нажать клавишу входа в меню загрузки BIOS и выбрать там наш носитель (рис.1). На разных компьютерах клавиша входа в меню загрузки может отличаться и быть одной из: "F8", "F9", "F10", "F11" или "F12". На некоторых компьютерах изменить порядок загрузки можно только в самом BIOS.

Рис. 1. Вариант меню выбора устройства загрузки в BIOS.

После выбора устройства должно появиться меню загрузки живого диска (рис.2), где предварительно можно выбрать вариант загрузки с указанным языком, для Debian, или Ваш язык, клавишей F2 для ALTLinux.

Рис. 2. Меню выбора языка живого диска Debian, ALTLinux.

В результате загрузки живого диска Вы получите рабочий стол TDE (рис.3).

Рис. 3. Рабочий стол живого диска.