Задать вопрос
  • Как реализуется jdbc connection в многопточности?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Конечно один на все треды, у вас же коннекшин описан как статик. Если нужно коннекцию на тред, то используйте ThreadLocal. А еще лучше дополнительно использовать и connection pool типа c3p0 или dbcp (какой из них сейчас моднее н е знаю, но пользовал и тот и тот успешно). Это в значительной мере съэкономит ресурсы и коннекты к базе, например больше будут переиспользоваться prepared statements и кеши со стороны базы. На мускуле это не очень заметно (хотя как сказать), а вот на сайбейсе или оракле даже очень! commons.apache.org/proper/commons-dbcp и www.mchange.com/projects/c3p0
    В документации куча примеров по использованию, даже готовые классы и для потоков кажется...
    Ответ написан
  • Терминология в компьютерных сетях: технологии или протоколы?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    технология - набор протоколов и среды передачи
    протокол - соглашение о передаче информации определенным способом

    Например технология ethernet включает: протоколы передачи данных ethernet, спецификацию на физические среды передачи (медь витой пары, оптика, wifi).
    Иногда достаточно сказать, что есть интерфейс, реализующий протокол ethernet. А на самом деле этот протокол реализован например через среду передачи hdsc, framerelay или infiniband, которые тоже имеют свои протоколы передачи.

    Т.е. говоря о технологии подразумевают совокупность протоколов и физической организации. А говоря о протоколе подразумевают только протокол, а по какой среде передачи он идет - неважно.
    Можно ведь передавать трафик ethernet внутри канала vpn через интернет с подключением по infiniband.
    Ответ написан
  • Как автоматически построить топологию сети имея CAP файлы?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Наверное почти никак, ведь в трафике нет информации о промежуточных узлах, но можно построить схемы взаимодействия. Можно через tcpdump или libpcap вытащить инфу о источниках/получателях и преобразовать их в простой dot-файл например. Далее пропустить его через graphviz и получить карту.

    digraph G{
    "10.10.115.102" -> "8.8.8.8" [label=Udp/43];
    "10.10.115.105" -> "8.8.8.8" [label=Udp/43] ;
    "10.10.115.111" -> "4.4.4.4" [label=Tcp/80];
    }

    Как-то так. Читать здесь ru.m.wikipedia.org/wiki/Graphviz и здесь http://ru.m.wikipedia.org/wiki/DOT_(язык)
    Ответ написан
  • Что можно установить на PowerBook G4?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    А в чем смысл такого мазохизма? Установить можно практически любой линукс с поддержкой PPC (centos/debian/ubuntu/opensuse/arch далее везде), также можно установить netbsd/openbsd.
    Как бывший владелец, по нынешним меркам производительность маленькая, батарейка тоже, память микроскопическая.
    Уж лучше купить макбук белый, я с такого как раз и пишу (2,26 GHz Intel Core 2 Duo, 8 ГБ 1067 МГц DDR3, NVIDIA GeForce 9400M 256 МБ). Под новой йосемити нормально работается, в параллелях крутятся и винда и линуксы. Играбельно и втыкабельно :-)
    Ответ написан
  • Какие есть инструменты для отслеживания потребляемых ресурсов сервера сайтом?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    collectd + graphite или zabbix
    Ответ написан
    Комментировать
  • Как дать определенному пользователю права на запись и чтение определенной папки?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Я думаю, что если нужно только и исключительно один каталог предоставить, то лучше загнать этого пользователя в chroot, а помогут в этом например контейнеры lzx, docker или openvz.
    Ну а по простому chmod/chown/setattr/setfattr/setfacl вот статья по двум последним и гугл в помощь www.techrepublic.com/blog/linux-and-open-source/le...
    Ответ написан
    Комментировать
  • Пустые catch блоки это плохо?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Вообще-то, обработка исключений и сами исключения - зло, которое должно случаться совсем редко, лучше самому проверять параметры, а все исключения обрабатывать на самом верху. Еще лучше использовать объект типа context , куда загонять все свои ошибки и передавать его например как thread переменную. Ну а если уж и случилось исключение, то это действительно должна быть исключительная ситуация, типа нарушения транзакции или обрыв коннекта. Избегайте ситуаций, когда исключения используются для валидации и преобразования параметров - это зло, лучше добавьте пару ифов или сделайте интроспекцию с кейсом.
    Ответ написан
    6 комментариев
  • Какая виртуальная машина для linux способная передать прямое управление оборудованием гостевой системе?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    KVM позволяет прокидывать устройства в виртуалку. Графику прокидывать я не пробовал, но скорее всего будет работать, возможно понадобится сделать serial-console хост-системе (которая собсовенно виртуалки и запускает). Сам иногда прокидываю разнообразные карты ethernet и usb - работает нормально!
    Ответ написан
    Комментировать
  • Ssh ключи и пароли. Где хранить?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Вообще-то для этого давно придуман ssh-agent
    По-русски почитать коротко здесь http://xgu.ru/wiki/Управление_ключами_SSH_с_помощь...
    Пользуйте на здоровье
    Ответ написан
  • Какие есть средства монтирования удаленных фс в linux?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Э... а старый добрый NFS не годится?! Или на худой конец по SMB?
    Ответ написан
  • Как развернуть несколько отказоустойчивых серверов?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    По пунктам:
    Какие варианты разворачивания здесь будут?

    Применяются средства администрирования и конфигурирования, такие как puppet, chif, ansible. Т.е. один раз создаем сценарий на выбранном инструменте, а потом его "проигрываем" на нужный сервер.

    Плюс нужна синхронизация баз данных PostgreSQL

    Я бы с мастер-мастер не стал делать, настоятельно не стал бы! Лучше запусить несколько баз данных и шардировать данные на них. Про шардинг почитать например здесь - ruhighload.com/index.php/2009/05/06/%D1%88%D0%B0%D...
    А еще лучше некоторые (если не все данные) хранить в базах данных ключ/значение типа memcache/ redis, или в объектных типа hadoop/mongodb.

    Есть ли возможность синхронизировать все файлы между серверами?

    Лучше всего сделать распределенную файловую систему типа glusterfs, GPFS, cephfs, lustre. А самый простой - просто использовать rsync, но это медленно, большой лаг, и, неэффективно.
    Ответ написан
    9 комментариев
  • Обосновано ли Использование 64 виртуального образа на 32 разрядной операционке?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Что-то мне кажется, что не запустится 64 разрядный гость в 32-х разрядном хосте. На KVM у меня не получалось! Перенос виртуалок между разными хостами на убунте, дебиане и редхате проходит нормально, за очень редким исключением.

    Но я все хосты делаю только на 64 бита, а гости могут быть любые 32 или 64.
    Что касается виртуалбокса, я его только для передачи использую, когда нужно виртуалку клиенту отдать, а клиент уже сам разбирается куда конвертить и где запускать. На маке параллели пользую активно, конвертится тоже все нормально.
    Ответ написан
    Комментировать
  • Какая есть программа для инвентаризации сети с опросом всего железа?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Nmap пользую, но тоже не панацея.
    Ответ написан
  • Почему скорость передачи данных по протоколам NFS и Samba внутри локальной Wi-Fi сети столь низка?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    А чего Вы собственно хотите? Беспроводные технологии они такие, очень сильно зависят от качества сигнала. Или роутер в прямой доступ на расстояние 2-3 метров от девайсов, или провода тяните.
    Ответ написан
    Комментировать
  • Какой messenger подойдет для аларма по мониторингу?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    В свое время делал такое на jabber - замечательно подходит и для оповещения и даже для управления (почти). Для многих jabber-серверов есть куча плагинов, транслирующих сообщения в другие системы, например посылка SMS через IP-телефонию или сообщение в скайп.
    Ответ написан
    Комментировать
  • Как раздать в squid определенному пользователю определенный ip адрес?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Как-то все нелогично выходит. Для того, чтобы провести авторизацию по сети, уже должен быть ip-адрес! А тут сразу бах (авторизавались) и его поменяли! Какой-то интересный паттерн использования получается...

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

    Например через настройку на коммутаторах опции 801.1x ( можно с (free)radius шлюхами и блекджеком). Это когда система при подключении к ethernet- или wifi-сети просит пользователя авторизоваться, после этого предоставляет ему нужный доступ в сеть (и возможно настройки).

    Почитать подробности можно например тут - tldp.org/HOWTO/html_single/8021X-HOWTO
    Ответ написан
    Комментировать
  • Какой из дистрибутивов выбрать для вычислительного кластера?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    У нас так устроено:
    - стоит RHEL 6.4 и CentOS 6.4
    - есть сервера с Ubuntu 14.04
    - сеть ethernet 1Gb/10Gb + infiniband FDR/QDR (20/40Gb)

    ПО:
    - glusterfs на нескольких серверах (для файлопомойки и хомов), отдается по NFS (в основном по IB, но есть клиенты и по 1Gb)
    - openldap + kerberos для логинов/паролей и SSO
    - сами вычисления основаны на разных библиотеках от OpenMPI до частнофирменных решений.
    - развернут Sun Grid Engine для автоматизации задач на кластере

    В общем выводы:
    1) отдельная сеть под внутренние вычисления 1/10Gb (infiniband)
    2) отдельная сеть на доступ ethernet 1/10Gb
    3) общая файлопомойка на обе сети
    4) SSO на основе kerberos

    Ну и по хорошему, что на кластере запускать - всё равно, лишь бы под задачу подходило...
    Ответ написан
    Комментировать
  • Можно ли pThread поставить в состояние паузы из другого потока?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Напрямую такой реализации нет, но сделать достаточно просто, используйте мьютексы!
    создали мьютекс, захватили его, создали поток и в нем ждете мьютекс. Как только вам нужно старновать поток, отпускаете мьютекс. Нужно остановить - захватываете мьютекс.
    Данный сценарий реализован например в gstreamer при работе с тасками (GstTask), там дополнительно есть пользовательский callback, который вызывается после захвата мьютекса - описание здесь gstreamer.freedesktop.org/data/doc/gstreamer/head/...
    Ответ написан
  • Как правильно делать lock файла?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Просто у Вас сама схема разделения файла неправильная, особенно с переименованием. Так как получается, что это не один файл, а куча файлов с иногда одинаковым именем.
    Вообще-то обмен или запись некольких процессов в один файл всегда не есть хорошо!
    Лучше взять пример с syslog или подобного сервиса, где ТОЛЬКО ОДИН процесс(сервис) пишет в файл, его переименовывает и как хочет с ним, так и хозяйничает, а все остальные работают с данным процессом через сокеты.
    Для облегчения задачи можно использовать очереди типа zeromq или rabbitmq, или какой-то подобный фреймворк.

    Если же по каким-то причинам сокеты использовать нельзя, то делать придется таким образом:
    1) Пишем во временный файл.
    2) Захватываем блокировку на целевой файл и переписываем его содержимое
    3) убираем блокировку, удаляем временный файл.
    Но, блин, как же все это будет тормозить и глючить при больших объемах!!!

    PS. Вообще-то блокировки были придуманы для того, чтобы обеспечить консистентность, когда ОДИН пишет, а ДРУГИЕ читают. Или для того чтобы куча процессов дописывало в конец файла. Захватил-записал-отпустил. Для всего остального в базе ОС есть IPC, пайпы и сокеты (в том числе и файловые-UNIX).

    О, вот по-русски классику нашел - citforum.ru/operating_systems/linux_pg/lpg_02.shtml
    Ответ написан
  • Компьютер без видеокарты, как установить линукс?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Вариантов несколько.
    1. Установить на другом компе на hdd, затем просто вставить в новый, не забыть поправить (стереть содержимое) /etc/udev/rules.d/70-net-чтототам.conf
    2. Вставить графическую карту на время установки.
    3. Если это сервер, очень возможно, что в нем есть чип BMC с удаленной графической консолью. Читать докумна сервер, подключаться удаленно к консоли, устанавливать как обычно.
    4. Установить с использованием консоли через COM-порт, многие дистрибутивы, особенно серверные, это позволяют. Например читать https://help.ubuntu.com/community/SerialConsoleHowto

    Во всех случаях (кроме 3) желательно после установки настроить консоль на com-порт.
    Ответ написан
    Комментировать