Ребилд RAID-5

Внезапно сервак стал жаловаться на здоровье, а именно — на то, что по данным SMART одного из дисков, стало этому диску плохеть. Диск у нас этот трудится в HP Proliant DL380 G5, в RAID-5, собранном на контроллере Compaq SmartArray P400.

Ну, винты на замену были, но диск пока вроде работает. Решили подоткнуть новый диск и пометить его как hot spare, на случай если диск из массива самозапилится, то будет подхвачен новый HS-диск. Диск подоткнули, но вот с hot spare получился облом — оказывается, этот контроллер умеет в массив вставлять HS только в момент создания. А в уже существующий массив — нет.

Так что надо менять диск. Я старательно всё забэкапил, тщательно прицелился, из какого отсека диск вынимать, запалил там лампочку-индикатор, и товарищ, находящийся на месте, диск заменил. Всё вроде понялось, спросило у меня «тут это, новый диск. Будем ребилдить массив?» Я грю — конечно, бро, надо ребилдить! И процесс пошёл. Поскольку на сервере стоит FreeBSD, а там особо никаких утилит нет, позволяющих получить кровавые подробности о состоянии массива, то удовольствоваться пришлось командой:

# camcontrol devlist
<COMPAQ RAID 5  VOLUME reco>         at scbus0 target 0 lun 0 (da0,pass0)
<TEAC DV-W28E-RW G.B1>             at scbus2 target 0 lun 0 (pass1,cd0)

Я так полагаю, что VOLUME reco должно индицировать, что volume recovering. Ну, сидим курим, ждём окончания ребилда. Час, два ждём... И тут кончается рабочий день.

В общем, на следующий день к часу дня статус массива так и не изменился. Тут-то я и насторожился. И обратился к коллективному разуму с вопросом — а нормально ли это, для 150-гигового винта в RAID-5 такое время ребилда? Коллективный разум однозначно решил, что ненормально, но посоветовал использовать утилиту sysutils/cciss_vol_status, каковую я немедленно и проинсталлировал. Утилита английским по белому сказала:

cciss_vol_status -V /dev/ciss0
Controller: Smart Array P400
Board ID: 0x3234103c
Logical drives: 1
Running firmware: 7.18
ROM firmware: 7.18
/dev/ciss0: (Smart Array P400) RAID 5 Volume 0 status: OK.
Physical drives: 7
connector 1I box 1 bay 7 HP DG146BABCF BS05P8708AUE0827 HPD6 OK
connector 1I box 1 bay 6 HP DG146ABAB4 3NM14RAG00009821Q0QZ HPDD OK
connector 1I box 1 bay 5 HP DG146BABCF BS05P86088T90827 HPD6 OK
connector 2I box 1 bay 4 HP DG146BABCF BS05P8608A890827 HPD6 OK
connector 2I box 1 bay 3 HP DG146BABCF BS05P8607UYT0826 HPD6 OK
connector 2I box 1 bay 2 HP DG146ABAB4 3NM15CQ500009822WG3Q HPDA OK
connector 2I box 1 bay 1 HP DG146BABCF BS05P8607V070826 HPD6 OK

То есть, она считает, что массив уже вполне ОК. Но это расходится с показаниями camcontrol. В общем, похоже, camcontrol не перечитал данные с контроллера. Почему-то. Пришлось ему принудительно сделать

#camcontrol rescan /dev/ciss0 

Только после этого camcontrol ответил, что

<COMPAQ RAID 5  VOLUME OK>         at scbus0 target 0 lun 0 (da0,pass0)

Вот и думай теперь, как ему после этого доверять. Придётся, видимо, в мониторинге переделывать получение данных о состоянии массива с camcontrol на cciss_vol_status :-(

Хех

Экспериментирую сейчас со сжатием в zfs. Насоздавал пачку файлов, где-то в районе 100 тысяч штук. И косанул в команде создания, они создались не в том каталоге, в котором планировалось. В итоге нужно перенести 100 тысяч файлов в другой каталог. Команда mv ./xaaa* /storage/mail/ мне отвечает:

/bin/mv: Argument list too long.

Полез копаться, и выяснилось, что оказывается, оболочка раскрывает wildcard *, просто заменяя её на имена подходящих под шаблон файлов и подставляя в реальную команду. В итоге получалось, что командная строка для mv была нефиговой такой длины. В качестве решения предлагали удалять файло через find :-) Я сделал так: find ./ -type f -exec mv {} /storage/mail \;

Хинт: разделить один файл (например, сгенерированный с помощью dd из /dev/urandom) на кучу мелких можно так:

split -b 1024 -a 10 /storage/mail/test.dat

Где «-b 1024» — размер одного файла, а «-a 10» — количество символов в имени минус 1 символ. Т. е. «-а 10» — будет генерировать файлы с именем длиной 11 символов.

И ещё накопал информацию о наличии некоторых проблем при удалении ОЧЕНЬ БОЛЬШОГО количества файлов (порядка нескольких миллионов и более). Там может не помочь даже использование find — всё потихоньку затормаживается и виснет. Внезапно (tm) выясняется, следующее:, следующее:

find, как и ls, работают через библиотеку fts(3), в которой есть баг — если ей обрабатывать большие каталоги и код работает от рута, она сильно жрет память и CPU. А если код работает не от рута, то не жрет и делает всё то же самое (ну, если прав хватает).

Обзор автомобиля Opel Meriva B

Прикупили тут автомобиль, Opel Meriva B. Решил написать его обзор, с целью популяризации марки. Хорошая машина, но малораспространённая.

