Домашний linux http://linuxhome.ru Блог о Linux Thu, 08 Mar 2012 02:13:37 +0000 en hourly 1 http://wordpress.org/?v=3.3.1 Ufasoft cpuminer сборка под Centos/RHEL/Scientific Linux 6 64-bit HOWTO http://linuxhome.ru/ufasoft-cpuminer-sborka-pod-centos-rhel-scientific-linux-6-64-bit-howto/ http://linuxhome.ru/ufasoft-cpuminer-sborka-pod-centos-rhel-scientific-linux-6-64-bit-howto/#comments Thu, 08 Mar 2012 02:11:04 +0000 kirkir http://linuxhome.ru/?p=275 Устанавливаем необходимые пакеты

yum install libcurl-devel gcc yasm make automake git screen -y

Качаем библиотеки от Fedora 13 необходимые для сборки

wget ftp://ftp.pbone.net/mirror/download.fedora.redhat.com/pub/fedora/linux/releases/15/Everything/x86_64/os/Packages/jansson-1.2-1.fc13.x86_64.rpm
wget ftp://ftp.pbone.net/mirror/download.fedora.redhat.com/pub/fedora/linux/releases/15/Everything/x86_64/os/Packages/jansson-devel-1.2-1.fc13.x86_64.rpm

Устанавливаем их

yum localinstall jansson-* -y

Берем из GIT последнию версию cpuminer

git clone git://github.com/jgarzik/cpuminer.git

Сборка и установка.

cd cpuminer
./autogen.sh
./configure
make
make install

Пользуемся и генерируем Bitcoin))).

]]>
http://linuxhome.ru/ufasoft-cpuminer-sborka-pod-centos-rhel-scientific-linux-6-64-bit-howto/feed/ 0
Настройка выполнения определенных команд веб-сервером Apache с правами root. http://linuxhome.ru/nastroyka-vyipolneniya-opredelennyih-komand-veb-serverom-apache-s-pravami-root/ http://linuxhome.ru/nastroyka-vyipolneniya-opredelennyih-komand-veb-serverom-apache-s-pravami-root/#comments Wed, 21 Dec 2011 16:17:30 +0000 kirkir http://linuxhome.ru/?p=255 Настройка выполнения определенных команд веб-сервером Apache с правами root.
Для этого потребуется установить sudo, но обычно по умолчанию он уже установлен во всех популярных дистрибутивах

Для RHEL/Centos/SL

yum install sudo

Для Debian/Ubuntu

aptitude install sudo

Правим файл /etc/sudoers.

nanо /etc/sudoers

Создаем Alias команды, для примера:

Cmnd_Alias PDF=/usr/bin/wkhtmltopdf *

Тут PDF имя далее идет путь к исполняемому файлу и * если команду требуется исполнять с параметрами.

www-data ALL=NOPASSWD:PDF

Тут www-data имя пользователя apache, в разных дитрибутивах оно может отличаться.

На этом и все, по аналогии делаем команду которая нам нужна.

]]>
http://linuxhome.ru/nastroyka-vyipolneniya-opredelennyih-komand-veb-serverom-apache-s-pravami-root/feed/ 0
Восстановление репликации DRBD. http://linuxhome.ru/vosstanovlenie-replikatsii-drbd/ http://linuxhome.ru/vosstanovlenie-replikatsii-drbd/#comments Thu, 08 Sep 2011 23:05:26 +0000 kirkir http://linuxhome.ru/?p=252 На испорченной ноде

drbdadm secondary all
drbdadm disconnect all
drbdadm invalidate all
drbdadm connect all

На ноде с актуальной копией.

drbdadm connect all

Единственный минус это то что все данные будут заново реплицированы.

]]>
http://linuxhome.ru/vosstanovlenie-replikatsii-drbd/feed/ 0
Тюнинг сети TCP/UDP http://linuxhome.ru/tyuning-seti-tcp-udp/ http://linuxhome.ru/tyuning-seti-tcp-udp/#comments Thu, 08 Sep 2011 21:38:28 +0000 kirkir http://linuxhome.ru/?p=248 Небольшая наброска как улучшить производительности сети для приложений требующих высокой пропускной способности, актуально для сетей GigE+. Такими приложениями могут быть например NAS/SAN хранилища.

Шаги

Понятное дело все действия только от root

Наберем: sysctl -p | grep mem
Получим вывод всех текущих настроек, которые лучше сохранить, что бы была возможность вернуться назад если потребуется.

Набираем: sysctl -w net.core.rmem_max=8388608
Эта настройка задает максимальный размер буфера приема ОС для всех типов соединений.

Нибираем: sysctl -w net.core.wmem_max=8388608
Эта настройка задает максимальный размер буфера передачи ОС для всех типов соединений.

