среда, 28 апреля 2010 г.

NAS - Dlink DNS323 - as backup system and NAS

DNS-323
Появилась небольшая задача:
  • организовать файло-помойку НЕ на сервере - дабы не занимать ценное место на сервере говном, ценной информацией. (samba + quotas)
  • организовать резервное копирование пользовательских данных: огромного количество дерьмища  баз 1c, документов пользователей с локальных машин, конфигурационных файлов с серверов и Кисок. (smb, rsynced, rsh)
  • добавить в существующий мониторинг  основные параметры  (munin)
  • крипто-контейнер (crypto-loop)
  • новостной портал компании (lightttp/php/mysql/perl) 
  • торрент-клиент !!
  • ftp/sftp
Дополнительное условия:
  • невысокая цена (железка валялась после закрытия одного из филиалов ) 
  • низкое энергопотребление/тепловыделение
  • небольшие размеры  (в стойке место закончилось)
  • надёжное хранение (RAID-1)
Результат - после 3 минутного колебания между VM, VPS, vmware-guest остановился на первоначальном варианте (пришел в голову до всего вышеперечисленного :) ) - сделать так, как обычно делаю для себя - небольшое embeded устройство с запуском Linux  - магия :)
И вот как в известном анекдоте И теперь с этим придуманным дерьмом попытаемся взлететь ...
Prerequisites (Необходимо-дано):
  1. Dlink DNS-323 Firmware 1.08
  2. 2 x Samsung 500 GB
  3. raid-1
  4. устройство настроено и работает в штатном режиме ( настроен LAN, созданы шары/ пользователи)
Начнем (samba):

  Устанавливаем fonz fun_plug  активируем telnet и ssh.
В настройке по умолчанию SAMBA есть проблема, для возможности гостевого просмотра шар, в случае использования  security = USER,  добавляем в /etc/samba/smb.conf  раздел [ global ] опцию  map to guest = Bad User  более детально я уже писал чуть ранее в моем блоге.

  Читаем http://wiki.dns323.info/howto:ffp для понимания основ.

   Далее полезно прочитать: http://wiki.dns323.info/howto:1st_steps в основном шаги "Step 6. Install repository for local use" и "Step 7. Install MidnightCommander"
 Для облегчения последующих задач добавляем optware ipkg http://wiki.dns323.info/howto:optware

  В результате получим файловую помойку с поддержкой пользователей, квот на raid-1 и хороший задел в виде консольного доступа и готовый пакетных менеджеров ipkg / dpkg.

Резервное копирование (backuppc):
  •   Опираемся целиком на http://wiki.dns323.info/howto:backuppc, но есть некоторые но: "CPAN" shell у меня съедает всю память и не может нормально выполнять свои задачи - ставим все библиотеки из span в ручную 
  •  При установки backuppc - получаем ошибку <Bareword "compareLOGName" not allowed> - решается заменой в lib/BackupPC/Lib.pm в районе 1466 строки  return sort(compareLOGName @files); на return sort compareLOGName @files;
 Мониторинг (munin-node):

   Для установки я использовал достаточно старую версию munin-1.2.5. (у меня достаточно старый munin-master). Установка сводится к установки зависимостей (большинство поставлено во время backuppc, но Net::Server::Fork поставить нужно отдельно) и редактированию Makefile.config:

...# В самое начало добавляем destdir - решит проблему с размещением файлов.DESTDIR    = /ffp...

  После  make install-node проверяем скрипты и так же правим пути добавляя  /ffp  перед указанными каталогами и в munin-node правим в коде расположение pid ( pid_file => "/ffp/var/run/munin/munin-node.pid" ) , так же поправить /ffp/etc/opt/munin/munin-node.conf на предмет путей к pid и разрешений для доступа например allow ^192\.168\.0\.200$, где 192.168.0.200 – ваш адрес munin-master

 После этого можно делать 

#munin-node-configure –shell | sh

И запускать при старте munin-node – я сделал таким скриптом:

#!/bin/sh

# PROVIDE: munin-node
# REQUIRE: DAEMON
# BEFORE:  LOGIN
# KEYWORD: shutdown

. /ffp/etc/ffp.subr

name="munin-node"
start_cmd="munin_node_start"
restart_cmd="munin_node_restart"
stop_cmd="munin_node_stop"
status_cmd="munin_node_status"

munin_node_start()
{
    /ffp/opt/munin/sbin/munin-node
    echo "${name} started"
}

munin_node_restart()
{
    munin-node_stop
    sleep 1
    munin-node_start
}

munin_node_stop()
{
    /ffp/bin/pkill -f "munin-node"
    echo "${name} stopped"
}

munin_node_status()
{
    if [ "`ps ax | grep "munin-node" | grep -v "grep"`" = "" ] ; then
        echo "${name} not running"
    else
        echo "${name} running"
    fi
}


extra_commands="status"
run_rc_command "$1"

Проверяем с master-node

eugen@indigo:~$ telnet 192.168.95.20 4949
Trying 192.168.95.20...
Connected to 192.168.95.20.
Escape character is '^]'.
# munin node at dlink-17080D
list
open_inodes irqstats entropy df_inode cpu df_abs processes acpi open_files forks iostat memory df interrupts swap dns323_fan load
Всё в порядке.
Про доработку плугинов в следующей части.


... ещё пишу ...

пятница, 23 апреля 2010 г.

Шенгенская виза - чтоб не забыть.

  Испанский визовый центр:
www.spainvac-ru.com
ссылка по документам
call центр - +7(495)784-71-51 (70 руб. минута)


  Французское посольство
reseau.ambafrance-ru.org/spip.php?article6332

  Чешский визовый центр
