Показаны сообщения с ярлыком work. Показать все сообщения
Показаны сообщения с ярлыком work. Показать все сообщения

2 июл. 2008 г.

Делаем образы дисков с помощью dd и gzip

Многие знают про утилиту dd - очень удобный инструмент.
В частности очень хорошо подходит для клонирования дисковых разделов (или целых дисков).

Недавно в ходе нескольких экспериментов выяснил, что такой образ диска можно сильно сжать с помощью GZip.

Например, заполненный на около 5Гб NTFS-раздел объемом 31Гб в сжатом состоянии занимает всего 1.7Гб. Единственное неудобство в том что на моем AMD Athlon 1700+ создание этого образа заняло 50 минут, а подсчет md5-суммы раздела-оригинала и упакованного образа по 12 минут. На системах с более производительным центральным процессором данный процес займет гораздо меньше времени.

Так как основной объем информации на системных жестких дисках (конечно за исключением медиа-данных) очень хорошо поддается сжатию, и часто многие выделяют несколько разделов под ОС, таким образом можно быть уверенным что образ раздела удастся сжать.

В ходе тестов на различных разделах степень компрессии несколько шокировала. Например, FAT-16 раздел размером 40Гб был сжат до 30МБ (контрольные суммы проверил - они совпали)!!!

Создаем образ:
#dd if=/dev/sda1 bs=8096 | gzip -9cf > sda1.dd-image.gz

Это занимает время. За процессом можно наблюдать на той же консоли с помощью периодической посылки USR1 сигнала процессу dd.
Для этого на другой консоли выполняем:

#ps | grep dd
определяем pid процесса dd и подставляем его в следующую команду
#watch -n 15 "kill -USR1 $pid_of_dd"

Распаковка образа:
#gunzip -c sda1.dd-image.gz | dd of=/dev/sda1 bs=8096

также можно подсчитать md5-сумму для раздела, чтобы после восстановления проверить правильность распаковки образа:
#dd if=/dev/sda1 bs=8096 | md5sum - > sda1.dd-image.md5

Параноики (бывают ситуации когда лучше потратить время на еще одну перепроверку) могут еще и проверить правильность создания образа:
#gunzip -c sda1.dd-image.gz | md5sum

Приятной всем работы ;)

23 апр. 2008 г.

Скрипт записи эфира онлайн радио (для использования на радиостанциях)

Продолжаю публикацию своих скриптов.

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

Для чего и изготовил этот скрипт.

Зависимости:
1. нужен собственно Shell;
2. для записи http-потока использован wget.

Протестирована работа с сервером IceCast, думаю будет работать и с другими серверами отдающими звук по http.

Формат вещания он ест любой - напрямую сохраняет часовые (или любой другой продолжительности) куски потока на жесткий диск.

На случай обрыва связи предусмотрена логика востановления соединения через пятисекундные интервалы.

Для записи эфира в режиме 24/7 достаточно прописать его запуск в crontab и добавить логику организации файлов в папки (если есть желание конечно ;) ).

У нас собственно складывается по дням, храним записи 40 дней, для чего используется как раз Скрипт удаления старых файлов и папок

Прошу смотреть и ругать ;)

22 апр. 2008 г.

Скрипт удаления старых файлов и папок.

Решил начать публикацию своих скриптов, которые наработал за последние пол года.

Первым выбрал самый маленький, но при этом не менее удобный скрипт для удаления старых файлов/директорий из указанной директории и лимитирования их колличества.

Получился такой своеобразный logrotate.

Удобно когда необходимо хранить определенное количество файлов или директорий и удалять старые чтобы не переполнить диск.

Вот сам скрипт: http://gleb.poljakov.googlepages.com/cleanup.sh

9 мар. 2008 г.

Защита сети на уровне доступа от образования петель на коммутаторах hp без использования STP

Коммутаторы hp 2510-24 (и ряд других моделей производителя) имеют поддержку протоколов *STP (MSTP, RSTP, STP).
Применение этих протоколов на уровне доступа сопряжено с некоторыми проблемами - длительное блокирование порта при включении и периодическая длительная блокировка для проверки топологии.

Компания hp с 2007 года включила в прошивки части коммутаторов функцию защиты от образования петель (loop-protect).

Данная функция использует посылку пакета на мультикастовый адрес, который теоретически ни одно устройство в локальной сети не блокирует, что нередко случается с BPDU (например, коммутаторы hp 1800 и некоторые модели ip-телефонов их блокируют).

Конечно применение опции Edge-Port (FastPort) при конфигурировании STP позволяет сократить время блокировки порта до 5 секунд, но остается вопрос насколько целесообразно применение STP на портах где явно предполагается подключение рабочих мест.

Также с помощью loop-protect есть возможность автоматически извещать по протоколу SNMP систему мониторинга об образовании петли, что сильно упрощает работу администратора.

Далее приведу перевод части Руководства по настройке касаемое функции loop-protect:
  1. Включение loop-protect:

    ProCurve(config)# loop-protect <port-list>


  2. Синтаксис: [no] loop-protect <port-list> [receiver-action <send-disable | no-disable> ] [transmit-interval <1-10> ] | [disable-timer <0-604800>] | [trap <loop-detected>]

    • [receiver-action <send-disable | no-disable>]
      Устанавливает действие при обнаружении петли на порту. Если у казано "send-disable", то порт передавший пакет отключается. Если же установлено значение "no-disable" порт остается включенным.
      Значение по умолчанию: send-disable

    • [trap <loop-detected>]
      Позволяет сконфигурировать ловушку (trap) “loop-detected”, которая означает что на определенном порту обнаружена петля.

    • [disable-timer <0-604800>]
      Определяет сколько секунд коммутатор ждет перед попыткой задействовать порт на котором была определена петля. Нулевое значение запрещает попытки задействовать порт.
      Значение по умолчанию: 0.

    • [transmit-interval <1-10>]
      Определяет частоту передачи пакетов обнаружения петель.
      Значение по умолчанию: 5 секунд.


  3. Для вывода информации по портам с включенной функцией обнаружения петель введите следующую команду:

    show loop-protect <port-list>

    Если не указан список портов, то выводится информация только для портов на которых данная функция включена.

30 авг. 2007 г.

Незакончена глава руководства

Сегодня понял, что закончить перевод 5-ой главы руководства по OpenLDAP не смогу - не хватает знания предметной области.

Если у кого есть время, помогите закончить. - там совсем немного осталось.

Не законченный перевод здесь: http://docs.google.com/Doc?id=dgg22454_17cqzsph

Могу предоставить доступ на редактирование. Для этого нужен ящик на Гугле.

24 авг. 2007 г.

Перевод руководства администратора OpenLDAP

Которую неделю занят переводом домена под Gentoo Linux.
Главная загвоздка - LDAP.

Оказалось, что по OpenLDAP нет русского руководства. И как раз третью неделю перевожу главы из него.
Как закончу обязательно опубликую)