Нибираем: sysctl -w net.core.rmem_default=65536
Эта настройка задает размер буфера передачи по умолчанию ОС для всех типов соединений.

Нибираем: sysctl -w net.core.wmem_default=65536
Эта настройка задает азмер буфера передачи по умолчанию ОС для всех типов соединений.

Набираем: sysctl -w net.ipv4.tcp_mem=’8388608 8388608 8388608′
Настройка TCP автотюнинг. «Переменная tcp_mem определяет как стек протокола TCP должен себя вести когда дело доходит до использования памяти. … Первое значение указанное в переменной tcp_mem сообщает ядру нижний порог. Ниже этого значения, стек TCP не будет оказывать давление на использование памяти различными сокетами TCP. … Второе значение переменной сообщает ядру точку при пересечении которой начать использовать дополнительную память. … И последнее значение переменной сообщает ядру сколько страниц памяти можно использовать максимально. Если это значение будет достигнуто, количество TCP потоков и пакетов начнет снижаться пока мы не достигнем нижнего предела памяти. Эта переменная включает в себя все TCP сокеты используемые в настоящее время.»

Набираем: sysctl -w net.ipv4.tcp_rmem=’4096 87380 8388608′
Настройка TCP автотюнинг. «Первая переменная сообщает ядру минимальный размер буфера приема для каждого NCP соеденения, и этот буфер всегда выделяется но сокет TCP, даже под высоким давлением системы. … Второе значение указывет ядру настройки по умолчанию буфера приема выделяемого для каждого сокета TCP. Эта переменная пепеопределяет переменную /proc/sys/net/core/rmem_default используемую другими протоколами. … Последнее значение переменной задает максимальный размер буфера приема, который может быть выделе TCP сокету.»

Набираем: sysctl -w net.ipv4.tcp_wmem=’4096 65536 8388608′
Настройка TCP автотюнинг. «В этой переменной содержится три значения с информацией о том сколько памяти для TCP sendbuffer должен использоватьTCP сокет. Каждый TCP сокет будет использовать пространство буфера пока он не заполнится. Каждое значение используется при наступлении определенных условий. … Первое значение задает минимальный размер буфера отправки TCP доступный одному TCP сокету. … Второе значение переменной сообщает размер буфера по умолчанию доступный для одного TCP сокета. … Третье значение сообщает ядру максимальный размер буфера отправки TCP.»

Набираем:sysctl -w net.ipv4.route.flush=1
Это переменная обеспечит применения наших настроек ко всем последующим соеденениям.

Ну и что бы было удобно просто копируем и вставляем в терминал с правами root:

sysctl -w net.core.rmem_max=8388608
sysctl -w net.core.wmem_max=8388608
sysctl -w net.core.rmem_default=65536
sysctl -w net.core.wmem_default=65536
sysctl -w net.ipv4.tcp_rmem=’4096 87380 8388608′
sysctl -w net.ipv4.tcp_wmem=’4096 65536 8388608′
sysctl -w net.ipv4.tcp_mem=’8388608 8388608 8388608′
sysctl -w net.ipv4.route.flush=1

]]>
http://linuxhome.ru/tyuning-seti-tcp-udp/feed/ 0
Openswan создание нового ipsec hostkey http://linuxhome.ru/openswan-sozdanie-novogo-ipsec-hostkey/ http://linuxhome.ru/openswan-sozdanie-novogo-ipsec-hostkey/#comments Wed, 31 Aug 2011 20:15:33 +0000 kirkir http://linuxhome.ru/?p=244 Пример на основе дистрибутива Centos/RHEL/ScientificLinux 6
Для начала установим Openswan и nss-tools

yum install openswan nss-tools -y

Далее создадим утилитой certutil «NSS Certificate DB»

certutil -N -d /etc/ipsec.d

Пароль можно оставить пустым если не критично.
Далее создаем сертификат

ipsec newhostkey —configdir /etc/ipsec.d/ —output /etc/ipsec.secrets —bits 2048 —hostname example.com —password {password}

]]>
http://linuxhome.ru/openswan-sozdanie-novogo-ipsec-hostkey/feed/ 0
Opsview установка и настройка. http://linuxhome.ru/opsview-ustanovka-i-nastroyka/ http://linuxhome.ru/opsview-ustanovka-i-nastroyka/#comments Wed, 31 Aug 2011 12:34:41 +0000 kirkir http://linuxhome.ru/?p=239 Когда парк серверов и активного сетевого оборудования компании разрастается, встает вопрос а как за всем этим следит в режиме реального времени и оперативно получать информацию о сбоях, проблемах и других событиях. Существует не мало систем мониторинга как бесплатных так и коммерческих версий. Я же хочу рассказать о системе мониторинга построенной на базе nagios, Opsview. Opsview доступна в двух вариантах это Opsview Community Edition бесплатная система мониторинга с некоторыми ограничениями, например отсутствие возможности отправки SMS и отсутствие других возможностей доступных в Opsview Enterprise. Opsview Enterprise это коммерческая версия доступная только при подписке на платную тех поддержку.
Я же остановлюсь на Opsview Community Edition, опишу подготовку системы, инсталляцию и настройку. Я буду устанавливать Opsview на базе Centos 5.6 x86_64, на данный момент уже есть пакеты и под Centos/RHEL 6 процесс инсталляции практически не отличается.

