FreeBSD

Двухнодовый кластер MySQL на FreeBSD

Минимальные требования для кластера mysql это два сервера для данных и один сервер для управления. Сервер управления нужен лишь во время запуска кластера, но желательно держать его постоянно включенным. Итого требуется 3 физических компьютера, либо 3 виртуальные машины на двух физических серверах.

Пусть ноды с данными будут node1.host.ru и node2.host.ru, а управляющая нода mgmt.host.ru. DNS настроен, все ноды видят друг друга как по IP так и по FQDN. Так же необходимо чтобы на нодах данных был открыт порт 3306 для всех нод-участников кластера, а на ноде управления открыт порт 1186.

More →

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Утилиты мониторинга в OS FreeBSD

Есть большое количество ПО для мониторинга типа monit, zabbix, cacti. Они собирают статистику и строят графики. Но дело в том, что не всегда есть возможность открыть браузер и посмотреть те самые графики. Для таких случаев есть консоль. Вот не большой список команд для мониторинга FreeBSD:

mount – показывает смонтированные подразделы и флаги из монтирования

df – показывает смонтированные подразделы, их размер и свободное место на нихfdisk /dev/ad0 – показывает информацию о диске ad0 и разделах на нем

disklabel /dev/ad0s1 – показывает список подразделов в первом разделе диска ad0

swapinfo – показывает список подразделов свопинга на дисках и их использование

fstat – показывает список открытых файлов (имена файлов не выводятся)

pstat -f – выводит список открытых файлов (имена файлов не выводятся)

systat -vmstat n – каждые n секунд выводит количество транзакций с диском в секунду, объем записанных/считанных данных на диск в секунду, средний размер транзакции и процент времени в течение которого диск был занят работой)

iostat – выводит информацию, аналогичную systat -vmstat, но не выводит занятости диска по времени и может выводить среднюю статистику с момента загрузки.

vmstat – выводит количество операций на диске в секунду

/stand/sysinstall – можно посмотреть и изменить разметку диска и монтирование

less /etc/fstab – таблица монтирования при загрузке

systat -vmstat n – вывод показателей загрузки (number of jobs in the run queue averaged over 1, 5 and 15 min), состояния памяти (в страницах), количества процессов в группах, количество вызовов специальных функций ядра (traps, interrupts, system calls, network software interrupts), использование процессора, трансляции имен, активность свопа, прерывания, а также информацию по использованию диска (см)

top – аналогичная информация в сокращенном виде + использование памяти и свопа в мегабайтах, список процессов, отсортированных по использованию процессора.

ps afx – список запущенных процессов и время процессора на каждый

ifconfig – список сетевых интерфейсов с ip-адресами, масками, mac-адресами, типами карт и их статусами (названия карточек можно посмотреть в файле конфигурации ядра)

systat -ifstat n – объем трафика за n секунд на всех сетевых интерфейсах

netstat – вывод активных сетевых соединений (сокетов)

systat -netstat n – аналог netstat в реальном времени

systat -ip n – таблица IP-пакетов и ошибок по типам за n секунд

systat -tcp n – таблица TCP-пакетов и ошибок по типам за n секунд

systat -icmp n – таблица ICMP-пакетов и ошибок по типам за n секунд

netstat -ibt – список интерфейсов, разбитых по ip-адресам (!) с объемом трафика на каждом, количеством ошибок, коллизий, значением watchdog-таймера

netstat -r – таблица маршрутизации

arp -a – таблица ARP

tcpdump -i rl0 host 192.168.1.2 and port 21 – сниффер пакетов на интерфейсе rl0, фильтрующий пакеты, содержащие адрес 192.168.1.2 и порт 21

trafshow -i rl0 – программа для сортировки и вывода сетевых потоков (устанавливается дополнительно пакетом или из портов)

date – текущее время и дата

w – выводит, сколько времени назад система загрузилась и залогиненных пользователей

last – выводит историю перезагрузок и входов пользователей

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

RAID1 под FreeBSD на живой системе с помощью atacontrol

