techquisitor: (Default)
Давеча залез на 4pda посмотреть, что там интересного про мой смартфон пишут, чейнджлоги и отзывы на прошивки к нему почитать. В итоге слегка приуныл. Оказывается, у этого смартфона есть поганый баг. А именно: часто помирает внутренняя память и после этого уже телефону каюк, если только заранее не поставить патченый бутлоадер и не воткнуть резервную ОС на MicroSD. В общем, недолго думая поднял на собственном Owncloud хранилку резервной копии адресной книги. Подумал ещё немного и решив, зачем же мне такие полумеры, туда же переместил бэкап SMS и записную книжку.

Теперь если сдохнет, просто куплю новый и другой. Сейчас лениво перебираю что-то на замену. Пока что у меня в фаворитах Sony Xperia Z3/Z5 Compact и ещё не вышедший XA Compact от них же. Либо, как вариант, снова вернусь на qwerty-телефон, но уже в лице Blackberry Priv.
techquisitor: (sis)
Решил и я пощупать сие чудо с выходом Anniversary Edition для Windows 10. Судя по отзывам, народ вполне доволен. Некоторые даже попробовали собирать там программы и них вполне компилируется без малейших проблем. Также народ и вовсе рапортует о запуске приложений, предназначенных для X.Org.

Мне же лично в текущем виде его явно не хватит. После того, как улеглись первые восторги ("О, тут есть Bash, Vim и Ansible!"), пощупал его на предмет чего-то более осмысленного. И тут меня ждало разочарование. Поскольку это всё-таки не виртуальная машина, а прослойка - поддерживаются не все возможности и вызовы API ядра. В частности, нет наличия поддержки ряда вещей. К примеру, /proc/net/ поддерживает на текущий момент только минимальный набор для работы стека TCP/IP внутри окружения WSL. Присутствует только базовая поддержка таблицы сокетов и интерфейса netlink. Даже то, что уже есть явно реализовано не до конца. Например, при попытке выполнить что-то средствами утилит ip, вываливается ошибка в SO_SNDBUF. Поддержки /proc/net/dev пока нет (и будет ли?). А без этого утилиты из пакета net-tools, вроде того же netstat попросту не работают, как и софт плотно использующий сокеты. А это любое сетевое серверное приложение, как минимум.

Ещё один минус, который напрямую к WSL не относится, но есть. Это отсутствие вменяемого эмулятора терминала. Работать в стандартной оболочке несколько проблемно. С ConEmu стало повеселее, но победить баг с нерабочими клавишами некоторыми пока не получается.

Впрочем, это пока что бета. А для беты тут всё очень даже хорошо. Посмотрим, что будет в будущем. Но в целом, затея очень хорошая.
techquisitor: (sis)
Геноссе [livejournal.com profile] gunslinger2 сегодня роскошное подкинул.

Если в таске Ansible написать backend_port{{ hostvars[host]['nodenumber']-1 }} = '5432' вместо backend_port{{ hostvars[host]['nodenumber']-1 }} = 5432 вы поймаете дивный месседж в логах вида:

2016-07-27 14:16:21: pid 14246: DETAIL: bind on "/var/run/postgresql/.s.PGPOOLWD_CMD.9000" failed with reason: "Address already in use"

Но самое прикольное вовсе не это. У вас вместе с этим будет валиться с сегфолтом дочерний(!) процесс watchdog самого pgpool:

Jul 27 13:41:00 localhost kernel: [ 3648.050867] pgpool[12264]: segfault at fffffffffffffff0 ip 0000000000458433 sp 00007ffe523e24a8 error 5 in pgpool[400000+134000]
Jul 27 13:41:00 localhost pgpool: 2016-07-27 13:41:00: pid 12260: WARNING: watchdog child process with pid: 12264 was terminated by segmentation fault