Системные требования(взяты с официального сайта).
Минимальные:

A CPU model less than five years old
1 GB RAM (2GB for 64 bit systems)
20GB Available storage (with data warehouse disabled)

Рекомендуемые требования(до 250 устройств)

A modern multi-core CPU
4GB RAM
80GB Available storage (with RAID 1, 0+1 or 10)


Установку Centos я описывать не буду, так как про это в сети есть тысячи инструкции, а остановлю свое внимание только на разбиении жесткого диска. По рекомендациям с сайта:
/ требуется достаточно места для установки операционной систему, так как я ставлю Centos в минимальном варианте 5Gb мне хватает, вам же если вы хотите поставить графику и еще какие-то сервисы может потребоваться больше места.
/boot Centos 5 – 100Mb, Centos 6 – 200Mb
/usr/local Тут бодет стоять сам Opsview рекомендуется минимум 10Gb
/var минимум 50Gb.
Ну и swap делают обычно равным размеру памяти.

Также требуется отключить Selinux
после установки правим /etc/selinux/config и перегружаем сервер

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing — SELinux security policy is enforced.
# permissive — SELinux prints warnings instead of enforcing.
# disabled — SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted — Only targeted network daemons are protected.
# strict — Full SELinux protection.
# SELINUXTYPE=targeted

После того как установили CentOS приступим непосредственно к установке Opsview. Первое что нам потребуется это подключить репозиторий RPMForge. Как это делать для CentOS описано в wiki http://wiki.centos.org/AdditionalResources/Repositories/RPMForge. Далее создаем репозиторий Opsview:

nano /etc/yum.repos.d/opsview.repo

[opsview]
name = Opsview
baseurl = http://downloads.opsera.com/opsview-community/latest/yum/centos/5/$basearch
enabled = 1
protect = 0
gpgcheck = 0

Инсталяция

yum install opsview dejavu-lgc-fonts mysql-server

При инсталляции на CentOS/RHEL/SL 6 надо будет еще установить следующие пакеты.

yum install -y perl-Log-Log4perl rrdtool-perl

Запускаем и включаем автостарт mysql при загрузке

/etc/init.d/mysqld start
chkconfig —level 345 mysqld on

Устанавливает пароль root для mysql

mysqladmin -u root password {password}

Протестируем и настроем окружение для пользователя nagios.
ВНИМАНИЕ ПРИ КОПИРОВАНИИ КОДА НИЖЕ ЗАМЕНИТЕ КАВЫЧКИ НА ДВОЙНЫЕ ВЕРХНИЕ.

su — nagios
echo «test -f /usr/local/nagios/bin/profile && . /usr/local/nagios/bin/profile» >> ~/.bash_profile

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

exit
su — nagios

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

nano /usr/local/nagios/etc/opsview.conf

Настройка пользователей для баз данных MySQL с необходимыми разрешениями для Opsview

/usr/local/nagios/bin/db_mysql -u root -p{mysql root password}

Установка баз данных MySQL для Opsview

/usr/local/nagios/bin/db_opsview db_install
/usr/local/nagios/bin/db_runtime db_install
/usr/local/nagios/bin/db_odw db_install

Создание всех необходимых для запуска Opsview и Nagios конфигурационных файлов.

/usr/local/nagios/bin/rc.opsview gen_config

Запускаем opsview

/etc/init.d/opsview-web start

по умолчанию сервер доступен на 3000 порту, не забудьте его открыть через iptables.

Использования Apache как Proxy server.

Редактируем httpd.conf

nano /etc/httpd/conf/httpd.conf

проверяем что строка

LoadModule proxy_http_module modules/mod_proxy_http.so

не закомментирована
И комментируем строку

DocumentRoot ”/var/www/html

Скопируем пример конфигурации Opsview для Apache.

cd /etc/httpd/conf.d
cp /usr/local/nagios/installer/apache_proxy.conf opsview.conf

Включаем группу сервера Apache в группу nagcmd.

usermod -G nagcmd apache

