FastNetMon

Sunday, 29 January 2012

Посылка логов ошибок ядра по сети

http://www.cyberciti.biz/tips/linux-netconsole-log-management-tutorial.html

fdisk: Partition 1 does not end on cylinder boundary.

Судя по тому, что сам инсталлятор Debian разбивает разделы так, что вызывается данная ошибка, полагаю, ее можно игнорировать:
fdisk -l

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003146f

Device Boot Start End Blocks Id System
/dev/sda1 1 487 3905536 82 Linux swap / Solaris
Partition 1 does not end on cylinder boundary.
/dev/sda2 487 14594 113312769 5 Extended
/dev/sda5 487 14594 113312768 83 Linux

А можно и не игнорировать, нужно дать партеду флаг parted -a cylinder и после этого он сам выровнеет так, что fdisk будет доволен.

Также обращаю внимание, что первый раздел начинается не с нуля, с 1 го мегабайта!

OpenVZ + vSWAP = баги!

Очень неприятный баг, по определенным причинам нам нужно, чтобы контейнеры создавались с basic шаблоном (CONFIGFILE="basic"), но это не получается, так как при запуске /etc/init.d/vz он стирает и вписывается туда vswap-256mb.

[root@ovz1 ~]# cat /etc/vz/vz.conf| grep CONFIG
CONFIGFILE="basic"
[root@ovz1 ~]# /etc/init.d/vz restart
Bringing down interface venet0: [ OK ]
Stopping OpenVZ: [ OK ]
Starting OpenVZ: [ OK ]
Bringing up interface venet0: [ OK ]
Set CONFIGFILE="vswap-256m" in /etc/vz/vz.conf [ВНИМАНИЕ!]
[root@ovz1 ~]# cat /etc/vz/vz.conf| grep CONFIG
CONFIGFILE="vswap-256m"

Фикса нет!

update: фикс от меня в файле /etc/init.d/vz.

Заменяем:
if test $kv -ge 42; then
if grep -q $cfg_old $VZCONF; then
sed -i "s/${cfg_old}/${cfg_new}/" $VZCONF
print_warning "Set $cfg_new in $VZCONF"
fi
fi

На:
if test $kv -ge 42; then
# TODO: PATHED BY FastVPS
# old if grep -q $cfg_old $VZCONF; then
grep -q $cfg_old $VZCONF

# if we not found old CONFIGFILE name, set vswap
if [ $? -ne 0 ]; then
sed -i "s/${cfg_old}/${cfg_new}/" $VZCONF
print_warning "Set $cfg_new in $VZCONF"
fi
fi

После этого сброса не будет.

Bugzilla OpenVZ: http://bugzilla.openvz.org/show_bug.cgi?id=2169

Saturday, 28 January 2012

Восстановление поврежденной таблицы разделов

Repair parition table linux / freebsd.

Лучший софт для сабжа - testdisk, восстанвоил обнуленную таблицу разделов и обнаружил FreeBSD слайс.

Friday, 27 January 2012

Об использовании Puppet autosign

The autosign.conf file (located at /etc/puppet/autosign.conf by default, and configurable with the autosign setting) is a list of certnames or certname globs (one per line) whose certificate requests will automatically be signed.

As any host can provide any certname, autosigning should only be used with great care, and only in situations where you essentially trust any computer able to connect to the puppet master.

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

Источник: http://docs.puppetlabs.com/guides/configuring.html

Wednesday, 25 January 2012

Чудесная инициатива правительства Эстонии

Проект Helkur.ee создан Департаментом шоссейных дорог Эстонии. Здесь предоставляется возможность посредством отсылки SMS подарить человеку отражатель, который может спасти ему жизнь!

Каждый подаренный отражатель будет обозначен на нашей карте светящейся точкой, указывающей на место, где проживает его получатель. Давайте сообща наполним всю Эстонию светом любви и заботы!

http://www.helkur.ee/rus/home

Monday, 23 January 2012

Can't locate MySQL.pm in @INC

Причины ошибки:
From http://search.cpan.org/~capttofu/DBD-mysql-3.0008/lib/Mysql.pm#DESCRIPTION

"As of March 1998, the Msql and Mysql modules are obsoleted by the DBI drivers
DBD::mSQL and DBD::mysql, respectively. You are strongly encouraged to implement
new code with the DBI drivers. In fact, Msql and Mysql are currently implemented
as emulations on top of the DBI drivers."

Фикс:
cpan
force install Bundle::Mysql

Saturday, 31 December 2011

Всех с наступающим Новым Годом!

