Oracle DBA Forum  

Вернуться   Oracle DBA Forum > Работа > temp

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 07.06.2011, 11:49
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Clusters: DRBD 4 node cluster

Clusters: DRBD: "Попытка создания 4 node cluster"



http://www.drbd.org/users-guide/s-pa...r-stacked-4way

Для удаленных узлов кластера, необходимо настраивать proxy
http://www.drbd.org/users-guide/s-drbd-proxy.html

======================================

Поздно нашел, когда уже уперся в тупик при настройке.

Эх....
Для этого еще и придется изучить Pacemaker clusters

Integrating DRBD with Pacemaker clusters
http://www.drbd.org/users-guide/ch-p...cemaker-primer


======================================
Изучу, а после продолжу.
https://odba.ru/showthread.php?t=527



===========
Сначала нужно попробовать с 3 узлами.
http://www.linuxtoday.com/news_story...NT&tbovrmode=3
__________________
Телеграм чат

Последний раз редактировалось Marley; 10.06.2011 в 17:07.
Ответить с цитированием
  #2  
Старый 07.06.2011, 11:51
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

Настраиваем сетевые интерфейсы

# vi /etc/sysconfig/network

Указать соответствующий HOSTNAME

HOSTNAME={node1.localdomain | node2.localdomain | node3.localdomain | node4.localdomain}

Код:
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=<HOSTNAME>
GATEWAY=192.168.1.1

# vi /etc/resolv.conf


Код:
search localdomain 
nameserver 192.168.1.1
options attempts: 2
options timeout: 1

===============================================


node1.localdomain

(public)
# vi /etc/sysconfig/network-scripts/ifcfg-eth0

Код:
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.11
NETMASK=255.255.255.0
(private)
# vi /etc/sysconfig/network-scripts/ifcfg-eth1

Код:
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.2.11
NETMASK=255.255.255.0

# service network restart

===============================================


node2.localdomain

(public)
# vi /etc/sysconfig/network-scripts/ifcfg-eth0

Код:
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.12
NETMASK=255.255.255.0
(private)
# vi /etc/sysconfig/network-scripts/ifcfg-eth1

Код:
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.2.12
NETMASK=255.255.255.0

# service network restart



===============================================


node3.localdomain

(public)
# vi /etc/sysconfig/network-scripts/ifcfg-eth0

Код:
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.13
NETMASK=255.255.255.0
(private)
# vi /etc/sysconfig/network-scripts/ifcfg-eth1

Код:
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.2.13
NETMASK=255.255.255.0

# service network restart



===============================================


node4.localdomain

(public)
# vi /etc/sysconfig/network-scripts/ifcfg-eth0

Код:
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.14
NETMASK=255.255.255.0
(private)
# vi /etc/sysconfig/network-scripts/ifcfg-eth1

Код:
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.2.14
NETMASK=255.255.255.0

# service network restart
__________________
Телеграм чат

Последний раз редактировалось Marley; 10.06.2011 в 15:25.
Ответить с цитированием
  #3  
Старый 07.06.2011, 12:07
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

Создаю файл hosts на первой ноде

# vi /etc/hosts

Код:
## Localdomain and Localhost (hosts file, DNS)

127.0.0.1 localhost.localdomain localhost


## eth0 Public Network (hosts file, DNS)

192.168.1.11 node1.localdomain node1
192.168.1.12 node2.localdomain node2
192.168.1.13 node3.localdomain node3
192.168.1.14 node4.localdomain node4


## eth1 Interconnect Private Network  (hosts file, DNS)


192.168.2.11 node1-interconnect
192.168.2.12 node2-interconnect
192.168.2.13 node3-interconnect
192.168.2.14 node4-interconnect
-----------------------------------------------
scp /etc/hosts node2:/etc/hosts
scp /etc/hosts node3:/etc/hosts
scp /etc/hosts node4:/etc/hosts
__________________
Телеграм чат

Последний раз редактировалось Marley; 10.06.2011 в 15:26.
Ответить с цитированием
  #4  
Старый 07.06.2011, 12:31
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