перезапускаем Apache, и включаем автозапуск если он не настроен.

/etc/init.d/httpd restart
chkconfig —level 345 httpd on

теперь Opsview доступен на 80 порту.

Для первого входа используются пользователь и пароль

username: admin
password: initial

! Не забудьте сразу же сменить пароль.

В следующей статье я расскажу о настройке Opsview.

]]>
http://linuxhome.ru/opsview-ustanovka-i-nastroyka/feed/ 0
Openfiler, настройка сетевого хранилища с репликацией Active/Passive с помощью Corosync, Pacemaker и DRBD. http://linuxhome.ru/openfiler-nastroyka-setevogo-hranilishha-s-replikatsiey-active-passive-s-pomoshhyu-corosync-pacemaker-i-drbd/ http://linuxhome.ru/openfiler-nastroyka-setevogo-hranilishha-s-replikatsiey-active-passive-s-pomoshhyu-corosync-pacemaker-i-drbd/#comments Mon, 22 Aug 2011 16:20:34 +0000 kirkir http://linuxhome.ru/?p=233 Openfiler это основаный на Linux NAS/SAN приложение для создания сетевого хранилища данных посредством nfs/smb/iscsi и ftp, а также удобный Web-интерфейс для управления этими службами посредством браузера.

  • 1. Создание системы и ее установка:

hostname: nas1
eth0: 192.168.10.1 (внешний IP, если сервера находятся например в дата-центре, и требуется к ним доступ, в локальной сети достаточно двух интерфейсов)
eth1: 10.0.100.101 (IP локальной сети для раздачи ресурсов)
eth2: 10.0.111.1 (Подсеть межву двумя нодами, для репликации напрямую)
500MB Meta partition
4GB+ Data partition

hostname: nas2
(сетевые интерфейсы аналогично)
eth0: 192.168.10.2
eth1: 10.0.100.102
eth2: 10.0.111.2
500MB Meta partition
4GB+ Data partition

Вообще по сетевым интерфейсам я бы советовал для eth1 и eth2 использовать агрегацию портов.
virtualip: 10.0.100.105 (не использует физических адаптеров создается посредством corosync)

  • 1.1 Создаем hosts файлы для более простого доступа на обоих нодах

root@nas1 ~# nano /etc/hosts
10.0.100.102 nas2

root@nas2 ~# nano /etc/hosts
10.0.100.101 nas1

  • 1.2 Создаем и обмениваемся SSH ключами для более удобного обмена файлами.

root@nas1 ~# ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Created directory ‘/root/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
46:1a:b2:da:94:4c:d7:97:8b:9f:3f:6d:a0:96:0b:8c root@nas1
The key’s randomart image is:

Тоже самое выполняем на nas2.

root@nas2 ~# ssh-keygen -t dsa

Теперь обмениваемся файлами.

root@nas1 ~# scp ~/.ssh/id_dsa.pub root@nas2:~/.ssh/authorized_keys
root@nas2 ~# scp ~/.ssh/id_dsa.pub root@nas1:~/.ssh/authorized_keys

Теперь можно обменивать файлави между нодами без использования паролей.

  • 2. Создание meta/data раздела на nas1 и nas2.

Прежде чем мы сможем реально использовать кластер, мы должны подготовить обе системы, и синхронизировать meta раздел прежде чем возможно будет использовать corosync/pacemaker , но перед этим мы настроим DRBD.

  • 2.1 Настроим DRBD

редактируем /etc/drbd.conf on nas1 and nas2:

# You can find an example in /usr/share/doc/drbd…/drbd.conf.example
include «drbd.d/global_common.conf»;
#include «drbd.d/*.res»;
resource meta {
on nas1 {
device /dev/drbd0;
disk /dev/sda4;
address 10.0.111.1:7788;
meta-disk internal;
}
on nas2 {
device /dev/drbd0;
disk /dev/sda4;
address 10.0.111.2:7788;
meta-disk internal;
}
}
resource data {
on nas1 {
device /dev/drbd1;
disk /dev/sda5;
address 10.0.111.1:7789;
meta-disk internal;
}
on nas2 {
device /dev/drbd1;
disk /dev/sda5;
address 10.0.111.2:7789;
meta-disk internal;
}
}

После этого создаем meta/data разделы если вы столкнулись с ошибками при создании, проверьте /etc/fstab на наличие записей относящихся к разделам которые вы используете, в моем случае это /dev/sda4 и /dev/sda5, если таковые имеются удалите их. И если у вас что-то было на этих разделах выполните например dd if=/dev/zero of=/dev/sda5 bs=4M, в противном случае при попытке создания drdb устройства у вас могут возникать ошибки.

Создаем разделы