Сначала создаем зеркальный массив RAID1:

 # atacontrol create RAID1 ad0 ad1

система создаcт raid1 массив но на него пока ничего не бдует писаться.

Но статус у него READY:

    # atacontrol status ar0
     ar0: ATA RAID1 subdisks: ad4 ad6 status: READY

Система считает что после создания raid, на нем будут созданы слайсы,
и разделы, после чего на них будут записаны данные.(что и происходит когда мы ставим систему на ar0),при этом данные не будут нарушать целостность рэйд.

Попробуем обмануть систему.

   # atacontrol list
   ATA channel 0:
       Master:  ad0 <ST380011A/3.06> ATA/ATAPI revision 6 //живая система
       Slave:       no device present
   ATA channel 1:
       Master:  ad1 <ST380011A/3.06> ATA/ATAPI revision 6 //новый диск
       Slave:       no device present
   # atacontrol detach 1

Теперь у нас есть целостный RAID1 который состоит из одного диска с системой.

   # atacontrol status ar0
      ar0: ATA RAID1 subdisks: ad0 DOWN status: DEGRADED

Теперь нужно прописать ar0 в fstab

   # Device         Mountpoint FStype Options Dump Pass#
   /dev/ar0s1b none swap       sw             0       0
   /dev/ar0s1a      /          ufs     rw     1       1
   /dev/ar0s1e      /tmp       ufs     rw     2       2
   /dev/ar0s1f      /usr       ufs     rw     2       2
   /dev/ar0s1d      /var       ufs     rw     2       2

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

   # atacontrol status ar0
      ar0: ATA RAID1 subdisks: ad0 DOWN status: DEGRADED
   # atacontrol addspare ar0 ad1
   # atacontrol rebuild ar0
   # atacontrol status ar0
      ar0: ATA RAID1 subdisks: ad0 ad1 status: REBUILDING 1% completed

После окончания пересборки(rebuild) система готова к использованию.

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Подключение FreeBSD к IPv6 — поднимаем туннель через IPv4-сети провайдера

Пришло время поднять IPv4-IPv6 gateway, чтобы ходить в мир «иного
интернета», коим он скоро будет.

Самым лёгким способом получить IPv6 адрес можно на сайте http://go6.net

Идем на этот сайт и регистрируемся http://go6.net/4105/register.asp

Тут же они предлагают скачать программу и поставить, например для Windows вида «скачай и установи»
http://go6.net/4105/download.asp

Но это не тот метод который нам нужен, мы будем подключать сервер на FreeBSD 7.0 и выше к этой сети.

Ядро у нас собрано с поддержкой IPV6, т.е. с options INET6 (ядро GENERIC уже
поддерживает этот протокол и если вы его не отключали, значит, он у вас есть)

Устанавливаем клиент, то, что они предлагают скачивать — уже есть в портах

Port:     gateway6-5.0_2
Path:    /usr/ports/net/gateway6
Info:     Gateway6 Tunnel Setup Protocol Client - Free IPv6 tunnel
B-deps:
R-deps:
WWW:  http://www.go6.net/

Приступаем к установке:

cd /usr/ports/net/gateway6
make install clean

Через несколько минут клиент будет установлен

Редактируем его конфигурационный файл /usr/local/etc/gw6c.conf

userid=
passwd=

Вришите туда ваш логин и пароль которые указали при регистрации на сайте.
На данном этапе начальная настройка закончена, для дальнейшей настройки читайте документацию.
Как я понял, выдается целая сеть и для авторизованных пользователей http://go6.net/4105/freenet.asp,
тем самым можно подключить все компьютеры дома на реальные статические IPv6 адреса.

server=broker.freenet6.net

broker.freenet6.net — это имя сервера для подключения (написано в письме при регистрации)

# Включить использование авторизации
auth_method=any
# Писать логи в syslogd
log_syslog=3

Теперь осталось его запустить

   echo 'gateway6_enable="YES"' >> /etc/rc.conf
   /usr/local/etc/rc.d/gateway6 start

