pupseg

pupseg
Рейтинг
364
Регистрация
14.05.2010
Andreyka:
Критикую
У mysql есть нативный кластер
Без репликации

подробнее.....

ndbmgnt -или как то так ?....из коробки заводится ? как йопся-йопся - чото не стартонуло, а нужно было быстро....

ТС, Romka_Kharkov прав.

stop slave сначала :)

вас действительно разсинхронизировало просто.

Спасибо за благодарности. Завершил крупный проект. Продолжаю работать. Есть время.

у меня сейчас сделано drbd как master-slave, а при такой схеме - я могу воспользоваться slave только когда навернется master, по умолчанию, не смотря на то, что запись на /dev/drbd0 успешно идет - я не смогу примонтировать его на slave.

а мне нужно на двух серверах одинаковые данные, поэтому я его экспорчу по nfs.

вот тут предложили drbd как master master.

на мастере drbd:

[root@host1 ~]# mount | grep drb
/dev/drbd0 on /home type ext4 (rw)
[root@host1 ~]#

там же на нем же экспорт на соседа.

[root@host1 ~]# cat /etc/exports
/home 192.168.1.1(rw,no_root_squash)
[root@host1 ~]#

на соседе успешно монтируется этот том:

[root@host ~]# mount | grep nfs
192.168.1.2:/home on /home type nfs (rw,vers=4,addr=192.168.1.2,clientaddr=192.168.1.1)
[root@host ~]#

если я с соседа попробую примонтировать напрямую синхронизируемый слейв-том drbd, то получаю:

[root@host ~]# mount /dev/drbd0 /123
mount: you must specify the filesystem type
[root@host ~]#

не смотря на то, что на slave:

version: 8.4.1 (api:1/proto:86-100)
GIT-hash: 91b4c048c1a0e06777b5f65d312b38d47abaea80 build by dag@Build64R6, 2011-12-21 06:08:50
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r-----
ns:0 nr:921908216 dw:921908216 dr:0 al:0 bm:53119 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

и на мастере:

version: 8.4.1 (api:1/proto:86-100)
GIT-hash: 91b4c048c1a0e06777b5f65d312b38d47abaea80 build by dag@Build64R6, 2011-12-21 06:08:50
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
ns:921914408 nr:0 dw:51622924 dr:889403446 al:13016 bm:53119 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

и это нормально, так как у меня drbd как master-slave.

http://xgu.ru/wiki/DRBD , вот тут с иллюстрациями.

megadimon:
а с теми, которые я вручную писал запросами.

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

конфиг мастера:



[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-external-locking
key_buffer_size = 128K
max_allowed_packet = 16M
table_open_cache = 4096
sort_buffer_size = 64K
read_buffer_size = 256K
max_connections=1000
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K
server-id = 1
log-bin=mysql-bin
replicate-same-server-id=0
auto-increment-increment=2
auto-increment-offset=1
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
[mysqlhotcopy]
interactive-timeout

конфиг слейва:


[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
[mysqld]
datadir = /var/lib/mysql
port = 3306
socket = /var/lib/mysql/mysql.sock
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4096
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
max-connections=1000
net_buffer_length = 2K
thread_stack = 128K
server-id = 2
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 2
log-bin=mysql-bin
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
[mysqlhotcopy]
interactive-timeout

команды для включения (делал как master-master а не как master-slave):

на одном тазике:


GRANT REPLICATION SLAVE ON *.* TO 'mas_slave'@'192.168.1.1' identified by 'password';
FLUSH PRIVILEGES;
CHANGE MASTER TO MASTER_HOST='192.168.1.1',MASTER_USER='mas_slave',MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=107;

на втором тазике:


CHANGE MASTER TO MASTER_HOST='192.168.2.1', MASTER_USER='mas1_slave', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000003' MASTER_LOG_POS=107;
GRANT REPLICATION SLAVE ON *.* TO 'mas1_slave'@'192.168.2.1' identified by 'password';
FLUSH PRIVILEGES;

mysql5.5, в нем в конфиге отсутствуют директивы master-host master-user master-password, они автоматом запоминаются и потом после рестарта работают посте команды change master.

Все заработало из коробки. Сразу и без проблем. Делал сегодня днем как одну из подзадач, вот в этом топике флудю по этому поводу.

Raistlin:
А в чем проблема, собственно?

сам тупанул :) нет проблем, все, переключил на master-master.

теперь - как бы красиво засинхить /dev/sda5 на обоих серверах красиво.

сейчас так:

first: /dev/sda5 = /dev/drbd0 = /home ---nfs---> second -----> first:/home nfs /home

по сути - одновременное отображение контента реализовано на двух серверах по nfs.

хотелось бы не экспортить низкоуровневую drbd0 по nfs, а альтернативно. ocfs2 порекомендовали уже..

ну а таки ocfs2 кто юзал в продакшне? как мне получить дублячий диск по сети?

---------- Добавлено 26.01.2012 в 12:53 ----------

Raistlin:
На DRBD такие вещи делать нельзя. DRBD синхронизирует дисковую подсистему напрочь. Это приведет к излишнему оверхеду.

у меня mysql отдельно живет в master-slave сейчас, планирую master-master, а на drbd у меня данные, контент сайта ...

почитал за ocfs, ocfs2 интересно тоже.

---------- Добавлено 26.01.2012 в 11:45 ----------

michaek:
pupseg, чем не устроил drbd master-master?

сейчас и это почитаю.

больше интересует mysql master master на mysql5.5 , очень не хочется откатываться на 5.1

Raistlin:
pupseg, Гм. Надо делать для перекреста master-master и никаких монтирований дисков друг друга друг к другу. drbd сам по себе рейд между серваками.

drbd - он как бы рейд, но на каком то странном уровне.

если я сейчас мастер-диск вырублю, сделаю слейв-диск как мастер - то не вопрос - я бывший слейв - примонтирую без проблем. Пока drbd-slave таковым является - его нельзя примонтировать.

Всего: 3686