Это при том, что watchdog нужен для мониторинга соседних pgpool'ов, а не самой СУБД PostgreSQL. А отличия всего лишь в обрамлении кавычками номера порта. Причём дело не в Ansible даже. Это поведение воспроизводится если указать номер порта в кавычках в самом конфигурационном файле pgpool. Сдаётся нам, что автор сего поделия тот ещё наркоман.
techquisitor: (sis)
Когда мне говорили, что device mapper реально бажен — не верил. Сегодня представился случай увидеть собственными глазами такую картину:
Кусок лога )
Наше счастье, блочные устройства без резиновых бабLVM собраны и отдельными устройствами, бо это кусок нормальной промышленной СХД. Так что потери данных не случилось. Но fstab слегка переписал.
techquisitor: (sis)
Поскольку предыдущий сервер проработал крайне недолго по причине своей крайней дряхлости и ушатанности, спешно пришлось ввести в строй новый. С запчастями проблем не возникло, всё и так уже валялось дома по большей части. Разве что материнскую плату всё-таки пришлось покупать. Ну и перетащил всё в новый корпус, наконец-то.
В качестве процессора вместо не самого удачного Pentium 4 был взят Intel Core Quad Q9400 на ядре Yorkfield. А раз памяти мне отдали с избытком, поставил туда 4Гб. В качестве системы завтра установлю Clear OS 7, базирующуюся на CentOS 7, между делом сменив платформу на x86_64 вместо i686. Программный RAID0 благополучно переехал на новое железо. Достаточно было поставить mdadm.conf на место и поправить конфигурационый файл.

В планах стоит приобрести вменяемый RAID-контроллер с работающим BBU и поддержкой RAID6, а там уже переехать на полноценную серверную мать с Xeon на борту. Но это сильно нескоро. Штатный кулер под Socket 775 сменю на что-нибудь поприличнее чуть попозже в ближайшие пару месяцев. Советы по оным принимаются, разумеется.

Из прочих мелочей — надо бы прикупить домен себе и заиметь SSL-сертификат.
techquisitor: (sis)
Поскольку официальный reference guide по нему откровенно врёт и делается всё вообще не так, пришлось методом проб и ошибок вместе коллегами разбираться, как оно реально настраивается. В итоге мой коллега сначала по моим советам, собственным граблям и совету другого коллеги, нарисовал следующую howto по развёртыванию. Передаю ему слово:

0. Подключаем репозиторий с последней стабильной версией PostgreSQL и устанавливаем jdbc-драйвер для нужного нам дистрибутива. Для CentOS 7 это будет: yum -y install postgresql94-jdbc.noarch

1. Ставим постгрес примерно с таким конфигом:

listen_addresses = '*'
max_connections = 100
shared_buffers = 128MB
dynamic_shared_memory_type = posix
log_destination = 'stderr'
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%a.log'
log_truncate_on_rotation = on
log_rotation_age = 1d
log_rotation_size = 0
log_line_prefix = '< %m >'
log_timezone = 'W-SU'
datestyle = 'iso, mdy'
timezone = 'W-SU'
lc_messages = 'en_US.UTF-8'
lc_monetary = 'en_US.UTF-8'
lc_numeric = 'en_US.UTF-8'
lc_time = 'en_US.UTF-8'
default_text_search_config = 'pg_catalog.english'

При необходимости правим pg_hba.conf, чтобы разрешить доступ с других хостов (по умолчанию - только localhost).

2. Создаем в постгресе пользователя keycloak и одноименную базу:

createuser -l -P keycloak
createdb -O keycloak keycloak

... и проверяем доступ к ней:

psql -h 127.0.0.1 -d keycloak -U keycloak -W

3. Качаем свежий релиз keycloak с http://keycloak.jboss.org/downloads.html,
разворачиваем его в /opt, после чего запускаем

(/opt/keycloak/bin/standalone.sh < /dev/null >& /var/log/keycloak.log &) &

4. Создаем пользователя admin:

/opt/keycloak/bin/add-user-keycloak.sh -r master -u admin -p ваш_пароль

5. Запускаем /opt/keycloak/bin/jboss-cli.sh и говорим ему



6. Лезем в файл

vi /opt/keycloak/standalone/configuration/standalone.xml

Проверяем секцию datasource для поцгреса - должно быть примерно так:


При необходимости там же редактируем interface name="public" в секции .

Потом лезем в файл

vi /opt/keycloak/standalone/configuration/keycloak-server.json

Проверяем секцию connectionsJpa:



7. Перезапускаем /opt/keycloak/bin/standalone.sh
techquisitor: (sis)
FreeIPA — хороший инструмент решающий ряд задач, связанных с идентификацией, доступом к машинам, учётом ключей, контролем выполнения команд и т.д. У нас используется FreeIPA 4.2, находящийся в официальных репозиториях CentOS 7.2.

Пока что замечены две проблемы.

1. Apache падает
Неясно почему, в логах ничего существенного не нашёл. Пока что использую Watchdog, который есть в systemd. Если хватать не будет, задействую supervisord.

2. Не работает веб-интерфейс FreeIPA, в логах видим:

[emerg] (28)No space left on device: Couldn't create accept lock

При этом, места на диске на всех разделах навалом. Проблема заключается в том, что он не очищает за собой семафоры в пространстве ядра.

Чтобы не падал сервер так быстро, в systemctl прописал следующее:

kernel.msgmni = 1024
kernel.sem = 250 256000 32 1024

После чего сделал sysctl -p

Параметры kernel.msgmni и kernel.sem следует изменить в зависимости от наличия оперативной памяти на вашем сервере. Подробности можно почитать у IBM или в документации к ядру.

Если веб-сервер уже лежит и отказывается стартовать по команде systemctl start httpd, можно выполнить скриптик:

for i in $(ipcs -s | grep apache | awk '{print $2}'); do ipcrm sem $i; done

После чего Apache должен подняться без проблем.

В идеале, можно скрипт какой-то прописать, который в cron чистил семафоры относящиеся к Apache.
techquisitor: (sis)
Операционная система А. Воткнул устройство. Драйверов не найдено. В итоге иди на сайт вендора, ищи драйвер под нужную ревизию (одну из четырёх), вдовесок установи ещё и архиватор, понимающий RAR и устанавливай руками.

Операционная система Б. Воткнул — заработало. Но «понятная ОС», конечно же, первая. Уж мы-то знаем!
techquisitor: (sis)
Давеча пришлось поднимать очередной контейнер Docker и внезапно столкнулся с ошибкой вида:

Error starting container 037aac8ca3ab: iptables failed: iptables -t nat -A DOCKER -p tcp --dport 8000 ! -i docker0 -j DNAT --to-destination 172.18.0.2:9990

Ошибка связана с тем, что по неясной причине docker перестаёт создавать нужную цепочку в правилах iptables. Нужно выполнить:

ip link set docker0 down
brctl delbr docker0
systemctl restart docker

После чего, всё корректно заработает.
techquisitor: (sis)
Кажется, не рассказывал историю, приключившуюся со мной перед отпуском неделю назад.

После покупки принтера, аккурат через несколько дней, потребовалось распечатать большую кипу документов, необходимых в поездке в двух экземплярах. В общем, отправляю документы на печать и получаю месседж с ошибкой «Error 49.4C02» и тому подобное. Гуглёж быстро вывел меня на широко известную проблему у многих принтеров HP, когда невозможно распечатать документ в PDF. А присланные мне документы именно в формате pdf и были. Воркэраунд нашёлся столь же быстро, врочем. Необходимо включить принудительную растеризацию файла PDF перед печатью. Трюк реально помог и документы были распечатаны. Как понимаете, такое решение не устраивало лично меня. Поскольку каждый раз при печати pdf-файлов делать такую процедуру откровенно влом, да и, например, не всегда возможно сделать (например, при печати с планшета). После очередного просмотра интернетов, нашлась прошивка, в которой чёрным по-белому было написано в чейнджлоге «Issues or PDF errors may be seen when direct printing PDF files.»

Поскольку принтер у меня крутой, прошивку решил заливать прямо через ftp, благо железка позволяет, а доставать виндовый ноут было лень. Ок, выполняю с помощью lftp загрузку прошивки. Принтер бодро рапортует о получении и обновлении фирмвари после чего… внезапно пропадает связь до принтера. Но надпись об обновлении всё висит. Десять минут. Пятнадцать. Полчаса. Поняв, что обновление зависло, выключаю принтер, включаю заново и получаю зависающий сразу после загрузки принтер, голосящий о том, что прошивка повреждена. В общем, как выяснилось, мне повезло. Зависло где-то в середине и принтер можно восстановить, напрямую подключив его к виндовой машине и запустив бинарный прошивальщик принудительно, не забыв заранее поставить драйвер для принтера и указав порт USB вручную. В итоге, принтер после пары перезапусков после прошивальщика, сам внезапно ожил и доустановил фирмварь. И вся эта херня только для того, чтобы не сношаться с печатью документов в pdf.

