Архив категории 'Linux и прочие *ix'

Bash и кавычки внутри переменной

Вторник, 13 апреля, 2010

Сегодня бился головой об стенку.

Имеем проблему: некий bash-скрипт подтягивает переменную из файла и передает ее как параметры на выполнение приложению. Грубо говоря, где-то так:

PARAMS="-par1 parameter"

/usr/local/bin/application $PARAMS

Собственно все элементарно и банально. Проблемы начались, когда в качестве параметра понадобилось передать значение, содержащее двойные кавычки и пробелы.

Читать далее о "Bash и кавычки внутри переменной" »

RHEL (CentOS) подключаем к iSCSI storage

Среда, 20 января, 2010

Может, кому полезно будет :)

Исходные условия:

RHEL5, на сетке NAS, который умеет отдавать iSCSI тома. Задача - подключиться к выделенному тому, доступ с авторизацией. Обычная задачка для кластеров (правда, в продакшн я использую SAN и доступ по оптике, но для тестирования и экспериментов - вполне годится, чтобы не расходовать дорогое дисковое пространство).

Итак, последовательность:

Читать далее о "RHEL (CentOS) подключаем к iSCSI storage" »

NTPD в виртуальной машине VMware - проблема синхронизации (утечки) времени

Среда, 23 декабря, 2009

Столкнулся с проблемой. На некоторых виртуальных машинах (внутри RHEL 5) ntpd никак не удается нормально синхронизировать время. постоянно то отстает то убегает вперед. Причем расхождение доходит до минуты за пару часов!

В то же время в других виртуалках - такого не наблюдается.

После некоторого поиска нашел статью в базе знаний VMware. Оказывается, проблема наблюдается на многих linux'ах.
Руководствуясь статьей и некоторым здравым смыслом, можно предложить несколько рекомендаций.

Читать далее о "NTPD в виртуальной машине VMware - проблема синхронизации (утечки) времени" »

Некоторые результаты тестирования network teaming (bonding)

Воскресенье, 13 декабря, 2009

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

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

