LINUX.ORG.RU

Сообщения ien

 

Контейнеры против виртуальных машин, HDD

Всем привет!

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

Есть ли у кого опыт, что переезд на контейнеры сможет немного сгладить ситуацию? Или идея тухлая?

Сейчас там для хранилища используется первое, что пришло в голову — raid6 из ssd-дисков. Но, думаю, это было ошибкой, и лучше сделать это по другому. Как по опыту лучше всего?

Процессора, памяти и объема хранилища в Гб там еще очень много, затык только в скорости жесткого диска.

 , , , ,

ien
()

с++ тесты вместе с программой

Всем привет!

Есть программа из файлов:

  • a.h,
  • a.cpp,
  • b.h,
  • b.cpp,
  • main.cpp.

Обычно, если это требуется, пишутся тесты для классов/функций в a, b. Раньше делал так: папку tests, туда:

  • a_tests.h
  • a_tests.cpp инклюдит a.cpp
  • b_tests.h
  • b_tests.cpp инклюдит b.cpp

отдельный main_tests.cpp.

В итоге папку tests можно собирать как отдельную программу и проверять, что все ОК.

Хочется таких разделений не делать и писать тесты прямо в a.cpp и b.cpp. Но при этом, как и прежде, получать в ходе сборки два исполняемых файла: один с main.cpp, а другой с main_tests.cpp.

Компилятор выкинет лишнее, при обычной сборке (с main.cpp)?

Или нужно об этом позаботиться?

Может у кого есть опыт, чтобы велосипед не изобретать?

Правильно ли я понимаю, что так можно и библиотеки тестить, а для покрытия кода тестами будет достаточно прикрутить gcov ?

 , ,

ien
()

выбираем angular против ?

Всем привет!

Скажу сразу, я не слишком много смыслю в веб-разработке. Когда я в последний раз ее щупал, там нужно было развернуть веб-сервер, который плевался html+css+js, а для некоторых запросов, можно было ajax.

Если я правильно слежу за новостями, сейчас есть более модный тренд — делать REST API, далее делать браузерное приложение на js, которое ajax-ом через REST получает все данные. Т.е. сервер отдает начальную страницу, а дальше дергай API. И вроде как для этого подхода есть специальный фреймворк — AngularJS, который сравнивают c ReactJS.

Задача — уяснить насколько этот подход на практике работает для небольших задач. А также насколько возможно минимизировать код по рисованию интерфейса в веб-сервере.

Вопрос заключается в следующем:

  1. Правильно ли я все понимаю?
  2. Чтобы уясниться, мне стоит взять текущий Angular или подождать второй версии Ангуляра или взять ReactJS или еще что-нибудь? Какое положение дел?

 , , ,

ien
()

Панель управления

Всем привет!

Подскажите по описанию категорию ПО.

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

Ближе всего под описание подходит jenkins. Сейчас его и использую, но может есть специализированное ПО ? Все-таки он больше про сборку, чем про обычные задачи.

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

 ,

ien
()

freeipa, ad и прочее

Всем привет!

Понимаю, что вопрос уже всех порядком задрал, но все-таки прошу совета.

На предприятии будет 20+ рабочих машин и 20+ серверов, сервера все на linux-е, а рабочие машины смешанные. Необходимо обеспечить централизованное управление пользователями и прочей инфраструктурой (обновления, обновление конфигурации).

Из того, что очевидно — нужен ad для виндовых машин. Но что хорошо для linux-овых? Нашел freeipa, но он предполагает становится еще одним доменом рядом с ad в режиме доверия. Как я понял есть samba4, но оно помогает прицепить линуксовые машины к домену и реализует контроллер домена. Для централизованного управления серверами, как я понял, можно использовать ansible.

Что посоветуете? Стоит ли возиться с freeipa? Или джойнить машины в ad через samba4 ?

 , ,

ien
()

Альтернатива AD

Всем привет!

Есть ли вменяемая замена AD для управления 30-60 компами в которых часть линукс, часть винда?

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

Также интересует возможность централизованного управление софтом, обновлениями и пр.

Разворачивал openldap, но его, очевидно, маловато для полноценной замены AD.

Куда копать?

 , , ,

ien
()

Альтернатива vsphere

Всем привет!

Есть несколько серверов (32 выч. ядра на ксенонах, 130 Гб ОЗУ и прочее) на них стоит esx и поверх всего этого vsphere. Основное использование: запускать, мониторить, управлять виртуалками (в т.ч. через графику). Большая часть машин для отладки или для сборки.