Так и живём. ©
techquisitor: (sis)
Всё-таки я человек крайне увлекающийся и до кучи упрямый. Пока не решу проблему, не успокоюсь. Вчера перед сном что-то решил проверить насколько хорошо можно смотреть фильмы по сети прямо с моего ноутбука. Ну и прочие мелочи, вроде музыки и просто файлопомойки с документами. Обратил внимание, что если использовать KNetAttach от KDE, скорость стабильная на 100-120 мегабит по Wi-Fi. Если же монтировать шару руками командой mount.cifs — скорость резко падает мегабит до 10-20. Сначала грешил на кэширование со стороны Samba, но ошибся. После некоторого расследования, проблема оказалась в размерах буферов. Судя по всему, KDE подключает раздел с какими-то своими дефолтными настроиками и весьма неплохими. Но вот незадача — файлы так толком открываться напрямую не будут, нужно монтировать шару как каталог. Покамест вручную выставил rsize побольше — стало намного быстрее, чем через KIO SMB. Доходит до 300 мегабит порой (хотя этой цифре не очень верю что-то, надо протестировать чем-то более подходящим). Но файлы реально вдвое-втрое быстрее заливаться стали. Единственное — запись идёт не ровная, а «рывками». Впрочем, куда копать понятно. Для совсем кошерного результата, пожалуй, надо будет сделать аналогичное, но стороны сервера, для чего освежу в памяти документацию по Samba. Просто не везде есть возможность настроить подобное на клиенте.

Так что следующая итерация сервера, которая планируется ближе к концу года, будет уже полноценным хранилищем терабайт на десять, думаю. А затем перенесу туда всё то, чем не очень часто пользуюсь (дистрибутивы, к примеру) и всяческую развлекательную барахолку типа фильмов и музла.
techquisitor: (sis)
Богато у меня на полезные схемы в этом месяце.

Попалась на глаза ещё одна полезная схема со списком утилит для инстансов Amazon EC2. Во многом копирует уже публиковавшуюся здесь схему с утилитами профилирования Linux, но есть и отличия.

Заодно на глаза попались аналогичные схемы для FreeBSD и Solaris. Надеюсь, кому-то пригодится.
techquisitor: (sis)
Очередная полезная схема с указанием инструментов могущих помочь с анализом производительности PostgreSQL. Положу себе в копилочку, размуеется.
techquisitor: (sis)
Бывший коллега сходил на прошедший PGConf 2016 и рассказал про один из докладов, посвящённый резервному копированию кластера PostgreSQL.

Процитирую его здесь:

«Сначала делается полная резервная копия файлов кластера как это делается обычно pg_start_backup && tar -zcf /path/to/backup.tar.gz $PGDATA && pg_stop_backup. При этом запоминается номер транзакции или другая отметка этого момента.

Затем при повтором запуске оно делает не полную копию как в первый раз, а с момента отметки прошлой вычитывает номера страничек из WAL которые были изменены и копирует только их.
»

Для продакшена пока не очень пригодно, но смотреть уже можно. Разумеется, всё выложено на GitHub. Надо самому попробовать, кстати.
techquisitor: (sis)
Просто цитата:

«Идём дальше. Сложно ли перейти на Linux технически?

Отнюдь нет. Все вопросы с серверами квалифицированные IT-специалисты решают сейчас на ура, при этом если где-нибудь в медвежьем углу нет специалиста нужной квалификации, он легко может запросить помощи из центрального ведомства.

Обычные компьютеры пользователей также можно перевести на Linux легко и непринуждённо: пользователи интернета и офисного пакета привыкнут к изменениям за полдня. С бухгалтерией тоже проблем особых не будет, так как сейчас бухгалтерия ведётся преимущественно на 1С, а 1С с Linux замечательно дружит.

Что остаётся?

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

Есть несколько вариантов решения проблемы.

Для начала имеет смысл запустить такие программы под симулятором Windows, или под стандартным Wine, или под WINE@Etersoft.

Если программа не захочет идти даже под Wine@Etersoft, можно обратиться в Etersoft (или аналогичную компанию), чтобы там выяснили, в чём затык, и подкрутили Wine специально под нужную программу.

Если нужную программу совсем никак не получится запустить под Linux, можно переписать программу с нуля на какой-нибудь более современной платформе. Это уж возможно всегда.»


Ссылочку оставлять не буду, по тексту цитаты весьма легко ищется автор, говорящий о себе: «профессионально занимаюсь компьютерами около 20 лет». Причём судя по всему, в сколько-нибудь большом энтерпрайзе не работавшем и настоящее легаси не видевшим. Тонны специализированного ПО — тоже. То есть, уровнем чуть выше эникейщика. Я тут, к слову, на новогодних праздниках общался с разработчиком SCADA-систем, много интересного понарассказывал мне. Linux там не будет ещё очень долго, к сожалению.