Желаю всем как можно больше аптайма, как можно больше новых релизов любимого ПО и любимых ОС :) Как можно меньше критичных багов! А еще побольше улыбок и удовлетворения от работы! :)

Thursday, 29 December 2011

MySQL Memory storage: Dec 29 18:55:07 stat mysqld: 111229 18:55:07 [ERROR] /usr/sbin/mysqld: The table 'domains' is full

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

vim /etc/mysql/my.cnf

В блок [mysqld] добавляем:
max_heap_table_size=2048M

Перезапускаем СУБД:
/etc/init.d/mysql restart

Monday, 26 December 2011

Логгирование выдачи интерактивных команд посредством утилиты script

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

Запускаем интерактивное ПО в оболочке и выполняем там какие-либо действия:
script -q -a /var/log/mylog -c 'telnet ya.ru 80'
Trying 87.250.251.3...
Connected to ya.ru.
Escape character is '^]'.
GET / HTTP/1.1

HTTP/1.1 400 Bad Request
Server: nginx
Date: Mon, 26 Dec 2011 16:31:18 GMT
Content-Type: text/html; charset=windows-1251
Content-Length: 166
Connection: close


400 Bad Request

400 Bad Request



nginx



Connection closed by foreign host.
root@ovzgate:~#

Просмтриваем лог программы, в котором отразились все действия:
cat /var/log/mylog
Script started on Mon Dec 26 19:31:08 2011
Trying 87.250.251.3...
Connected to ya.ru.
Escape character is '^]'.
GET / HTTP/1.1

HTTP/1.1 400 Bad Request
Server: nginx
Date: Mon, 26 Dec 2011 16:31:18 GMT
Content-Type: text/html; charset=windows-1251
Content-Length: 166
Connection: close


400 Bad Request

400 Bad Request



nginx



Connection closed by foreign host.

CentOS 6 + OpenVZ = ужас с зависимостями при обновлении

Итак, имеется совершенно чистый CentOS 6 (без каких-либо репозиториев кроме стандартных) с установленным OpenVZ ядром. А также желание сделать: yum update (а также наличие обычных ядер в грядущем апдейте).

Это желание разбивается вдребезги конфликтом зависимостей kernel-firmware :
Error: Package: kernel-2.6.32-220.2.1.el6.x86_64 (updates)
Requires: kernel-firmware >= 2.6.32-220.2.1.el6
Installed: vzkernel-firmware-2.6.32-042stab044.11.noarch (@openvz-kernel-rhel6)
kernel-firmware = 2.6.32-131.21.1.el6
Available: kernel-firmware-2.6.32-220.el6.noarch (base)
kernel-firmware = 2.6.32-220.el6
Available: kernel-firmware-2.6.32-220.2.1.el6.noarch (updates)
kernel-firmware = 2.6.32-220.2.1.el6
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest


Если обновление ядра не критично, то можно забить и игнорировать ошибки:
yum update --skip-broken

А что делать если критично? Фиксить!

Итак, посмотрим, какие версии пакета firmware у нас есть:
rpm -qa |grep kernel-firm
vzkernel-firmware-2.6.32-042stab044.11.noarch

Попробуем его снести:
yum remove vzkernel-firmware-2.6.32-042stab044.11.noarch
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package vzkernel-firmware.noarch 0:2.6.32-042stab044.11 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================================================================================================================
Package Arch Version Repository Size
=========================================================================================================================================================================================
Removing:
vzkernel-firmware noarch 2.6.32-042stab044.11 @openvz-kernel-rhel6 3.9 M

Transaction Summary
=========================================================================================================================================================================================
Remove 1 Package(s)

Installed size: 3.9 M
Is this ok [y/N]: Y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : vzkernel-firmware-2.6.32-042stab044.11.noarch 1/1

Removed:
vzkernel-firmware.noarch 0:2.6.32-042stab044.11

Complete!