// Уменьшили время для выбора ядра пользователем.
# vi /etc/grub.conf
timeout=1


# vi /etc/selinux/config
SELINUX=disabled
__________________
Телеграм чат

Последний раз редактировалось Marley; 10.06.2011 в 15:27.
Ответить с цитированием
  #5  
Старый 07.06.2011, 12:33
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

Настраиваем secure shell (ssh) на 4 узлах

1) Создаем на серверах каталоги
[[email protected] ~]# mkdir /root/.ssh/
[[email protected] ~]# ssh node2 mkdir /root/.ssh/
[[email protected] ~]# ssh node3 mkdir /root/.ssh/
[[email protected] ~]# ssh node4 mkdir /root/.ssh/

2) Генерируем 2 ключа, приватный и публичный. Ключи создаются в каталоге /root/.ssh/

// На все вопросы отвечаю Enter
[[email protected] ~]# ssh-keygen -t dsa

// Результат 2 ключа
[[email protected] ~]# ls /root/.ssh/
id_dsa id_dsa.pub known_hosts

[[email protected] ~]# cat /root/.ssh/id_dsa.pub >>/root/.ssh/authorized_keys

// Теперь мы должны скопировать на второй сервер публичный ключ

[[email protected] .ssh]# scp /root/.ssh/authorized_keys node2:/root/.ssh/

====================

[[email protected] /]# ssh node2

Повторяем данные операции, но уже на другом сервере

Генерируем ключи
[[email protected] ~]# ssh-keygen -t dsa
[[email protected] ~]# cat /root/.ssh/id_dsa.pub >>/root/.ssh/authorized_keys
[email protected] ~]# scp /root/.ssh/authorized_keys node3:/root/.ssh/

====================

[[email protected] ~]# ssh node3
[[email protected] ~]# ssh-keygen -t dsa
[[email protected] ~]# cat /root/.ssh/id_dsa.pub >>/root/.ssh/authorized_keys
[[email protected] ~]# scp /root/.ssh/authorized_keys node4:/root/.ssh/

====================

[[email protected] ~]# ssh node4
[[email protected] ~]# ssh-keygen -t dsa
[[email protected] ~]# cat /root/.ssh/id_dsa.pub >>/root/.ssh/authorized_keys

[[email protected] ~]# scp /root/.ssh/authorized_keys node1:/root/.ssh/
[[email protected] ~]# scp /root/.ssh/authorized_keys node2:/root/.ssh/
[[email protected] ~]# scp /root/.ssh/authorized_keys node3:/root/.ssh/


=====================

[[email protected] ~]# ssh node1

// Стартуем на первом сервере
[[email protected] ~]# exec /usr/bin/ssh-agent $SHELL
[[email protected] ~]# ssh-add
__________________
Телеграм чат

Последний раз редактировалось Marley; 10.06.2011 в 15:27.
Ответить с цитированием
  #6  
Старый 07.06.2011, 12:40
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

// создаем фал с описанием параметров подключения к репозиторию
# vi /etc/yum.repos.d/centosRepo.repo


Код:
[Centos5_extras_PublicRepo]
name=Centos Linux $releasever - $basearch - latest
baseurl=http://mirror.centos.org/centos/5.6/extras/x86_64/
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
gpgcheck=1
enabled=1

# vi /etc/yum.repos.d/oracleLinuxRepo.repo

Код:
[OEL55_PublicRepo]
name=Enterprise Linux $releasever - $basearch - latest
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL5/6/base/x86_64/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=1

// Для проверки правильности созданного файла, воспользуйтесь командой
# yum list



scp /etc/yum.repos.d/centosRepo.repo node2:/etc/yum.repos.d/centosRepo.repo
scp /etc/yum.repos.d/centosRepo.repo node3:/etc/yum.repos.d/centosRepo.repo
scp /etc/yum.repos.d/centosRepo.repo node4:/etc/yum.repos.d/centosRepo.repo



