Supermicro разочаровывает..

Запись создана 10 ноября, 2010

Новенький одноюнитовый сервер Supermicro 6016 проработал три дня и сдох.. сдохла видеокарта.
какой-то двухгодовалый Supermicro 2U подохли все сетевые контроллеры, еще один такойже, сдох блок питания.

как-то доверие к ним терять начинаю..

» Запись из раздела Несортированное | 3 комментария

How to split big file to volumes?

Запись создана 31 октября, 2010

Предположим возникла у вас задача разбить большой 11-ти гиговый файл на несколько кусков каждый по гигабайту (например для того чтобы записать на несколько лент или дисков), сделать это можно при помощи tar или split.

tar -v -c -M --tape-length=1024000 --file=userspace-2010-10-28-part1.tgz userspace-2010-10-28.tgz

Приготовьте том Номер 2 для `userspace-2010-10-28-part1.tgz’ и нажмите Enter: n userspace-2010-10-28-part2.tgz
Приготовьте том Номер 2 для `userspace-2010-10-28-part2.tgz’ и нажмите Enter:
Приготовьте том Номер 3 для `userspace-2010-10-28-part2.tgz’ и нажмите Enter: n userspace-2010-10-28-part3.tgz
Приготовьте том Номер 3 для `userspace-2010-10-28-part3.tgz’ и нажмите Enter:
Приготовьте том Номер 4 для `userspace-2010-10-28-part3.tgz’ и нажмите Enter: n userspace-2010-10-28-part4.tgz
………..
Приготовьте том Номер 11 для `userspace-2010-10-28-part11.tgz’ и нажмите Enter: n userspace-2010-10-28-part7.tgz
Приготовьте том Номер 11 для `userspace-2010-10-28-part11.tgz’ и нажмите Enter:

Процесс сбора всех томов воедино выглядит также:

tar -v -x -M --tape-length=1024000 --file=userspace-2010-10-28-part1.tgz userspace-2010-10-28.tgz userspace-2010-10-28.tgz

Приготовьте том Номер 2 для `userspace-2010-10-28-part1.tgz’ и нажмите Enter: n userspace-2010-10-28-part2.tgz
Приготовьте том Номер 2 для `userspace-2010-10-28-part2.tgz’ и нажмите Enter:
Приготовьте том Номер 3 для `userspace-2010-10-28-part2.tgz’ и нажмите Enter: n userspace-2010-10-28-part3.tgz
Приготовьте том Номер 3 для `userspace-2010-10-28-part3.tgz’ и нажмите Enter:
……….
Приготовьте том Номер 11 для `userspace-2010-10-28-part11.tgz’ и нажмите Enter: n userspace-2010-10-28-part3.tgz
Приготовьте том Номер 11 для `userspace-2010-10-28-part11.tgz’ и нажмите Enter:

Или же можно воспользоваться командой split:

split --verbose --bytes=1000m -d userspace-2010-10-28.tgz userspace-2010-10-28.tgz

создание файла `userspace-2010-10-28.tgz00′
создание файла `userspace-2010-10-28.tgz01′
создание файла `userspace-2010-10-28.tgz02′
…………………
создание файла `userspace-2010-10-28.tgz11′

а собрать все томы в едино обычным cat:

cat userspace-2010-10-28.tgz00 userspace-2010-10-28.tgz01 userspace-2010-10-28.tgz02 ... userspace-2010-10-28.tgz11 > userspace-2010-10-28.tgz

» Запись из раздела CentOS Linux | Комментировать

How to get nvidia graphic cards core temperature?

Запись создана 21 октября, 2010

Занялся снижением шума у своего рабочего компьютера, охлаждение процессора заменил на ASUS Triton 75, блок питания на Corsair [CMPSU-650TXEU], добротный корпус Thermaltake V3 black. Убрал лишние жесткие диски (оставил только два: системную 160-ку и теребайтник под сторадж), оставшиеся намертво прикрутил через резиновые сантехнические прокладочки. В итоге осталась только шумная GeForce 210, решил выкрутить из нее вентилятор. Собственно после отключения активного охлаждения видеокарты стало интересно, какая же температура у видеокарты. Выяснить это можно с помощью nvidia-settings.

shakirov@work:~$ nvidia-settings -q [gpu:0]/GPUCoreTemp
 
  Attribute 'GPUCoreTemp' (work:0[gpu:0]): 53.
    'GPUCoreTemp' is an integer attribute.
    'GPUCoreTemp' is a read-only attribute.
    'GPUCoreTemp' can use the following target types: X Screen, GPU.

Для того чтобы засунуть этот параметр в мониторинг, заббикс, кактус или munin может пригодиться однострочник:

nvidia-settings -q [gpu:0]/GPUCoreTemp| grep Attribute| awk '{print $4}'|cut -f1 -d .

Ну собственно только отключив охлаждене, и узнав что температура быстро подскочила до 100 градусов и продолжает расти, начал читать мануал в котором сказано что 105 градусов для GF210 критические. Вобщем пришлось включить кулер, и думать на что же менять видюху..

» Запись из раздела Linux desktop, Ubuntu | 4 комментария

Asterisk SIP and iptables

Запись создана 15 октября, 2010

Появилась задача, удаленному офису нужно подключаться к астериску, и тут и там статические «белые» IP адреса. Для решения задачи были добавлены правила:

iptables -A RH-Firewall-1-INPUT -i eth0 -s 91.211.000.000 -j ACCEPT
iptables -A RH-Firewall-1-INPUT -i eth0 -d 91.211.000.000 -j ACCEPT

если нужно открыть доступ для всех внешних подключений по SIP, то правила следующие:

iptables -A INPUT -p udp -i eth0 --dport 5060 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 5060 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --dport 10000:20000 -j ACCEPT

где eth0 интерфейс с «белым» внешним IP адресом, а 91.211.000.000 это IP адрес удаленного офиса.

» Запись из раздела CentOS Linux, networking, VoIP | 2 комментария

turning of CallForwarding in Asterisk

Запись создана 14 октября, 2010

Для включения безусловной переадресации используется сервисный код *72. При его наборе система спросит номер абонента (по дефолту можно ввести любой) и номер на который надо переадресовывать. Отключить переадресацию можно набрав код *73 но только для своего номера, т.е. если ваш номер 101, а переадресацию надо отключить для 100, то ничего не получится.

собственно переадресацию Call Forward можно отключить или включить из консоли asterisk,

переадресация с номера 100 на 2678678 включена:
[cc lang=»bash»]
office*CLI> database show
…………
/CF/100 : 2678678
…………
[/cc]

или так:
[cc lang=»bash»]
rasterisk -x ‘database show’|grep -r «^/CF»
/CF/101 : 103
[/cc]

Убираем переадресацию:
[cc lang=»bash»]
office*CLI> database del CF 100
[/cc]

или так:
[cc lang=»bash»]
rasterisk -x ‘database del CF 101’
Database entry removed.
[/cc]

Включаем переадресацию с номера 101 на 2768079:
[cc lang=»bash»]
office*CLI> database put CF 101 2768079
Updated database successfully

office*CLI> database get CF 101
Value: 2768079
[/cc]

или так:
[cc lang=»bash»]
rasterisk -x ‘database put CF 101 103’
Updated database successfully
[/cc]

» Запись из раздела VoIP | 1 комметарий

Ubuntu hibernate fails

Запись создана 5 октября, 2010

Hibernate это по нашему спящий режим, содержимое ОЗУ скидывается в swap и компьютер выключается, после включения машина работает с того же момента что и до ухода в хибернейт. Кто работал с виртуальными машинами типа vmware и пр. будет понятнее если сравнить с save state выключением.

Вобщем, когда на рабочий компьютер я устанавливал Ubuntu у меня было всего 1 гиг ОЗУ, соответственно инсталятор сделал небольшой swap раздел. Чуть позже я добил ОЗУ до 4-х гиг и swap раздела стало нехватать для спящего режима. Сделал swap раздел на другом диске и другого размера, машина стала уходить в спящий режим без ошибок, а вот вместо того чтобы просыпаться из него, система просто грузилась заново. Как оказалось нужно менять имя раздела или UID раздела swap не только в fstab но и в файле /etc/initramfs-tools/conf.d/resume

echo RESUME=$(sudo /sbin/blkid | grep swap | awk '{print $2}') > /etc/initramfs-tools/conf.d/resume

на всякий пожарный перегенерим initramfs:

sudo update-initramfs -u

» Запись из раздела Linux desktop, Ubuntu | Комментировать

Cisco 7912 from SCCP to SIP and provisioning

Запись создана 26 сентября, 2010

Несколько лет назад покупал пару IP фонов Cisco CP-7912G= прошивал старенькой SIP прошивкой, настраивались аппараты вручную с клавиатуры аппарата, а тут вот захотелось заапдейтить firmware и заставить аппараты брать конфиг с tftp сервера. Захотел — сделал! теперь расскажу как.

Будем считать что tftp сервер у вас уже есть и dhcp сервер отдает option-150. Будем считать что корень tftp у нас в /tftpboot.
[cc lang=»bash»]
cd /tftpboot
wget https://itblog.su/wp-content/uploads/2010/09/7912.tar.gz
tar zxf 7912.tar.gz
[/cc]

Из архива распакуются файлы:
[cc lang=»ini»]
bmp2logo.exe
cfgfmt.exe
cfgfmt.linux
cfgfmt.sun
CP7912080001SIP060412A.sbin
gkdefault.cfg
gkdefault.txt
prserv.exe
prserv.linux
prserv.sun
Readme.txt
sipexample.txt
sip_ptag.dat
[/cc]

первый файл который сливает телефон имеет имя gkdefault.cfg файлик этот бинарный.
в файле прописываются конфигурационные данные одинаковые для всех телефонов, это так называемый первый уровень provisioning. В качестве второго уровня выступает файл gk где это mac-адрес телефона, в этом файле укзываются конкретно для данного телефона настройки, например логин и пароль.

Итак для того чтобы телефон прошился последней фирмварью CP7912080001SIP060412A.sbin нужно создать файл gkdefault.txt с содержимым:

#txt
upgradecode:3,0x601,0x0400,0x0100,0.0.0.0,69,0x060412a,CP7912080001SIP060412A.sbin
UIPassword:1234

после чего из текстового файла сделать бинарный.
[cc lang=»bash»]
chmod +x cfgfmt.linux
./cfgfmt.linux -tsip_ptag.dat gkdefault.txt gkdefault.cfg
[/cc]

Теперь создадим файл gk00192ff6e690.txt для второго уровня.

#txt
dhcp:1
Proxy:192.168.1.100
UID:100
PWD:password_here
LoginID:100
SIPRegOn:1

ну и конечно скомпилируем:
[cc lang=»bash»]
./cfgfmt.linux -tsip_ptag.dat gk00192ff6e690.txt gk00192ff6e690.cfg
[/cc]

теперь сделаем ресет телефона, для этого нужно набрать комбинацию **#** и подтвердить желаение сделать manufacture reset.

более подробная инструкция по провизионингу ест ьв файле sipexample.txt

» Запись из раздела Cisco, VoIP | Комментировать

static routes pushed through DHCP

Запись создана 15 сентября, 2010

Моя домашняя сеть находится в 192.168.1.0/24, а голос вынесен в подсеть 192.168.0.0/24.
доступ «в мир» роутится через 192.168.1.1 а в голос через 192.168.1.111 (да вот захотелось мне так).
Домашние машины получают ip адреса из подсети 192.168.1.0/24, а айпифоны из подсети 192.168.0.0/24

соответственно по дефолту машины не могут получить доступа к фойсовым аппаратам (ATA и IP фоны), прописывать на каждой машине статик роуты, я считаю моветоном. К счастью, не я один так считаю и есть rfc3442 позволяющий с DHCP сервера передавать клиентам статичные маршруты.

итак настроим dhcp сервер давать статик роут на сеть 192.168.0.0/24 через 192.168.1.111
[cc lang=»ini»]
option ms-classless-static-routes code 249 = array of unsigned integer 8;
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

option ms-classless-static-routes 24, 192,168,0, 192, 168, 1, 111;
option rfc3442-classless-static-routes 24, 192,168,0, 192, 168, 1, 111;
[/cc]

Так как Microsoft компания новатор, срать ей хотелось на RFC. По этому в приведенном выше конфиге присутствуют ms-classless строки. Если у вас в сети нет windows машин, то можно их не уазывать.

На сервере делаем service dhcpd restart, а на клиенте /etc/init.d/networking restart и на клиенте получим:
[cc lang=»bash»]
shakirov@work:~$ route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
192.168.0.0 192.168.1.111 255.255.255.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
[/cc]

справедливо это для Ubuntu на клиенте, говорят что в других дистрибутивах нужно в /etc/dhcp3/dhclient.conf добавить:
[cc lang=»bash»]option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;[/cc]

И в том же файле в поле request добавить параметр rfc3442-classless-static-routes; выглядеть в итоге должно так:
[cc lang=»ini»]
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

send host-name ««;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;
[/cc]

И еще, если нет, то надо создать файл /etc/dhcp3/dhclient-exit-hooks.d/rfc3442-classless-routes
[cc lang=»bash»]
RUN=»yes»

if [ «$RUN» = «yes» ]; then
if [ «$new_rfc3442_classless_static_routes» != «» ]; then
if [ «$reason» = «BOUND» ] || [ «$reason» = «REBOOT» ]; then
rfc_routes=($new_rfc3442_classless_static_routes)

for(( i=0; i < ${#rfc_routes[@]}; )); do net_length=${rfc_routes[$i]} ((i++)) net_address=(0 0 0 0) for(( j=0; j < $[$net_length / 8 + \ ($net_length % 8 ? 1 : 0)]; j++, i++)); do net_address[$j]=${rfc_routes[$i]} done gateway=(0 0 0 0) for (( j=0; j < 4; j++, i++ )); do gateway[$j]=${rfc_routes[$i]} done old_IFS="$IFS" IFS='.' if [ "$net_length" == "32" ]; then /sbin/route add -host "${net_address[*]}" gw "${gateway[*]}" else /sbin/route add -net "${net_address[*]}/$net_length" gw "${gateway[*]}" fi IFS="$old_IFS" done fi fi fi [/cc] Ну и конечно сделать его исполняемым. кстати, если нужно передать несколько статичных маршрутов клиентам, то перечислять их надо через запятую, примерно вот так: [cc lang="ini"] option ms-classless-static-routes 24, 192,168,0, 192,168,1,111, 16, 172,16, 10,16,40,100; option rfc3442-classless-static-routes 24, 192,168,0, 192,168,1,111, 16, 172,16, 10,16,40,100; [/cc] И на последок, если используете OpenWRT и сервер dnsmasq, то вам приголится мануал http://www.debian-administration.org/articles/471

» Запись из раздела networking, Несортированное | 5 комментариев

Elastix Flash Operator Panel default password

Запись создана 13 сентября, 2010

If you a new user to Elastix (Unified Communications platform Asterisk based) and trying to enter FOP (flash operator panel) first time, you’ll need to enter a password that not the same as admin passowrd.

Deffauld password stored in file /etc/amportal.conf section:
[cc lang=»ini»]
# FOPPASSWORD: the secret code for performing transfers and hangups in the FOP
FOPPASSWORD=eLaStIx.2oo7
[/cc]

so as you see, default password is «eLaStIx.2oo7» without quotes. And you beter to change it.

» Запись из раздела VoIP | Комментировать

Мультифон в Asterisk (trixbox/elastix/freePBX)

Запись создана 11 сентября, 2010

Trunk Description: multifon
Outbound Caller ID: 79297xxxxxx
Trunk Name: multifon

PEER Details:
[cc lang=»ini»]
host=multifon.ru
username=79297xxxxxx
secret=PASSWORD_HERE
type=peer
dtmfmode=inband
insecure=very
fromuser=79297xxxxxx
fromdomain=multifon.ru
qualify=yes
nat=yes
[/cc]
Register String:
[cc lang=»ini»]79297xxxxxx:PASSWORD_HERE@multifon.ru[/cc]

» Запись из раздела VoIP | Комментировать

« предыдущая страницаследующая страница »