Пробуем снова обновиться:
yum update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centosg4.centos.org
* extras: centosg4.centos.org
* openvz-kernel-rhel6: mirror.softaculous.com
* openvz-utils: mirror.softaculous.com
* updates: mirror.nsc.liu.se
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package kernel.x86_64 0:2.6.32-220.2.1.el6 will be installed
--> Processing Dependency: kernel-firmware >= 2.6.32-220.2.1.el6 for package: kernel-2.6.32-220.2.1.el6.x86_64
Package kernel-firmware is obsoleted by vzkernel-firmware, but obsoleting package does not provide for requirements
--> Finished Dependency Resolution
Error: Package: kernel-2.6.32-220.2.1.el6.x86_64 (updates)
Requires: kernel-firmware >= 2.6.32-220.2.1.el6
Available: kernel-firmware-2.6.32-220.el6.noarch (base)
kernel-firmware = 2.6.32-220.el6
Available: kernel-firmware-2.6.32-220.2.1.el6.noarch (updates)
kernel-firmware = 2.6.32-220.2.1.el6
Available: vzkernel-firmware-2.6.32-042stab044.11.noarch (openvz-kernel-rhel6)
kernel-firmware = 2.6.32-131.21.1.el6
You could try using --skip-broken to work around the problem
** Found 2 pre-existing rpmdb problem(s), 'yum check' output follows:
kernel-2.6.32-131.17.1.el6.x86_64 has missing requires of kernel-firmware >= ('0', '2.6.32', '131.17.1.el6')
vzkernel-2.6.32-042stab044.11.x86_64 has missing requires of kernel-firmware >= ('0', '2.6.32', '131.21.1.el6')

Увы, не помогло и появились ошибки, так как данный пакет нужен системе и от него зависит пара пакетов.

Ставим пакет обратно:
yum install -y vzkernel-firmware

отключаем rhel-6 kernel репо (напротив rhel6 enabled=1 меняем на enabled=0):
vi /etc/yum.repos.d/openvz.repo

Пробуем обновить:
yum update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centosg4.centos.org
* extras: centosg4.centos.org
* openvz-utils: mirror.softaculous.com
* updates: mirror.nsc.liu.se
openvz-utils | 1.2 kB 00:00
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package kernel.x86_64 0:2.6.32-220.2.1.el6 will be installed
--> Processing Dependency: kernel-firmware >= 2.6.32-220.2.1.el6 for package: kernel-2.6.32-220.2.1.el6.x86_64
--> Running transaction check
---> Package kernel-firmware.noarch 0:2.6.32-220.2.1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================================================================================================================
Package Arch Version Repository Size
=========================================================================================================================================================================================
Installing:
kernel x86_64 2.6.32-220.2.1.el6 updates 24 M
Installing for dependencies:
kernel-firmware noarch 2.6.32-220.2.1.el6 updates 6.2 M

Transaction Summary
=========================================================================================================================================================================================
Install 2 Package(s)

Total download size: 31 M
Installed size: 120 M
Is this ok [y/N]: Y
Downloading Packages:
http://mirror.nsc.liu.se/CentOS/6.2/updates/x86_64/Packages/kernel-2.6.32-220.2.1.el6.x86_64.rpm: [Errno 14] PYCURL ERROR 7 - "couldn't connect to host"
Trying other mirror.
(1/2): kernel-2.6.32-220.2.1.el6.x86_64.rpm | 24 MB 00:05
(2/2): kernel-firmware-2.6.32-220.2.1.el6.noarch.rpm | 6.2 MB 00:01
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 1.1 MB/s | 31 MB 00:27
Running rpm_check_debug
Running Transaction Test


Transaction Check Error:
file /lib/firmware/3com/3C359.bin from install of kernel-firmware-2.6.32-220.2.1.el6.noarch conflicts with file from package vzkernel-firmware-2.6.32-042stab044.11.noarch
file /lib/firmware/3com/typhoon.bin from install of kernel-firmware-2.6.32-220.2.1.el6.noarch conflicts with file from package vzkernel-firmware-2.6.32-042stab044.11.noarch
file /lib/firmware/acenic/tg1.bin from install of kernel-firmware-2.6.32-220.2.1.el6.noarch conflicts with file from package vzkernel-firmware-2.6.32-042stab044.11.noarch
file /lib/firmware/acenic/tg2.bin from install of kernel-firmware-2.6.32-220.2.1.el6.noarch conflicts with file from package vzkernel-firmware-2.6.32-042stab044.11.noarch
file /lib/firmware/adaptec/starfire_rx.bin from install of kernel-firmware-2.6.32-220.2.1.el6.noarch conflicts with file from package vzkernel-firmware-2.6.32-042stab044.11.noarch
file /lib/firmware/adaptec/starfire_tx.bin from install of kernel-firmware-2.6.32-220.2.1.el6.noarch conflicts with file from package vzkernel-firmware-2.6.32-042stab044.11.noarch
file /lib/firmware/advansys/3550.bin from install of kernel-firmware-2.6.32-220.2.1.el6.noarch conflicts with file from package vzkernel-firmware-2.6.32-042stab044.11.noarch
file /lib/firmware/advansys/38C0800.bin from install of kernel-firmware-2.6.32-220.2.1.el6.noarch conflicts with file from package vzkernel-firmware-2.6.32-042stab044.11.noarch
file /lib/firmware/advansys/38C1600.bin from install of kernel-firmware-2.6.32-220.2.1.el6.noarch conflicts with file from package vzkernel-firmware-2.6.32-042stab044.11.noarch
file /lib/firmware/advansys/mcode.bin from install of kernel-firmware-2.6.32-220.2.1.el6.noarch conflicts with file from package vzkernel-firmware-2.6.32-042stab044.11.noarch
file /lib/firmware/atmsar11.fw from install of kernel-firmware-2.6.32-220.2.1.el6.noarch conflicts with file from package vzkernel-firmware-2.6.32-042stab044.11.noarch
Error Summary
-------------