Некоторое время назад интересовался я у местного сообщества на предмет выбора между двумя автомобилями — Opel Meriva B и VW Golf Plus. В результате душевных терзаний выбран был таки Опель. Правда, я хотел атмосферник и МКПП, а в итоге получился 1.4 турбо и АКПП, но не суть. Сейчас, как говорится, пользуясь случаем, хочу… Хочу поделиться впечатлениями о первых почти 5 тысячах км на Мериве.

Для начала скажу, чем обусловлен выбор Меривы, а не Гольфплюса.

  1. У Меривы честная гидротрансформаторная 6-ступенчатая АКПП. Причём не просто гидротрансформаторная, а тот самый Aisin, оды которому поют многие и многие автовладельцы и автокритики. Против проблемной DSG7 у Гольфплюса;
  2. По движкам Меривы нареканий я обнаружил заметно меньше, чем по турбированным движкам VW. Вообще, курение обоих клубных форумов показало, что у Гольфплюса гораздо чаще встречаются крупные проблемы, тогда как у новых Мерив проблемы ограничиваются косметикой — лампочки там какие-то не горят, кондей шалит, адаптивный свет не адаптируется. В общем, ничего такого, что ставило бы машину на прикол или требовало срочного ремонта. А вот владельцы гольфов жаловались, и на движки, и на рулевые рейки, ну и, разумеется, КПП;
  3. Мерива немножко длиннее. 4288 мм против 4206 мм у гольфплюса. И объёмы багажника немножко больше.
  4. У Меривы прикольные двери :-) (см. фотку далее)
  5. При примерно одинаковых комплектациях Гольфплюс выходит тысяч на 100-130 дороже Меривы.

Почему всё-таки турба и АКПП?

Всё банально :-) Ждать не хотели, да и сроки поставок всех ожидаемых машин с такой комплектацией и цветом были как раз в тот момент, который нам по ряду семейных обстоятельств неудобен совершенно. Поэтому искали из того, что было в наличии. Обзвонил всех дилеров Опеля в Москве, поинтересовался наличием, нарисовалось два варианта — СТС-Моторс и Major-Auto. У Мэйджор машина белого цвета, как я и хотел, была только одна, у СТС — две, и ещё они позвонили ещё раз после нашей с ними беседы и предложили некоторую скидку. Мэйджор не предложил ничего, поэтому поехали смотреть в СТС. Обе машины были с АКПП, одна уже с наличествующим ПТС, что ускоряло покупку до «приехал, оплатил и уехал уже на новой машине». Переговоры были долгие и не без проблем :-) Но в итоге договорились и машину таки купили.

Ближе к телу

Ближе к телу: в наличии имеется Opel Meriva B, 2013 года рождения, комплектация Active + пакет опций Active. В наличии на борту:

  • Двигатель B14NEL, 1.4 литра, турба, 120 лошадей, крутящий момент 200 Н/м, причём ровная полка момента в диапазоне 1850-4850 оборотов;
  • 6-ступенчатая АКПП производства Aisin, с гидротрансформатором;
  • Двухзонный климат;
  • Круиз-контроль (не адаптивный);
  • Адаптивные линзованые галогеновые фары (которые в повороте доворачиваются в сторону поворота, плюс ещё дополнительная лампочка сбоку загорается, для улучшения освещения обочины);
  • Музяка CD/MP3, с отдельным USB-портом;
  • ABS, ESP, Break Assist;
  • Бортовой компьютер (относительно простенький, но всё же);
  • Подогрев руля;
  • Подогрев передних сидений;
  • Регулировка руля по высоте и вылету;

Чего нет — нет встроенной навигации, цветного дисплея и панорамной крыши, хотя есть комплектации и с ними.

Общее впечатление от 4750 км на Мериве — тачка мне нравится. Не так бойко рулится, как моя старая альмера, но это нормально — всё-таки это не мелкий хэтч, а относительно высокий компактвэн. Высокая посадка за рулём (сиденье можно отлифтовать так, что от головы до потолка остаётся сантиметра 3-4), неплохой обзор вперёд, огромное лобовое стекло, довольно шустро соображающий автомат, тяговитый движок (ну, на мой взгляд, во всяком случае) — всё устраивает.

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

Также есть проблемы с широкими средними и передними стойками. Средняя стойка — обратная сторона прикольности распашных дверей. На трёхдверной альмере средняя стойка смещена назад, дверь довольно широкая. Поэтому когда поворачиваешь голову влево, то видишь всё что надо и даже немножко больше назад-влево. Если повернуть голову на Мериве, то видишь вот это:

То есть, часть обзора назад закрыта стойкой. То есть, часть обзора назад закрыта стойкой.

Передняя стойка — ну ХЗ, просто широкая :-) Встречал мнение, что типа у «японцев» широкие передние стойки. Если услышите что-то подобное — смело утверждайте, что по сравнению с Меривой у «японцев» стойки не толще спички. Не скажу, что это прямо катастрофа всё, но при маневрировании надо это учитывать, и вертеть головой активнее.

Падробнасте?!

Ещё ближе к телу. Внешний вид машины мне нравится:

Не люблю я эти новомодные тенденции — делать передок машины как можно более агрессивным на вид. У Меривы морда обычная, вполне добродушная: Не люблю я эти новомодные тенденции — делать передок машины как можно более агрессивным на вид. У Меривы морда обычная, вполне добродушная:

На 16-ых дисках и резине 205/55R16 по уверению клубного форума клиренс в районе 16 см. На зиму можно беспалевно запилить что-нибудь в духе 205/60, станет ещё на 1.5 см повыше.

Двери

Одна из козырных фишек Меривы — это двери:

Двери открываются на 84 градуса. Реально удобно. В задние двери не садишься, а как будто заходишь, держась за специальную ручку на средней стойке. Моя бабушка была в восторге :-) Особенно после трёхдверной альмеры :-D Заявлено, что производитель принял все меры к обеспечению безопасности в движении — двухступенчатая блокировка дверей, чтобы они не открылись в движении. Ручки задних дверей подсвечиваются лампочкой — если горит зелёный огонёк, то дверь открыта, если же ничего не горит, то извините — действует блокировка, и хрен их откроешь. Двери открываются на 84 градуса. Реально удобно. В задние двери не садишься, а как будто заходишь, держась за специальную ручку на средней стойке. Моя бабушка была в восторге :-) Особенно после трёхдверной альмеры :-D Заявлено, что производитель принял все меры к обеспечению безопасности в движении — двухступенчатая блокировка дверей, чтобы они не открылись в движении. Ручки задних дверей подсвечиваются лампочкой — если горит зелёный огонёк, то дверь открыта, если же ничего не горит, то извините — действует блокировка, и хрен их откроешь.

Багажник

Багажник двухуровневый. Фальшпол ставится вровень с задним бампером:

Есть специальный крючок, куда можно вешать лёгкие пакеты, либо использовать его как упор для фальшпола, когда нужно поковыряться «в подвале»: Есть специальный крючок, куда можно вешать лёгкие пакеты, либо использовать его как упор для фальшпола, когда нужно поковыряться «в подвале»:

Внизу докатка, набор инструментов, домкрат и всякое такое. Потом войлочный коврик, на котором я складываю всякое — аптечку, огнетушитель, тряпки, мешок для трупов перевозки велосипедов и т. п. Довольно большой «подвал» в багажнике, на мой взгляд: перевозки велосипедов и т. п. Довольно большой «подвал» в багажнике, на мой взгляд:

Задние сиденья

Задние сиденья прикольные. Складываются не 60/40, а каждое в отдельности. Можно сложить только среднюю часть:

или любое из боковых: или любое из боковых:

Сиденья можно сложить как спереди, потянув за петельку:

так и сзади, со стороны багажника: так и сзади, со стороны багажника:

Также сиденья двигаются вперёд-назад, а при сложенной средней части их можно отодвинуть назад ещё дальше, при этом они смещаются к центру. Нам с женой места маловато в стандартном положении задних сидений, если садиться «за собой», коленки слегка упираются (но у нас и рост нормальный — 180 см у меня и 176 см у жены). Сидеть можно, но малость неудобно. Если сложить среднюю часть и отодвинуть задние сиденья до упора назад — вот тогда нормально: Также сиденья двигаются вперёд-назад, а при сложенной средней части их можно отодвинуть назад ещё дальше, при этом они смещаются к центру. Нам с женой места маловато в стандартном положении задних сидений, если садиться «за собой», коленки слегка упираются (но у нас и рост нормальный — 180 см у меня и 176 см у жены). Сидеть можно, но малость неудобно. Если сложить среднюю часть и отодвинуть задние сиденья до упора назад — вот тогда нормально:

Вывод — если по-честному, то для троих места будет сзади маловато. При этом в средней части сидеть будет ещё и не очень удобно. Вот для двоих — можно настроить идеально. Плюс сзади есть отдельная розетка-прикуриватель, и ещё есть дефлекторы обогрева/охлаждения для задних пассажиров. Также в каталоге аксессуаров Опеля есть не очень дорогие столики, крепящиеся на спинки передних сидений:

У нас в машине таких нет — пока без надобности.

Передние сиденья

В моей комплектации сиденье водителя имеет лифт, поднимается вверх-вниз (механический). На пассажирском в этой комплектации такого нет (хотя вообще вроде есть, и ещё есть варианты сидений с регулируемым поясничным упором). Довольно широкий диапазон в движении вперёд-назад. Однако надо отметить, что в альмере пассажирское сиденье отодвигалось так, что я, при росте 180 см, спокойно вытягивал там ноги на всю длину, и не доставал до перегородки. В Мериве места поменьше — ногам чуть-чуть не хватает до того, чтобы вытянуться полностью. Невероятно, но факт, хотя альмера заметно меньше в длину. Но при этом, естественно, в альмере сзади уже не сядешь особо. В Мериве же ещё можно разместиться.

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

Климат-контроль

Климат там шибко умный. Он может не включать ни одну лампочку-индикатор, но при этом работать. То есть, ничего на панели управления климатом не горит, типа, он выключен. Но если покрутить ручки регулировки температуры на повышение, то он начинает воздух подогревать. Охлаждать, к счастью, сам по себе не умеет, не хватало ещё, чтобы он по собственному разумению кондей включал :-) Я думаю, что это просто глюк, надо будет на первом ТО сказать дилеру, чтобы поколдовал с мозгами климата. Климат там шибко умный. Он может не включать ни одну лампочку-индикатор, но при этом работать. То есть, ничего на панели управления климатом не горит, типа, он выключен. Но если покрутить ручки регулировки температуры на повышение, то он начинает воздух подогревать. Охлаждать, к счастью, сам по себе не умеет, не хватало ещё, чтобы он по собственному разумению кондей включал :-) Я думаю, что это просто глюк, надо будет на первом ТО сказать дилеру, чтобы поколдовал с мозгами климата.

В целом климат вполне нормальный, охлаждает аккуратно и быстро, в режиме «Авто» старается не дуть прямо на человека (а то не дай бог простудицца! :-) ). Широкий диапазон регулировки скорости вентилятора — 6 положений. Но выше 3-ей вентилятор уже шумит как Ан-2 на взлёте. Как сказано выше, есть дефлекторы для задних пассажиров:

Приборная панель, бортовой комп, руль

Сама приборная панель простая и удобная. Тахометр с лампочками, спидометр с лампочками. Вот центральная консоль, на мой взгляд, перегружена кнопочками. Думаю, можно было бы и как-то попроще это исполнить:

Например, до сих пор не вкурю назначение кнопки AS. Чего-то там про диапазоны написано в документации, но диапазоны (AM/FM) переключаются кнопкой «Radio band». Хотя с этим ещё предстоит разобраться.

Лампочек всяких диагностических реально до фига. Они все загораются в момент включения зажигания — ажно страшно становится :-)

Бортовой компьютер

Бортовой комп умеет показывать следующее:

  • Промежуточный пробег;
  • Средний расход на 100 км;
  • Моментальный расход на 100 км;
  • Среднюю скорость (вообще, за всё время);
  • Остаток пробега на оставшемся количестве бензина;
  • Остаточный ресурс масла в процентах (когда станет 0%, надо в течение недели или 500 км заехать до дилера на замену масла).

Ещё там до фига всяких значков:

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

Есть ещё центральный дисплей:

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

Руль

Руль прикольный, обшит кожей молодого дермантина, имеет упоры для больших пальцев. Держаться за него удобно. Ну и кнопки всякие на нём тоже наличествуют. Всё как обычно — слева круиз, справа телефон и громкость музыки/выбор источника звука/перемотка трека.Только громкой связи у меня в комплектации нет, поэтому единственное, что можно делать кнопкой управления телефоном — это вырубить звук радио по-быстрому. Руль прикольный, обшит кожей молодого дермантина, имеет упоры для больших пальцев. Держаться за него удобно. Ну и кнопки всякие на нём тоже наличествуют. Всё как обычно — слева круиз, справа телефон и громкость музыки/выбор источника звука/перемотка трека.Только громкой связи у меня в комплектации нет, поэтому единственное, что можно делать кнопкой управления телефоном — это вырубить звук радио по-быстрому.

Бардачок

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

Есть ещё небольшое отделение со стороны водителя:

Ну, ключи от дома там можно возить, наверное, да и всё. Ну, ключи от дома там можно возить, наверное, да и всё.

Центральный туннель

Между передними сиденьями есть рельсы, двухэтажные. Есть полочка с дополнительным подстаканником, который ездит туда-сюда по рельсам. Можно сделать так:

А можно и вот так:

И ещё есть подлокотник с отделением для хранения, но его в моей комплектации нет. Вот так он выглядит:

Спросил у дилера на предмет установки подлокотника, сказали «15 тысяч с работой». Я посмотрел по экзисту, подлокотник стоит 8 тыщ чёрный, и ~4500 коричневый, а «работа» по его установке — это нажать две клавиши, которые убирают ножки, вставляемые в рельсы, ставишь его между рельсами и клавиши отпускаешь. Ножки разжимаются обратно, и всё, установка завершена. Я решил, что 7000 за такую «работу» будет как-то овердохрена, и подлокотник докуплю потом сам, он не помешает.

(P.S. от 29.09.2013: купил подлокотник в экзисте за 4380 рублей. Установка заняла секунд 40, из которых 30 я упаковку вскрывал :-) )

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

Ещё в этом лотке скрывается подстаканник, USB-порт и розетка-прикуриватель:

Если задвинуть полку до упора вперёд, то флэшки не видать, можно беспалевно оставлять её в салоне и не выдёргивать каждый раз, когда оставляешь машину. А то были неописуемые случаи у нас на раёне, когда машинам били стёкла, чтобы украсть эту жалкую флэшку,торчащую из магнитолы.

Как я уже говорил, в задней части центрального туннеля есть ещё одна розетка-прикуриватель.

Динамика и управляемость. Тормоза. Подвеска.

Несмотря на свой класс — типа как семейные авто, рулится Мерива чётко. Короткий острый руль, внятное поведение на дороге. ЭУР, как я понял, изменяет усилие на руле в зависимости от скорости, чем выше скорость, тем выше усилие на руле. Отторжения логика работы усилителя у меня не вызывает. А то были прецеденты, на Dodge Intrepid, например — там оооочень длинный и невнятный руль, бесил меня жутко.

Но идеалом всё же остаётся Альмера, и ещё Смарт :-) Это самые чёткие в управлении тачки, которыми мне довелось порулить.

По динамике Мерива меня вполне устраивает. До ~1800 оборотов она реально толком не едет, но потом резко подхватывает турбина и машина прыгает вперёд. Крутить движок смысла нет вообще — я попробовал, заметного увеличения ускорения по сравнению с более низкими оборотами не наблюдается, так что спокойно можно разгоняться в пределах заявленной производителем полки момента. Автомат не тупит (как, опять же, в вышеупомянутом Интрепиде — там ппц тугой автомат), быстро схватывает чего от него хотят, и не дожидаясь дожатия до кикдауна, сбрасывает передачу вниз, если надавить на газ посильнее.

Подвеска в меру упругая и энергоёмкая. Ямки чувствуются, но по заднице не бьют :-) В сравнении с альмерой, которая жёсткая шо пипец, и я на ней научился так выбирать дорогу так, чтобы никаких ямок под колёса не попадало :-) Или, опять таки, сравнивая с Интрепидом — тот ваще мягкий и валкий, как корабль, на ямках он не прыгает, а раскачивается, медленно и вальяжно. В общем, Мерива — нечто среднее между двумя крайностями. Хотя, конечно, расхолаживает. Ибо несмотря на хреновые дороги в Смоленске, где народ постоянно жалуется, что у них подвеска летит, в жёсткой альмере я ни разу в подвеску не лазил — не было нужды. Хотя езжу по тем же самым дорогам, что и остальные водители Смоленска. Теперь боюсь расслабиться и начать ехать по прямой, а не объезжать ямки. А то придётся в подвеску Меривы регулярно лазить :-)

Тормоза мне понравились сразу и безоговорочно. Чёткая работа, ровный ход педали, адекватная реакция. Единственное что — в начале хода педали схватывает немножко резковато, можно бы и поплавнее. Но в целом — оценка отлично. Ещё косячок — педаль тормоза сильно выше педали газа, мне это не очень нравится, приходится делать заметное усилие, чтобы с газа на тормоз ногу переставить. Но это вроде регулируется, надо будет обратиться к специалистам, чтобы опустили педаль тормоза чуть пониже, на сантиметр или около того.

Ручник вот только электронный, боком не поездишь уже :-) Но зато за счёт отсутствия рычага ручника появляется много места между передними сиденьями для хранения всякой фигни. Что для машины такого класса и назначения, наверное, полезнее, чем возможность ездить боком :-)

Освещение

Фары чоткие. Чёткая граница света и тени, хорошее освещение. У меня ручное управление светом, но есть комплектации и с автоматическим. Первое положение переключателя  — типа ДХО (оно включено всегда, завёл машину — автоматически зажглись ДХО), второе — габариты. Реализуется это всё двух-нитевой лампой — ДХО нитью на 21 ватт, габариты — нитью на 5 ватт. Фары чоткие. Чёткая граница света и тени, хорошее освещение. У меня ручное управление светом, но есть комплектации и с автоматическим. Первое положение переключателя  — типа ДХО (оно включено всегда, завёл машину — автоматически зажглись ДХО), второе — габариты. Реализуется это всё двух-нитевой лампой — ДХО нитью на 21 ватт, габариты — нитью на 5 ватт.

Фары ближнего света линзованые, как я уже сказал выше, линзы позволяют менять направление пучка света (вверх-вниз и в небольших пределах — влево-вправо, это при поворотах). Дальний свет офигенский, отлично бахает. Фары ближнего света линзованые, как я уже сказал выше, линзы позволяют менять направление пучка света (вверх-вниз и в небольших пределах — влево-вправо, это при поворотах). Дальний свет офигенский, отлично бахает.

Есть возможность запалить габариты только с одной стороны, для стоянки где-нибудь в тёмном месте бывает полезно, с целью экономии аккумулятора.

Есть ещё дополнительные лампы с отражателем вбок — для дополнительного освещения обочины при повороте. То есть, освещение вбок достигается двумя элементами — поворот линз ближнего света в сторону поворота, и включение дополнительной лампы бокового освещения. Контроллер сам решает, какую и когда из них поджигать, на основании скорости, включения поворотников и угла поворота руля. ХЗ, насколько полезная эта фенька, но её наличие однозначно не повредит.

Вот задние фары слегка удручают. На вид нормальные, но стопари и поворотники так близко расположены, что в торможении сигнал поворотников виден плохо на фоне ярких огней стоп-сигналов. Такой же фигнёй страдают многие современные фольксы и, например, матиз — там поворотник находится внутри круглого фонаря задних габаритов/стопарей, которые настолько яркие, что в их свете практически теряется свет от поворотника, и на средней/дальней дистанции он практически не виден. Моё мнение — все задние фонари должны иметь отдельные секции одинакового размера, чтобы такой фигни не было. Та же фигня в Мериве с огнями заднего хода — это просто две узкие бойницы:

Сомневаюсь, что это очень хорошо. Субъективно, мне кажется что фары заднего хода в Мериве освещают обстановку похуже, чем в Альмере. Несмотря на то, что в Альмере у меня довольно круто затонированы задние стёкла, а в Мериве тонировки нет. Но в принципе, их света хватает.

Освещение салона приемлемое, можно запалить все лампы на потолочном плафоне (их там три — водительская, пассажирская и общий свет, который включается при открытии дверей) — всё видно отлично:

Концепция освещения багажника только с одной стороны мне кажется сомнительной. В альмере было так же (да много где так же, если не вообще у всех машин), но там я наколхозил светодиодные ленты по всей длине задней полки, с питанием от штатного плафона освещения багажника — свет как в операционной. Может быть, здесь поступлю аналогично, когда-нибудь. Просто когда свет только с одной стороны, из одной точки, да ещё в такой, как в Мериве — он просто бьёт в глаза, а само пространство багажника не освещает. Получается, что свет прямо в глаза, и в темноте багажника уже ничего не видать.

Наличествует также плафон между дверями, традиционно загорается при открытии дверей, и функция Coming home/Leaving home — когда фары горят ещё какое-то время после снятия/постановки машины на сигналку. Я это отключил — без надобности.

Музыка

По музыке скажу коротко: магнитола, прямо скажем, так себе. Но я не аудиофил, мне хватает. 6 динамиков, трёхполосный эквалайзер, всякое такое. Единственное — надо разобраться с системой запоминания радиостанций, их там можно насохранять миллион, и переключать, например, в зависимости от города. Я на два города живу, наборы радиостанций там разные, можно сделать две страницы Favorits, и переключать наборы радиостанций. Ещё есть функция автоматической регулировки громкости в зависимости от скорости: выше скорость — выше громкость. Магнитола в моей комплектации — CD400.

Шумоизоляция

Шумоизоляция в машине слабовата. Хорошо слышен шум дороги, на крупнозернистом асфальте ваще ппц. Возможно, если зашумить арки, то станет полегче. А пока так себе.