root@nas1 ~# drbdadm create-md meta
root@nas1 ~# drbdadm create-md data

и

root@nas2 ~# drbdadm create-md meta
root@nas2 ~# drbdadm create-md data

Теперь можно запустить drbd на обеих нодах:

service drbd start

Делаем nas1 основным (Primary):

root@nas1 ~# drbdsetup /dev/drbd0 primary -o
root@nas1 ~# drbdsetup /dev/drbd1 primary -o

  • 2.2 Подготавливаем раздел конфигурации.

root@nas1 ~# mkfs.ext3 /dev/drbd0
root@nas1 ~# service openfiler stop

  • 2.2.1 Переносим настройки Openfiler на meta-Partition

root@nas1 ~# mkdir /meta
root@nas1 ~# mount /dev/drbd0 /meta
root@nas1 ~# mv /opt/openfiler/ /opt/openfiler.local
root@nas1 ~# mkdir /meta/opt
root@nas1 ~# cp -a /opt/openfiler.local /meta/opt/openfiler
root@nas1 ~# ln -s /meta/opt/openfiler /opt/openfiler
root@nas1 ~# rm /meta/opt/openfiler/sbin/openfiler
root@nas1 ~# ln -s /usr/sbin/httpd /meta/opt/openfiler/sbin/openfiler
root@nas1 ~# rm /meta/opt/openfiler/etc/rsync.xml
root@nas1 ~# ln -s /opt/openfiler.local/etc/rsync.xml /meta/opt/openfiler/etc/
root@nas1 ~# mkdir -p /meta/etc/httpd/conf.d

  • 2.2.2 Переносим конфигурационные файлы Samba/NFS/ISCSI/PROFTPD на Meta Partition

root@nas1 ~# service nfslock stop
root@nas1 ~# umount -a -t rpc-pipefs
root@nas1 ~# mkdir /meta/etc
root@nas1 ~# mv /etc/samba/ /meta/etc/
root@nas1 ~# ln -s /meta/etc/samba/ /etc/samba
root@nas1 ~# mkdir -p /meta/var/spool
root@nas1 ~# mv /var/spool/samba/ /meta/var/spool/
root@nas1 ~# ln -s /meta/var/spool/samba/ /var/spool/samba
root@nas1 ~# mkdir -p /meta/var/lib
root@nas1 ~# mv /var/lib/nfs/ /meta/var/lib/
root@nas1 ~# ln -s /meta/var/lib/nfs/ /var/lib/nfs
root@nas1 ~# mv /etc/exports /meta/etc/
root@nas1 ~# ln -s /meta/etc/exports /etc/exports
root@nas1 ~# mv /etc/ietd.conf /meta/etc/
root@nas1 ~# ln -s /meta/etc/ietd.conf /etc/ietd.conf
root@nas1 ~# mv /etc/initiators.allow /meta/etc/
root@nas1 ~# ln -s /meta/etc/initiators.allow /etc/initiators.allow
root@nas1 ~# mv /etc/initiators.deny /meta/etc/
root@nas1 ~# ln -s /meta/etc/initiators.deny /etc/initiators.deny
root@nas1 ~# mv /etc/proftpd /meta/etc/
root@nas1 ~# ln -s /meta/etc/proftpd/ /etc/proftpd
root@nas1 ~# mkdir /meta/etc/sysconfig
root@nas1 ~# mv /etc/sysconfig/iscsi-target /meta/etc/sysconfig/
root@nas1 ~# ln -s /meta/etc/sysconfig/iscsi-target /etc/sysconfig/iscsi-target

  • 2.2.3 httpd Modules for Openfiler

root@nas1 ~# rm /opt/openfiler/etc/httpd/modules
root@nas1 ~# ln -s /usr/lib64/httpd/modules /opt/openfiler/etc/httpd/modules

Теперь можно опять запустить Openfiler

root@nas1 ~# service openfiler start

  • 2.2.4 настройка nas2 Openfiler

root@nas2 ~# service openfiler stop
root@nas2 ~# mkdir /meta
root@nas2 ~# mv /opt/openfiler/ /opt/openfiler.local
root@nas2 ~# ln -s /meta/opt/openfiler /opt/openfiler

  • 2.2.5 Переносим конфигурационные файлы Samba/NFS/ISCSI/PROFTPD на Meta Partition

