Сегодня после удаленного рестарта системы неожиданно сервер отказался подниматься... просто пал смертью храбрых. Добравшись до машины и подключив монитор, увидел в терминале следующее:

Checking root filesystem
/dev/VolGroup00/LogVol00: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY

Ну что поделать, раз просят запустить fsck, так и сделал. Он нашел какие-то ошибки, спросил меня, стоит ли их исправить и велел рестартовать систему. Но увы, машина опять не поднялась и все с той же ошибкой. Проблему решил более грамотный запуск fsck:

[root@localhost ~]# fsck -f -c -y -v /

Многие используют в MySQL функцию Master - Slave репликации для зеркалирования или бекапа данных. А что, если slave должен иметь возможность записать данные в БД, которые затем должны реплицироваться на Master? Настройка Master - Master репликации на самом деле не представляет из себя ничего сложного.

Дано:

  • Хост 1 (192.168.1.1) - главный сервер
  • Хост 2 (192.168.1.2) - второй сервер, зеркало первого, который должен реплицировать все с главного, а также передавать ему свои изменения

Необходимо настроить мастер-мастер репликацию между главным сервером и зеркалом. Поехали!

На главном сервере:

  • В файле конфигурации MySQL (my.cnf) отключаем параметр skip-networking и прописываем в bind-address внешний IP данного сервера

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

Первое, что нужно сделать - убедиться, что в файле конфигурации /etc/sysconfig/iptables-config параметр IPTABLES_SAVE_ON_STOP="yes". Это заставит сервис iptables сохранять свою конфигурацию в файл при каждом завершении работы, чтобы не пришлось конфигурировать все повторно. Начнем с того, что создадим начальный файл конфигурации

iptables-save > /etc/sysconfig/iptables

На свежеустановленной системе файл будет иметь примерно следующее содержимое:

# Generated by iptables-save v1.4.5 on Sat Dec  5 11:46:18 2009
*filter
:INPUT ACCEPT [17:1201]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [12:1341]
COMMIT
# Completed on Sat Dec  5 11:46:18 2009

Что означает полностью прозрачный (открытый) режим работы. Никаких ограничений не задано. Здесь цепочка INPUT отвечает за фильтрацию входящего трафика, OUTPUT - исходящего.

3q qoo

В последнее время на рынке появилась масса предложений по так называемым "неттопам". Ассоциативно на ум приходит Asus eee pc, но это нетбук, а неттоп - это по сути тоже самое, только без дисплея. Внешне, неттоп представляет из себя маленькую коробку размером с обычный домашний роутер, которую предполагается вешать за монитор и таким образом наслаждаться работой за моноблоком. Я решил использовать данный девайс немного по-другому...

В этой статье хотел бы немного рассказать о такой замечательной возможности SSH как Port Forwarding (или SSH Tunneling). Начну с того, что ssh - это вообще сам по себе отличный инструмент администрирования, который несомненно придет на помощь, когда нужно удаленно зайти на сервер, поуправлять различными сервисами, передать или загрузить файлы и т.д. Собственно, знают это и пользуются этим все, но немногие помнят про то, что ssh еще может "пробрасывать" порты.

Лучше всего сразу продемонстрировать все на примерах. Представим, что у вас дома работает некий сервер homeserver, находящийся в локальной сети и на нем запущен допустим VNC server на порту 5900, принимающий соединения только из этой самой локальной сети. Усложним задачу тем, что на homeserver нету SSH-сервера, но в локалке есть другая машина, принимающая внешние соединения по SSH (назовем ее homegateway).

Озаботился на днях установки почтового сервера с поддержкой протокола TLS (Transport Layer Security) и SMTP-аутентификации. Ставил на CentOS 5. Итак, начал естественно с

yum install postfix
service saslauthd start

Теперь пойдем по шагам:

  • Генерим сертификаты для TLS:
    mkdir /etc/postfix/ssl
    cd /etc/postfix/ssl/

    openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
    #вводим пароль для нашего файла-ключа smtpd.key

    chmod 600 smtpd.key
    openssl req -new -key smtpd.key -out smtpd.csr

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

Процедура довольно простая.
1. На локальной машине необходимо сгенерировать публичный и приватный ключи без passphrase:

[me@local .ssh]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/me/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/me/.ssh/id_rsa.
Your public key has been saved in /home/me/.ssh/id_rsa.pub.
The key fingerprint is:
6a:f0:01:e1:3b:61:7f:2b:39:e2:12:02:69:03:65:32

Не так давно имел опыт установки утилиты rrdtool для построения графиков cacti на CentOs 5. Ставил вручную, тобишь скачал с официального сайта rpm-ку. В результате, потратил добрых полчаса пока нашел и установил все необходимые зависимости и это в век, когда есть такие package manager'ы как yum!

После недолгих поисков в сети, все таки удалось найти репозиторий yum, который содержит rrdtool со всеми зависимыми пакетами. Итак, все что нужно сделать - это создать файл dag.repo в каталоге /etc/yum.repos.d/ с содержанием:

[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
enabled=1

Ну а теперь можно запускать yum install rrdtool и наслаждаться установкой.

Никогда не приходилось писать скрипты для удаления каких-нибудь старых файлов под Linux? Как это сделать проще? Ну вот, например, как-то так:

find /var/log -mtime +60 -type f -exec rm -rf {} \;

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

Чтобы поменять timezone в Linux нужно проделать следующее:
1. Зайдите под рутом и убедитесь, что текущая зона отличается от нужной выполнив команду date.
2. cd /usr/share/zoneinfo. Здесь вы сможете найти список доступных часовых поясов.
3. Создайте символическую ссылку на нужную зону, например:

      ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

6. Установите ZONE в файле /etc/sysconfig/clock (например, "America/Los_Angeles")
7. Синхронизируйте хардварные часы:

      /sbin/hwclock --systohc

Подписаться на блог по E-Mail:

Follow me on twitter

Последние комментарии

Реклама на stremoukhov.ru:
интернет-магазин магнитол Supra

Блог переехал

Обратите внимание, блог переехал на новый адрес: initialize.ru