Вывод

Общий вывод — машина хорошая. Относительно своих одноклассников недорогая, в меру упакована всякими допами, с высоким клиренсом и достаточно шустрая. Всем и всячески рекомендую :-)

Бага в zabbix 2.0

При обновлении системы и и всего софта до распоследних версий столкнулся с тем, что в zabbix-frontend при использовании PHP 5.5 появляется в красной рамочке надпись перед каждой таблицей с выборками из базы:

mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead [include/db.inc.php:77]

Думал, что это PHP warning (простительно после вторых суток колупания в конфигах). ПОтом дошло, что не, что-то тут нечисто. Полез искать, нашёл описание баги в багтрекере заббикса. Баг имеет статус unresolved, но там приложен некий патч (от 11.07.2013), который проблему вроде как решает. Возможно, там какие-то косяки потом всплывут, но бегло пощёлкав по страничкам фронтэнда, ничего такого не выявилось. заббикса. Баг имеет статус unresolved, но там приложен некий патч (от 11.07.2013), который проблему вроде как решает. Возможно, там какие-то косяки потом всплывут, но бегло пощёлкав по страничкам фронтэнда, ничего такого не выявилось.

Отладка с помощью WinDbg

По наводке с Хабра нашёл интересный бложик: http://kate-butenko.blogspot.ru/

Там рассказывается о простых приёмах поиска причин разного рода проблем, вроде блокировок ресурсов, высокой загрузки процессора, утечек памяти, а также про анализ аварийных дампов.

Отвал микрофона в гарнитуре Koss

Есть у меня замечательная во всех отношениях гарнитура, Koss SB45. Вот такая:

И что-то в один прекрасный момент все мои телефонно-скайпные корреспонденты начали жаловаться, что стали меня плохо слышать. Я начал рыться в настройках звуковой карты, производить различные магические пассы, пытаясь отыскать причину. Выкрутил на максимум усиление микрофона. Всё было бестолку — шума прибавлялось, не фона 50 гц, как это бывает, а именно шума, белый шум.

Поставил даже валяющийся у меня в столе бесхозный SB Live!, поставил дрова от kx project, поскольку на компе сейчас Win2008 Server стоит. Ни фига — не работает микрофон как раньше.

В общем, после трех дней курения интернета, манипуляций с настройками звуковухи в микшере и других заклинаний, а также срочного поиска гарнитуры на замену я подключил вместо микрофона обычные наушники-вкладыши, и насторожился... Шум исчез. Наушники в качестве микрофона, конечно, плоховато работают, но главное — шума нет. Ага! Похоже, это что-то с микрофоном, а не с драйверами, звуковухой или иными делами.

Разобрал аккуратно микрофон гарнитуры, отцепил один проводок от него и начал тестировать. Прозвонил все провода, идущие к микрофону, провода в порядке. Тогда включил микрофон в гнездо и прижал к контакту отпавший провод. В колонках сразу зашумело. Из чего я смело заключил, что дрова наступили самому микрофону. В итоге купил за 190 рублей в ЧипДипе (хороший магазин, но дорогой — ппц) электретный кетайский микрофон UME-2 (он единственный подходил по размерам) и припаял на место скисшего в гарнитуре. И всё чудесно заработало обратно. Горжусь собой! Терпение и труд избавили от покупки новой гарнитуры! :-)

Хранение серверных конфигов в SVN

Настраивал хранение freebsd-шных конфигов в SVN. Обнаружилось небольшое западло. Маааленькое такое. В результате которого если ты закрыл консоль, то больше к серваку не подключишься :-)

Причиной является то, что при операции svn commit после добавления всех конфигов в репозиторий, svn делает меняет права на конфигурационные файлы. В частности, добавляет права на чтение для ssh-ключей хоста сервера. Вот для этих файлов, иными словами: /etc/ssh_host_dsa_key, /etc/ssh_host_rsa_key и /etc/ssh_host_ecdsa_key. После чего система отказывается принимать новые соединения по ssh, мотивируя это тем, что:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/etc/ssh/ssh_host_rsa_key' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_rsa_key
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/etc/ssh/ssh_host_dsa_key' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /etc/ssh/ssh_host_dsa_key
Could not load host key: /etc/ssh/ssh_host_dsa_key
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/etc/ssh/ssh_host_ecdsa_key' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key

И если своевременно не принять меры по устранению и недопущению, может получиться казус. Пока ssh-консоль открыта, есть некоторый шанс. Нужно вернуть права на ключи обратно, запретив чтение группе и другим. А в идеале — вернуть вообще все уехавшие права с файлов каталога /etc и всех подкаталогов, так как модификации прав подверглись все файлы.

Сделать это можно, воспользовавшись силой данного нам природой мозга и утилитой freebsd-update. У неё есть параметр IDS, который ревизует систему на предмет соответствия прав, структур каталогов и хэшей системных файлов тем, которые должны быть в системе искаропки. Нам же нужны только права доступа на файлы, а на хэши на текущем историческом этапе чхать. Поэтому делаем раз:

server# freebsd-update IDS | awk '/permissions/{ print $8" "$1 }' | xargs -t -L 1 chmod

Утиля долго думает, сверяется с Большим Братом в интернетах, а затем начинает генерировать отчёт, в котором английском по чёрному написано, на каком файле какие права стоят, а какие должны быть. Аккуратно выкусываем awk'ом строчки со словом permissions, который также извлекает 8 и 1 колонки (это права и имя файла соответственно), а утиля xargs доделывает всё остальное, вызывая chmod и подставляя ему результат работы предыдущего конвейера. В итоге эта команда проходится по всем файлам в каталоге /etc, возвращая им правильные права.

