Рубрика ‘Debian’

Изменение скорости работы вентиляторов на серверах Supermicro

На серверах Supermicro есть возможность при помощи утилиты ipmitool изменить скорость работы вентиляторов, для этого нужно поставить утилиту, подгрузить необходимые для ее работы драйвера и выполнить следующие команды:

Удаляем старые ядра в Linux

Debian:

 Centos:

Монтирование LVM разделов DomU внутри Dom0

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

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

После завершения необходимых действий, размонтируем раздел и отключаем разделы из хостовой машины:

Parted: The resulting partition is not properly aligned for best performance

Тем кто сталкивался с разметкой емких дисковых подсистем знакома утилита parted. Для тех кто читает про нее впервые поясню – утилита fdisk или cfdisk не умеют работать с дисковыми подсистемами емкостью >2Tb, о чем честно и пишут:

Соответственно при помощи утилиты parted мы можем сделать 2-е базовые вещи:

  • Изменить тип таблицы разделов с MBR на GPT
  • Разметить дисковую подсистему на нужное количество разделов

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

Но вернемся к сообщению указанному в заголовке заметки. Это сообщение выводится в случае если при разметке parted считает что вы указали неправильные значения для начала и конца раздела, например:

И из-за этого данные, которые будут записываться или читаться с диска, будут размещены не самым оптимальным способом. Данная проблема возникла в связи с переходом производителей жестких дисков на другой размер секторов, а именно с 512B на 4KB, и в связи с этим, если при разметке диск указать неправильный стартовый сектор для раздела, то может получиться ситуация, когда один логический блок данных в 512B будет записан сразу на два 4KB сектора, которые будут прочитаны контроллером жесткого диска при запросе на выборку данных, что в итоге приводит к снижению производительности всей дисковой подсистемы. Более подробно очень детально описана данная ситуация на сайте Seagate.

Так чем же нам может помочь утилита parted для решения описанной проблемы – у ней есть встроенный функционал для расчета оптимального начального смещения для корректного выравнивания границ разделов. Настроить логику работы данного функционала можно при помощи ключа “-a”, более подробно можно прочитать в документации.

Данный функционал работает по следующей логике:

Где указанные параметры – это значения в sysfs привязанные к дисковой подсистеме или конкретному разделу, например:

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

Либо довериться аналогичному алгоритму встроенному в утилиту:

В случае если ошибка не возникнет и раздел будет размечен можете считать что вы все сделали правильно и у вас правильно произведено выравнивание блоков на дисковой подсистеме.

Linux сервер с двумя шлюзами по умолчанию

Для реализации доступа к серверу под управлением Ubuntu Linux по двум независимым интернет каналам необходимо сделать следующее:

1) Убедится что установлен пакет iproute2

2) Добавить таблицу командой:

3) Выполнить следующие команды:

4) При помощи команд ip rule и ip route проверяем добавление вышеуказанных маршрутов и правил

Настройка bonding в Debian\Ubuntu

Для настройки bonding необходимо добавить в конфиг /etc/modules строку bonding и установить пакет ifenslave-2.6.

Далее внести изменения в конфиг /etc/network/interfaces, ниже пример для настройки интерфейса bond0 с поддержкой lacp.

 

Проблемы в работе RAID контроллера Adaptec 6805

Один мой знакомый обратился с просьбой посмотреть почему возникает следующая ошибка на обоих его серверах под управлением Debian 6:

Так как во время возникновения данной ошибки в виртуальных машинах, которые работали на данных серверах, подскакивал LA до 50-80, то данная проблема ощутимо сказывалась на работе всей инфраструктуры в целом.

В результате анализа были предложены следующие меры:

1) Обновить драйвера для контроллеров до версии 29900. Так как в ядре 2.6.32, которое используется в Debian 6, стояли очень старые драйвера версии 28800.

Также судя по changelog`у некоторые исправления в теории могли косвенно устранить возникающую проблему.

Firmware на самих контроллерах было уже обновлено до последней стабильной версии.

2) Поставить дополнительную систему охлаждения на RAID контроллера.

Судя по официальным рекомендациям температура RAID контроллера серии 6805 должна быть в районе 55 градусов в рабочем режиме, на обоих серверах температура была в диапазоне от 66 до 76 градусов, что намного выше нормы.

По ждали систему охлаждения вынули заглушки для 3,5 дисков, которые еще не были установлены. В итоге, даже такие полумеры позволили снизить температуру обоих контроллеров на 5-10 градусов.

В течение недели в ДЦ привезли вот такую, штатную систему охлаждения для RAID контроллеров (закладка Модули доп. охлаждения), после установки которой температура на RAID контроллерах не поднимается выше 39 градусов.

В итоге проведенных работ, после перезагрузки серверов проблема больше не возникала.

Ниже график из системы мониторинга Zabbix, с температурными данным до установки дополнительной системы охлаждения и после:

adaptec 6805 temp

 

Медленная работа memcachedb

Недавно столкнулся с проблемой, на одном из 2-х практически идентичных серверов операции записи в memcachedb выполнялись раз в 10 медленнее.

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

Dmesg на проблемном сервере показал нам следующее:

Судя по словам “Write cache: disabled”, при загрузке выключается кеш на запись данных, по результатам в BIOS действительно оказался выставлен ATAPI Write Cache – Disabled, а также режим работы SATA дисков был выставлен в IDE, а не AHCI.

После изменения данных параметров все заработало корректно.

rdesktop и переключение раскладок

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

Для исправления данной ошибки необходимо создать файл /usr/share/rdesktop/keymaps/en-us.fixed со следующим содержанием:

Далее при запуске rdesktop указываем следующий параметр “-k en-us.fixed”, после этого проблемы не должно быть.

pptp_gre.c Message too long

Недавно настраивал подключение из Linux при помощи pptp клиента к Windows 2003 VPN серверу, после подключения и нескольких секунд активного использования туннеля он разрывался с ошибкой вынесенной в заголовок поста.

В результате анализа причиной оказался высокий MTU, судя по technet MTU на 2003 VPN серверах по умолчанию 1400, соответственно после выставления значения MTU = 1200 и MRU = 1192 все заработало стабильно.