Pages : 1
#1 Le 24/06/2009, à 20:09
- B@rtounet
mise en place cluster DRBD + OCFS2 ( apache2 + Mysql)
Bonjour, je souhaite mettre en place cette infrastructure.
Un forum type phpbb qui utilise un /var/www et un server Mysql partagé sur 2 ressources DRBD formaté en ocfs2 ( file system cluster permettant de faire de l'actif/actif ).
Ceci permettra par un round robin DNS d'être router sur l'un ou l'autre des serveur de manières aléatoire et de pouvoir alimenter le forum de n'imprte quel noeud du cluster puique actif/actif.
Tout cela est bien joli, c'est en théorie censé fonctionner.
La mise en place de l'infra ne pose pas de probleme, le seul problème sur lequel je bute est le demarrage du serveur Mysql des deux coté sur le drbd1.
Un serveur arrive à démarrer, mais l'autre se met toujours en erreur et ne demarre pas...
comme on peut le voir mon drbd est bien conected et uptodate des deux coté.
version: 8.3.1 (api:88/proto:86-89)
GIT-hash: fd40f4a8f9104941537d1afc8521e584a6d3003c build by root@sd-15181, 2009-06-21 20:22:50
0: cs:Connected ro:Primary/Primary ds:UpToDate/UpToDate C r----
ns:2427540 nr:61345 dw:391834 dr:2221456 al:82 bm:128 lo:0 pe:0 ua:0 ap:0 ep:1 wo:n oos:0
1: cs:Connected ro:Primary/Primary ds:UpToDate/UpToDate C r----
ns:2519700 nr:86227 dw:508875 dr:2234264 al:92 bm:128 lo:0 pe:0 ua:0 ap:0 ep:1 wo:n oos:0
et le cluster ocfs2 est online
root@node1:~# mount
/dev/md1 on / type xfs (rw)
proc on /proc type proc (rw,noexec,nosuid,nodev)
/sys on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
devshm on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/md0 on /boot type ext3 (rw)
securityfs on /sys/kernel/security type securityfs (rw)
configfs on /sys/kernel/config type configfs (rw)
ocfs2_dlmfs on /dlm type ocfs2_dlmfs (rw)
[b]/dev/drbd0 on /var/www type ocfs2 (rw,_netdev,heartbeat=local)
/dev/drbd1 on /var/lib/mysql type ocfs2 (rw,_netdev,heartbeat=local)[/b]
sur server1 j'arrive à demmarer Mysql-server
mais sur server2 voiçi les erreurs
Jun 24 20:06:38 sd-15182 mysqld_safe[24315]: started
Jun 24 20:06:38 sd-15182 mysqld[24318]: InnoDB: The log sequence number in ibdata files does not match
Jun 24 20:06:38 sd-15182 mysqld[24318]: InnoDB: the log sequence number in the ib_logfiles!
Jun 24 20:06:38 sd-15182 mysqld[24318]: 090624 20:06:38 InnoDB: Database was not shut down normally!
Jun 24 20:06:38 sd-15182 mysqld[24318]: InnoDB: Starting crash recovery.
Jun 24 20:06:38 sd-15182 mysqld[24318]: InnoDB: Reading tablespace information from the .ibd files...
Jun 24 20:06:38 sd-15182 mysqld[24318]: InnoDB: Restoring possible half-written data pages from the doublewrite
Jun 24 20:06:38 sd-15182 mysqld[24318]: InnoDB: buffer...
Jun 24 20:06:38 sd-15182 mysqld[24318]: InnoDB: Page directory corruption: supremum not pointed to
Jun 24 20:06:38 sd-15182 mysqld[24318]: 090624 20:06:38 InnoDB: Page dump in ascii and hex (16384 bytes):
Jun 24 20:06:38 sd-15182 mysqld[24318]: len 16384; hex 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Jun 24 20:06:38 sd-15182 mysqld[24318]: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Jun 24 20:06:38 sd-15182 mysqld[24318]: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Jun 24 20:06:38 sd-15182 mysqld[24318]: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Jun 24 20:06:38 sd-15182 mysqld[24318]: 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Jun 24 20:06:39 sd-15182 mysqld[24318]: ;InnoDB: End of page dump
Jun 24 20:06:39 sd-15182 mysqld[24318]: 090624 20:06:39 InnoDB: Page checksum 1575996416, prior-to-4.0.14-form checksum 1371122432
Jun 24 20:06:39 sd-15182 mysqld[24318]: InnoDB: stored checksum 0, prior-to-4.0.14-form stored checksum 0
Jun 24 20:06:39 sd-15182 mysqld[24318]: InnoDB: Page lsn 0 0, low 4 bytes of lsn at page end 0
Jun 24 20:06:39 sd-15182 mysqld[24318]: InnoDB: Page number (if stored to page already) 0,
Jun 24 20:06:39 sd-15182 mysqld[24318]: InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 0
Jun 24 20:06:39 sd-15182 mysqld[24318]: 090624 20:06:39InnoDB: Error: trying to access a stray pointer 0x80007f203dfcbff8
Jun 24 20:06:39 sd-15182 mysqld[24318]: InnoDB: buf pool start is at 0x7f203dfbc000, end at 0x7f203e7bc000
Jun 24 20:06:39 sd-15182 mysqld[24318]: InnoDB: Probable reason is database corruption or memory
Jun 24 20:06:39 sd-15182 mysqld[24318]: InnoDB: corruption. If this happens in an InnoDB database recovery, see
Jun 24 20:06:39 sd-15182 mysqld[24318]: InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
Jun 24 20:06:39 sd-15182 mysqld[24318]: InnoDB: how to force recovery.
Jun 24 20:06:39 sd-15182 mysqld[24318]: 090624 20:06:39InnoDB: Assertion failure in thread 139776500688624 in file ./../include/buf0buf.ic line 268
Jun 24 20:06:39 sd-15182 mysqld[24318]: InnoDB: We intentionally generate a memory trap.
Jun 24 20:06:39 sd-15182 mysqld[24318]: InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
Jun 24 20:06:39 sd-15182 mysqld[24318]: InnoDB: If you get repeated assertion failures or crashes, even
Jun 24 20:06:39 sd-15182 mysqld[24318]: InnoDB: immediately after the mysqld startup, there may be
Jun 24 20:06:39 sd-15182 mysqld[24318]: InnoDB: corruption in the InnoDB tablespace. Please refer to
Jun 24 20:06:39 sd-15182 mysqld[24318]: InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
Jun 24 20:06:39 sd-15182 mysqld[24318]: InnoDB: about forcing recovery.
Jun 24 20:06:39 sd-15182 mysqld[24318]: 090624 20:06:39 - mysqld got signal 11;
Jun 24 20:06:39 sd-15182 mysqld[24318]: This could be because you hit a bug. It is also possible that this binary
Jun 24 20:06:39 sd-15182 mysqld[24318]: or one of the libraries it was linked against is corrupt, improperly built,
Jun 24 20:06:39 sd-15182 mysqld[24318]: or misconfigured. This error can also be caused by malfunctioning hardware.
Jun 24 20:06:39 sd-15182 mysqld[24318]: We will try our best to scrape up some info that will hopefully help diagnose
Jun 24 20:06:39 sd-15182 mysqld[24318]: the problem, but since we have already crashed, something is definitely wrong
Jun 24 20:06:39 sd-15182 mysqld[24318]: and this may fail.
Jun 24 20:06:39 sd-15182 mysqld[24318]:
Jun 24 20:06:39 sd-15182 mysqld[24318]: key_buffer_size=0
Jun 24 20:06:39 sd-15182 mysqld[24318]: read_buffer_size=131072
Jun 24 20:06:39 sd-15182 mysqld[24318]: max_used_connections=0
Jun 24 20:06:39 sd-15182 mysqld[24318]: max_connections=100
Jun 24 20:06:39 sd-15182 mysqld[24318]: threads_connected=0
Jun 24 20:06:39 sd-15182 mysqld[24318]: It is possible that mysqld could use up to
Jun 24 20:06:39 sd-15182 mysqld[24318]: key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 217599 K
Jun 24 20:06:39 sd-15182 mysqld[24318]: bytes of memory
Jun 24 20:06:39 sd-15182 mysqld[24318]: Hope that's ok; if not, decrease some variables in the equation.
Jun 24 20:06:39 sd-15182 mysqld[24318]:
Jun 24 20:06:39 sd-15182 mysqld[24318]: thd=(nil)
Jun 24 20:06:39 sd-15182 mysqld[24318]: Attempting backtrace. You can use the following information to find out
Jun 24 20:06:39 sd-15182 mysqld[24318]: where mysqld died. If you see no messages after this, something went
Jun 24 20:06:39 sd-15182 mysqld[24318]: terribly wrong...
Jun 24 20:06:39 sd-15182 mysqld[24318]: frame pointer is NULL, did you compile with
Jun 24 20:06:39 sd-15182 mysqld[24318]: -fomit-frame-pointer? Aborting backtrace!
Jun 24 20:06:39 sd-15182 mysqld[24318]: The manual page at http://www.mysql.com/doc/en/Crashing.html contains
Jun 24 20:06:39 sd-15182 mysqld[24318]: information that should help you find out what is causing the crash.
Jun 24 20:06:39 sd-15182 mysqld_safe[24325]: ended
Jun 24 20:06:53 sd-15182 /etc/init.d/mysql[24475]: 0 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in
Jun 24 20:06:53 sd-15182 /etc/init.d/mysql[24475]: ^G/usr/bin/mysqladmin: connect to server at 'localhost' failed
Jun 24 20:06:53 sd-15182 /etc/init.d/mysql[24475]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Jun 24 20:06:53 sd-15182 /etc/init.d/mysql[24475]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
Jun 24 20:06:53 sd-15182 /etc/init.d/mysql[24475]:
si vous avez une idée je suis preneur.
Edit
mon fichier my.cnf
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
#
# * Basic Settings
#
#
# * IMPORTANT
# If you make changes to these settings and your system uses apparmor, you may
# also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 128K
thread_cache_size = 8
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
#log = /var/log/mysql/mysql.log
#
# Error logging goes to syslog. This is a Debian improvement :)
#
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * BerkeleyDB
#
# Using BerkeleyDB is now discouraged as its support will cease in 5.1.12.
skip-bdb
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
# You might want to disable InnoDB to shrink the mysqld process by circa 100MB.
#skip-innodb
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
[isamchk]
key_buffer = 16M
#
# * NDB Cluster
#
# See /usr/share/doc/mysql-server-*/README.Debian for more information.
#
# The following configuration is read by the NDB Data Nodes (ndbd processes)
# not from the NDB Management Nodes (ndb_mgmd processes).
#
# [MYSQL_CLUSTER]
# ndb-connectstring=127.0.0.1
#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
Dernière modification par B@rtounet (Le 24/06/2009, à 20:18)
Hors ligne
#2 Le 25/06/2009, à 11:16
- MrWaloo
Re : mise en place cluster DRBD + OCFS2 ( apache2 + Mysql)
je ne connais pas mysql en détail, je ne pourrai pas te donner de détail, mais il me semble que 2 serveurs mysql ne peuvent pas mettre à disposition les mêmes bases en terme de fichier (puisque sous linux, tout est fichier...)
je m'explique, drbd se charge de mettre les données à jour des 2 cotés, mysql tourne des 2 cotés, c'est comme si sur le même PC tu arrivais à faire tourner 2 serveurs (logiciel, evidemment) mysql dont les bases sont stockées au même emplacement sur le disque...
c'est plutôt branlant...
pour faire de l'actif/actif je te conseillerais de ne rien changer pour /var/www mais pour mysql, il existe un moyen de faire en sorte que les 2 serveurs se synchronisent via mysql, en collaboratif ou qq chose de ce genre (MySql Cluster ? mais ça nécessite 3 serveurs...)
drbd n'est pas fait pour du actif/actif avec mysql, il va faloir que trouves une autre solution...
Dernière modification par MrWaloo (Le 25/06/2009, à 11:19)
"De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent !!" (Desproges)
UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, MS-DOS is a boot sector virus.
Hors ligne
#3 Le 25/06/2009, à 14:49
- B@rtounet
Re : mise en place cluster DRBD + OCFS2 ( apache2 + Mysql)
C'est le but de OCFS2, c'est un systeme de fichier cluster, qui utilise des dlm.
Distributed lock manager. Il va verrouiller les fichiers en fonction des noeuds qui les demandent.
Ce n'est pas au niveau fichier le problème, c'est au niveau des cache mysql. il faut arriver à désactiver tous les caches. pour qu'il ne travaille justement que sur disque.
Hors ligne
#4 Le 25/06/2009, à 16:07
- lionelp
Re : mise en place cluster DRBD + OCFS2 ( apache2 + Mysql)
Oui, mais MySQL pose ses petits locks, et il n'est pas possible ni prévu d'avoir les deux serveurs MySQL qui écrivent sur les mêmes fichiers. Il te faut soit passer à une configuration actif/passif sur tes noeuds DRBD, ou revenir à une réplication tradictionnelle master-master de ta base MySQL.
Personnellement, j'opterai pour la 2e solution.
Hors ligne
#5 Le 25/06/2009, à 16:11
- MrWaloo
Re : mise en place cluster DRBD + OCFS2 ( apache2 + Mysql)
je connais ocfs2 et drbd, DLM par contre je connaissais pas
http://forums.mysql.com/read.php?144,214891,214891#msg-214891
-> pas mal d'info et de liens, tu verras qu'il a opté pour une autre solution...
je n'ai pas tout lu : http://www.shinguz.ch/MySQL/external_locking.pdf
edit: j'ai un peu lu quand même et ça donne des principes pour le mode actif/actif
RRDTool, ça te parle ?
moi pas, mais toutes mes recherches convergent vers ça... ça doit être un système de base de données partagé en round robin (basé sur PostGreSql on dirait)
Dernière modification par MrWaloo (Le 25/06/2009, à 16:16)
"De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent !!" (Desproges)
UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, MS-DOS is a boot sector virus.
Hors ligne
#6 Le 25/06/2009, à 16:52
- B@rtounet
Re : mise en place cluster DRBD + OCFS2 ( apache2 + Mysql)
Bon mes deux bases on demarré sans probleme...
en modifiant un peu le fichier de conf et supprimant les ibdata.
j'ai mis à 0 tous les caches.
apperement cela fonctionne pour l'instant..
maintenant est ce que la base va se corrompre ...
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
#
# * Basic Settings
#
#innodb_data_home_dir =
#
## Le fichier de donné doivent contenir vos donné et index.
#innodb_data_file_path = /ibdata/ibdata1:2000M;
##
## Utilisez un buffer de taille 50 à 0 % de votre méire serveur
## mais assurez vous sous Linux que l'utilisation totale est inféeure à Go
#set-variable = innodb_buffer_pool_size=1G
#set-variable = innodb_additional_mem_pool_size=20M
#innodb_log_group_home_dir = /dr3/iblogs
##
## innodb_log_arch_dir doit êe le mê que innodb_log_group_home_dir
## (starting from 4.0.6, you can omit it)
#innodb_log_arch_dir = /dr3/iblogs
#set-variable = innodb_log_files_in_group=2
##
## Utilisez un fichier de log de taille 15 % du buffer méire
#set-variable = innodb_log_file_size=250M
#set-variable = innodb_log_buffer_size=8M
##
#innodb_flush_log_at_trx_commit=1
#set-variable = innodb_lock_wait_timeout=50
##
## Démmentez les prochaines lignes, si vous voulez les utiliser
##innodb_flush_method=fdatasync
##set-variable = innodb_thread_concurrency=5
#
#
# * IMPORTANT
# If you make changes to these settings and your system uses apparmor, you may
# also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking = 0
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer = 0
key_buffer_size = 0
max_allowed_packet = 16M
thread_stack = 128K
thread_cache_size = 0
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_type = 0
query_cache_limit = 0
query_cache_size = 0
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
log = /var/log/mysql/mysql.log
#
# Error logging goes to syslog. This is a Debian improvement :)
#
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * BerkeleyDB
#
# Using BerkeleyDB is now discouraged as its support will cease in 5.1.12.
skip-bdb
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
# You might want to disable InnoDB to shrink the mysqld process by circa 100MB.
#skip-innodb
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
Hors ligne
#7 Le 25/06/2009, à 17:02
- B@rtounet
Re : mise en place cluster DRBD + OCFS2 ( apache2 + Mysql)
vous pouvez tester voir si ca à un fonctionnement normal
server1 = 88.191.84.35/forum
server2 = 88.191.84.36/forum
le round robin pointe vers http://forum.info16.fr/forum
si vous pouviez me donner un retour...
login=admintest
password=adminpassword
Hors ligne
#8 Le 25/06/2009, à 21:36
- MrWaloo
Re : mise en place cluster DRBD + OCFS2 ( apache2 + Mysql)
je viens de tester une réponse au forum test, le compteur s'est incrémenté, le lien ne fonctionne pas et le forum est vu vide...
et lors d'un autre rafraichissement de page tout va bien...
il faudrait voir ce que ça donne en charge...
Dernière modification par MrWaloo (Le 25/06/2009, à 21:37)
"De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent !!" (Desproges)
UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, MS-DOS is a boot sector virus.
Hors ligne
#9 Le 25/06/2009, à 22:47
- B@rtounet
Re : mise en place cluster DRBD + OCFS2 ( apache2 + Mysql)
Ouep, je connais pas assez bien mysql pour juger de la stabilité de la bdd.
Hors ligne
#10 Le 08/07/2009, à 10:20
- Pipof81
Re : mise en place cluster DRBD + OCFS2 ( apache2 + Mysql)
vous pouvez tester voir si ca à un fonctionnement normal
server1 = 88.191.84.35/forum
server2 = 88.191.84.36/forumle round robin pointe vers http://forum.info16.fr/forum
si vous pouviez me donner un retour...
login=admintest
password=adminpassword
ATTENTION, MySQL peut fonctionner sur de l'actif/actif, mais SANS InnoDB (MyISAM obligatoire), et avec l'option external-locking qui laisse le soin au filesystem (ici ocfs2) de gérer les verrous. Il faudra également débrayer tous les caches de requêtes, désactiver "delay key write", et jouer "ceinture et bretelles" avec auto_increment_increment et auto_increment_offset. Cette mode de fonctionnement n'est pas recommandé, mais on y arrive! J'ai toutefois des soucis de tenue en charge et pas mal de corruptions inexpliquées d'index.
Si InnoDB n'est pas une option, il reste la possibilité de faire une réplication master / master des bases MySQL qui doivent être disponibles sur les deux noeuds (et ne sont plus alors stockées sur une ressource drbd, mais localement).
Dans tous les cas, puisqu'il s'agit de faire tourner du php, penser à mettre sur une ressource drbd le répertoire des sessions php! Sinon il y a l'option memcached.
Un bon "petit test" est de parvenir à faire tourner correctement phpMyAdmin, sans perte de session / renvoi à l'écran de connexion.
Après, quand ça roule, la démo qui tue consiste à arracher le cable secteur d'un des deux noeuds. Tout continue à fonctionner.
La démo qui tue VRAIMENT, consiste à REBRANCHER le noeud précédemment arrêté. Re-synchro drbd, synchro des bases MySQL, ip qui bascule, équilibrage de charge. Là, les spectateurs ne sortent pas indemnes!
Bon courage!
Christophe.