Игорь Олемской — практические заметки по системному администрированию Linux CentOS

Архив тега ‘Несортированное’

Linux KVM and USB devices (перепечатка)

Комментариев нет

Возникла необходимость прокинуть в KVM-ную виртуалку USB девайсы, токен и флешку.

[root@office ~]# lsusb
Bus 002 Device 003: ID 0930:6545 Toshiba Corp. Kingston DataTraveler 102 Flash Drive
Bus 006 Device 003: ID 23a0:0002
[root@office ~]# virsh
virsh # list  --all
 ID Имя               Статус
----------------------------------
  - WindowsXP             выключен
 
virsh # edit WindowsXP

в блок devices добавляем:

    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x23a0'/>
        <product id='0x0002'/>
      </source>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x0930'/>
        <product id='0x6545'/>
      </source>
    </hostdev>

На Centos 6 это к сожалению работать не будет, только один девайс можно прокинуть. По тому что qemu-kvm-0.12.

yum thru proxy (перепечатка)

Комментариев нет

В сети есть ip-pbx, по политике безопасности трафик с него/на него не должен маршрутизироваться за пределы сегмента локальной сети. Но он должен обновляться, ему нужен http доступ наружу. Соотвественно Yum должен ходить через прокси (в том же сегменте сети). По ленивой привычке идем в гугл и читаем тонны бреда про то как правильно экспортировать переменные среды.

Ну чтож за любовь такая у людей, велосипеды изобретать. man yum.conf:

              proxy url to the proxy server that yum should use.
 
              proxy_username username to use for proxy
 
              proxy_password password for this proxy

Прокся в данном случае без авторизации, соответственно добавляю в конфиг /etc/yum.conf

proxy = http://192.168.3.1:3128/

Adaptec 5405 and others on Centos 5 (перепечатка)

Комментариев нет

Есть такой популярный контроллер Adaptec 5405, мы его ставим в сервера в больших количествах, соотвественно нужно мониторить состояние массивов на серверах.

Для этого есть nagios и zabbix, а чтобы наши мониторинги могли узнавать статус массивов используем утилиту arcconf от производителя Adaptec.

Покажу на примере CentOS 5.6 x86_64 установку arcconf

http://download.adaptec.com/raid/storage_manager/asm_linux_x64_v7_00_18781.tgz
tar zxf asm_linux_x64_v7_00_18781.tgz
mv cmdline/arcconf /bin/

Если вам нужен Adaptec Storage Manager agent то можете поставить пакетом всё что поставляет Adaptec

 rpm -Uvh manager/StorMan-7.00.x86_64.rpm

Ну и проверить не забудьте:

arcconf GETCONFIG 1 AD
Controllers found: 1
----------------------------------------------------------------------
Controller information
----------------------------------------------------------------------
   Controller Status                        : Optimal
   Channel description                      : SAS/SATA
   Controller Model                         : Adaptec 5405
   Controller Serial Number                 : 0D29116C7A3
   Physical Slot                            : 1
   Temperature                              : 67 C/ 152 F (Normal)
   Installed memory                         : 256 MB
   Copyback                                 : Disabled
   Background consistency check             : Disabled
   Automatic Failover                       : Enabled
   Global task priority                     : High
   Performance Mode                         : Default/Dynamic
   Stayawake period                         : Disabled
   Spinup limit internal drives             : 0
   Spinup limit external drives             : 0
   Defunct disk drive count                 : 0
   Logical devices/Failed/Degraded          : 1/0/0
   SSDs assigned to MaxIQ Cache pool        : 0
   Maximum SSDs allowed in MaxIQ Cache pool : 8
   MaxIQ Read Cache Pool Size               : 0.000 GB
   MaxIQ cache fetch rate                   : 0
   MaxIQ Cache Read, Write Balance Factor   : 3,1
   NCQ status                               : Enabled
   Statistics data collection mode          : Enabled
   --------------------------------------------------------
   Controller Version Information
   --------------------------------------------------------
   BIOS                                     : 5.2-0 (17899)
   Firmware                                 : 5.2-0 (17899)
   Driver                                   : 1.1-5 (24702)
   Boot Flash                               : 5.2-0 (17899)
   --------------------------------------------------------
   Controller Battery Information
   --------------------------------------------------------
   Status                                   : Not Installed

версии под другие платформы и ОС доступны на официальном сайте

Данная инструкция также верна для:
Adaptec RAID 2045
Adaptec RAID 2405
Adaptec RAID 2405Q
Adaptec RAID 2805
Adaptec RAID 5085
Adaptec RAID 51245
Adaptec RAID 51645
Adaptec RAID 52445
Adaptec RAID 5405
Adaptec RAID 5405Z
Adaptec RAID 5445
Adaptec RAID 5445Z
Adaptec RAID 5805
Adaptec RAID 5805Q
Adaptec RAID 5805Z
Adaptec RAID 5805ZQ

Remove UTF8 BOM under linux (перепечатка)

Комментариев нет

После переноса файлов с фряхи на linux простым rsync в текстовых файлах появился UTF-8 BOM, это такой маркер типа UTF (легко гуглится кому интересно). По факту это в начало вайла добавляется HEX символы: EF BB BF. Проблема выражается в том что кирилицу в файлах кривит и косит.

Переходим в каталог который надо чинить и правим:

find . -type f \( -name '*.css' -o -name '*.js' -o -name '*.txt' -o -name '*.php' -o -name '*.htm' -o -name '*.html' \) -print0 | xargs -0 grep -l `printf '^\xef\xbb\xbf'` | xargs sed -i '1 s/^\xef\xbb\xbf//'

Booting ms dos via PXE to update bios (перепечатка)

Комментариев нет

Для обновления BIOS на сервре как правило нужно загрузиться с дискеты с MS DOS и запустить утилиту обновления, в современном мире не так просто найти FDD, да и дискету сходу не удалось найти.

Но в it инфраструктуре как правило уже развернут PXE сервер для обслуживания серверов или устновки операционной системы, собственно им и воспользуемся.

apt-get install dosfstools gettext build-essential
wget "http://downloads.sourceforge.net/project/ms-sys/ms-sys%20stable/2.2.0/ms-sys-2.2.0.tar.gz?use_mirror=citylan" -O ms-sys-2.2.0.tar.gz
tar zxf ms-sys-2.2.0.tar.gz && cd ms-sys-2.2.0/
make
cp bin/ms-sys /usr/bin/
cd .. && rm -rf ms-sys-2.2.0*
dd if=/dev/zero of=floppy.img bs=1024 count=20000
mkdosfs floppy.img
ms-sys -1 -f floppy.img
mount -o loop floppy.img /mnt/
wget http://itblog.su/downloads/W98SE_R.img
mount -o loop W98SE_R.img /tmp/dos
cp /tmp/dos/* /mnt/
umount /tmp/dos && rm -rf /tmp/dos
mv X8DTU_204.ima /mnt/
wget ftp://ftp.supermicro.com/utility/IPMI%20FW%20flash%20tools/AMI/DOS%202.4.zip
unzip  DOS\ 2.4.zip
mv DOS/yafukcs.exe /mnt/
rm -rf DOS*
umount /mnt
mv floppy.img /tftpboot/
 
cat >> /tftpboot/pxelinux.cfg/default <<EOF
label dos
    menu label dos
   kernel memdisk
   append initrd=floppy.img
EOF

H-Sphere account move error «Suspended due to resources integrity» (перепечатка)

Комментариев нет

При переносе аккаунта с сервера на сервер из H-shphere возможна ошибка «Suspended due to resources integrity»

Заходим на сервер cp рутом и выполняем:

grep "duplicate key violates unique" /var/log/hsphere/hsphere.log.1  -B3

получим что-то вроде:

2011-05-04 11:15:34,614 [transfer] DEBUG cron.TransferCron - getResourcesInMoveInfo(): got and checking 1608767_7 is a HostDependentResource -  true
2011-05-04 11:15:34,614 [transfer] DEBUG cron.TransferCron - getResourcesInMoveInfo(): host_id=75
2011-05-04 11:15:34,623 [transfer] ERROR cron.TransferCron - Getting resources info for process 1510
org.postgresql.util.PSQLException: ERROR: duplicate key violates unique constraint "resources_in_move_pkey"
--
2011-05-04 11:15:35,195 [transfer] DEBUG cron.TransferCron - getResourcesInMoveInfo(): got and checking 1505546_7 is a HostDependentResource -  true
2011-05-04 11:15:35,195 [transfer] DEBUG cron.TransferCron - getResourcesInMoveInfo(): host_id=75
2011-05-04 11:15:35,197 [transfer] ERROR cron.TransferCron - Getting resources info for process 1519
org.postgresql.util.PSQLException: ERROR: duplicate key violates unique constraint "resources_in_move_pkey"

Теперь переходим к системено PostgreSQL базе:

sudo su -l cpanel -c 'psql hsphere'

и находим ресурсы взятые из лога выше:

hsphere=# SELECT * FROM resources_in_move WHERE rid = 1608767;
 tp_id |   rid   | rtype |          created           | deleted | job_id | tt_id | ord
-------+---------+-------+----------------------------+---------+--------+-------+-----
  1188 | 1608767 |     7 | 2010-02-08 06:08:08.191+03 |         |   1149 |       |   0
(1 ROW)
 
hsphere=# SELECT * FROM resources_in_move WHERE rid = 1505546;
 tp_id |   rid   | rtype |          created           |          deleted           | job_id | tt_id | ord
-------+---------+-------+----------------------------+----------------------------+--------+-------+-----
  1271 | 1505546 |     7 | 2010-02-08 07:38:30.028+03 | 2010-02-09 08:18:42.944+03 |   1225 |       |   0
(1 ROW)

удаляем найденные из таблицы resources_in_move:

hsphere=# BEGIN;
BEGIN
hsphere=# DELETE FROM resources_in_move WHERE tp_id = 1188;
DELETE 168
hsphere=# DELETE FROM resources_in_move WHERE tp_id = 1271;
DELETE 41
hsphere=# COMMIT;
COMMIT
hsphere=# \q

И снова начинаем перенос аккаунтов, теперь всё пройдет нормально.

iptables and ftp in passive mode (перепечатка)

Комментариев нет

Если на сервере открыть только 21 порт то ftp будет доступен только в active mode, но браузеры по умолчанию ломятся всегда в passive. Для того чтобы отрыть passive mode нужно подгрузить модуль ip_conntrack_ftp.

modprobe ip_conntrack_ftp
iptables -I RH-Firewall-1-INPUT 1 -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 1 -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

Mysql cache on ramdisk (перепечатка)

Один комментарий

Выносим кеш и временные таблицы mysql в память. для этого подключим ram-диск:

mount -t tmpfs -o size=1024M tmpfs /tmp/mysql/
echo 'tmpfs                   /tmp/mysql              tmpfs   size=1024M,mode=01770,uid=100,gid=101,noatime 0 0' >> /etc/fstab

В конфиге Mysql /etc/my.cnf добавляем директиву в блоке [mysqld]:

tmpdir=/tmp/mysql/

И перезапускаем mysql сервер.

увидеть создаваемые временные файлы можно с помощью lsof

lsof /tmp | grep mysql

Кстати, в тот же рамдиск можно запихать кеш eAccelerator/xCache/squid.

Cisco 7900 series power supply (перепечатка)

Комментариев нет

Айпифоны Cisco серии 7900 поставляются без БП, блоки питания к ним нужно заказывать отдельно. Или питать по PoE или Cisco Inline power (в зависимости от модели). На данный момент я видел блоки питания от трех поставщиков, официально они все называются:

CP-PWR-CUBE-3
P/N 341-0206-02
48V – 0.38A

По факту сейчас у меня в руках три разных БП, от разных ОЕМ производителей.
PSA18U-480C – олдстайл блоки питания, они раньше поставлялись, а сейчас ушлый китайцы делают полную копию.
EADP-18CB A – их делают в Delta Electronics, известный тайландский OEM-щик. Поставляются официально.
PSC18U-480 – делает неизвестный производитель в китае, поставляются официально.

Официальная цена в среднем 30-40$. На ebay можно купить за 14 баксов подделку под PSA18U-480C, но из 4-х блоков два перегревались и сдохли через пару часов.

PSC18U-480
PSC18U-480
PSC18U-480
PSA18U-480C
PSA18U-480C
PSA18U-480C
EADP-18CB
EADP-18CB
EADP-18CB
коннектор

wish list (перепечатка)

Комментариев нет

Делаю себе заметочку чтобы не забыть, домой надо купить:
Cisco Linksys SLM2008 datashet in pdf

Allied Telesis AT-WR2304N datashet in pdf