scp /etc/yum.repos.d/oracleLinuxRepo.repo node2:/etc/yum.repos.d/oracleLinuxRepo.repo
scp /etc/yum.repos.d/oracleLinuxRepo.repo node3:/etc/yum.repos.d/oracleLinuxRepo.repo
scp /etc/yum.repos.d/oracleLinuxRepo.repo node4:/etc/yum.repos.d/oracleLinuxRepo.repo



Устанавливаем дополнительные пакеты (на всех узлах):


# ssh node1 yum install -y \
mc \
screen \
vsftpd \
xinetd \
net-snmp \
sysstat



# ssh node2 yum install -y \
mc \
screen \
vsftpd \
xinetd \
net-snmp \
sysstat


# ssh node3 yum install -y \
mc \
screen \
vsftpd \
xinetd \
net-snmp \
sysstat


# ssh node4 yum install -y \
mc \
screen \
vsftpd \
xinetd \
net-snmp \
sysstat
__________________
Телеграм чат

Последний раз редактировалось Marley; 10.06.2011 в 15:31.
Ответить с цитированием
  #7  
Старый 07.06.2011, 15:07
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

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

На всех виртуальных машинах.
Сервера ru.pool.ntp.org выбраны в качестве примера

crontab -e

Код:
# Set the date and time via NTP
*/15 * * * * /usr/sbin/ntpdate 0.ru.pool.ntp.org 1.ru.pool.ntp.org 2.ru.pool.ntp.org 3.ru.pool.ntp.org   > /var/log/time.log

Внесите изменения в файл параметров ntpd.

vi /etc/sysconfig/ntpd

замените

Код:
# Drop root to id 'ntp:ntp' by default.
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid"
на

Код:
# Drop root to id 'ntp:ntp' by default.
# OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid"
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"

service ntpd restart
__________________
Телеграм чат

Последний раз редактировалось Marley; 10.06.2011 в 15:29.
Ответить с цитированием
  #8  
Старый 08.06.2011, 11:14
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

# ssh node1 yum install -y \
ocfs2-2.6.18-238.el5.x86_64 \
ocfs2console \
ocfs2-tools \
ocfs2-tools-debuginfo \
ocfs2-tools-devel


# ssh node2 yum install -y \
ocfs2-2.6.18-238.el5.x86_64 \
ocfs2console \
ocfs2-tools \
ocfs2-tools-debuginfo \
ocfs2-tools-devel


# ssh node3 yum install -y \
ocfs2-2.6.18-238.el5.x86_64 \
ocfs2console \
ocfs2-tools \
ocfs2-tools-debuginfo \
ocfs2-tools-devel


# ssh node4 yum install -y \
ocfs2-2.6.18-238.el5.x86_64 \
ocfs2console \
ocfs2-tools \
ocfs2-tools-debuginfo \
ocfs2-tools-devel



# ssh node1 mkdir /etc/ocfs2
# ssh node2 mkdir /etc/ocfs2
# ssh node3 mkdir /etc/ocfs2
# ssh node4 mkdir /etc/ocfs2


# vi /etc/ocfs2/cluster.conf
Код:
cluster:
    node_count = 4
    name = ocfs2

node:
    ip_port = 7777
    ip_address = 192.168.2.11
    number = 0
    name = node1.localdomain
    cluster = ocfs2

node:
    ip_port = 7777
    ip_address = 192.168.2.12
    number = 1
    name = node2.localdomain
    cluster = ocfs2

node:
    ip_port = 7777
    ip_address = 192.168.2.13
    number = 2
    name = node3.localdomain
    cluster = ocfs2

node:
    ip_port = 7777
    ip_address = 192.168.2.14
    number = 3
    name = node4.localdomain
    cluster = ocfs2






scp /etc/ocfs2/cluster.conf node2:/etc/ocfs2/cluster.conf
scp /etc/ocfs2/cluster.conf node3:/etc/ocfs2/cluster.conf
scp /etc/ocfs2/cluster.conf node4:/etc/ocfs2/cluster.conf



ssh node1 /etc/init.d/o2cb enable
ssh node2 /etc/init.d/o2cb enable
ssh node3 /etc/init.d/o2cb enable
ssh node4 /etc/init.d/o2cb enable