Краткие результаты:

  • отключение второго порта (standby). Никаких изменений в работе сети, что и следовало ожидать.
  • отключение первого порта (active). Сеть недоступна, в течении 30 сек происходит переключение, сеть снова доступна
  • включаем первый порт. Никаких изменений (все правильно, драйвер не инструктировали возвращаться назад на основной интерфейс. такой режим возможен, однако не рекомендуется, т.к. из-за глючащего контакта в кабеле можно получить постоянное переключение туда-сюда, что очень нежелательно.
  • выключаем второй порт (текущий standby). переключение на основной линк произошло за несколько секунд.

Вообще очень интересный результат - скорость переключения (реакции драйвера на проблемы) в одном направлении значительно отличается от скорости в другом.

Читать далее о "Некоторые результаты тестирования network teaming (bonding)" »

Обеспечение безотказной работы сети в RedHat Linux (bonding) для нескольких IP сетей

Воскресенье, 13 декабря, 2009

Один из важнейших элементов обеспечения бесперебойной работы ответственных серверов ( работающих по схемам 24/7 или 365/24/7 ) это резервирование сетевых интерфейсов. В самом деле, какой смысл в дорогом оборудовании, RAID 1+0, spare disks, если сервер соединен со свичем через один адаптер, один кабель, один порт? Да и свич тоже может выйти из строя.

Пусть мы имеем следующие исходные параметры:

  • сервер подключен к свичам через два адаптера
  • в нашей сети имеются два диапазона IP адресов - 192.168.1.0/24 и 192.168.2.0/24
  • эти сети разделены при помощи VLAN, ID сетей 10 и 20 соответственно
  • адреса интерфейсов сервера - 192.168.1.10, 192.168.2.10
  • ОС - RedHat 5 или совместимые - CentOS 5, Oracle Linux 5

Хочу обратить внимание. В данном примере (в отличие от классического варианта bonding) нам не нужно удваивать количество сетевых карт - мы будем использовать те, что есть (network teaming). Главное, что карт более одной.

Читать далее о "Обеспечение безотказной работы сети в RedHat Linux (bonding) для нескольких IP сетей" »

Intel Poulsbo GMA 500 и Ubuntu 9.04

Суббота, 3 октября, 2009

В процессе настройки Kubuntu 9.04 на Dell Mini 12 пришлось решать неприятную проблему - поиск специфичного видеодрайвера Intel Poulsbo GMA500. Давно уже не приходилось сталкиваться с такими проблемами, я полагал, они отошли в прошлое... Оказалось, ошибался.

Для нормальной работы на нетбуке с GMA500 нужно установить и настроить проприентарный графический драйвер для X-ов, который community удалось выдернуть из Moblin и Dell Ubuntu:

Читать далее о "Intel Poulsbo GMA 500 и Ubuntu 9.04" »

Dell Inspiron Mini 1210 и KUbuntu 9.04 boot flash

Четверг, 24 сентября, 2009

В общем, приобрел себе игрушку - нетбук Dell Inspiron Mini 1210.

Аппарат очень интересный. С одной стороны - начинка и цена нетбука (Intel Atom Z520, 1Gb RAM, 60Gb HDD), с другой - 12" экран (и, соотвественно, размеры корпуса). Играюсь второй день. Из первых впечатлений:

  • приятный дизайн
  • "нетбуковский" вес (всего 1.2 кг)
  • довольно удобная клавиатора, клавиши маленькие, но не до микроскопичности, как на обычных нетбуках
  • из плохого:

  • оно весьма тормознутое :( не смотря на то, что проц вроде как 1.3GHz, с гипертрейдом, и памяти много. Субъективно - тормозит

Итак, нетбук был куплен в аутлете Dell.

Читать далее о "Dell Inspiron Mini 1210 и KUbuntu 9.04 boot flash" »

VMware ESX server 3i (ESXi3)

Среда, 10 декабря, 2008

После экспериментов с виртуализацией (начало я уже описывал, надеюсь, найду время описать результаты экспериментов с Xen), решено было пойти по "экономному пути", но с использованием VMware. В процессе замера скорости работы жесткого диска выяснилось, что VMware значительно теряет скорость, если не использовать аппаратную виртуализацию. Но зато с ней - потери практически неощутимы.

Сейчас VMware раздает бесплатно (необходимо только зарегистрироваться) значительную часть своих продуктов. В частности, весьма интересный ESXi сервер, представляющий собой, по сути, RedHat EL, выпотрошенный по максимуму (убраны практически все утилиты), с прикрученным busybox и набором специфических утилит управления vmware сервером. ESXi сервер позиционируется как "почти хардверное" решение для виртуализации, вход в linux-консоль там даже не предусмотрен (хотя возможен, способ я опишу несколько далее). Управление этим сервером осуществляется посредством VMware Infrastructure Client. К сожалению, работает исключительно под Windows, даже в wine удается только установить, но не запустить, т.к. это чудо написано на .NET. Но есть и открытые perl-библиотеки (API) и набор утилит (RemoteCLI), которые позволяют управлять сервером.

Читать далее о "VMware ESX server 3i (ESXi3)" »

VMware infrastructure 3 vs Xen- первая проба виртуализации (ч.3)

Четверг, 9 октября, 2008

(Часть 2)

Начинаем экспериментировать с VMware^

На одной из нод vmware кластера было отключено питание через iLO карту. Сбой ноды был зафиксирован в течении 1-2х минут. После чего виртуальная машина, которая находилась на отключенной ноде, была перезапущена "с нуля" на оставшейся ноде. Т.е. при физическом падении ноды все виртуальные машины, выполняющиеся на ней, будут перезапущены. С точки зрения конечного пользователя - хост был перезагружен.

После восстановления питания нода поднялась достаточно быстро - в течении 1-2х минут, после чего начался процесс миграции виртуальной машины "на старое место". В момент миграции ОС в виртуальной машине была доступна, однако обнаружилась неприятная вещь - в какой-то из моментов миграции работа практически была остановлена, отклик на пинги вместо обычных 170-200 мс достигал 2 секунд и более! Справедливости ради стоит отметить, что такие большие задержки наблюдались только около 15-20 сек и виртуальная машина мигрировала без перезагрузок, как и было обещано производителем.

Читать далее о "VMware infrastructure 3 vs Xen- первая проба виртуализации (ч.3)" »

VMware infrastructure 3 vs Xen- первая проба виртуализации (ч.2)

Воскресенье, 5 октября, 2008

(Часть 1я)

Как оказалось, ребята из VMware очень любят гетерогенные сети и окружение :) В том смысле, что VMware ESIx Server построен на базе клона RedHat (RHEL), что сразу же бросается в глаза в процессе установки (характерный инсталлятор - anaconda). С другой стороны - мощная привязка в Windows, т.к. управляющий кластером сервер и админовские тулзы (vmware-viclient) можно развернуть исключительно под этой ОС. Даже wine недостаточно.

Гм. Достаточно неприятный сюрприз :( Обычный vmware-server, отдаваемый бесплатно, имел клиентскую часть как под windows, так и под linux. Это вдвойне неприятно для меня лично, т.к. приходится разворачивать отдельно на своей машине в виртуалке Win XP - иначе не попробовать.

Читать далее о "VMware infrastructure 3 vs Xen- первая проба виртуализации (ч.2)" »

VMware infrastructure 3 vs Xen- первая проба виртуализации

Среда, 1 октября, 2008

Для повышения надежности и более рационального использования вычислительный ресурсов мы решили попробовать использовать кластеры виртуальных машин. Хочу обратить внимание - не несколько виртуалок, объединенных в кластер. а клатер, на котором работают виртуальные машины.

Это сулит массу преимуществ, в частности, объединение ресурсов нескольких компьютеров в сочетании с HA кластером, который настраивается один раз. А внутри уже запускаются виртуальные машины, где и работают приложения.

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

Читать далее о "VMware infrastructure 3 vs Xen- первая проба виртуализации" »

Кластер RedHat: некоторые аспекты и тонкости реализации и использования (ч.6)

Вторник, 2 сентября, 2008

Часть 5

В процессе эксплуатации кластера выяснились неприятные особенности.

Итак, приблизительная конфигурация:
2 ноды, общий SAN storage, отсечка проводится через HP iLO карту.
Ноды запитаны независимо, с разных источников, находятся физически в разных стойках.

Случилось следующее. В результате сбоя питания в датацентре одна стойка была полностью обесточена (такое редко, но бывает).

Читать далее о "Кластер RedHat: некоторые аспекты и тонкости реализации и использования (ч.6)" »

Кластер RedHat: некоторые аспекты и тонкости реализации и использования (ч.5)

Четверг, 24 апреля, 2008

Часть 4

Продолжаем тестирование по пунктам.

9. Отключение emulex контроллера на активной ноде (имитация отказа доступа к SAN storage)
10. Отключение emulex контроллера на пассивной ноде (имитация отказа доступа к SAN storage)

При останове на активной ноде - сервисы мигрируют, нода перезагружается.
При останове на пассивной - нода выпадает из кластера, перезагружается (qdiskd мониторинг)

Читать далее о "Кластер RedHat: некоторые аспекты и тонкости реализации и использования (ч.5)" »

Кластер RedHat: некоторые аспекты и тонкости реализации и использования (ч.4)

Среда, 23 апреля, 2008

Часть 3
Часть 2
Часть 1

Повторение отключений интерфейсов (сетевых и оптического к SAN) но не логически, а физически.

Результаты сходны, однако проявилась неприятность. Дело в том, что данный кластер мониторится также при помощи quorum диска ( qdiskd ). В настройках которого добавлена опция heuristic. Эвристическая проверка проводилась пингованием соседней ноды. В результате при отключении интерфейса, через который шел пинг, на пассивной ноде, перегружались обе ноды, и активная и пассивная!

Читать далее о "Кластер RedHat: некоторые аспекты и тонкости реализации и использования (ч.4)" »

CentOS 5.1 и D-Link Wifi

Среда, 16 апреля, 2008

Столкнулся с серьезной проблемой.

Имеем WiFi: D-link Access Point DWL-2100AP и сетевушку D-Link DWL-G550 PCI на чипе Atheros AR5212

Сама сетевушка завелась без проблем (драйвер ath_pci), а вот коннектиться к точке доступа в упор не захотела. Притащил на работу. проверил на другой машине с AP Netgear - без малейших проблем запускается. С 2100AP - не хочет.

В общем, после танцев с бубнами перешили точку доступа на последнюю прошивку - полегчало, завелось сразу же, WPA2 поднялся без проблем на wpa_supplicant.