mysyslog.ru

21 Сентябрь 2009

Alias – хороший способ упростить свою жизнь в консоли.

написано в рубрике: linux — Метки: — constantine.malov @ 15:56

Любой unix-администратор проводит большую часть своего рабочего времени в консоли. Команды, команды и еще раз команды — вот наш хлеб. Но все равно хочется организовать свою работу так, чтобы в ней было меньше рутины. Хорошим подспорьем будет команда alias.
(далее…)

Mysql – диск в памяти для временных таблиц.

написано в рубрике: Новости — constantine.malov @ 15:44

Для нескольких типов SQL запросов MYSQL создает промежуточные таблицы. Таблицы могут быть созданы как в памяти, так на жестком диске. Естественно при большой интенсивности запросов операции записи/чтения временных таблиц на жестком диске могут стать узким местом всей базы данных. Как проверить, есть ли проблемы?
(далее…)

Mysql – быстрый заход в консоль.

написано в рубрике: dba — Метки: — constantine.malov @ 15:40

Многие люди используют для управления базами или phpmyadmin или другие GUI программы. Я же предпочитаю консольную программу mysql. У того же phpmyadmin есть хорошее качество любого web приложения — оно может запоминать логин и пароль от базы, что очень удобно. Но и для консольной программы есть возможность организовать «быстрый» вход. При запуск mysql (и другие консольные программы из набора поставки mysql) просматривает домашний каталог пользователя в поисках файла .my.cnf, в котором могут быть какие-то настройки переменных сессии. В нем же можно задать и логин/пароль. Делается это в разделе [client]:

[client]
user=root
password=ifdJhfhb4n

Теперь все консольные программы будут автоматически подставлять логин и пароль из этого файла. Конечно же такая настройка понижает безопасность сервера mysql, потому необходимо позаботиться об безопасности файла. В данном случае используется учетная запись root и для сервера mysql и сервера как такового:

# chown -R root /root
# chmod -R 700 /root
# ls -la /root

-rwx—— 1 root root 27 May 1 23:15 .my.cnf

Mysql — настройка после установки.

написано в рубрике: dba — Метки: — constantine.malov @ 15:38

Как правило, сразу после установки mysql… сразу начинают использовать. Но настройки «из коробки» подходят для небольших проектов с небольшой интенсивностью относительно простых запросов. Отсюда низкая производительность базы. А ведь достаточно поменять всего несколько настроек, чтобы ситуация изменилась кардинально. Сразу оговорюсь, речь будет идти в первую очередь про MyISAM, так как именно этот тип таблицы до сих пор используется наиболее часто (отчасти тут виноваты и настройки по умолчанию — именно этот движок таблиц установлен изначально для создания таблиц без указания типа).
(далее…)

Поиск файлов в linux: find

написано в рубрике: linux — Метки: — constantine.malov @ 15:28

В любой дистрибутив linux есть утилита find – очень мощная и удобная утилита поиска файлов. Описание опции find занимает несколько страниц, все желающие могут открыть man find и прочитать его полностью. В этой статье я расскажу только о самых востребованных опциях.
(далее…)

Использование аутентификации по публичному ключу в SSH.

написано в рубрике: linux — Метки: , — constantine.malov @ 15:26

Вы когда-нибудь смотрели логи попыток аутентификации по ssh? Каждый день сотни ботов рыскают по интернету, пытаясь подобрать пароль и от вашего сервера. Вам не страшно? У вас пароль из двенадцати символов в разном регистре из букв, цифр и специальных символов? Думаю нет, и в один прекрасный день может оказаться, что ваш сервер уже не только ваш.
Есть простой способ оставить ботов с носом, достаточно использовать аутентификацию по публичному ключу.
(далее…)

RAMFS и TMPFS в Linux

написано в рубрике: linux — Метки: , — constantine.malov @ 14:56