Какие существуют альтернативы этому решению? Я слышал про openstack, но стоит ли связываться? И с чего начать эксперименты?

 , ,

ien
()

Относительные импорты

Всем привет!

Написал небольшую программку на Python'е. В программке есть отдельный кусочек, который оформился в пакет. Внутри пакета некоторые модули включают другие модули.

main.py 
aaa/ aaa.py
     bbb.py ( <-- from aaa import foo )

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

from .aaa import foo 

Можно было бы полностью перейти на синтаксис третьего питона (это идеальный вариант), но на целевой платформе в наличие только python 2.4.

Как лучше всего разрулить проблему?

 ,

ien
()

Быстродействие NFS c ESXi

Всем привет!

Собрал колхозный NAS из мусора, поставил на него CentOS и поднял NFS-сервер.

При монтировании на соседней машине с CentOS скорость записи упирается в сеть. При использовании из ESXi, скорость записи примерно 300Кбайт/с на NFS-поток (8-потоков, примерно 2 Мбайта).

Запись на расшаренный диск на локалхосте порядка 100Мбайт/с.

Возможно разница в том, что CentOS ломится по udp, а ESXi по tcp (я это еще не проверил). Но почему такая маленькая скорость записи в ESXi? Что я делаю не так? Стоит ли попытаться iSCSI ?

Скорость измеряю с помощью `time dd ...`

 , , , ,

ien
()

ограничение пропускной способности

Всем привет!

Стал перегреваться lte-модем, и, похоже, это связано с нагрузкой. Хочу ограничить максимальную пропускную способность его интерфейса. lte-модем подключен к openwrt-роутеру.

Использую следующее:

tc qdisc add dev eth2 root handle 1: htb default 1
tc class add dev eth2 parent 1: classid 1:1 htb rate 1500kbit ceil 1500kbit

Ограничения не работают, т.е. программы качают по 2Мб/с.

Что я делаю не так?

ien
()

странное поведение nfs-сервера

Всем привет!

В одной сети имеется:

  • nfs-сервер (centos 6.5 x86_64, minimal+nfs),
  • клиентская машина на дебианоподобном дистрибутиве,
  • esxi 4.x.

Дебианоподобная машина папку монтирует, в файлы пишет, а esxi не хочет (Unable to connect to NFS server), пинг с обеих есть, `nc -vz <ip> 2049` говорит, что `open`.

iptables и selinux на сервере пока отключил совсем.

При этом `showmount -e` и `rpcinfo -p` будучи запущенными на сервере, то работают как надо, а то подвисают секунд на 10-20 и ничего не выдают.

Посоветуйте куда копать?

Нашел похожее по описанию: http://serverfault.com/questions/367107/cant-mount-nfs-share-over-tcp, но там подвисает на клиенте и виноват был умный свитч.

 , ,

ien
()

Интеграционные тесты, Ansible, Puppet и подобные

Всем привет!

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

Есть желание максимально упростить и автоматизировать проведения этих тестов.

Краем уха я слышал про системы типа Ansible, Puppet и пр. Судя по их описанию, они могут с этим помочь.

Кто-нибудь сталкивался с такой задачей? Как такое обычно делают? И как это нужно делать по уму? Стоит ли связываться с Ansible или чем-нибудь подобным или проще написать пару скриптов на питоне?

 , , ,

ien
()

отговорите от iphone 5s

Привет!

Имеется рутованный Desire Z с портированной прошивкой от какого-то One с android 4.1 и Sense. В последнее время он начал дико тормозить, особенно на низком заряде.

Собираюсь покупать новый телефон, причем такой, чтобы не менять его через год. Из вариантов, что я нашел: iphone 5s, galaxy s4 и nexus 5. Достоинства iphone — не лопата и достаточно шустрый на ближайшие пару лет. И пока вроде собираюсь брать его.

Какие с айфонами есть неявные проблемы для тех, кто переползает с android. И стоит ли вообще переползать?

Читал уйму статей, все разное пишут. Есть какие-то особенности связанные с Россией? Как я понимаю, тут не работает Google Now/Music, а также Siri и пр...

На телефоне в основном звоню, пишу смс (+ с использованием viber) , слушаю музыку/читаю в метро и играю/смотрю интернет в очередях.

Спасибо!

