Monday, 19 April 2010
Ключевое отличие OpenVZ от Virtuozzo
VZFS is an integral part of the virtualization technology developed by Parallels, Inc. It translates to Virtuozzo file system and comprises such product as Parallels Virtuozzo Containers for Linux. VZFS allows to share common files among multiple Containers (Containers) without sacrificing flexibility. This sharing saves up to tens of megabytes of RAM and hundreds of megabytes of disk space for each Container. On the other hand, it remains possible for Container users to modify, update, replace, and delete shared files. When a user modifies a shared file, VZFS creates a private copy of the file transparently for the user. Thus, the modifications do not affect the other users of the file. As an additional advantage, VZFS does not require having different physical partitions for different Containers or creating a special "file system in a file" setup for a Container, which significantly simplifies disk administration.
Virtuozzo Containers 4.0 for Linux comes with a new version of VZFS - Version 2. This paper is destined for Virtuozzo administrators who would like to know more of VZFS v2 and to understand the upgrade path for existing Virtuozzo Containers installations.
http://download.swsoft.com/virtuozzo/virtuozzo4.0/docs/en/lin/VzLinuxUG/19412.htm
Sunday, 18 April 2010
sshd[*]: error writing /proc/self/oom_adj: Operation not permitted
И таких записей на OpenVZ VPS куча в логе: /var/log/auth.log
Что это и зачем?
Эта ошибка связана с тем, что SSH корректирует работу механизма ядра Linux называемого OOM killer. Этот механизм призван любыми средствами сохранять работоспособность системы в случае исчерпанная памяти. Когда память кончается, он по довольно сложному алгоритму ищет ненужный, на его взгляд процесс, и убивает его. К сожалению, под действие этого механизма может попасть и процесс SSH сервера, что крайне нежелательно. Поэтому демон SSH передает ядру команду, чтобы его не убивало OOM killer ом в случае недостатка памяти (если быть точным, то его тоже убьет, но самым самым последним).
На VPS же этот механизм не работает по причине, что OpenVZ не дает доступ к файловой системе /proc, которая как раз и используется для управления OOM Killerом. Поэтому, данные записи в логах являются нормальным явлением на VPS и Вам не стоит о них беспокоиться.
А вот бы такой патчик пропихнуть в OpenVZ апстрим....
Что это и зачем?
Эта ошибка связана с тем, что SSH корректирует работу механизма ядра Linux называемого OOM killer. Этот механизм призван любыми средствами сохранять работоспособность системы в случае исчерпанная памяти. Когда память кончается, он по довольно сложному алгоритму ищет ненужный, на его взгляд процесс, и убивает его. К сожалению, под действие этого механизма может попасть и процесс SSH сервера, что крайне нежелательно. Поэтому демон SSH передает ядру команду, чтобы его не убивало OOM killer ом в случае недостатка памяти (если быть точным, то его тоже убьет, но самым самым последним).
На VPS же этот механизм не работает по причине, что OpenVZ не дает доступ к файловой системе /proc, которая как раз и используется для управления OOM Killerом. Поэтому, данные записи в логах являются нормальным явлением на VPS и Вам не стоит о них беспокоиться.
А вот бы такой патчик пропихнуть в OpenVZ апстрим....
Как узнать, какой URL / сайт больше всего грузит Apache?
Утилитой Apachetop!
Ставим:
Натравливаем на access лог Апача:
Кстати, access логи nginx он также отлично кушает:
Выдача команды имеет вот такой вид:
Ставим:
apt-get install -y apachetop
Натравливаем на access лог Апача:
apachetop -f /var/log/apache/access.log
Кстати, access логи nginx он также отлично кушает:
apachetop -f /var/log/nginx/access.log
Выдача команды имеет вот такой вид:
last hit: 14:49:12 atop runtime: 0 days, 00:00:35 14:49:28
All: 19 reqs ( 0.9/sec) 50.4K ( 2457.9B/sec) 2716.6B/req
2xx: 8 (42.1%) 3xx: 11 (57.9%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%)
R ( 30s): 19 reqs ( 0.6/sec) 50.4K ( 1720.5B/sec) 2716.6B/req
2xx: 8 (42.1%) 3xx: 11 (57.9%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%)
REQS REQ/S KB KB/S URL
6 0.29 37.8 1.8*/
2 0.11 0.0 0.0 /favicon.ico
2 0.12 12.6 0.7 /favicon.ico/
1 0.06 0.0 0.0 /wp-content/themes/bluebird/style.css
1 0.06 0.0 0.0 /wp-includes/js/thickbox/thickbox.css
1 0.06 0.0 0.0 /wp-content/plugins/google-ajax-translation/google-ajax-translation
1 0.06 0.0 0.0 /wp-includes/js/jquery/jquery.js
1 0.06 0.0 0.0 /wp-content/themes/bluebird/images/header1.jpg
1 0.06 0.0 0.0 /wp-content/themes/bluebird/images/header2.jpg
1 0.06 0.0 0.0 /wp-content/themes/bluebird/images/feedicon.png
1 0.06 0.0 0.0 /wp-content/plugins/google-ajax-translation/transparent.gif
1 0.06 0.0 0.0 /files/2009/12/Christmas-Tree.png
Визуализация размера папок в системе
Ставим:
Запускаем:
Результат работы выглядит примерно так (для /):
Вот результат ее работы:
apt-get install -y ncdu
Запускаем:
Результат работы выглядит примерно так (для /):
Вот результат ее работы:
535.9MB [##########] /usr
153.4MB [## ] /var
7.9MB [ ] /lib
5.0MB [ ] /sbin
4.2MB [ ] /bin
3.9MB [ ] /etc
824.0kB [ ] /home
204.0kB [ ] /root
12.0kB [ ] /tmp
4.0kB [ ] /dev
e 4.0kB [ ] /boot
e 4.0kB [ ] /media
e 4.0kB [ ] /mnt
e 4.0kB [ ] /opt
e 4.0kB [ ] /selinux
e 4.0kB [ ] /srv
4.0kB [ ] .rnd
0.0 B [ ] /sys
0.0 B [ ] /proc
@ 0.0 B [ ] lib64
Saturday, 17 April 2010
Поддержка виртуализации kvm в RHEL/CentOS 5.4
Начиная с версии 5.4 в RHEL появилась поддержка kvm виртуализации! Причем, без каких-то левых репозиториев и сомнительных мануалов :)
Итак, встречайте, официальный мануал:
Разрешаю обзывать меня ретроградом за такие новости на фоне выхода RHEL 5.5, но все же :) В ближайше время ждите мануал по поднятию виртуалки на базе KVM по CentOS 5.4 x86_64.
Итак, встречайте, официальный мануал:
http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.4/html/Virtualization_Guide/index.html
Разрешаю обзывать меня ретроградом за такие новости на фоне выхода RHEL 5.5, но все же :) В ближайше время ждите мануал по поднятию виртуалки на базе KVM по CentOS 5.4 x86_64.
Debian, конфигурация PHP, max_execution_time и папочка conf.d
Допустим, есть конфиг /etc/php5/cgi/php.ini и в нем задана опция:
и есть файл:
/etc/php5/conf.d/my.ini
в нем этот параметр перекрыт:
То какое значение примет PHP?
Вот такое:
Причем, у PHP как модуля Apache подход в точности такой же.
А CLI же версии решительно на всех пофигу:
Иными словами, больший приоритет имеет то, что находится в папке conf.d, а не в родном php.ini.
max_execution_time = 90
и есть файл:
/etc/php5/conf.d/my.ini
в нем этот параметр перекрыт:
max_execution_time = 91
То какое значение примет PHP?
Вот такое:
php5-cgi -i | grep max_exec
max_execution_time 91
Причем, у PHP как модуля Apache подход в точности такой же.
А CLI же версии решительно на всех пофигу:
php5 -i | grep max_exec
max_execution_time => 0 => 0
Иными словами, больший приоритет имеет то, что находится в папке conf.d, а не в родном php.ini.
mod_ispmgr.so: wrong ELF class: ELFCLASS32
/etc/init.d/httpd restart
Stopping httpd: [FAILED]
Starting httpd: httpd: Syntax error on line 993 of /etc/httpd/conf/httpd.conf: Syntax error on line 1 of /usr/local/ispmgr/etc/ispmgr.inc: Cannot load /usr/local/ispmgr/lib/apache/mod_ispmgr.so into server: /usr/local/ispmgr/lib/apache/mod_ispmgr.so: wrong ELF class: ELFCLASS32
[FAILED]
~# uname -a
Linux domain.com 2.6.18-164.11.1.el5 #1 SMP Wed Jan 20 07:32:21 EST 2010 x86_64 x86_64 x86_64 GNU/Linux
Я искренне жажду увидеть тех существ, что написали это говно. Мне вот крайне интересно КАК ОНИ ВЫГЛЯДЯТ.
Фикс - отключение панели.
Для CentOS:
vi /etc/httpd/conf/httpd.conf
И комментируем символом # там строку:
# Include /usr/local/ispmgr/etc/ispmgr.inc
Перезапускаем Апача:
/etc/init.d/httpd restart
Stopping httpd: [FAILED]
Starting httpd: [ OK ]
Friday, 16 April 2010
re.search vs re.match (search vs match) в Python
In a nutshell, match() only attempts to match a pattern at the beginning of a string where search() will match a pattern anywhere in a string. For example:
То есть re.match требует, чтобы паттерн подходил ко ВСЕЙ строке, а re.search срабатывает, если хотя бы часть подстроки совпала с паттерном.
Можно ли в OpenVZ подключить разные точки монтирования с разных дисков?
Скажем, var с одного жесткого диска, а все остальное с другого? Хотеть!
Subscribe to:
Posts
(
Atom
)
