Cluster Setup Squeeze

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von xxs, 2. Jan. 2012.

  1. xxs

    xxs New Member

    Hallo,

    habe ISPConfig 3.0.4 laut dieser Anleitung aufgesetzt. Beide sind in einem OpenVZ container installiert. Dass Quota und iptables_nat nicht leider nicht funktionier habe ich schon bemerkt.

    Allerdings bekomme ich nach dieser Anleitung auch glusterfs nicht zum Laufen (2 Unterschiedliche IPs auch andere Netze).

    Außerdem funktionieren folgende Angaben nicht.
    Copy the mysql and www data back.
    cp -prf /var/lib/mysql_bak/* /var/lib/mysql/
    cp -prf /var/www_bak/* /var/www/
    Copy back the data (only on the master server! Skip this step on the slave!).
    Wenn die Daten an der Stelle nicht zurück kopiert werden, lässt sich der mySQL Server nicht mehr starten.

    When you set up the slave server, copy the file /etc/mysql/debian.cnf file from the master server to the slave server before you start MySQL again!
    geht ebenfalls nicht, führt zu Fehlermeldungen (beide Datenbankserver haben unterschiedliche root-Passwörter für mysql)

    Die zusätzlich eingebunden Sources sind natürlich auf die jeweiligen für Squeeze geändert:
    deb Index of /debian squeeze-updates main
    deb Index of /debian-backports squeeze-backports main
    Für Hilfe und Anregungen wäre ich Dankbar
     
  2. Till

    Till Administrator

    Quota funktioniert durchaus, schau mal in die openvz Doku zum Theme second level quota.

    das liegt daran, dass Glusterfs nicht geht. Denn das Zurückkopieren auf Master und slave macht ja rein logisch keinen Sinn, denn dann hättest Du ja wieder getrennte Datensätze und eben kein Clusterfilesystem.

    was auch wieder daran liegt, dass das Glusterfs volume nicht geht.


    Du kannst das Cluster setup aber auch mit anderen Techniken statt glusterfs aufsetzen, und zwar z.B. mit unison zum syncen von /var/www und /var/vmail

    Setting Up Unison File Synchronization Between Two Servers On Debian Squeeze | HowtoForge - Linux Howtos and Tutorials

    und für mysql nimmst Du eine master / master mysql replikation, dabei solltest Du aber die Datenbanken "mysql" und "dbispconfig" auf beiden Servern von der Replikation ausnehmen.

    Ich werde auch in den nächsten Wochen ein Tutorial für die Variante mit unison und master/master Repliaktion ein Tutorial veröffentlichen.
     
  3. xxs

    xxs New Member

    Vielen Dank erst mal für die schnelle Antwort.

    Eine frage habe ich an der Stelle aber noch. Geht GlusterFS an der Stelle generell nicht (OpenVZ), oder funktioniert alles nicht, weil GlusterFS nicht läuft?

    iptables_nat scheint auch irgendwie zu gehen, ist wohl kernel-abhängig, so wie ich das gelesen habe, aber bevor ich beim quota und den iptables weiter gesucht habe, wollte ich erst einmal klären, warum der rest nicht geht.
     
  4. Till

    Till Administrator

    Ich habe gluterfs unter openvz noch nicht verwendet, daher kann ich nicht sagen ob es generell geht oder nicht. Das alles nicht geht liegt aber wiederum daran, dass Glusterfs nicht läuft, denn ohne die zentrale Komponente zum Synchronisieren der daten kann ein Cluster nunmal nicht funktionieren.
     
  5. mattula

    mattula Member

    Beziehst du dich bei der Sync Variante auf folgende master/master replikation?
    HowtoForge Linux Tutorials » Einrichten von Master-Master Replikation mit MySQL 5 auf Debian Etch

    Wenn ja, eine Frage dazu: In dem Fall muss ich doch fuer jede DB, die ich replizieren will, die Replikation explizit eirichten, oder? D.h. eine ueber das CP angelegte DB ist erstmal nur lokal - oder versteh ich was falsch?

    Und bei der Variante hier mit Gluster-FS:
    HowtoForge Linux Tutorials » Einrichten von Master-Master Replikation mit MySQL 5 auf Debian Etch

    Laeuft da wirklich auf beiden Nodes der Mysql als Master, hat 1:1 die gleiche DB (inkl. der "dbispconfig") und im CP wird dann einer der beiden Nodes als Mirror konfiguriert?

    Und wie wird sich das Gluster-FS Setup in Bezug auf Jailkit verhalten?
    Hintergrund: ich habe schon einen Cluster Versuch mit Heartbeat im Active/Passive Setup und NFS als Shared Storage gemacht, wobei /var/www u.a. auf NFS lag.
    Beim Erstellen eines SSH Jailkit Users gab es dann folgende Fehlermeldung:

    ln: creating hard link `/var/www/clients/client7/web5/var/run/mysqld/mysqld.sock' => `/var/run/mysqld/mysqld.sock': Invalid cross-device link

    Ich befuerchte, dass das bei unterschiedlichen Gluster-FS Mountpoints innerhalb /var ebenfalls ein Problem sein wird.

    gruss,
    Matthias
     
  6. Till

    Till Administrator

    Das geht auch anders herum, also repliziere alle Datenbanken bis auf a und b.

    Nein, jeder node hat seine eigene DB (unterschiedliche DB Namen). Von Glusterfs für MySQL rate ich Dir ab, das läuft einfach nicht gut.

    das ist ok, kannst Du ignorieren. Denn mysql funktioniert auch ohne diesen Hardlink über eine Verbindung zu localhost.
     
  7. mattula

    mattula Member

    Aehm? Du raetst prinzipiell vom Setup Mysql auf Gluster-FS ab und stattdessen dazu Master/Master-Replikation zu verwenden?
    Oder raetst nur davon ab die DB namens "mysql" auf's Gluster-FS zu legen?

    Oder anders gefragt, was ist deine Empfehlung fuer einen 2 Node ISPConfig Cluster (Active/Passive mit autom. Failover) , wenn ich prinzipiell alle Resourcen (NAS, SAN, eigene Hardware bzw. VSphere, eigenes Netzwerk, beliebige IP, ..) zur Verfuegung habe?

    Gruss,
    Matthias
     
  8. xxs

    xxs New Member

    Soweit geht jetzt alles. GlusterFS lief in der Tat nicht, da fuse in Open-VZ Containern explizit aktiviert werden muss. Quota und IPtables_nat sollten jetzt auch gehen.

    Allerdings bekomme ich folgende Fehlermeldung:
    Code:
    Replication failed. Error: (server) in MySQL server: (localhost) Access denied for user 'ispconfig'@'localhost' to database 'dbispconfig02' # SQL: REPLACE INTO server (`server_id`,`sys_userid`,`sys_groupid`,`sys_perm_user`,`sys_perm_group`,`sys_perm_other`,`server_name`,`mail_server`,`web_server`,`dns_server`,`file_server`,`db_server`,`vserver_server`,`proxy_server`,`firewall_server`,`config`,`updated`,`mirror_server_id`,`dbversion`,`active`) VALUES ('3','1','1','riud','riud','r','srv02.serverurl.de','1','1','1','1','1','0','0','1','[global]nwebserver=apachenmailserver=postfixndnsserver=mydnsnn[server]nauto_network_configuration=nnip_address=10.10.10.2nnetmask=255.255.255.0ngateway=192.168.0.1nhostname=srv02.serverurl.dennameservers=192.168.0.1,192.168.0.2nloglevel=2nbackup_dir=/var/backupnbackup_dir_ftpread=nnn[mail]nmodule=postfix_mysqlnmaildir_path=/var/vmail/[domain]/[localpart]nhomedir_path=/var/vmailnpop3_imap_daemon=dovecotnmail_filter_syntax=sievenmailuser_uid=5000nmailuser_gid=5000nmailuser_name=vmailnmailuser_group=vmailnrelayhost=nrelayhost_user=nrelayhost_password=nmailbox_size_limit=0nmessage_size_limit=0nn[getmail]ngetmail_config_dir=/etc/getmailnn[web]nserver_type=apachenwebsite_basedir=/var/wwwnwebsite_path=/var/www/clients/client[client_id]/web[website_id]nwebsite_symlinks=/var/www/[website_domain]/:/var/www/clients/client[client_id]/[website_domain]/nwebsite_symlinks_rel=nnvhost_conf_dir=/etc/apache2/sites-availablenvhost_conf_enabled_dir=/etc/apache2/sites-enablednnginx_vhost_conf_dir=/etc/nginx/sites-availablennginx_vhost_conf_enabled_dir=/etc/nginx/sites-enablednsecurity_level=20nuser=www-datangroup=www-datannginx_user=www-datannginx_group=www-datanapps_vhost_port=8081napps_vhost_ip=_default_napps_vhost_servername=nphp_open_basedir=[website_path]/web:[website_path]/tmp:/var/www/[website_domain]/web:/srv/www/[website_domain]/web:/usr/share/php5:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadminnhtaccess_allow_override=Allnawstats_conf_dir=/etc/awstatsnawstats_data_dir=/var/lib/awstatsnawstats_pl=/usr/lib/cgi-bin/awstats.plnawstats_buildstaticpages_pl=/usr/share/awstats/tools/awstats_buildstaticpages.plnphp_ini_path_apache=/etc/php5/apache2/php.ininphp_ini_path_cgi=/etc/php5/cgi/php.inincheck_apache_config=ynenable_sni=ynnginx_cgi_socket=/var/run/fcgiwrap.socketnphp_fpm_init_script=php5-fpmnphp_fpm_ini_path=/etc/php5/fpm/php.ininphp_fpm_pool_dir=/etc/php5/fpm/pool.dnphp_fpm_start_port=9010nphp_fpm_socket_dir=/var/lib/php5-fpmnn[dns]nbind_user=rootnbind_group=bindnbind_zonefiles_dir=/etc/bindnnamed_conf_path=/etc/bind/named.confnnamed_conf_local_path=/etc/bind/named.conf.localnn[fastcgi]nfastcgi_starter_path=/var/www/php-fcgi-scripts/[system_user]/nfastcgi_starter_script=.php-fcgi-starternfastcgi_alias=/php/nfastcgi_phpini_path=/etc/php5/cgi/nfastcgi_children=8nfastcgi_max_requests=5000nfastcgi_bin=/usr/bin/php-cginfastcgi_config_syntax=1nn[jailkit]njailkit_chroot_home=/home/[username]njailkit_chroot_app_sections=basicshell editors extendedshell netutils ssh sftp scp groups jk_lshnjailkit_chroot_app_programs=/usr/bin/groups /usr/bin/id /usr/bin/dircolors /usr/bin/lesspipe /usr/bin/basename /usr/bin/dirname /usr/bin/nano /usr/bin/piconjailkit_chroot_cron_programs=/usr/bin/php /usr/bin/perl /usr/share/perl /usr/share/phpnn[vlogger]nconfig_dir=/etcnn[cron]ninit_script=cronncrontab_dir=/etc/cron.dnwget=/usr/bin/wgetnn[rescue]ntry_rescue=nndo_not_try_rescue_httpd=nndo_not_try_rescue_mysql=nndo_not_try_rescue_mail=nnn','0','1','26','1')
    
    wobei die IP-Adresse und die URL in der Ausgabe natürlich ersetzt sind.
     
    Zuletzt bearbeitet: 3. Jan. 2012
  9. mattula

    mattula Member

    Das sagt doch imho alles. Du musst dem User die passenden Privileges einrichten - auf beiden Datenbanken.
    Es gibt dazu auch irgendwo im Perfect Server Howto einen Hinweis, wie es geht.
     
    Zuletzt bearbeitet: 3. Jan. 2012
  10. xxs

    xxs New Member

    Bevor es VErwirrung gibt. Hatte Die das zwischenzeitliche Gespräch nicht gesehen. Bin noch immer auf dem Stand Von GlusterFS auch für die Datenbanken. Das die Rechte nicht stimmen hatte ich auch festgestellt, nur laut dem HowTo wird auf dem MasterServer (srv01) ein user root@srv02 eingerichtet, was ich auch habe, weil ich sonst den zweiten Server ja nicht im Webinterface von srv01 (Master) hätte.

    Einen Hinweis auf das anlegen eines Users ispconfig, oder das Umbiegen dessen Rechte kann ich nirgendwo finden.
     
    Zuletzt bearbeitet: 3. Jan. 2012
  11. Till

    Till Administrator

    Der User ispconfig wird auch vom ispconfig installer angelegt, da ist aber bei Dir scheinbar was schief gelaufen. Lege bitte mal einen zusätzlichen User ispconfig mit Rechten für die Datenbank dbispconfig02 mit phpmyadmin an, das Klartext-Passwort für den User findest Du in der Datei /usr/local/ispconfig/server/lib/config.inc.php
     
  12. mattula

    mattula Member

    Zu spaet :confused: - du hast Mysql auf dem Gluster-FS laufen und richtest gleichzeitig auch noch Replikation ein?
     
  13. xxs

    xxs New Member

    Ne, habe keine Replikation, nur GlusterFS laut tutorial aus dem ersten Posting :)
     
  14. xxs

    xxs New Member

    Der User ispconfig auf dem MasterServer (srv01) ist angelegt und hat auch entsprechende Rechte für die Datenbank (dbispconfig01), nur für den die Datenbank des Slaves (zweiter Server (srv02)) (dbispconfig02) hat er nicht die passenden Rechte
     
  15. xxs

    xxs New Member

    Habe jetzt noch mal beide Server neu aufgesetzt. Das mit der Replikation über GlusterFS geht jetzt alles.

    Allerdings, wenn ich den ersten Server (Master) aufgesetzt habe, kann ich mich auch einloggen über das Webinterface, sobald ich aber den 2ten Server aufgesetzt habe geht alles gut bis zu dem Punkt wo ich ISPconfig aufsetzte, sobald ich dieses getan habe, kann ich mich am masterserver bei ISPconfig nicht mehr einloggen "Benutzername oder Passwort falsch.1"
     
  16. Till

    Till Administrator

    Versuch mal bitte folgendes:

    1) Sichere die Dateien /usr/local/ispconfig/server/lib/config.inc.php und /usr/local/ispconfig/interafce/lib/config.inc.php auf dem Master.

    2) Kopiere diese beiden Dateien vom slave und überschreibe die des Masters.

    Versuch ob Du Dich dann wieder einloggen kannst.
     
  17. xxs

    xxs New Member

    Hm... Einloggen geht jetzt wieder, aber auf dem server srv01 wird in ISPconfig jetzt nur noch der Server srv02 angezeigt und srv01 exisiert nicht mehr...

    Gut, wenn ich allerdings nur das Passwort für den user ispconfig ändere in den Config-Dateien auf dem MasterServer, dann geht es wieder.
     
    Zuletzt bearbeitet: 4. Jan. 2012
  18. xxs

    xxs New Member

    Nun bleibt nur noch das Problem, dass weitere Dienste durch den user ispconfig auf die Datenbank zugreifen und dadurch nicht wirklich gehen (Auf jedenfall der Mailserver), daher wäre es jetzt noch sinnvoll zu wissen, wo ich das entsprechende Passwort noch ändern muss, bzw zu klären, wie es zu diesem Fehler kommt (ne, ist eigentlich klar wie es dazu kommt) aber ob man ihn irgendwo umgehen kann (z. B. bei der Installation das Passwort angeben kann, welches dann überall verwendet wird.)
     
  19. xxs

    xxs New Member

    Nachdem ich mit nun den Installer angeschaut habe, weiß ich wie und warum es zu dem Fehler kommt. Als Workaround müsste man wenn ich es richtig sehe nur eine Zeile in der folgenden Art hinzufügen
    Code:
    $conf['mysql']['ispconfig_password'] = $inst->free_query('Set iscpconfig mysql-password', $conf['mysql']['ispconfig_password']);
    und bei den Slave-Servern das Passwort vom MasterServer angeben und anderenfalls einfach das Standart-Passwort bestätigen, bzw. das ganze nur beim Multi-Server Setup aufrufen für den fall, dass man die Datenbank per GlusterFS (oder ein anderes File-System) replizieren will.

    Oder analog dazu das Löschen eines vorhanden users "ispconfig" unterbinden und einen alternativen usernamen (z.b. "ispconfig") angeben.
     
    Zuletzt bearbeitet: 4. Jan. 2012
  20. Till

    Till Administrator

    Ich hatte ja im Post #2 des Threads beschrieben dass es in Kürze ein neues setup mit mysql matser/master Replikation geben wird da mysql über glusterfs nicht stabil läuft (siehe Anmerkungen die ich am Anfang des Cluster Tutorials geschrieben habe) und bei mysql master/master tritt das Problem nicht mehr auf da dort die mysql DB von der Replikation ausgenommen werden kann.

    sowas in der Art ist bereits in Planung.
     

Diese Seite empfehlen