Я сам хотел бы видеть Linux на критически важных местах, в госучреждениях и школах, но для частных лиц в этом нет смысла. То есть, какая-то замена возможна, но по большей части там, где используется только браузер в основном и то есть нюансы.
techquisitor: (sis)
Ты понимаешь, что Vim проникает тебе в мозг, когда правя текст в браузере, пытаешься хоткеями по тексту перемещаться, иначе мышью долго и неудобно.
techquisitor: (sis)
В промежутках между разбирательством с драйвером для MTK7630e (к слову, в репозитории contrib дистрибутива ROSA появился dkms-модуль для этой карточки) интересную историю рассказали.

У одного из моих бывших коллег внезапно заглючил драйвер iwlwifi на ядре 4.1. При этом, на ядре 4.0 никаких проблем не наблюдалось. Сначала грешили на регрессию в коде драйвера, даже отписались авторам. Авторы проблемой крайне заинтересовались и для них организовали прямой доступ до этой машины. Разбирались долго весьма, но выяснилось, что вендор и особенности сборки железа очень даже влияют на работу драйвера. Примерная суть найденной проблемы — кривая сборка ноутбука. Из-за чего оборудование иногда считало, что Wi-Fi адаптер сбоит и попросту отключало карту. Почему эта проблема не проявлялась на 4.0 — так и неясно, хотя и позднее баг воспроизвести всё же смогли.

Но виноват во всём кривой Линукс, конечно же.
techquisitor: (sis)
Кто-то у меня спрашивал, зачем мне роутер и сервер как отдельные физические сущности. Мол, обычная коробочка за несколько тысяч рублей и так справится. Пожалуйста:



Всего-навсего скачка трёх BD-рипов, медиасервер и Samba. Четвёртому пню, что у меня сейчас стоит, просто плохо. И это ещё там OwnCloud нет, который планируется. При этом микротик спокойно это всё пережёвывает и не надо QoS включать. Даже тяжёлые сайты в этот момент грузятся без проблем.
techquisitor: (sis)
На этот раз дошли руки починить старый-старый системник, который года полтора назад забрал у [livejournal.com profile] der_arbeiter. Машинка была в крайне плохом состоянии, так что отчистил её от пыли, вычистил забитый намертво всё той же пылью радиатор от процессорного вентилятора и присадил на термоклей отвалившийся радиатор от южного моста. После новогодних праздников куплю ему нормальный корпус взамен ушатанного текущего.
Внутри установлены два пятисотгигабайтных винчестера, c собранным программным RAID0. С выбором операционной системы для сервера пришлось чуть повозиться, поскольку мне хотелось готового решения с минимумом возни. В итоге выбор пал на ClearOS Community Edition. Всё полностью управляется из веб-интерфейса — никакого красноглазия. Внутри находится полноценный CentOS 6.7. Посему проблем что-то настроить под себя, если вдруг не будет устраивать графический интерфейс, вообще не проблема. Все необходимые программы устанавливаются из тамошнего аппстора. Есть как платные, так и бесплатные программы. Но даже из бесплатных пакетов можно собрать достойный домашний сервер или маршрутизатор. Если кого-то беспокоят возможные проблемы — можно купить поддержку.
В итоге у меня уже есть FTP, торрентокачалка и сервер Samba. Как появится телевизор, ещё и сервер DLNA на нём подниму, а дальше по обстоятельствам.
techquisitor: (sis)
В систему приехал сабж. Нет-нет, ничего не сломали! Но всё-таки разработчики определённо переборщили с настройками там. Почти полчаса не мог понять, почему вместо USB аудиоинтерфейса, звук перенаправляется на встроенную ноутбучную. Я уж сначала решил, что профиль сломали. Уже и на чистом пользователськом профиле проверил. Мало ли, может багрепорт какой писать надо.
Оказалось, Pavucontrol позволяет теперь в обход Phonon указывать используемую звуковую карту для каждого приложения отдельно. Естественно, что карточкой для воспроизведения была указана встроенная в ноутбук. Нет, данная фича в самом деле нужная тем, кто со звуком работает, но для большинства народа всё-таки так делать не стоило. В принципе, с большинством приложений проблем нет, но для Skype надо будет как-то гвоздями это прибить. Ибо Pavucontrol его не видит в т.н. «клиентах».

Profile

techquisitor: (Default)
techquisitor

September 2017

S M T W T F S
     12
34 567 89
10111213141516
171819202122 23
24252627282930

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 25th, 2017 04:59 pm
Powered by Dreamwidth Studios