root@nas2 ~# service nfslock stop
root@nas2 ~# umount -a -t rpc-pipefs
root@nas2 ~# rm -rf /etc/samba/
root@nas2 ~# ln -s /meta/etc/samba/ /etc/samba
root@nas2 ~# rm -rf /var/spool/samba/
root@nas2 ~# ln -s /meta/var/spool/samba/ /var/spool/samba
root@nas2 ~# rm -rf /var/lib/nfs/
root@nas2 ~# ln -s /meta/var/lib/nfs/ /var/lib/nfs
root@nas2 ~# rm -rf /etc/exports
root@nas2 ~# ln -s /meta/etc/exports /etc/exports
root@nas2 ~# rm /etc/ietd.conf
root@nas2 ~# ln -s /meta/etc/ietd.conf /etc/ietd.conf
root@nas2 ~# rm /etc/initiators.allow
root@nas2 ~# ln -s /meta/etc/initiators.allow /etc/initiators.allow
root@nas2 ~# rm /etc/initiators.deny
root@nas2 ~# ln -s /meta/etc/initiators.deny /etc/initiators.deny
root@nas2 ~# rm -rf /etc/proftpd
root@nas2 ~# ln -s /meta/etc/proftpd/ /etc/proftpd
root@nas2 ~# rm /etc/sysconfig/iscsi-target
root@nas2 ~# ln -s /meta/etc/sysconfig/iscsi-target /etc/sysconfig/iscsi-target

  • 2.3 Подготовка раздела Data

Изменим lvm filter в файле /etc/lvm/lvm.conf
Заменим строку

filter = [ "a/.*/" ]

на

filter = [ "a|drbd[0-9]|», «r|.*|» ]

Изменить данный файл нужно на обоих нодах.
После все что было сделано, создадим LVM раздел.

root@nas1 ~# pvcreate /dev/drbd1
root@nas1 ~# vgcreate data /dev/drbd1
root@nas1 ~# lvcreate -L 400M -n filer data

  • 3. Запуск и создание конфигурации для Corosync:
  • 3.1 Создание ключа аутентификации для Corosync

root@nas1~# corosync-keygen

( Теперь нажимаем случайно кнопки на клавиатуре в терминале. )
Копируем ключ аутентификации на nas2:

root@nas1~# scp /etc/corosync/authkey root@nas2:/etc/corosync/authkey
root@nas2~# chmod 400 /etc/corosync/authkey

  • 3.2 Создаем файл с именем pcmk /etc/corosync/service.d/pcmk

root@nas1~# nano /etc/corosync/service.d/pcmk

С содержимым:

service {
# Load the Pacemaker Cluster Resource Manager
name: pacemaker
ver: 0
}

Копируем его на nas2

root@nas1~# scp /etc/corosync/service.d/pcmk root@nas2:/etc/corosync/service.d/pcmk

  • 3.3 Создаем файл corosync.conf и изменяем bindnetaddr, на подсеть в которой у нас настроена репликация, в моем случае это 10.0.111.0

root@nas1~# nano /etc/corosync/corosync.conf

Содержимое:

# Please read the corosync.conf.5 manual page
compatibility: whitetank
totem {
version: 2
secauth: off
threads: 0
interface {
ringnumber: 0
bindnetaddr: 10.0.111.0
mcastaddr: 226.94.1.1
mcastport: 5405
ttl: 1
}
}
logging {
fileline: off
to_stderr: no
to_logfile: yes
to_syslog: yes
logfile: /var/log/cluster/corosync.log
debug: off
timestamp: on
logger_subsys {
subsys: AMF
debug: off
}
}
amf {
mode: disabled
}

Копируем этот файл на nas2:

root@nas1~# scp /etc/corosync/corosync.conf root@nas2:/etc/corosync/corosync.conf

  • 4. Подготовка к первому запуску corosync

Сначала мы отключим на наших нодах некоторые сервесы, которые будет обрабатывать corosync

root@nas1~# chkconfig —level 2345 openfiler off
root@nas1~# chkconfig —level 2345 nfslock off
root@nas1~# chkconfig —level 2345 corosync on

Тоже самое делаем на nas2

root@nas2~# chkconfig —level 2345 openfiler off
root@nas2~# chkconfig —level 2345 nfslock off
root@nas2~# chkconfig —level 2345 corosync on

теперь перегрузите обе ноды.

  • 4.1 Проверяем запустился ли corosync.

root@nas1~# ps auxf

в выводе должно быть что-то вроде:

oot 2074 0.0 0.1 66240 2820 ? S 22:40 0:00 \_ /usr/lib64/heartbeat/stonithd
106 2075 0.0 0.2 65812 4952 ? S 22:40 0:00 \_ /usr/lib64/heartbeat/cib
root 2076 0.0 0.1 68896 2296 ? S 22:40 0:00 \_ /usr/lib64/heartbeat/lrmd
106 2077 0.0 0.1 66604 3116 ? S 22:40 0:00 \_ /usr/lib64/heartbeat/attrd
106 2078 0.0 0.1 66992 2756 ? S 22:40 0:00 \_ /usr/lib64/heartbeat/pengine
106 2079 0.0 0.1 74832 3420 ? S 22:40 0:00 \_ /usr/lib64/heartbeat/crmd

и

root@nas2~# crm_mon —one-shot -V

в выводе должно быть что-то вроде:

crm_mon[2159]: 2011/08/20_22:48:17 ERROR: unpack_resources: Resource start-up disabled since no STONITH resources have been defined
crm_mon[2159]: 2011/08/20_22:48:17 ERROR: unpack_resources: Either configure some or disable STONITH with the stonith-enabled option
crm_mon[2159]: 2011/08/20_22:48:17 ERROR: unpack_resources: NOTE: Clusters with shared data need STONITH to ensure data integrity
============
Last updated: Sat Aug 20 22:48:17 2011
Stack: openais
Current DC: nas2 — partition with quorum
Version: 1.1.2-c6b59218ee949eebff30e837ff6f3824ed0ab86b
2 Nodes configured, 2 expected votes
0 Resources configured.
============
Online: [ nas2 nas1 ]

  • 4.2 Последующая настройка Corosync

Запустим мониторинг состояния кластера на nas2:
root@nas2~# crm_mon

  • 4.2.1 Пошаговая настройка corosync

Заходим в консоль corosync.

root@nas1~# crm configure
crm(live)configure#

В консоли выполняем следующие команды.

property stonith-enabled=»false»
property no-quorum-policy=»ignore»
rsc_defaults $id=»rsc-options» resource-stickiness=»100″
primitive ClusterIP ocf:heartbeat:IPaddr2 \
params ip=»10.0.100.105″ cidr_netmask=»32″ \
op monitor interval=»30s»
primitive MetaFS ocf:heartbeat:Filesystem \
params device=»/dev/drbd0″ directory=»/meta» fstype=»ext3″
primitive lvmdata ocf:heartbeat:LVM \
params volgrpname=»data»
primitive drbd_meta ocf:linbit:drbd \
params drbd_resource=»meta» \
op monitor interval=»15s»
primitive drbd_data ocf:linbit:drbd \
params drbd_resource=»data» \
op monitor interval=»15s»
primitive openfiler lsb:openfiler
primitive iscsi lsb:iscsi-target
primitive samba lsb:smb
primitive nfs lsb:nfs
primitive nfslock lsb:nfslock
group g_drbd drbd_meta drbd_data
group g_services MetaFS lvmdata openfiler ClusterIP iscsi samba nfs nfslock
ms ms_g_drbd g_drbd \
meta master-max=»1″ master-node-max=»1″ \
clone-max=»2″ clone-node-max=»1″ \
notify=»true»
colocation c_g_services_on_g_drbd inf: g_services ms_g_drbd:Master
order o_g_servicesafter_g_drbd inf: ms_g_drbd:promote g_services:start
commit

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

root@nas1 ~# crm_mon

  • 4.2.2 Поиск неисправностей.

Если вы получаете различные ошибки при применении конфигурации попробуйте просто очистить MetaFS.

root@filer01~# crm
crm(live)# resource cleanup MetaFS

  • 4.2.3 Проверка конфигурации

Для проверки конфигурации выполните

root@nas1~#crm configure show
node nas1
node nas2
primitive ClusterIP ocf:heartbeat:IPaddr2 \
params ip=»10.0.100.105″ cidr_netmask=»32″ \
op monitor interval=»30s»
primitive MetaFS ocf:heartbeat:Filesystem \
params device=»/dev/drbd0″ directory=»/meta» fstype=»ext3″
primitive drbd_data ocf:linbit:drbd \
params drbd_resource=»data» \
op monitor interval=»15s»
primitive drbd_meta ocf:linbit:drbd \
params drbd_resource=»meta» \
op monitor interval=»15s»
primitive iscsi lsb:iscsi-target
primitive lvmdata ocf:heartbeat:LVM \
params volgrpname=»data»
primitive nfs lsb:nfs
primitive nfslock lsb:nfslock
primitive openfiler lsb:openfiler
primitive samba lsb:smb
group g_drbd drbd_meta drbd_data
group g_services MetaFS lvmdata openfiler ClusterIP iscsi samba nfs nfslock
ms ms_g_drbd g_drbd \
meta master-max=»1″ master-node-max=»1″ clone-max=»2″ clone-node-max=»1″ notify=»true»
colocation c_g_services_on_g_drbd inf: g_services ms_g_drbd:Master
order o_g_servicesafter_g_drbd inf: ms_g_drbd:promote g_services:start
property $id=»cib-bootstrap-options» \
dc-version=»1.1.2-c6b59218ee949eebff30e837ff6f3824ed0ab86b» \
cluster-infrastructure=»openais» \
expected-quorum-votes=»2″ \
stonith-enabled=»false» \
no-quorum-policy=»ignore» \
last-lrm-refresh=»1313866914″
rsc_defaults $id=»rsc-options» \
resource-stickiness=»100″

]]>
http://linuxhome.ru/openfiler-nastroyka-setevogo-hranilishha-s-replikatsiey-active-passive-s-pomoshhyu-corosync-pacemaker-i-drbd/feed/ 0
Установка Opsview-agent на Openfiler http://linuxhome.ru/ustanovka-opsview-agent-na-openfiler/ http://linuxhome.ru/ustanovka-opsview-agent-na-openfiler/#comments Sat, 20 Aug 2011 12:39:05 +0000 kirkir http://linuxhome.ru/?p=225 Скачиваем с http://downloads.opsera.com/opsview-community/latest/yum/rhel/6/x86_64/ свежую версию rpm пакета opsview-agent.
Вытягиваем из rpm пакета cpio архив командой