И смотрим

 # tail -f /var/log/messages
   Oct 17 18:39:38 lola gw6c: Gateway6 Client v5.0-RELEASE build Oct 17 2008-14:56:32
   Oct 17 18:39:38 lola gw6c: Establishing connection to tunnel broker broker.freenet6.net using reliable UDP.
   Oct 17 18:39:42 lola gw6c: Connection to broker.freenet6.net established.
   Oct 17 18:39:45 lola gw6c: Authentication success.
   Oct 17 18:39:45 lola gw6c: Got tunnel parameters from server. Setting up local tunnel.
   Oct 17 18:39:45 lola gw6c: Executing configuration script: /bin/sh "/usr/local/share/gateway6/freebsd.sh".
   Oct 17 18:39:46 lola gw6c: Script completed successfully.
   Oct 17 18:39:46 lola gw6c: Your IPv6 address is 2001:05c0:8fff:fffe:0000:0000:0000:c243.
   Oct 17 18:39:46 lola gw6c: The tunnel type is v6udpv4.
   # ifconfig
   tun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
        inet6 2001:5c0:8fff:fffe::c243 --> 2001:5c0:8fff:fffe::c242 prefixlen 128
        Opened by PID 873
   # traceroute6 www.jp.freebsd.org
   # ping6 www.jp.freebsd.org

Все прекрасно работает не смотря на то, что выход осуществляется в мир через
NAT.

Итак, осталось только понять, «зачем это надо», но ясно одно — за этим будущее.
А еще можно посмотреть на танцующую черепаху на http://www.kame.net/ :-)

Также рекомендую прочитать документацию (главу в
HandBook http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/network-ipv6.html)
по поддержке протокола IPv6 в системе FreeBSD.

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Храним письма в базе mysql

Почему sendmail?

Из почтовых серверов — Qmail, Sendmail, Postfix и Exim — мне больше всего понравился Qmail — прост в настройке, по всем отзывам и по собственным впечатлениям — быстр, надежен, наименьшее количество обнаруженых уязвимостей (если не сказать — полное их отсутствие); но и давно не обновлялся, большинство функционала реализуется сторонними утилитами, то есть требует довольно существенного «обвеса» для достижения необходимого уровня функциональности.

Postfix — сам его не «щупал», но порасспрашивал знакомых (и не очень) людей. Оказалось, что Postfix практически никто не применяет на почтовых серверах, обслуживающих хотя бы 1000 ящиков и 10-15 доменов (просьба не возмущаться поклонников Postfix, верю, что это хороший МТА, но это – не мой выбор).

Exim — мне тут сложно что-либо сказать, имею только косвенные данные — по моим опросам примерно 3 из 10 используют Exim, причины – проще настроить, чем sendmail; меньшее количество уязвимостей, чем в sendmail.

More →

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Вышел PC-BSD 8.0

После продолжительного тестирования релиз-кандидатов появился на свет PC-BSD 8.0 (Hubble Edition), он основан на FreeBSD 8.0-RELEASE-P2 и KDE 4.3.5, использумый как раб. стол.

Особенности дистрибутива:

  • FreeBSD 8.0-RELEASE-P2
  • KDE 4.3.5
  • Обновлённый установщик, который позволяет установливать как PC-BSD, так и FreeBSD
  • Можно загружать с DVD диска, без установки (Live DVD mode)
  • Новый Software Manager, который позволяет просматривать и инсталировать программы
  • Поддержка 3D ускорения NVIDIA на 64 битных системах
  • С changelog’ом можно ознакомиться здесь.
    Качаеи дистрибутив здесь и, торрентами, здесь.

    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Установка FreeBSD на флешку

FreeBSD на флэшкуНа домашние seedbox’ы очень часто ставятся древние жесткие диски, из соображения «не жалко». Особо важных данных туда все равно не записывается, и когда они ломаются, ничего страшного не происходит, кроме как проблем с перестановкой ОС.
Для минимизирования опасности паломки ОС, вполне возможно вынести ее на отдельный физический носитель. Как вариант — на небольшую флешку. Дальше речь пойдет об установке и настройке FreeBSD (7.0-8.0) на флеш накопитель.

