FastNetMon

Tuesday, 31 May 2011

Активация write-cache на Adaptec 5405

Имеем изнчачально:
arcconf getconfig 1 ld
Controllers found: 1
----------------------------------------------------------------------
Logical device information
----------------------------------------------------------------------
Logical device number 0
Logical device name : Device 0
RAID level : 10
Status of logical device : Optimal
Size : 571382 MB
Stripe-unit size : 256 KB
Read-cache mode : Enabled
MaxIQ preferred cache setting : Disabled
MaxIQ cache setting : Disabled
Write-cache mode : Disabled (write-through)
Write-cache setting : Enabled (write-back) when protected by battery/ZMM
Partitioned : Yes
Protected by Hot-Spare : No
Bootable : Yes
Failed stripes : No
Power settings : Disabled
--------------------------------------------------------
Logical device segment information
--------------------------------------------------------
Group 0, Segment 0 : Present (0,0) 3SJ262RY00009107YURG
Group 0, Segment 1 : Present (0,1) 3SJ23Z2800009107YUZ7
Group 1, Segment 0 : Present (0,2) 3SJ262YX00009107XUQ6
Group 1, Segment 1 : Present (0,3) 3SJ261VB00009107XUQP

arcconf SETCACHE 1 LOGICALDRIVE 0 wb
Controllers found: 1
WARNING: Power failure without battery/ZMM support will lead to data loss.
Do you wish to continue?
Press y, then ENTER to continue or press ENTER to abort: y

Command completed successfully.

В результате включается кэш:
arcconf getconfig 1 ld
Controllers found: 1
----------------------------------------------------------------------
Logical device information
----------------------------------------------------------------------
Logical device number 0
Logical device name : Device 0
RAID level : 10
Status of logical device : Optimal
Size : 571382 MB
Stripe-unit size : 256 KB
Read-cache mode : Enabled
MaxIQ preferred cache setting : Disabled
MaxIQ cache setting : Disabled
Write-cache mode : Enabled (write-back)
Write-cache setting : Enabled (write-back)
Partitioned : Yes
Protected by Hot-Spare : No
Bootable : Yes
Failed stripes : No
Power settings : Disabled
--------------------------------------------------------
Logical device segment information
--------------------------------------------------------
Group 0, Segment 0 : Present (0,0) 3SJ262RY00009107YURG
Group 0, Segment 1 : Present (0,1) 3SJ23Z2800009107YUZ7
Group 1, Segment 0 : Present (0,2) 3SJ262YX00009107XUQ6
Group 1, Segment 1 : Present (0,3) 3SJ261VB00009107XUQP



Command completed successfully.

Обращаю внимание, что без наличия UPS кэш записи включать нельзя!

Что означает worker process 4664 exited on signal 9?

Вот такая запись означает:
2011/05/31 10:54:38 [alert] 4089#0: worker process 4664 exited on signal 9

Что кто-то убил рабочий процесс Nginx по kill -9:
Posted by Igor Sysoev (Guest) on 2008-07-08 14:10
On Tue, Jul 08, 2008 at 02:55:08PM +0300, Athan Dimoy wrote:

> Just a question according the new build. What this error really means
> "worker process 94184 exited on signal 9"?

This means that someone kills -9 worker process.

Включить отображение столбца WCHAN в top

Запускаем top:
top

Выполняем комбинацию:
f -> y -> Esc.

После этого появится столбце WCHAN, но скорее всего, он будет пустой. Как с этми бороться, я пока не знаю.

Анализ числовых данных в Linux посредством num-utils

Довольно часто у меня рождались вот такие скрипты (ниже приведен пример скрипта для подсчета среднего арифметического) для анализа каких-либо чиловых данных:
cat file | perl -e 'for(<>){$a+=$_; $b++}; print $a/$b'

И таких скриптов было множество, найти среднее, найти наибольшее, найти наименьшее среди строк поданных на стандартный ввод - крайне типовая задача.

Разумеется, можно ее решить в лоб, например, найти наибольшее число в массиве можно следующим образом:
sort -g | tail -1
Наименьшее
sort -g | head -1
А вот со средним и суммой - сложности, тут в любом случае придется писать скрипт на каком-либо языке программирования. Либо... воспользоваться num-utils, которая предоставляет ряд чудесных утилит.

Устанавливаем:
apt-get install -y num-utils
Как результат мы получим целый комплкект отменных утилит для работы с числами:
dpkg -L num-utils | grep '/usr/bin/'
/usr/bin/numaverage
/usr/bin/numbound
/usr/bin/numinterval
/usr/bin/numnormalize
/usr/bin/numgrep
/usr/bin/numprocess
/usr/bin/numsum
/usr/bin/numrandom
/usr/bin/numrange
/usr/bin/numround

Сумма:
cat | numsum
1
2
3
6

12

Среднее арифметическое:
cat | numaverage
1
2
3

2

Наибольшее значение:
cat | numbound
1
4
6
1
444
5

444

Наименьшее значение:
4
1
0
1
3
444

0


Я привел лишь часть примеров, на самом деле, утилит больше, изучайте! :)

Monday, 30 May 2011

Debian, MySQL 5.1 Perocna и работа с СУБД по tcp/ip сети: увеличивается Aborted_Connects

Имеем вот такой тестовый скрипт, запущенный на машине, которая подключается к удаленному MySQL серверу mysqlremoteserver.ru по сети:
for i in `seq 1 1000`; do echo -n "try $i"; mysqladmin ping -h mysqlremoteserver.ru -uv1 -pqwerty; if [ $? -ne 0 ]; then echo "not ok" ; fi ; done | grep -v 'alive'

И при запуске имеем следующие ошибки:
mysqladmin: connect to server at 'hostingmysqlserver' failed
error: 'Can't connect to MySQL server on 'hostingmysqlserver' (4)'
Check that mysqld is running on hostingmysqlserver and that the port is 3306.
You can check this by doing 'telnet hostingmysqlserver 3306'
try 12not ok
mysqladmin: connect to server at 'hostingmysqlserver' failed
error: 'Can't connect to MySQL server on 'hostingmysqlserver' (4)'
Check that mysqld is running on hostingmysqlserver and that the port is 3306.
You can check this by doing 'telnet hostingmysqlserver 3306'
try 199not ok
mysqladmin: connect to server at 'hostingmysqlserver' failed
error: 'Can't connect to MySQL server on 'hostingmysqlserver' (4)'
Check that mysqld is running on hostingmysqlserver and that the port is 3306.
You can check this by doing 'telnet hostingmysqlserver 3306'
try 201not ok
^Cmysqladmin: connect to server at 'hostingmysqlserver' failed
error: 'Can't connect to MySQL server on 'hostingmysqlserver' (4)'
Check that mysqld is running on hostingmysqlserver and that the port is 3306.
You can check this by doing 'telnet hostingmysqlserver 3306'


При этом увеличивается счетчик Aborted_connects:
show global status like 'Aborted%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| Aborted_clients | 4 |
| Aborted_connects | 113 |
+------------------+-------+
2 rows in set (0.00 sec)

Как отладить данную проблему и понять, почему происходит сброс коннекта?

В первую очередь стоит включить лог предупреждений, это делается путем добавления в блок [mysqld] файла /etc/mysql/my.cnf ниже указанного параметра и последующей перезагрузки mysql демона:
log-warnings

После этого открываем лог mysql демона и ждем появления ошибок про Abort_connect:
tail -f /var/log/daemon.log -n 1000

Со временем должны появится примерно такие записи:
May 30 12:32:55 mysql1 mysqld: 110530 12:32:55 [Warning] Aborted connection 87982 to db: 'dbsome' user: 'tesuser' host: 'domain.ru' (Got an error reading communication packets)

По которым можно будет сделать хоть какие-то выводы о том, где источник проблемы.

Saturday, 28 May 2011

Копирование данных из одного svn репо в другое

http://code.google.com/p/svn2svn/

Как посмотреть значения лимитов ulimit для конкретного процесса?

Вот так:
cat /proc/21231/limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 10485760 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 193185 193185 processes
Max open files 1000000 1000000 files
Max locked memory 65536 65536 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 193185 193185 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us

Где 21231 - это pid процесса, для которого нужно посмотреть лимит.

Thursday, 26 May 2011

Установка 32 гб памяти на процессоры серии i7 2600

Похоже, пока невозможна: http://forums.bit-tech.net/showthread.php?t=205314

Хотя вот есть вот такие блоки памяти по 8Gb: Samsung 8GB PC3-8500 DDR3-1066MHz non-ECC Unbuffered CL7 240-Pin DIMM Dual Rank Original Memory Module Mfr P/N M378B1G73AH0-CF8, но стоят они очень дорого :(

Несколько слов о write cache в контроллерах Adaptec

http://ask.adaptec.com/scripts/adaptec_tic.cfg/php.exe/enduser/std_adp.php?p_faqid=8971&p_created=1056105282&p_topview=1

Технология ZMCP от Adaptec - сохранение кэша RAID контроллера без батарейки BBU

Zero-Maintenance cache Protection

Если вкратце, то эта технология заменяет собой функцию батарейки на RAID контроллере обычной флешкой. Если ранее для сохранения содержимого кэша (хранимого в энергозависимой микросхеме) контроллера использовалась батарейка (блок BBU, который, к слову, стоит весьма немало - для контроллера Adaptec 5405 стоящего 13 т.р. BBU модуль обойдется в 4.5 т.р.), то сейчас технология изменилась. Теперь при потере питания специальная схема фикисрует этот факт и посредством энергии суперконденсатора переносит данные из энергозависимого кэша на Nэнергонезависимый NAND флеш. После восстановления питания содержимое кэша переносится с флеш-карты непосредственно в кэш и все операции ввода-вывода завершаются успешно, без потери данных.

Новые контроллеры с поддержкой технологии ZMCP: 5405Z, 5805Z, 5445Z.

Вот сраница описания технологии: http://www.adaptec.com/ru-ru/_common/zmcp/

А вот презенатция в PDF (положил в репо, так как Adaptec регулярно ломает ссылки на своем сайте): http://fastvps.googlecode.com/files/ru_6514_series5z_17.pdf

Почему Скайп (Skype) не работает?

Что со Skype?

Сейчас как на Windows, так и на Linux, так и на Mac OS проявляются следующие проблемы - Skype не включается и не выдает никаких ошибок, в логе ошибок Windows имеется информация о неожиданном завершении программы. Официальной информации пока нет. Сайт Skype также работает крайне нестабильно. Есть подозрения, что проблема в серверах авторизации. Связано ли это с покупкой компании Skype Майкрософтом?

ВНИМАНИЕ! Фиксы указанные ниже удалят всю хистори!

Фикс для Mac OS:
cd '/Users/имя_вашего_пользователя/Library/Application Support/Skype/'
rm -rf *

После этого потребуется запустить Скайп заново и ввести пароль.

Фикс для Windows XP/Windows 7: http://tresnet.ru/archives/658

Xeon E3-1275 - серверный брат-близнец семейства Intel i7 2600

Отчличный процессор с поддержкой ECC памяти и не сильно отличающейся от i7 2600 ценой: http://www.thg.ru/cpu/intel_xeon_e3_1275/index.html

Чиспсеты для процессоров этой серии используются серии Intel C200: Intel C202, C204, C206.

Обзоры Intel i7 2600

http://www.overclockers.ru/lab/39981/Vstrechaem_Sandy_Bridge_Intel_Core_i7-2600_i_Core_i5-2400.html

http://www.u-sm.ru/index.php/obzoryi-i-stati/nebolshoy-kitayskiy-test-intel-core-i7-2600-sandy-bridge.html

http://www.thg.ru/cpu/sandy_bridge/sandy_bridge-01.html

Что обозначают префиксы W, E, X, L процессоров Xeon и суффиксы K, S, T у Core i7 2 поколения?

Xeon: http://www.intel.com/products/processor_number/about/xeon_itanium.htm

Остался лишь загадкой префикс W. Про него я нашел лишь следующее:
The W prefix is only used for the single socket Xeon W3500 series and Xeon W3600 series, which are often used in workstations. I have not found any official documention for what the W stands for, or means. It could be Workstation.

Источник: http://sqlserverperformance.wordpress.com/2011/04/10/a-sql-server-hardware-nugget-a-day-day-10/

Core: http://www.intel.com/products/processor_number/about/core.htm