ssh node1 /etc/init.d/o2cb status
ssh node2 /etc/init.d/o2cb status
ssh node3 /etc/init.d/o2cb status
ssh node4 /etc/init.d/o2cb status



/// Попробую без этих команд
ssh node1 /etc/init.d/o2cb online ocfs2
ssh node2 /etc/init.d/o2cb online ocfs2
ssh node3 /etc/init.d/o2cb online ocfs2
ssh node4 /etc/init.d/o2cb online ocfs2



Возможно понадобятся команды:

/etc/init.d/ocfs2 restart
/etc/init.d/o2cb force-reload
__________________
Телеграм чат

Последний раз редактировалось Marley; 10.06.2011 в 15:39.
Ответить с цитированием
  #9  
Старый 08.06.2011, 11:26
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

# ssh node1 yum install -y \
drbd83 \
kmod-drbd83


# ssh node2 yum install -y \
drbd83 \
kmod-drbd83


# ssh node3 yum install -y \
drbd83 \
kmod-drbd83


# ssh node4 yum install -y \
drbd83 \
kmod-drbd83



# vi /etc/drbd.conf

Код:
global { usage-count yes; }
resource r0 {
	protocol C;

    startup {become-primary-on both;}


   disk {on-io-error   detach;}
   net {allow-two-primaries;}

	on node1.localdomain {
		device    /dev/drbd0;
		disk      /dev/hdb1;
		address   192.168.2.11:7789;
		meta-disk internal;
	}
	on node2.localdomain {
		device    /dev/drbd0;
		disk      /dev/hdb1;
		address   192.168.2.12:7789;
		meta-disk internal;
	}

}

scp /etc/drbd.conf node2:/etc/drbd.conf
scp /etc/drbd.conf node3:/etc/drbd.conf
scp /etc/drbd.conf node4:/etc/drbd.conf




ssh node1 drbdadm create-md r0
ssh node2 drbdadm create-md r0

// Загружаю модуль drbd
ssh node1 modprobe drbd
ssh node2 modprobe drbd


// Нужно выполнить эти команды на 2 серверах в одно время
[[email protected] ~]# /etc/init.d/drbd start
[[email protected] ~]# /etc/init.d/drbd start

Пришлось перезагружать виртуалки, только после этого поднялся.

ssh node1 drbdadm -- --overwrite-data-of-peer primary r0


ssh node1 /etc/init.d/drbd status

ssh node1 cat /proc/drbd




[[email protected] ~]# mkfs.ocfs2 /dev/drbd0


ssh node1 mkdir /mnt/sync
ssh node2 mkdir /mnt/sync

ssh node1 mount -t ocfs2 /dev/drbd0 -o datavolume /mnt/sync
__________________
Телеграм чат

Последний раз редактировалось Marley; 14.06.2011 в 12:57.
Ответить с цитированием
  #10  
Старый 08.06.2011, 11:32
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

Код:
resource r0 {
	protocol C;

    startup {become-primary-on both;}


   disk {on-io-error   detach;}
   net {allow-two-primaries;}

	on node1.localdomain {
		device    /dev/drbd0;
		disk      /dev/hdb1;
		address   192.168.2.11:7789;
		meta-disk internal;
	}
	on node2.localdomain {
		device    /dev/drbd0;
		disk      /dev/hdb1;
		address   192.168.2.12:7789;
		meta-disk internal;
	}

}


resource r0-U {
	protocol A;

    startup {become-primary-on both;}


   disk {on-io-error   detach;}
   net {allow-two-primaries;}

	on node3.localdomain {
		device    /dev/drbd1;
		disk      /dev/hdb1;
		address   192.168.2.13:7789;
		meta-disk internal;
	}
  stacked-on-top-of r0 {
    device     /dev/drbd1;
    address    192.168.2.25:7788;
  }

}
__________________
Телеграм чат

Последний раз редактировалось Marley; 10.06.2011 в 16:21.
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 11:12. Часовой пояс GMT +3.


Powered by vBulletin®