Блог пользователя ged

Глюки ZFS с мелкими последствиями.

Жил был мой сервер, в основном, с моими фотками (ну и еще по мелочи). ZFS с двумя 2-х ТБ дисками в зеркале, все дела.

Т.к. нашел программы удовлетворяющие моим требованиям для синхронизации файлов мастер-мастер, соответственно попытался прикрутить к своему хранилищу.

При попытке засинхронизироваться сервер рассказал, что не может прочитать часть файлов и у них не сростаются cheksum. Запустил scrubbing, он рассказал, что на обоих винтах одинаковые ошибки, и как оказалось в дальнейшем, часть файлов еще и частично посыпалось без каких-либо комментариев. Т.е. читаются нормально, но картинки открываются с артефактами.

Хоть и верю я в рейд и ZFS, но изредка делаю бекап на отдельный диск - мало ли что.

Те файлики, про которые ZFS смогла что-то плохое рассказать перезалил ручками. Про остальные кривые файлы рассказал Syncthing, т.к. он считает  checksum файлов, а на сервере и внешнем носители они оказались разными, то он их перелил, создав отдельную копию старых файлов.

Из неудобств: индексация 250Gb фоток и видео занимала несколько часов и синхронизация не очень шустрая. Если задача залить на пустой ресурс большой объем из "облака", то проще сначала все засинкать через rsync, а потом уже запускать Syncthing.

Наверняка, можно было это решить и с помощью rsync, но т.к. идея в итоге получить мастер-мастер репликации на нескольких ПК, это оказалось проще и несколько удобнее, т.к. я не знаю как rsync заставить создавать архивные копии измененных файлов.

0
Your rating: Нет

Авторизация на компьютере с Ubuntu по usb флешке или Bloetooth устройству

Было скучно, читал интернеты и наткнулся на статью "Посторонним вход воспрещен", более коротко - "Аутентификация при помощи Bluetooth телефона или USB Flash в Debian/Ubuntu Linux"

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

Начал разбираться с авторизацией по блютуз устройсту - заходить без пароля, если рядом валяется телефон - это удобно, вроде тоже нормально отработало.

Как позжее выяснилось есть пара мелких подводных булыжников.

  1. Если используется шифрование домашнего каталога, то он остается не подмонтированным и его нужно монтировать вручную, соответственно вводя пароль.
  2. Приложение Ключи и пароли, так же требует отдельной авторизации. Некоторые умельцы просто снимают с нее пароль, но это не безопасно.

Далее стало интересно, как сделать, чтобы компьютер автоматически блокировался при исчезновении телефона.

Сначала нашел BlueProximit, но он у меня как-то не стабильно работал и мобила постоянно дергалась с целью установить сопряжение.

В итоге нарисовал свой скрипт, который ищет имя устройства по маку, когда находит, сверяет с тем, что имеется в конфиге и если находит, то выполняет какие-то действия.

Плюсы:

0
Your rating: Нет

Отмена "мобильного рабства" и определение оператора сотовой связи

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

Переносимость телефонных номеров (англ. number portability) — это возможность целиком сохранить свой телефонный номер, включая префикс, после смены поставщика услуг связи. Чаще всего говорят о переносимости номеров мобильных телефонов (англ. mobile number portability, MNP).

Потихоньку операторы прикручивают разные варианты получения информации об операторе.

0
Your rating: Нет

SIP от Мегафона

Давно хотел попробовать, что из себя представляет Мультифон от Мегафона. (Прямо сейчас, у них какая-то беда с сайтом - сервер не найден. Ночью периодически nginx ругался.)

Качество связи осознать не успел, но успел осознать некоторые плюсы:

0
Your rating: Нет

Синхронизация данных мастер-мастер

Сейчас, потихоньку учусь играть в отказоустойчивые штуки.

Пока, научился под FreeBSD использовать CARP - эт когда за один IP отвечает несколько железок и в случае падения мастера, включается в работу другой компьютер и подхватывает этот IP адрес.

Соответственно возник вопрос - как держать данные на всех железках в актуальном состоянии.

Что пробовал:

  • rsync - запускается каждую минуту, смотрит на состояние компьютера, если слейв, то синхронизирует данные с мастера.
  • zfs send | zfs recieve - идея та же самая, но надежнее работает с базами данных, т.к. за время работы данные измениться уже не могут.

Сейчас нашел еще две клевые программы BTSync и Syncthing. Обе программы служат для синхоризации данных между своими компьютерами на прямую. Т.е. некоторый аналог Dropbox, Google Drive и Яндекс.диск, только без их стандартных ограничений на место и без опаски, что данные где-то всплывут.

