Не успел прийти на работу, коллеги порадовали подарком. Мега-гаджет, еще и полочка для мышки есть откидная.
Не успел прийти на работу, коллеги порадовали подарком. Мега-гаджет, еще и полочка для мышки есть откидная.
Если кто не наигрался в детстве в конструкторы, есть шанс немного восполнить упущенное собрав стойку для телевизора наподобие этой 🙂 .
Стоила дороже самого телевизора, но, наверное, она стоила этих денег.
Все болтики лакированные, все запчасти запакованы в пупырышную плёнку аккуратными конвертиками. Запчастей много и они очень тяжелые. Болтов тоже очень много. Есть в наличии инструмент для сборки и подробная инструкция. В общем была получена масса удовольствия. Хотя, в контрпример, от сборки серверного шкафа белорусского производства я, почему то, таких ощущений не испытывал.
В продолжение заметки про японское качество напишу небольшой отчет о регулировке задней двери своими силами. Напомню, что на сервисе мне сделали так, что лучше бы вообще не делали.
А наблюдения показали, что дверь стоит наискосок у большинства Микр.
После пары часов изысканий, подкручиваний и перекручиваний самых разных болтов мне стало понятно, что причина перекоса не может быть устранена простой регулировкой. Завесы расположены на разной высоте, из-за чего дверь становится наискосок. Итого ножницами были вырезаны проставки-шайбы из похожего на мягкий пластик материала, что оказался под рукой.
После их установки, дверь стала закрываться гораздо ровнее. С помощью микрорегулировок болтов на следующих двух картинках, наблюдая изнутри машины через сложенные задние сидения (кстати пластик вокруг петли замка придется снять на это время) как петля входит в замок отрегулировал зазоры и углы. Теперь петля входит в замок без затираний и стуков.
Последнее, что остается сделать, это отрегулировать демпферы на двери, что бы они слегка придерживали дверь при её закрытии.
В последнее время несколько моих знакомых сталкивалось с задачей переноса своего Outlook на другой компьютер. В общем то, сами данные, а это один или несколько .pst файлов, перенести элементарно. Но вот настройки учетных записей, RSS, Junk-Email и так далее вызывали у всех проблемы. Самые продвинутые пробовали переносить эти настройки копированием реестра, но всегда возникали определенные проблемы.
Столкнулся с такой задачей и я. Все оказалось на столько просто, что не могу об этом не написать. Кстати, это решение в поисковиках находится не сразу.
В Windows Vista есть приложение Windows Easy Transfer. Достаточно выбрать, что хочется перенести со старого компьютера, способ переноса и загрузить данные на новом.
Все интуитивно понятно. Данные могут копироваться через сетевую папку, жесткий диск, компакт или специальный USB шнур. Можно перенести и настройки и документы.
В данном случае меня интересовали только настройки Microsoft Office, остальной мусор переносить не стоило.
Не вдаваясь в детали, скажу, что перенеслось все кроме сохраненных паролей. Даже настройки связки OneNote-Word-XMLRPC-WorpressAPI. Пришлось немного напрячься, что бы вспомнить почтовые пароли, а в остальном никаких проблем не возникло вообще.
В приложении даже предусмотрена возможность создания инсталляционного пакета для Windows XP. Я не поленился и проверил – с XP на Vista работает точно.
Удивительно, как такую качественную и полезную утилиту раздают вместе с ОС на шару.
Недавно захотелось попробовать поюзать Cacti. Например, построить график для произвольного значения, взятого из командной строки (custom graphs). На Ubuntu Cacti встал сам и без лишних вопросов, даже описывать нечего. Сам сразу же начал строить графики основных параметров самого сервера, что меня вполне устроило. Попутно нашелся очень хороший шаблон для мониторинга параметров MySQL сервера.
А вот с визуализацией значения из командной строки пришлось повозиться.
Описанное далее не претендует на хорошую хаутушку по Cacti, но может пригодиться для тех, кому надо быстро решить похожую задачу и не хочется вникать во всю архитектуру Cacti. Словом, quick and dirty. В примере строится график суммарной загрузки процессора всеми процессами mongrel_rails, которую выдает ps.
Создаем скрипт, который выдает нам численное значение нужного параметра:
vim /usr/share/cacti/site/scripts/mongrel_cpu.pl
#!/usr/bin/perl
open(PROCESS, “ps aux | grep ‘/usr/bin/ruby1.8 /usr/bin/mongrel_rails’ | awk ‘{print \$3}’ | awk ‘BEGIN {sum=0} {sum=sum + \$1} END {print sum}’ |”);
$output = <PROCESS>;
close(PROCESS);
chomp($output);
print $output;
Проверяем, что скрипт работает:
perl /usr/share/cacti/site/scripts/mongrel_cpu.pl
1.6
Перевода строки не будет и он не нужен, это нормально.
Переходим в консоль Cacti.
Data Input Methods
add
name = Mongrel CPU Usage
input type = script/command
input string = perl <path_cacti>/scripts/mongrel_cpu.pl
create
В разделе output fields:
add
field = percents
friendly name = Total percents used by mongrels
update = checked
create
Переходим в Data templates.
add
data templates name = Mongrel CPU Usage
data source name = |host_description| – Mongrel CPU Usage
data input method = выбираем из списка Mongrel CPU Usage
internal data source name = percents
ds type = GAUGE
create
save
Переходим в Graph Templates.
add
name = Mongrel CPU Usage
title = |host_description| – Mongrel CPU Usage
vertical label = percents
На странице появились Graph Template items.
Нам надо добавить туда сам график и LAST, AVERAGE, MAX подписи к нему.
нажимаем в этом разделе add
data source = Mongrel CPU Usage – (percents) из списка
выбираем цвет
graph item type = AREA
consolidation function = AVERAGE
value = percents
text format = Percents
create
add
graph item type = GPRINT
consolidation function = LAST
text format = Current
add
graph item type = GPRINT
consolidation function = AVERAGE
text format = Average
add
graph item type = GPRINT
consolidation function = MAX
text format = Maximum
Нажимаем save в самом внизу страницы.
Переходим в Host Templates.
add
name = Rails Application Server
create
associated graph templates = выбираем из списка Mongrel CPU Usage
add
save
Переходим в New Graphs.
create new host
description = Web Server Rails
hostname = 127.0.0.1
host template = Rails Application Server
create
На этой же странице надо нажать Create Graphs for this Host.
выделяем все графики
create
Переходим в Devices.
ставим галочку на новом хосте и выбираем действие Place on a Tree (Default Tree)
go
выбираем корень
yes
Ждем 10 минут (по умолчанию сбор данных идет раз в 5 минут), переходим в просмотр графиков и наслаждаемся результатом.
Моя коллекция куча шариков перебралась в более удобное жилище.
P.S. Каждый сходит с ума по своему 😉 .
В интернете есть достаточно много хаутушек про настройку репликации. Как подключить slave для уже работающего сервера с данными инструкции тоже есть. Но я не смог найти такую инструкцию, которая бы соответствовала современным особенностям и полностью меня устроила. Пришлось разобраться самому.
При использовании описанного ниже подхода стоит рассчитывать на даунтайм основного сервера на время его перезапуска. В примере использовался сервер под управлением Ubuntu и MySQL 5.0 из основного репозитория с настройками по умолчанию. Я исходил из того, что реплицировать нужно все базы данных, за исключением системных.
На главном сервере.
Надо поправить файл /etc/mysql/my.cnf:
[mysqld]# Необходимо открыть доступ к серверу по сети,# что бы slave имел возможность подключиться# и не забыть закрыть этот доступ, например файрволом, для тех, кому он не нуженbind-address = 0.0.0.0server-id = 1log_bin = /var/log/mysql/mysql-bin.logexpire_logs_days = 10max_binlog_size = 100M# Исключим ненужные БД#binlog_do_db = include_database_namebinlog_ignore_db = information_schemabinlog_ignore_db = mysqlbinlog_ignore_db = test# Это рекомендуется для более стабильной работы репликации баз на InnoDBinnodb_flush_log_at_trx_commit=1sync_binlog=1
Перезапускаем mysql:
/etc/init.d/mysql restart
Выдаем slave права на репликацию:
mysql -u rootGRANT REPLICATION SLAVE ON *.* TO 'replication'@'10.0.0.2' IDENTIFIED BY 'slave_password';FLUSH PRIVILEGES;
Посмотреть статус можно командой:
SHOW MASTER STATUS;+------------------+----------+--------------+-------------------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+-------------------------------+| mysql-bin.000015 | 98 | | information_schema,mysql,test |+------------------+----------+--------------+-------------------------------+1 row in set (0.00 sec)
Далее делаем дамп существующих баз данных. Ключи –single-transaction –master-data –flush-logs должны глобально заблокировать на время дампа базу данных на запись и вписать в дамп номер и позицию лога, с которых надо начать репликацию на slave. Это обеспечит точность совпадения данных на главном и slave серверах, даже если с главным сервером в этот момент идет работа и записываются данные.
mysqldump -u root --single-transaction --master-data --flush-logs --databases db1 db2 db3 > ALL_DB.sql
Если посмотреть внутрь ALL_DB.sql, то там должна присутствовать строка:
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000015', MASTER_LOG_POS=98;
Далее копируем дамп на slave:
scp ALL_DB.sql 10.0.0.2:
Продолжаем на втором сервере.
Убеждаемся что там нет остатков настроек репликации, в принципе, если на сервере нет нужных данных, не помешает переустановить mysql с очисткой папок БД.
Так как начиная с версии MySQL 5.2 параметры доступа для репликации убираются из my.cnf сразу перейдем на использование такой схемы.
Правим файл /etc/mysql/my.cnf:
[mysqld]# ID slave должен отличаться от главного сервераserver-id = 2replicate-ignore-db = information_schemareplicate-ignore-db = mysqlreplicate-ignore-db = testrelay-log = /var/log/mysql/mysqld-relay-bin.log
Перезапускаем сервер:
/etc/init.d/mysql restart
Поправим файл ALL_DB.sql:
Дописываем к строке
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000015', MASTER_LOG_POS=98;
параметры доступа:
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000015', MASTER_LOG_POS=98, MASTER_HOST='10.0.0.1', MASTER_USER='replication',
MASTER_PASSWORD='slave_password', MASTER_CONNECT_RETRY=60;
Загружаем данные:
mysql -u root < ALL_DB.sql
Проверяем состояние репликации, она НЕ должна быть запущена (Slave_IO_Running, Slave_SQL_Running: no, no):
mysql -u rootshow slave status;
Запускаем репликацию (теперь должно быть Slave_IO_Running, Slave_SQL_Running: yes, yes):
START SLAVE;show slave status;
Для проверки можно попробовать перезапустить mysql и проверить состояние репликации еще раз:
/etc/init.d/mysql restartmysql -u rootshow slave status;
Остается по желанию проверить репликацию, создав, например, тестовую таблицу или добавив данные в существующую и убедиться, что изменения отразились на slave.
Кстати, базы, которые будут созданы после запуска репликации тоже должны среплицироваться. То есть, в идеале, данное решение не требует подстройки, если у вас меняются, добавляются или удаляются базы данных.
Еще одни исторические артефакты, которые удостоились быть украшением стола наряду с шариками от мышек: коннекторы и терминаторы.
После небольшой оплошности с коммандой find -exec chmod 😉 сегодня пришлось перенастраивать заново коробочку.
Прошивка обновилась до версии 1.06. Обновление прошло без сюрпризов и потери данных.
Transmission обновился до 1.51 версии и я открыл для себя клиента под Windows Transmission Remote. Теперь можно удобно выставлять приоритеты файлов, и, главное, выбирать файлы для закачки внутри одного торрента.
Домашнюю папку пользователю root я изменил на /mnt/HD_a2/root – стало гораздо удобнее.
Cleanboot, lighttpd не ставил за ненадобностью.
Еще захотелось присылать себе на почту отчет скрипта резервного копирования, о чем поподробнее.
Включаем syslogd (без логов понимать, что творится с почтой проблематично) и переместим логи на жесткий диск:
mkdir /ffp/var/logcp -r /var/log/samba /ffp/var/logcp -r /var/log/cores /ffp/var/logcp /var/log/lastlog /ffp/var/logcp /var/log/wtmp /ffp/var/logcp /var/log/btmp /ffp/var/logvim /ffp/start/syslogd.shsyslogd_start(){rm -r /var/logln -s /ffp/var/log /var/logproc_start /ffp/sbin/syslogd /ffp/sbin/klogd}chmod +x /ffp/start/syslogd.sh/ffp/start/syslogd.sh start
Устанавливаем postfix:
ipkg install postfixvim /opt/etc/postfix/main.cfmail_owner = adminsetgid_group = maildropmyhostname = nas.domain.commynetworks_style = subnet
В интерфейсе управления коробочкой нужно создать группу maildrop.
Далее удаляем все строки, содержащие manpage_directory, sample_directory, readme_directory, html_directory из файла /opt/etc/postfix/postfix-files.
Поправляем привилегии на файлах, запускаемся, отправляем тест и смотрим лог:
postfix set-permissions/opt/etc/init.d/S69postfix starttail -f /ffp/var/log/messagessendmail user@domain.comTEST