rpm2cpio opsview-agent*rpm > opsview-agent.cpio

Далее заходим mc в cpio и распаковываем файлы из папок аналогично тому как они лежат в архиве.
Создаем пользователя nagios и группу.

/usr/sbin/groupadd -r nagios
/usr/sbin/useradd -r -m -d /var/log/nagios -s /bin/bash -c «nagios» -g nagios nagios

Меняем группу и пользователя для папки /usr/local/nagios с содержимым командой

chown nagios:nagios /usr/local/nagios/ -R

Создаем файл send_nsca.cfg

echo «# See send_nsca.cfg on master server for config options» > /usr/local/nagios/etc/send_nsca.cfg
echo «password=changeme» >> /usr/local/nagios/etc/send_nsca.cfg
echo «encryption_method=2″ >> /usr/local/nagios/etc/send_nsca.cfg

При попытки запуска агент ругнется на то что не может найти библиотек, создадим ссылки на них следующими командами

ln /lib64/libssl.so.7 /lib64/libssl.so.10
ln /lib64/libcrypto.so.7 /lib64/libcrypto.so.10

Opsview-agent работает )))

]]>
http://linuxhome.ru/ustanovka-opsview-agent-na-openfiler/feed/ 0
OpenLDAP и RHEL6 (Centos6, Scientificlinux6) http://linuxhome.ru/openldap-i-rhel6-centos6-scientificlinux6/ http://linuxhome.ru/openldap-i-rhel6-centos6-scientificlinux6/#comments Thu, 14 Apr 2011 12:52:03 +0000 kirkir http://linuxhome.ru/?p=218 В RHEL6 и других дистрибутивах (Centos6 и Scientificlinux 6) основанных на RHEL в OpenLDAP конфигурируется не через файл slapd.conf, а используется новая конфигурация «cn=config». Но что бы не разбираться с новыми конфигурационными файлами можно конвертировать slapd.conf в «cn=config».

Делается все просто.

Удаляем директорию /slapd.d/

rm -rf /etc/openldap/slapd.d/*

Далее запускаем slaptest для проверки конфигурационного файла и указываю новую конфигурационную директорию

slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d

Теперь выставляем правильна права на slapd.d

chown -R ldap:ldap /etc/openldap/slapd.d

chmod -R 000 /etc/openldap/slapd.d

chmod -R u+rwX /etc/openldap/slapd.d

Ну вот и готово. Кстати можно использовать и напрямую slapd.conf, для этого остонавливаем сервис slapd и запускаем его командой

/usr/sbin/slapd -f /etc/openldap/slapd.conf

]]>
http://linuxhome.ru/openldap-i-rhel6-centos6-scientificlinux6/feed/ 0
Centos 6.0 когда выйдет релиз? http://linuxhome.ru/centos-6-0-kogda-vyiydet-reliz/ http://linuxhome.ru/centos-6-0-kogda-vyiydet-reliz/#comments Thu, 10 Mar 2011 21:35:25 +0000 kirkir http://linuxhome.ru/?p=203 После выхода в конце прошлого года RHEL6, многих интересует вопрос когда выйдет Centos 6. К сожалению информации по этому вопросу абсолютно нет. Но на самом деле не все так плохо как многим кажется, ведь кроме Centos у RHEL существует другой клон и это Scientific Linux и что самое хорошее Scientific Linux 6.0 вышел третьего марта и уже более недели доступен для загрузки. Scientific Linux бинарно совместим с RHEL + включает некоторые дополнительные пакеты, полезные пользователям связанных с научной работой. В остальном же он ни чем не отличается от RHEL.

]]>
http://linuxhome.ru/centos-6-0-kogda-vyiydet-reliz/feed/ 0