Снова сносим нафиг пакет:
yum remove vzkernel-firmware-2.6.32-042stab044.11.noarch

И успешно выполняем апдейт:
yum update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centosg4.centos.org
* extras: centosg4.centos.org
* openvz-utils: mirror.softaculous.com
* updates: mirror.nsc.liu.se
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package kernel.x86_64 0:2.6.32-220.2.1.el6 will be installed
--> Processing Dependency: kernel-firmware >= 2.6.32-220.2.1.el6 for package: kernel-2.6.32-220.2.1.el6.x86_64
--> Running transaction check
---> Package kernel-firmware.noarch 0:2.6.32-220.2.1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================================================================================================================
Package Arch Version Repository Size
=========================================================================================================================================================================================
Installing:
kernel x86_64 2.6.32-220.2.1.el6 updates 24 M
Installing for dependencies:
kernel-firmware noarch 2.6.32-220.2.1.el6 updates 6.2 M

Transaction Summary
=========================================================================================================================================================================================
Install 2 Package(s)

Total size: 31 M
Installed size: 120 M
Is this ok [y/N]: Y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : kernel-firmware-2.6.32-220.2.1.el6.noarch 1/2
Installing : kernel-2.6.32-220.2.1.el6.x86_64 2/2



Installed:
kernel.x86_64 0:2.6.32-220.2.1.el6

Dependency Installed:
kernel-firmware.noarch 0:2.6.32-220.2.1.el6

Complete!

После этого, снова включаем репозиторий openvz (enabled=1) и еще раз обновляем систему:
yum update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centosg4.centos.org
* extras: centosg4.centos.org
* openvz-kernel-rhel6: mirror.softaculous.com
* openvz-utils: mirror.softaculous.com
* updates: mirror.nsc.liu.se
openvz-kernel-rhel6 | 951 B 00:00
openvz-utils | 1.2 kB 00:00
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package kernel-firmware.noarch 0:2.6.32-220.2.1.el6 will be obsoleted
---> Package vzkernel-firmware.noarch 0:2.6.32-042stab044.11 will be obsoleting
--> Finished Dependency Resolution

Dependencies Resolved

=========================================================================================================================================================================================
Package Arch Version Repository Size
=========================================================================================================================================================================================
Installing:
vzkernel-firmware noarch 2.6.32-042stab044.11 openvz-kernel-rhel6 2.9 M
replacing kernel-firmware.noarch 2.6.32-220.2.1.el6

Transaction Summary
=========================================================================================================================================================================================
Install 1 Package(s)

Total download size: 2.9 M
Is this ok [y/N]: Y
Downloading Packages:
vzkernel-firmware-2.6.32-042stab044.11.noarch.rpm | 2.9 MB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : vzkernel-firmware-2.6.32-042stab044.11.noarch 1/2
Erasing : kernel-firmware-2.6.32-220.2.1.el6.noarch 2/2

Installed:
vzkernel-firmware.noarch 0:2.6.32-042stab044.11

Replaced:
kernel-firmware.noarch 0:2.6.32-220.2.1.el6

Complete!


Итого, kernel-firmware был почему-то замещен vzkernel-firmware. Скорее всего, при следующем апдейте ядра система вылетит снова. И баг, скорее всего, в OpenVZ репо, оно почему-то замещает собой стандартный пакет.

Итого, план фикса следующий:
1) Отключаем репо openvz (enabled=0): vi /etc/yum.repos.d/openvz.repo
2) Удаляем пакет: yum remove -y vzkernel-firmware
3) Обновляемся: yum update -y
4) Включаем репо openvz: vi /etc/yum.repos.d/openvz.repo
5) Обновляем систему (при этом, vzkernel-firmware будет установлен вновь): yum update -y
6) Устанавливаем новое ядро стандартным: vim /boot/grub/grub.conf
7) Радуемся :)

Описание бага в багзилле OpenVZ: http://bugzilla.openvz.org/show_bug.cgi?id=2129