Стоит также отметить, что в /usr/local/etc/, которые я тоже сложил в SVN, права тоже поедут. Но там менее критично всё это, по крайней мере, не приведёт к потере управления удалённым сервером. А в идеале, надо делать отчёт с помощью утилиты mtree по правам доступа всех файлов, а после svn add / svn commit возвращать их с помощью этой же mtree обратно. Потому как после каждого commit'a права на закоммиченные файлы будут приводиться в соответствие с umask. Наверное, в идеале стоит написать какую-то обёртку для svn commit, которая будет затем возвращать права на файлы обратно. Либо пойти по пути asvn и реализовать хранение разрешений для файла в репозитории с помощью properties, а при коммите их перечитывать и делать chmod на файлы. А то западло получается... и реализовать хранение разрешений для файла в репозитории с помощью properties, а при коммите их перечитывать и делать chmod на файлы. А то западло получается...

MikroTik и OpenVPN

Есть у нас в офесе VPN. Точнее, между 40 офесами. По мере роста сети всплыла грабля — некоторые удалённые (и отсталые) провайдеры грешат packet reordering. Что напрочь сносит крышу модулю, ответственному за реализацию MPPC/MPPE в mpd5. Симптомы при этом такие — туннель визуально жив, и по нему спокойно ходят LCP-пакеты, но вот трафик уже не ходит. В логах mpd при этом наличествуют сообщения:

ng_mppc_decompress: too many (4094) packets dropped, disabling node

Если вы такие обнаружили — знайте, это вилы. Надо валить. Потому что не лечится никак. Хотя вот эксперимент показал, что с микротика на микротик такой же канал, с MPPC/MPPE держится нормально. Т. е. микротиковцы в RouterOS этот вопрос решили. Но ни фря, ни линукс в качестве VPN-сервера с packet reordering бороться не умеют. В связи с чем было принято волевое решение проблемных клиентов перевести на OpenVPN. По той же схеме — сервер на FreeBSD, клиенты — микротики RB750.

Спустя некоторое время вдумчивого курения манов и некоторого количества глупых вопросов в ru_root наступило просветление и я принялся ваять конфиги сервера и создавать сертификаты. Создав всё, начал терзать первого проблемного клиента, отключив L2TP-линк на нём и создав клиентский интерфейс OpenVPN. Ну, момент истины, нажимаю «Apply» в настройках openvpn-интерфейса на микротике, и... теряю связь с объектом вообще. А он километров за 600 от меня. наступило просветление и я принялся ваять конфиги сервера и создавать сертификаты. Создав всё, начал терзать первого проблемного клиента, отключив L2TP-линк на нём и создав клиентский интерфейс OpenVPN. Ну, момент истины, нажимаю «Apply» в настройках openvpn-интерфейса на микротике, и... теряю связь с объектом вообще. А он километров за 600 от меня.

Сначала грешил на то, что забыл убрать галку Add default route у openvpn-интерфейса. Проверил на тестовом роутере — ни фига, по умолчанию эта галка отсутствует. А шо же за ботва? Повторяю процедуру на тестовом роутере, подключившись к нему по локалке, и... теряю связь уже с тестовым роутером. Правда, как-то странно — winbox не отвалился, но списка интерфейсов получить не удаётся, выдаётся ошибка «out of index». Странно. Однако роутер частично подконтролен — его удаётся перезагружать. И если всё сделать очень быстро, то openvpn-интерфейс подняться ещё не успевает, и его можно отключить. Тогда роутер остаётся на связи и можно им рулить.

В общем, практика показала, что в RouterOS, зашитых в наших микротиках (v4.11) есть суровый баг. Который приводит к тому, что при поднятии openvpn-интерфейса у роутера сваливается WAN-интерфейс в несознанку, и тянет за собой что-то ещё. Только проапгрейдившись до версии 5.21 удалось нормально создать связь по OpenVPN с микротиком. И ещё одно западло в микротиках — они не умеют openvpn по UDP, только TCP. Что заметно снижает скорость, по сравнению с L2TP — так раза в полтора.

Бьётся файл при передаче по http

Мерял тут скорость внутри конторских VPN-каналов, путём передачи 100-мегабайтного файла по http, с Apache22 на FreeBSD. Обнаружил необъяснимое — при передаче файла на винду качается кусок файла случайного размера (от 2.5 до 18 мегабайт) и потом передача рвётся. Клиент считает, что файл скачан полностью, в логах апача никаких ошибок. При этом перед началом закачки размер файла определяется правильно.

Начал рыть. Включение максимально подробных логов показало, что в момент обрыва передачи появляется запись:

[Thu Sep 27 12:31:48 2012] [info] [client 10.0.7.1] (12)Cannot allocate memory: core_output_filter: writing data to the network

Беглый поиск привёл на сайт Apache, где нашёлся такой текст:

*Invalid argument: core_output_filter: writing data to the network
Apache uses the sendfile syscall on platforms where it is available in order to speed sending of responses. Unfortunately, on some systems, Apache will detect the presence of sendfile at compile-time, even when it does not work properly. This happens most frequently when using network or other non-standard file-system.Apache uses the sendfile syscall on platforms where it is available in order to speed sending of responses. Unfortunately, on some systems, Apache will detect the presence of sendfile at compile-time, even when it does not work properly. This happens most frequently when using network or other non-standard file-system.

Symptoms of this problem include the above message in the error log and zero-length responses to non-zero-sized files. The problem generally occurs only for static files, since dynamic content usually does not make use of sendfile.Symptoms of this problem include the above message in the error log and zero-length responses to non-zero-sized files. The problem generally occurs only for static files, since dynamic content usually does not make use of sendfile.