Размер флешки

Поэкспериментировав, в 200 мегабайт (на 256 меговую флешку) свободно влезает вполне рабочий роутер с dhcp/dns/vpn демонами. Так же из ядра выкидываются все ненужные драйвера, ну и опции отладки и профилирования, а из мира удаляются manы. Естественно, исходники (/usr/src) и порты (/usr/ports) туда не влезут, но их можно без проблем монтировать и с другого носителя.

More →

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Три серьезные уязвимости во FreeBSD

На сайте security.freebsd.org была опубликована информация о 3-х опасных уязвимостях во OS FreeBSD.

  • Уязвимость в демоне named. В момент запроса клиентом DNSSEC записи с CD (Checking Disabled) flag, сервер кэширует непроверенные данные. Эти данные могут быть отправлены другому клиенту, даже если он не установил CD флаг.
    Уязвимости подвержены все поддерживаемые ветки FreeBSD. Подробности — FreeBSD-SA-10:01.bind
  • Уязвимость в демоне ntpd.В момент получении запроса MODE_PRIVATE (mode 7) или же error-response от узла, не обозначенного в секциях restrict…noquery и restrict…ignore, соответствующая запись будет создана в логах и даже отправлен ответ на error-response.
    Хакер может послать error-response с поддельным ip-адресом отправителя (например, с ip-адрес самого уязвимого демона ntpd сервера или второго также уязвимого демона ntpd). В следствии чего, сервер будет до бесконечности отправлять пакеты с error-response, затрудняя работу сети, поедая ресурсы процессора, и свободное место на жестком диске, в результате чего может привести к DDoS.
    Уязвимы все поддерживаемые ветки ОС FreeBSD. Подробности — FreeBSD-SA-10:02.ntpd
  • Уязвимость в механизме ZFS ZIL. ZFS Intent Log («ZIL») — это механизм, который позволяет отложить процедуры записи на жесткий диск, производя их только в ОЗУ. В случае сбоя (отключения питания), производится анализ intent-log и на жесткий диск дописываются данные, которые были потерянны из-за сбоя.
    Уязвимость кроется в следующем. Если setattr транзакция будет не завершена из-за отключения питания или другого сбоя, при анализе log-файла вместо обозначенных в транзакции прав доступа будут выставлены права 07777. Это ведёт к повышению привилегий хакера или чтению/изменению произвольного файла на диске.
  • Уязвимость присутствует во ОС FreeBSD >= 7.0. Подробности — FreeBSD-SA-10:03.zfs

    Для устранения данных уязвимостей предлагается обновиться до последней версии вашей ветки ядра или использовать патчи (подробности — по приведенным выше ссылкам). Если вы не пользуетесь zfs, у вас не запущены named и ntpd, с обновлением можно не особо торопиться.

    Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Вышел релиз FreeBSD 8.0

freebsd 8.0
Улучшенная система блокировок MPSAFE (Multi Processor Safe). Над этой системой работали 4 года. На MPSAFE были переведены TTY,Newbus (архитектура для разработки драйверов).
Эмуляция Linux переведена на новое ядро 2.6.16.

Разработа виртуализация стека сети vimage. Что даёт вохможность для опеспечения поддержки на одной машине множества изолированных сетевых стеков. Данная система расширяет сетевую функциональность «клеток» (jail-ов). Во всех jail-ах стало возможным реализовывать всё своё — собственные ipfw, dummynet,PF, маршрутизация,IPSec и т.д.

Обновлённый USB-стек:

  • Решена проблема с kernel panic в момент извелечении USB-устройств без размонтирования (наконецто!!!! :-)
  • Новый usbconfig, для удобной настройки USB девайсов
  • Новый USB-API совместим с Linux в режиме эмуляции
  • И большое количество других дополнений

Доработана подсистема CAM (интерфейс для драйверов SCSI).

Почти полностью дработана система net80211 (беспроводная связь).

Посмотреть все новшества можно тут!

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong