Category: it

Category was added automatically. Read all entries about "it".

(no subject)

Оно продолжается, да.

В общем, сейчас готовится к выходу плата/контроллер 2й версии. Что в ней будет.

— Плата будет уметь питаться от 7 до 30 вольт. Пофиг, постоянного или переменного.
— Плата будет иметь 4 входа. Которые будут уметь понимать как 220В, так и 24В. Как постоянного, так и переменного. И будет индикация светом "на входе что-то есть", что бы не лезли мокрыми руками.
— Плата по-прежнему будет иметь 4 переключающих реле. На 8А, но зато от более правильной фирмы. И тоже будет индикация "реле переключилась"
— Плата так же будет иметь возможность общаться по modbus
— И точно так же будет иметь выход 1wire, но только один.
— А вот выходов 0-10В будет уже два.
— И может быть, еще что-нибудь приделаю, ибо два входа-выхода пока пустые.

И самое главное, уже не потребуется лишний Arduino Nano для работы — он будет распаян внутри. Все остальное останется без изменений — как удобство программирования, так и отсутствие заморочек на тему "как это работает"

И да, она по прежнему будет помещаться в корпус на DIN-рейку. Все выходы гальванически развязаны, а плата обмазана защитами, так что сломать будет тяжело. Ну и схемы/прошивки/прочее в открытом доступе (да, вы можете сделать себе такой же, но дороже :).

Стоимость одного экземпляра еще пока не досчитана, но 100% она будет меньше 3000 рублей. Может, сделаю "не такую защищенную плату", там цена будет еще меньше на 500р из-за пары дорогих элементов. Как говорится, найдите аналог за ту же цену :)

К чему этот пост?
а) Если вдруг Вы внезапно поняли, что Вам такое надо, то машите рукой. Я могу придержать часть тиража "для своих". У меня есть ООО, так что если надо договор и прочие счета-фактуры — без проблем. Про доставку — договоримся :)
б) Если вдруг Вы внезапно поняли, что Вам надо такое, но с чуть-чуть другим функционалом, машите еще скорее: очень может быть, что я это добавлю, ибо схема еще на 100% не готова — я сейчас ищу более дешевые или (где надо) надежные аналоги элементов.

Как обычно, меня проще всего найти либо в почте multik@multik.org, в телеграмме kiltum ну или позвонить (926)295-25-10

(no subject)

Нет, все-таки они чукчи!

# zpool get all ash1-arch150|grep free
ash1-arch150  free                           13.5T                          -
ash1-arch150  freeing                        585G                           default
# zfs get all ash1-arch150|grep ava 
ash1-arch150  available             2.21T                  -


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

Можно вычислить логику вручную через zdb, но проще тыкать пальцем в последнюю

(no subject)

И снова про zfs

Смотрим на свободное место

root@xxxx:/root# zpool list
NAME          SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
xxxxx         43.5T  32.2T  11.3T         -    26%    74%  11.07x  ONLINE  -
rpool         278G  67.1G   211G         -    15%    24%  1.00x  ONLINE  -


Видите 11.3 терабайт свободных? И я вижу. Видите CAP (от слова capacity) в 74%? И я вижу.

А в реальности ничего этого нет.

root@xxxx:/root# zfs get available xxxx
NAME         PROPERTY   VALUE  SOURCE
xxxx         available  0      -


Почему, отчего, куда исчезли (или откуда появились) эти 11.3Т - узнать нельзя.

И там у них все так.

(no subject)

(да, я помню про zfs)

Солярка ... такая солярка. Стоит прокачать через ейный ssh нцать терабайт (да, знаю, что извращенец, но иначе никак), как этот самый ssh умирает намертво. До перезагрузки хоста. При этом в логах тишина.

При этом я подозреваю, что виноват не sshd (так какой-то обычный openssh), а какие-то потроха в сетевом стеке этого корпративного софта.

Расшарить раздел по NFS? Гавно вопрос. Только официальная документация дает неправильные команды (которые как ни странно, на линуксе работают). Но гугл выводит на правильное заклинание. И то потом шаманить приходится ...

Злобный линукс рядом недоуменно грит про connection refused и продолжает дальше работать.

В общем, сейчас у zfs осталось только два "преимущества" - компрессия и дедупликация "на ходу". Во всем остальном обычная связка mdraid+{xfs,ext4} уделывает zfs напрочь. На одном и том же железе - в 2-3 раза без каких-либо особенных телодвижений. С телодвижениями - до порядка.

(no subject)

Накрутил новый сервер. Солярка, zfs, все дела. Вот она, зверинная сущность корпративных систем.
root@da1-arch83:/root# zfs list da1-arch83
NAME         USED  AVAIL  REFER  MOUNTPOINT
da1-arch83   837K  91.5T   279K  /da1-arch83
root@da1-arch83:/root# zpool list da1-arch83
NAME         SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
da1-arch83   130T  1.64M   130T         -     0%     0%  1.00x  ONLINE  -


Если кто не понял, то для юзера система сообщает, что доступно 91 терабайт. А для админа - 130. А все потому что zfs при заполнении больше 85% просто умирает по производительности.

(no subject)

Как говорится, очередная загадка от zfs, за решение которых и платят бабло

Берем какой-нить zvol'чик и смотрим, сколько он места занимает

zfs list -t all -o name,used,volsize|grep XXXX_20150618151721  
XXXXX 20.0G    20.0G

20 гигов использовано, 20 гигов объем. Берем и посылаем его ... на другой сторадж

...
receiving full stream of XXXX_20150618151721@snap1 into XXXX_20150618151721@snap1
received 20.0GB stream in 48 seconds (427MB/sec)

# zfs list -t all |grep XXXX_20150618151721
XXXXX_20150618151721   5.13G  39.7T  5.13G  -


Оппа, а оно уже 5 гигов занимает. А если послать?

send from @ to XXXX_20150618151721@snap1 estimated size is 8.65G
total estimated size is 8.65G


Обана, 20 гигов превратились в 5, а потом в 8 ... При этом ошибок нигде нет. Все типа ок :)

(no subject)

... последние недели у меня пролетели под знаком борьбы с одной штукой от корпорации на букву О. Эта штука зовется файловой системой zfs.

Например, я впервые увидел, как сторадж из 19 (девятнадцати, Карл!) SAS дисков, будучи абсолютно без нагрузки (ну то есть я вообще тупо выключил на нем сеть), выдавал на линейном чтении скорость в 5-6 мегабайт в секунду.

Я видел, как сторадж не мог прокачать больше 50 мегабит в секунду через пару 10Гб интерфейсов.

И я даже видел удаление файлов, которое по скорости совпадало с временем их перезаписи. 10 минут на удаление 500Гб файлика? Легко!

Я прошел отрицание (не верю, что оно так тормозит!), гнев (эта хня мне угробила кучу клеток!), торги (а если вот это параметр поставить в такое значение?), депрессию (блждь, да идет оно все в жопу) и принятие (ну хрен с тобой, будем выкручиваться)

И все это было на "корпоративных системах хранения данных". И на "больших" системах и на привычном линуксе. И на прилипалах типа Nexenta и на родном О. Перцу добавляло то что рядом стоящая машинка, собранная на скорую руку, показывала результаты превышающие на пару порядков эти корпоративные системы. При тех же условиях.

Я скурил кучу манов и гайдов, я залез в исходники этой zfs что бы понять, что значат те или иные параметры (ибо знания эти сакральны и ни в одной документации они не описаны). Я научился вызывать дикие тормоза на ssd (слабо штатными средствами получить скорость чтения/записи в 800 килобайт в секунду? когда один диск легко выдает 500 мегабайт? а их там пять) и дикие скорости чтения на старых hdd (кеш, батенька - это сила).

И наконец впереди забрезжило понимание, как эту штуку реально надо готовить.

Только забрезжило :) Но и так я уже натянул свое ЧСВ до безобразия.

(no subject)

Я сдался, да. Не осилил истинно верный /bin/sh и решил сделать еще один подход к ужасному питону (там больше ничего нет, да).

Видимо, карма моя очистилась путем установки дома windows 10, потому что написалось как-то подозрительно быстро и легко. И в гугле почему-то не банили. И формат питоновский не раздражал как раньше ...

В общем, я сегодня полноценно лишился девственности с питоном:

$ cat lts.py |wc -l
     184


В итоге получился скриптик, который гадостно лазит через ssh по копративным серверам, запрашивает всякую личную информацию, тасует её и выдает в красивой табличке.


ЗЫ Да, странно. Сам удивляюсь.

(no subject)

Корпративный софт

# python
Python 2.5.5 (r255:77872, Mar 12 2010, 14:19:01) 
[GCC 4.2.3 (Ubuntu 4.2.3-2nexenta7)] on sunos5


В итоге на /bin/sh струячу, что бы работало ...

(no subject)

Потребовалось написать маленький пул скриптов. Тупые до безобразия - одному надо в базульку сходить, другому - с файликом проделать всякие манипуляции на основе данных от первого и так далее и тому подобное. Мелочь на пару часов работы.

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

Ну, решил начать с простого - сбегать в базу и вывести список айпишников. Почитал интернет, потрахался с питоновскими модулями (оказывается, для доступа к mysql у питона есть целых 3 модуля. Идиоты, до этого даже php не дошел)

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

(u'172.28.2.179',)
(u'172.28.2.180',)

БЛЖДЬ, что это? Почитал в инете. Ужаснулся. Это они типа увидели, что у меня терминал в UTF и по умолчанию решили подстраховаться и рассказать мне, что эти типа строка в unicode. Такого себе даже perl не позволял, хотя и обожал портить строки в зависимости от локали. А запятая в конце показывает, что это типа может быть массивом, но не массив, потому что из одного элемента.

(полчаса пропущено) Единственный рецепт, который сработал - это тупо удалить по 3 символа в начале строки и 3 в конце. Остальные (кучи import, обертки с str - где-нибудь, в каких-нибудь условиях, да не работали)

И ЭТО называют лучшим языком для сриптинга? В принципе, я теперь лучше понимаю Поттера, который начал пихать systemd. Ибо писать на bash уже тяжело, а на питоне - проще застрелиться от такого говна ... А больше ничего и нет.

Плюнул. Не буду прогрессивным. Буду писать на bash, PHP и C/C++.