ien
()

Выбор МФУ

Всем привет!

Похоже окончательно сломался служивший верой и правдой laserjet 1018. Поначалу, конечно, я с ним намаялся (foomatic), но потом никаких проблем с ним не было...

В связи с этим вопрос: что сейчас самое трендовое из принтеров и МФУ. Так чтобы при помощи raspi (или само) раздавать сканы и печатать по сети.

Желательно, чтобы стоимость владения была небольшой: 250-500 руб. / 1000 стр. Заправлять лично не готов. Печатаю не более 3000 стр в год. Первоначальные вложения не так важны.

Интересуют истории успеха =)

Спасибо!

ien
()

Мат. плата и процессор для ECC-памяти

Всем привет!

Занимаюсь восстановлением файлохранилища. Решил обновить конфиг. Пишут, что без ECC-памяти — никуда. Самый дешевый конфиг, что я нашел, это с amd am3+. Но там один 16x pci-e и нет встроенного видео. А мне бы в 16x pci-e контроллер для дисков.

Глаза разбегаются от возможных вариантов за немыслимые деньги. Если коротко, какие бы процессор, мат.плату вы бы посоветовали?

ien
()

zfsonlinux vs mdadm

Привет!

У меня внезапно деградировал 5-ый RAID на mdadm. Один диск умер, но когда я его заменил, оказалось, что один из оставшихся ломается на чтение в одном из блоков. Выяснилось это в процессе синхронизации массива.

Нужная инфа была забэкаплена... И, понятно, что надо синхронизировать массив как минимум раз в неделю. И даже использовать raid6.

Но раз уж пересобирать массив, может стоит попробовать zfsonlinux c raidz2? Говорят, он хитро все чексумит и ошибок с нечитаемым блоком он недопустит.

Что посоветуете поставить на NAS для ESX c ~40-50 виртуалок. Хватит ли там mdadm'а с raid6 или надо городить систему с зеркалами? Или пытаться ставить raidz2 ?

 ,

ien
()

Системы сборки

Всем привет!

На фоне выхода новой версии qbs, решил задать вопрос.

Есть большое дерево исходников. Каждый лист дерева — проект с pro-файлом или файлом проекта msvc. Некоторые проекты зависят друг от друга. Необходимо, чтобы работало три вещи:

  • Все это можно было собрать одной командой (`make`);
  • Каждый проект можно собрать одной командой (`make project_name`);
  • С каждым проектом можно полноценно работать с помощью msvc.

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

Проблема в том, что, по понятным причинам, все это работает очень медленно при обновлении pro-файлов.

Нет ли других более прогрессивных способов решить эту проблему?

Я почитал про Scons, но так и не понял, поддерживает ли он полноценную генерацию *.vcproj.

Будет ли он работать быстрее, чем система на pro-файлах?

ien
()

im-протокол

Всем привет!

Есть ли какой-нибудь протокол для передачи мгновенных сообщений и канонической opensource реализацией? Не хочется писать самому, а в xmpp страшно смотреть.

Желательно, чтобы openssl-only, или хотя бы compatible.

ien
()

5*storage-mdadm + torrent-hdd vs 6*storage-mdadm

Всем привет!

Небольшой NAS-торрентокачалка имеет 5 дисков в софтовом рейде для хранилища и один диск для скачки торрентов. Когда собирал, решил таким образом снизить нагрузки на массив. За все время использования сдох один торрент-диск и один диск в массиве.

Задумался над доработкой. И, поскольку в корпус влезает не более 6 дисков, рассматриваю возможность собрать 6 дисков в массив и качать торренты на него. Рассматриваются варианты: оставить как есть(raid 5 на 5), сделать raid6 на 6 или сделать raidz2 на 6.

Что посоветуете?

Спасибо!

 , , ,

ien
()

apache внезапно не запускается на 0.0.0.0:443

Привет! Сегодня днем обнаружил проблему с apache2 на gentoo.

 * Starting apache2 ...
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:443
no listening sockets available, shutting down
Unable to open logs
 * start-stop-daemon: failed to start `/usr/sbin/apache2'

`netstat -plan | grep 443` дает пустоту.

а `netcat -t -l -p 443` запускается и успешно работает.

в интернете писали, что это бывает от избытка логов, но я их всех потер — не помогло.

отчего такое бывает и что с этим делать?

Спасибо!

ien
()

RSS подписка на новые темы