www.czechvac-ru.com

 Посольство Нидерландов
www.netherlandsvac-ru.com/

 Визовый сервис-центр Мальты
www.maltavac-ru.com/
call центр - +7(495)775-60-73

среда, 21 апреля 2010 г.

Samba - при попытке запросить список шар - запрашивается пароль.

Проблема:


  Параметр "Security = User" определяет как будут себя вести клиенты Samba при аутентификации.


  Простым языком при запросе списка шар (открытии в сетевом окружении данного "компьютера")  вместо отображения шар - у нас запросят пароль.


  Для понимания процессов читаем следующее:
  В нашем случае имя запрошенного ресурса не будет послано сервером до тех пор, пока сервер не аутентифицирует клиента. Из-за такого поведения гостевые учетки не работают в режиме USER, и не позволяя серверу преобразовывать неопознанных пользователей в гостей.   


   Именно для этого и предназначен параметр "map to guest" - в указанных выше русскоязычных ссылках очень много ошибок перевода - именно за ними и ускользает смысл - для понимания истины читаем первоисточник - ищем "map to guest"


   Смысл опции :  map to guest = Bad User  означает, что запросы с неправильным паролем будут отклонены, если такое имя пользователя существует. Если не существует, то такие запросы будут считаться как попытки зайти гостем (guest account). В шарах должен быть разрешен доступ гостей.


[ global ]
interfaces = egiga0
unix charset = UTF8
workgroup = workgroup
netbios name = dlink-17080D
server string = DNS-323
hosts allow =
hosts deny =
map to guest = Bad User
security = USER
encrypt passwords = yes...

PHPlist - менеджер рассылки электронной почты



PHPList 
В задачах появилась проблема создание, управления и контроля рассылки электронной почты - решение нашлось само :) С письмом от тур. оператора о туре - пришла и подпись PHPList - быстро, просто, понятно

XP - Remote desktop одновременные соединения

  Появилась задача убрать убрать ограничения на одновременное подключение клиентов к серверу (Concurrent Remote Desktop  connection/sessions limit). Причем дано настроенный XP SP3  и полоумные  пользователи требующие такое - решение простое   Universal Termsrv.dll или пресловутый tssfree.exe.


  Второй вариант слишком старый - останавливаемся на первом - запускаем под рутом - патчимся - вуа ля... Просто и понятно.



понедельник, 19 апреля 2010 г.

QR-code - свершилась мечта. Инвентаризация стала проще.


Ссылка на страницу Wikipedia посвященная QR-code.

В текущий момент:
  • на оборудование клеем наклейки с кодом 
  • код генерируем скриптом ниже
  • распознаем сотовым телефоном - попадаем сразу в на страницу с описанием оборудования

 Сканером 2d-кодов QR Code, BeeTagg Code, Datamatrix
 www.beetagg.com/


Так же понравился:


BarcodeZilla v0.9.5 RU

русская и со всех сторон очень ничего :). особенно распознание цен по штрих-кода в разных странах - мощь :)

PS:
Что такое QR-code ru.wikipedia.org/wiki/QR_код
qr-generator - http://www.karlson.ru/qr/
Генератор QR-кодов - http://2qr.ru
свободный вариант генерации QR от Adobe

Ещё один ридер - но позволяет пользоваться связкой QuickMark Manager

кое-что на ruby
и просто мысли про qr-code

PS: так же интересен Read QR-Code using a webcam

воскресенье, 18 апреля 2010 г.

Баланс оператора для HTC на PocketPC (Dynamic Operator Name)



   На удивление удобная и нужная feature - показывает вместо operator name - баланс - ведет лог баланса относительно времени считает интернет и usb трафики - и самое главное работает хоть в Manilla , хоть today -  меняет системное название оператора.

PS: обсуждение на 4pda.

System Request сочетания клавиш - (SysRq_key)

 Иногда для работы необходимо завершить все процессы или совершить перезагрузку без использования команд (некорректная работа команд , root fs read only) как раз в этих случаях используются System Request клавиши.

Например:


  • Alt+SysRq+k — убить все процессы.
  • Alt+SysRq+s — сохранить все дисковые буферы.
  • Alt+SysRq+b — перезагрузить ОС.
Более детально на русском. (более детально на английском )
 Однако, когда у вас доступ к серверу только по SSH, нажать подобную комбинация не так то легко. К счастью, создатели Linux уже позаботились о нас (например послать Alt+SysRq+b ):


echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger



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

pgpool-II - posgreSQL util - учебник

Кто не знает, pgpool-II — это замечательная тулза для postgresql, которая позволяет делать:
  1. репликацию (в том числе, с автоматическим переключением на резервный stand-by сервер);
  2. online-бэкап;
  3. pooling коннектов;
  4. очередь соединений;
  5. балансировку SELECT-запросов на несколько postgresql-серверов;
  6. разбивать запросы, для параллельного выполнения над большими объемами данных.

Собрать пакет Debian ....

Читаю http://goo.gl/iQGT. Пока что просто читаю. :)

и посматриваю http://goo.gl/L5Sg - анатомия пакета Debian

Система управления содержанием - электронный документооборот. (alfresco - ECM)

  После некоторых событий(с освободившимся сервером и кучей непонятных файлов) дозрел до установки системы ECM - alfresco на мой взгляд самый адекватный вариант.
(www.alfresco.com/products/platform/)

простой способ начать: http://goo.gl/Acd0

с него и начну - по мере продвижения буду отписываться здесь.

PS:
http://goo.gl/puLK - Заметки об Open Source ECM Alfresco
http://goo.gl/XNGT - установка