Удаленное тестирование и отладка

Для тестирования, отладки и возможности удаленного включения/выключения машины MONOCUB-РС в демо-зоне был создан стенд, включающий в себя 2 машины: MONOCUB-РС и х86.

RODOS-3

Удаленное прекращение/возобновление подачи питания  на машину MONOCUB-РС производится с помощью USB-реле RODOS-3, подключенного одной стороной к usb-порту машины х86, а другой стороной замыкающего силовой кабель питания MONOCUB-РС.

Для управления питанием по протоколу ssh необходимо:

Подключиться к машине х86, которая находится по адресу 212.59.102.251

Перейти в директорию /var/www/cgi-bin

Выполнить команду ./on.sh для подачи питания; ./off.sh для прекращения подачи питания

Для управления питанием по протоколу http необходимо:

Перейти по адресу 212.59.102.251 и пройти аутентификацию.

Html-страница для удаленного управления питанием имеет интуитивно-понятный интерфейс:

111

Логгер

х86 и МОНОКУБ-РС соединены между собой последовательным портом. В автозагрузке х86 находится программа, считывающая данные с com-порта во время каждого включения MONOCUB-РС и сохраняющая данные в .log-файл.

Просмотреть .log-файлы можно двумя способами:

Для просмотра .log-файла по протоколу ssh необходимо:

  • Подключиться к машине х86, находящейся по адресу 212.59.102.251
  • Перейти в директорию /var/log/serial/
  • Посмотреть нужный .log-файл (формат: число_месяц_boot.log)

Для просмотра .log-файла за текущую дату по протоколу http необходимо:

  • Перейти по адресу http://212.59.102.251 и пройти аутентификацию.
  • Нажать на кнопку SHOW .LOG-FILE.

ATA Over Ethernet

х86 и МОНОКУБ-РС соединены между собой ethernet-кабелем по протоколу АОЕ, что позволяет монтировать блочное устройство машины х86 к машине МОНОКУБ-РС на этапе boot и загружаться в необходимое ядро.

Инструкция(АОЕ)
  • Проверка на наличие модуля аое для сервера и клиента:

grep ATA_OVER /boot/config-`uname -r`

Вывод должен быть:

CONFIG_ATA_OVER_ETH=m

  • Подключение модуля аое для сервера и клиента:

Для включения модуля аое выполнить команду на обеих машинах:

modprobe aoe

Проверка:

lsmod | grep aoe

  • Добавление модуля в автозагрузку:

vim /etc/modules

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with “#” are ignored.
# Parameters can be specified after the module name.

aoe

  • Настройка сервера(х86)

Установка vblade из репозиториев:

apt-get install vblade

Для тестирования создадим образ размером в 1GB в удобной директории:

mkdir /aoefs && cd /aoefs

dd if=/dev/zero of=aoefs1.img bs=1024k count=1000

Разметка образа:

fdisk aoefs1.img

Вычисление значения отступа для создания loop-устройства:

file aoefs1.img

Отступ(offset)=startsector*512

Создание блочного loop-устроства:

losetup -o 1048576 /dev/loop0 aoefs1.img

Создание раздела на блочном устройстве:

mkfs.ext2 /dev/loop0

Монтирование устройства (тест):

mount /dev/loop0 /mnt/ && ls -la /mnt

Если монтирование проходит успешно – устройство готово к работе.

Для работы с протоколом аое необходимо поднять сетевой интерфейс, на который будут экспортироваться данные:

ifconfig eth2 up

  • Настройка клиента(МОНОКУБ-РС):

Установка утилиты aoetools из репозиториев:

apt-get install aoetools

Поднятие сетевого интерфейса:

ifconfig eth0 up

  • Попытка экспорта данных с сервера на сетевой интерфейс eth2:

vblade 1 1 eth2 /dev/loop0

  • Попытка обнаружения сервера клиентом с помощью aoetools:

aoe-discover

aoe-stat

Вывод:

e1.1    1.047GB   eth0    up

  • Создание раздела устройства на клиенте

fdisk /dev/etherd/e1.1

После создания появится раздел

e1.1p1

  • Создание файловой системы для устройства на клиенте

mkfs.ext2 /dev/etherd/e1.1p1

  • Монтирование устройства на клиенте и копирование ядра

mount /dev/etherd/e1.1p1 /mnt

cp -a /boot/* /mnt

umount /mnt

  • Монтирование устройства на сервере для работы с ним

Т.к. мы создали раздел на устройстве клиента, на сервере блочное устройство loop0 будет монтироваться таким образом:

Посмотреть номер startsector утилитой fdisk /dev/loop0

mount -o offset=$((63*512)) /dev/loop0 директория

63 – start sector

512 – sector size

  • Подключение по протоколу АОЕ на стадии boot:

Прервать загрузку клавишей SPACE

Войти в режим консоли клавишей ~

Указать mac-адрес сервера, major и minor vblade командами:

set aoe server mac адрес

set aoe server major 1

set aoe server minor 1

major и minor – уникальные идентификаторы

Перезагрузиться:

reset

  • Если все сделано правильно, на стадии загрузки определится aoe-server(vblade)

Прервать загрузку клавишей SPACE

Просмотреть список дисков клавишей d

Сменить параметры бута клавишей с

Выбрать найденное устройство(в нашем случае e1.1p1 – диск №8)

Пропустить остальные параметры и запустить boot.conf menu клавишей b

Нажатием клавиши TAB посмотреть доступные ядра и выбрать желаемое

Инициировать загрузку клавишей ENTER