FastNetMon

среда, 20 июня 2012 г.

На сколько % снижается производительность системы при использовании ECC памяти?

Using ECC decreases your computer's performance by about 2 percent. Current technology DRAM is very stable, and memory errors are rare, so unless you have a need for ECC, you are better served with non-parity (non-ECC) memory. 
Источник: http://www.crucial.com/kb/answer.aspx?qid=3692 

Отладка работы протокола DHCP

Делается это чудесной утилитой:
apt-get install -y dhcpdump
Вот такую выдачу она генерит:
dhcpdump -i vlan17
TIME: 2012-06-20 02:15:18.957
IP: 0.0.0.0 (38:60:77:b4:a4:bc) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: efac6b7d
SECS: 0
FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 38:60:77:b4:a4:bc:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 3 (DHCPREQUEST)
OPTION: 50 ( 4) Request IP address xx.yy.zz.kk
OPTION: 55 ( 13) Parameter Request List 1 (Subnet mask)
28 (Broadcast address)
2 (Time offset)
121 (Classless Static Route)
15 (Domainname)
6 (DNS server)
12 (Host name)
40 (NIS domain)
41 (NIS servers)
42 (NTP servers)
26 (Interface MTU)
119 (Domain Search)
3 (Routers)
---------------------------------------------------------------------------

вторник, 12 июня 2012 г.

Профайлинг ядра Linux

В современных ядрах в папке tools/perf обитает чудесная утилита, которая позволяет посмотреть, чем таким интересным занимается ядро и отпрофайлить все это дело ./perf top:
                                          
Так можно отлаживать системы в случае большого потребления прцоессора системой.

воскресенье, 3 июня 2012 г.

Как заставить ОС принудительно выполнить fsck при следующей загрузке?

Край
touch /forcefsck
Точно работает для Debian 6, CentOS 6. 

Увеличение диска в файле виртуальной машине на KVM с ext4

Сначала ОБЯЗАТЕЛЬНО делаем бэкап файла, с которым работаем!!!!

Увеличиваем сам файл:
truncate --size=+2G storage.img
 Открываем диск через parted:

parted /home/kvmnodes/netmon.img
GNU Parted 2.1
Используется /home/kvmnodes/netmon.img
Добро пожаловать в GNU Parted! Наберите 'help' для просмотра списка команд.
(parted) p                                                              
Модель:  (file)
Диск /home/kvmnodes/netmon.img: 56,9GB
Размер сектора (логич./физич.): 512B/512B
Таблица разделов: msdos
Номер  Начало  Конец   Размер  Тип      Файловая система  Флаги
 1     1049kB  8000MB  7999MB  primary  ext4              загрузочный
 2     8000MB  8589MB  589MB   primary  linux-swap(v1)
В моем случае есть возможность увеличить / раздел, временно удалив swap.
Итак, удаляем swap:
rm 2
Удаляем следом наш рут:
rm 1
Создаем вновь с увеличенным размером:
mkpart primary 1049Kb 50000Mb   
Создаем swap:
mkpart primary 50,1Gb 100%

Все, после этого можно загрузить рабочую систему, если не считать проблемы с изменением uuid swap раздела, она должна загрузится корректно.
Итак, в рабочей системе мы увидим примерно следующее:

p                                                              
Model: ATA QEMU HARDDISK (scsi)
Disk /dev/sda: 56.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number  Start   End     Size    Type     File system  Flags
 1      1049kB  50.0GB  50.0GB  primary  ext4
 2      50.0GB  56.9GB  6908MB  primary

Создаем swap заново:
mkswap  /dev/sda2
Setting up swapspace version 1, size = 6746108 KiB
no label, UUID=372bcd05-a88c-4e87-bf3f-98fa85207817
После этого надо исправить fstab, чтобы пропсиать там новый UUID.
Далее нам нужно увеличить файловую систему, в принципе, при наличии бэкапа это можно сделать online: (As  of  this  writing,  the Linux 2.6 kernel supports on-line resize for filesystems mounted using ext3 and ext4.).

Запускаем resize до максимально возможного размера (по размерам раздела):


resize2fs /dev/sda1
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 3
Performing an on-line resize of /dev/sda1 to 12206848 (4k) blocks.
The filesystem on /dev/sda1 is now 12206848 blocks long.
После этого диск увеличится:
df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              46G  7.0G   37G  17% /
tmpfs                 123M     0  123M   0% /lib/init/rw
udev                  118M   96K  118M   1% /dev
tmpfs                 123M     0  123M   0% /dev/shm
overflow              1.0M  4.0K 1020K   1% /tmp
 Запланируем fsck при следующем ребуте:
touch /forcefsck
 И перезагружаемся:
reboot 
Теперь желательно посмотреть на экран монитора/KVM, что проверка прошла успешно.   Вот и все!

пятница, 1 июня 2012 г.

Установка универсальной (Debian, CentOS и т.д.) утилиты arcconf для контроллеров Adaptec

С недавнего времени, в комплекте дистрибутива storage manager имеется статически слинкованый бинарик, который работает корректно на любом дистрибутиве.

Итак, процесс установки очень прост:
cd /usr/src
wget http://download.adaptec.com/raid/storage_manager/asm_linux_x64_v7_31_18856.tgz
tar -xf asm_linux_x64_v7_31_18856.tgz 
mkdir /opt/adaptec
cp cmdline/arcconf  /opt/adaptec/

Вот ссылка на 32 битную версию: http://download.adaptec.com/raid/storage_manager/asm_linux_x86_v7_31_18856.tgz

Пример работы:

/opt/adaptec/arcconf getconfig 1 ld
Controllers found: 1
----------------------------------------------------------------------
Logical device information
----------------------------------------------------------------------
Logical device number 0
Logical device name : ra
RAID level : 1
Status of logical device : Optimal
Size : 953334 MB
Read-cache mode : Enabled
MaxCache preferred read cache setting : Enabled
MaxCache read cache setting : Disabled
Write-cache mode : Disabled (write-through)
Write-cache setting : Disabled (write-through)
Partitioned : Yes
Protected by Hot-Spare : No
Bootable : Yes
Failed stripes : No
Power settings : Disabled
--------------------------------------------------------
Logical device segment information
--------------------------------------------------------
Segment 0 : Present (Controller:1,Connector:0,Device:0) WD-WX31EA1RV007
Segment 1 : Present (Controller:1,Connector:0,Device:1) WD-WXB1EA1HHJD9

Command completed successfully.
Вот так :)
Сам бинарик весьма немалого размера:
ls -lah /opt/adaptec/arcconf
-rwxr-xr-x 1 root root 2.1M Jun 1 21:02 /opt/adaptec/arcconf
Но совершенно честно не использует никаких либ, кроме стандартных:
ldd /opt/adaptec/arcconf
linux-vdso.so.1 =>  (0x00007ffff37c6000)
libdl.so.2 => /lib/libdl.so.2 (0x00007fd49b2b1000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007fd49b095000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x00007fd49adb8000)
libm.so.6 => /lib/libm.so.6 (0x00007fd49ab36000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fd49a920000)
libc.so.6 => /lib/libc.so.6 (0x00007fd49a5bd000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd49b4ba000)