Жесткие диски — одна из самых медленных подсистем компьютера, иногда его пропускной способности очень не хватает. Выход — использовать диски в памяти. Для этого выделяется область памяти, в которую можно записывать файлы или считывать из нее файлы, как с обычного раздела жесткого диска. Но так операции записи/чтения происходят в памяти, то такой «дисковый раздел» по настоящему быстр.
В Linux есть две реализации дисков в память: tmpfs и ramfs. По сути они делают одно и тоже, но есть различия в их работе, которые нужно знать и учитывать при выборе.
Как создать диск в памяти? Сперва нужно создать каталоги для монтирования, потом создать диски в памяти
# mkdir /mnt/tmpfs /mnt/ramfs
# mount -t tmpfs -o size=100m tmpfs /mnt/tmpfs
# mount -t ramfs -o size=100m ramfs /mnt/ramfs
Если запустить mount, то мы увидим среди прочего
# mount

tmpfs on /mnt/tmpfs type tmpfs (rw,size=100m)
ramfs on /mnt/ramfs type ramfs (rw,size=100m)
Все очень похоже, но в чем тогда разница? При записи небольших файлов вы никогда ее и не заметите, но при больших объемах данных разница принципиальна.
Ramfs увеличивается динамически. Т.е. Если вы выделили 20 мегабайт под раздел tmpfs и попробуете записать 21 мегабайт, то у вас ничего не получится, будет выдано сообщение о нехватке места, а ramfs спокойно затребует нужное место из памяти. Причем, если у вас 4 Гб памяти, то при заполнении раздела ramfs в 4Гб скорее всего весь сервер зависнет.
Еще одна важная особенность, tmpfs использует swap, т.е. если физической памяти сервера не хватает, то tmpfs потеряет все свои плюсы. Ramfs напротив использует исключительно физическую память.

27 Август 2009

PHP PCRE Functions kills apache childprocess

написано в рубрике: Новости — constantine.malov @ 11:13

Apache + mod_php + pcre functions = apache child pid exit signal Illegal instruction

Разработчики попросили разобраться с проблемой. Рри использовании preg_replace при определенном размере строковой переменной, над которой совершались всякие pcre преобразования, apache падал с сообщением  “apache child pid 3232 exit signal Illegal instruction”.

Паттерн, которым обрабатывали строку и правда был страшен, и первым делом я попросил разработчиков его переписать, но оказалось, что они его выдрали из Zend Framework… Да и вот так падать apache не должен в любом случае.

Нашел на php.net bug, очень похожий на мой случай, и еще несколько сообщений. Но решения там не было, кроме слов, что скорее всего дело в размере стека, который выделяется процессу apache.

Первым желанием было подправить stacksize в FreeBSD, но оказалось, что он и так 64MB… Так что осталось только одно – пинать библиотеку pcre. В man pcrestack есть упоминание, что pcre можно собрать с заменой использования стека на кучу. В man pcrebuild есть нужная опция: –disable-stack-for-recursion.

Дальше пересобираем библиотеку pcre и apache, за одно еще расширение php для pcre функций…

10 Август 2009

Как включить ssh на allied telesis AT8000GS

написано в рубрике: hardware — Метки: , — constantine.malov @ 10:38

Оказалось, все очень просто

  1. console# configure
  2. console(config)# crypto key generate rsa
  3. console(config)# ip ssh server

После чего нужно запретить telnet как класс:

  1. console(config)# management access-list accesstoconsole
  2. console(config)# permit vlan 1 service ssh
  3. console(config)# deny vlan 1 service telnet
  4. console(config)# end
  5. console(config)# management access-class accesstoconsole
  6. console(config)# end

2 Июнь 2009

Поиск P2P трафика средствами на Gentoo Linux

написано в рубрике: Новости — constantine.malov @ 21:48

Почти любому админу офиса приходилось сталкиваться с ситуации, когда “умный” пользователь решил покачать любимые фильмы, музыку и программы через P2P сети. Как правильно такой “умный” пользователь не думает о таких вещах, как пропускная способность канала, цена трафика и т.п. А администратору сети приходится потом отвечать на неприятные вопросы начальника.
(далее…)

« Новые записиСтарые записи »

Работает на WordPress