Обе программы могут забирать данные со всех компьютеров имеющих эти данные, т.е. работают по принципу торрента и имеют клиентов под самые разные платформы.

Существенные отличия:

BTSync:

0
Your rating: Нет

Некоторые мысли про умные свичи и VLAN

Как обычно, как только ты думаешь, что что-то познал до конца, тебе объясняют, что ты не знаешь ни черта. sad

Я тут ужо поверил, что знаю кто такие умные свичи и вланы, как оказалось, что не могу спокойно в отдельный влан запихнуть пару железок. Теперь попытаюсь привести мысли немного в порядок.

Вроде про VLAN написано много, но так чтобы у меня все сразу устаканилось не нашел.

0
Your rating: Нет

Полезные команды в консоли Астериска

Некоторые полезные команды в CLI интерфейсе астериска

asterisk -rvvv - подключиться к консоли

core show channels - посмотреть статус каналов
sip show users - посмотреть пользователей сервера (пользователь, пароль, контекст)
sip show peers - посмотреть пиров сервера (пользователь, ip адрес, порт, статус)
sip show registry - посмотреть статус регистраций, т.е. как сервер зарегистрировался
 

Стырено тут.

0
Your rating: Нет

Автонастройка (auto provision) VoIP телефонов в Астериске

Т.к. потихоньку движется проект по мегапереходу на VoIP телефонию, начал разбираться с автонастройкой телефонов. Т.к. у меня планируются все телефоны Panasonic, соответственно, разбирался под них.

Астериск умеет сам генерировать файлы автоматической конфигурации клиентов. У него есть два модуля - http и phoneprov.

http - отвечает за то, чтобы asterisk мог работать web-сервером, а phoneprov - за автоматическое создание файлов конфигурации.

Чего нормально не могу придумать, так это защиту от несанкционированного получения параметров. Вроде, есть идея прогонять через nginx с его авторизацией, но это пока в процессе размышления. Человек, по статье которого делал, пишет, что после запуска всех телефонов, оно отключал http, но я не уверен, что панасоники вспомнят автоматические настройки после перезагрузки при отсутствии сервера.
(P.S. После получения настроек - телефоны их сохраняют и сервер не требуется. Соответственно, после того как телефоны получили настройки, можно спокойно у пользователя отключать провижен.)

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

1. Включаем http, для этого в файле http.conf пишем:

[general]
enabled=yes
bindaddr=0.0.0.0
bindport=8088

2. Настраиваем автоматиское создание файлов конфигурации телефонов - phoneprov.conf.

0
Your rating: Нет

Подготовка звуковых файлов для Asterisk

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

  1. Сначала нормализуем файл, чтобы громкость была правильная
  2. Конвертируем файл в нужные форматы

#!/bin/sh

file=$1
file_ext=${file##*.}
file_name=${file%.*}
ffmpeg_cmd="ffmpeg -loglevel quiet -i "
edit_file=/tmp/${file_name}_$$.wav
#echo ${edit_file} ${file_ext} ${file_name}

${ffmpeg_cmd} $1 ${edit_file}
normalize ${edit_file}
mkdir out
${ffmpeg_cmd} ${edit_file} -acodec pcm_s16le -ar 8000 -ac 1 -y out/${file_name}.wav
${ffmpeg_cmd} ${edit_file} -ar 8000 -ac 1 -ab 64 -f alaw -y out/${file_name}.alaw
${ffmpeg_cmd} ${edit_file} -ar 8000 -ac 1 -ab 64 -f mulaw -y out/${file_name}.ulaw
rm ${edit_file}

Вроде работает. wink

Соответственно, запускаем sound2asterisk.sh имя_файла, после выполнения в каталоге out забираем результат.

0
Your rating: Нет

Управление внешними устройствами по USB

Давным давно была мечта - научиться управлять внешними устройствами с компьютера и желательно по сети.

Недавно нашлась клевая статья "Включение чего угодно по HTTP без заморочек c OpenWRT", где с помощью роутера TP-Link TL-MR3020, usb-хаба, запчастей от usb-клавиатуры и нескольких радио-деталюшек, прикручивается управление к разъемам переключетелей на мамке компьтера (reset, power), а так же питанием 220.

Еще найденные клевые штуки, чтобы минимально поморачиваясь сделать управление чем бы то ни было:

По своему движению с TP-LINKом, прикручиваю GSM модем. Сей час получение смс работает, нуно писать скрипты, которые будут на смс реагировать и дергать лампочками правильно.

0
Your rating: Нет
Ленты новостей