To fix this problem, simply use the EnableSendfile directive to disable sendfile for all or part of your server. Also see the EnableMMAP, which can help with similar problems.To fix this problem, simply use the EnableSendfile directive to disable sendfile for all or part of your server. Also see the EnableMMAP, which can help with similar problems.*

Что в переводе означает, что Apache используется системный вызов sendfile на тех платформах, где он доступен, чтобы увеличить скорость ответа клиенту. К сожалению, на некоторых система апач определяет наличие этого вызова во время компиляции (т. е. сборки самого апача) даже если этот вызов в системе реально не работает надлежащим образом. Обычно это происходит при использовании сетевых или иных нестандартных файловых систем. Симптомы этой проблемы включают в себя вышеприведённый текст в логах и нулевой ответ на запрос файлов ненулевой длины. Проблема обычно возникает при передаче статических файлов, динамический контент не использует sendfile. Чтобы решить эту проблему, используйте директиву EnableSendfile, чтобы выключить использование вызова SendFile. Также почитайте про EnableMMAP, которая может помочь при сходных проблемах.

Выключил в итоге в конфиге апача EnableSendfile и EnableMMAP. Это помогло, но осадочек остался... Потому как файло лежит на обычном локальном разделе диска. Или UFS считается для апача недостаточно стандартной?

СМС-оповещения

У нас на фре трудится система мониторинга Zabbix. Обо всяких критических события, типа пропадания питания или неожиданной перезагрузки серверов хотелось бы, чтобы оповещения приходили на СМС заинтересованным лицам. Выкопал я у товарища старый бесхозный мобильник Motorola L6 и вознамерился его использовать. Чтобы не искать кабель, который, как водится, может ещё и не подойти, решил его сразу по bluetooth подключить. Долго курил мануалы, прописывал ключи и включал автоматический доступ на Мотороле с компа, чтобы она не запрашивала каждый раз подверждение. Вроде заработало. Написал скрипт для автоматического запуска rfcomm_sppd, которая создавала виртуальный COM-порт через bluetooth, через который, в свою очередь, комплект smstools отправлял сообщения.

Тока вот этот виртуальный COM-порт, через который работал rfcomm_sppd, постоянно отваливался. И каждый раз требовался танец с бубном, чтобы всё это опять заработало, причём каждый раз я не мог понять, почему такие же действия две минуты назад никакого эффекта не давали. Удалось выяснить, что выключение/включение голубого зуба на телефоне позволяло в течение пары минут запустить скрипт и тогда порт появлялся. Но сегодня не помогло даже это. Руками запускаю rfcomm_sppd с нужными ключами — порт есть. Делаю то же самое скриптом — connection refused. В конце концов меня это задрало.

Я с горя взял обычный провод USB-miniUSB, оставшийся от павшего смертью храбрых внешнего HDD, и подключил им телефон к серваку с FreeBSD. Оценил обстановку в логах. Обстановка гласила:

Apr 13 12:25:11 proxy root: Unknown USB device: vendor 0x22b8 product 0x4902 bus uhub2Apr 13 12:25:11 proxy kernel: ugen2.3: <Motorola Inc.> at usbus2Apr 13 12:32:57 proxy kernel: ugen2.3: <Motorola Inc.> at usbus2 (disconnected)Apr 13 12:33:05 proxy kernel: ugen2.3: <Motorola Inc.> at usbus2Apr 13 12:33:05 proxy root: Unknown USB device: vendor 0x22b8 product 0x4902 bus uhub2

Попандос, думаю — ugen2.3. Это значит, что фря устройство видит, но как с ним работать — не знает, драйвера нет. Полазил по интернетам. Рекомендуют запускать модуль ucom. Ок, пробуем:

kldload ucom

kldload: can't load ucom: No such file or directory

Нету модуля, значит. Та же петрушка с рекомендованным модулем umodem. Лезем сначала в /usr/src/sys/modules/usb/ucom, и делаем там

make

make install clean

Потом то же самое в каталоге /usr/src/sys/modules/usb/umodem

Потом грузим модули:

kldload ucom

kldload umodem

Перетыкаем кабель в телефоне, палим логи:

Apr 13 12:46:38 proxy kernel: ugen2.2: <Motorola Inc.> at usbus2Apr 13 12:46:38 proxy kernel: umodem0: <Motorola Inc. Motorola Phone (L6), class 2/0, rev 1.10/0.01, addr 2> on usbus2Apr 13 12:46:38 proxy kernel: umodem0: data interface 1, has CM over data, has no breakApr 13 12:46:38 proxy kernel: ugen2.2: <Motorola Inc.> at usbus2 (disconnected)Apr 13 12:46:38 proxy kernel: umodem0: at uhub2, port 1, addr 2 (disconnected)Apr 13 12:48:01 proxy kernel: ugen2.2: <Motorola Inc.> at usbus2Apr 13 12:48:01 proxy kernel: umodem0: <Motorola Communication Interface> on usbus2Apr 13 12:48:01 proxy kernel: umodem0: data interface 1, has CM over data, has no break

Ну круто, umodem нашёл телефон. В системе появился порт /dev/cuaU0 (не путать с COM1, который /dev/cuau0 — разница в регистре в имени). Это и есть искомый COM-порт для коммуникации с телефоном. Прописываем его в конфиге демона smsd из комплекта smstools, и получаем щастье! И никаких хитрых процедур и скриптов запуска по голубому зубу. Остаётся только прописать загрузку этих двух модулей в /boot/loader.conf, чтобы оно автоматом грузилось при старте системы.