Comportement instable MySQL avec un strasse externe

Dans notre projet, nous utilisons le server MySQL 5.0.90 (moteur InnoDB) avec un stockage externe. Nous stockons des files de données MySQL dans un stockage externe. Lorsque le stockage externe est abaissé pour une raison, nous avons des comportements instables. Nous avons donc fait des tests.

Dans Windows Server 2008

Nous avons fermé le stockage externe physiquement. Le service MySQL s'est arrêté et nous n'avons pas pu atteindre le server. Ensuite, nous avons ouvert l'unité de stockage et nous pourrions commencer le service

Logs

  1. 120618 14:49:30 InnoDB: erreur du operating system numéro 21 dans une opération de file.
  2. InnoDB: Certains numéros d'erreur du operating system sont décrits au
  3. InnoDB: http://dev.mysql.com/doc/refman/5.0/fr/operating-system-error-codes.html
  4. InnoDB: Nom de file E: \ Data \ ibdata1
  5. InnoDB: Appel d'opération de file: 'aio write'.
  6. InnoDB: ne peut pas continuer à fonctionner.

Nous avons créé l'unité de stockage hors ligne du operating system. Après 3 à 4 minutes et quelques essais d'insertion (certains essais d'insertion ont réussi), le service MySQL s'est arrêté et nous n'avons pas pu atteindre le server.

Logs

  1. 120618 14:27:21 InnoDB: erreur du operating system numéro 21 dans une opération de file.
  2. InnoDB: Certains numéros d'erreur du operating system sont décrits au
  3. InnoDB: http://dev.mysql.com/doc/refman/5.0/fr/operating-system-error-codes.html
  4. InnoDB: Nom de file E: \ Data \ ibdata1
  5. InnoDB: appel d'opération de file: 'aio read'.
  6. InnoDB: ne peut pas continuer à fonctionner.

Ensuite, nous avons créé une unité de stockage en ligne et essayé de démarrer le service

Logs

  1. InnoDB: le premier file de données spécifié E: \ ibdata1 n'existait pas:
  2. InnoDB: une nouvelle database à créer!
  3. 120618 14:29:00 InnoDB: Définition du file E: \ ibdata1 taille à 10 Mo
  4. InnoDB: la database écrit physiquement le file complet: attendez …
  5. InnoDB: Erreur: tous les files journaux doivent être créés en même time.
  6. InnoDB: Tous les files journaux doivent également être créés dans la création de la database.
  7. InnoDB: si vous voulez des files journaux plus gros ou plus petits, fermez le
  8. InnoDB: database et assurez-vous qu'il n'y a pas eu d'erreur lors de l'arrêt.
  9. InnoDB: puis supprimez les files journaux existants. Modifier le file .cnf
  10. InnoDB: et recommencez la database.
  11. 120618 14:29:00 [ERROR] Le moteur de stockage par défaut (InnoDB) n'est pas disponible
  12. 120618 14:29:00 [ERREUR] Abandonner

Ensuite, nous avons essayé de reconfigurer MySQL

Logs

  1. InnoDB: Décharge de fin de page
  2. 120618 14:34:02 InnoDB: Somme de contrôle de la page 1575996416, version de contrôle de la version 4.0.14 1371122432
  3. InnoDB: sum de contrôle enregistrée 0, sum de contrôle stockée antérieure à la version 4.0.14 0
  4. InnoDB: Page lsn 0 0, faible 4 octets de lsn à la fin de la page 0
  5. InnoDB: Numéro de page (si stocké sur la page déjà) 0,
  6. InnoDB: space id (si créé avec> = MySQL-4.1.1 et déjà enregistré) 0
  7. 120618 14:34:02 – mysqld a eu l'exception 0xc0000005;
  8. Cela pourrait être parce que vous frappez un bug. Il est également possible que ce binary ou l'une des bibliothèques sur lesquelles il a été lié soit corrompu, mal construit ou mal configuré. Cette erreur peut également être causée par un mauvais fonctionnement du matériel. Nous ferons de notre mieux pour ravager des informations qui, espérons-le, aideront à diagnostiquer le problème, mais depuis que nous nous sums déjà écrasés, quelque chose est vraiment faux et cela pourrait échouer.

  9. key_buffer_size = 0

  10. read_buffer_size = 65536
  11. max_used_connections = 0
  12. max_connections = 100
  13. thread_connected = 0
  14. Il est possible que mysqld puisse utiliser jusqu'à key_buffer_size + (read_buffer_size + sort_buffer_size) * max_connections = 32 000 K octets de memory J'espère que ça va; Sinon, diminuez certaines variables dans l'équation.

  15. thd = 00000000

  16. Tentative de retrait. Vous pouvez utiliser les informations suivantes pour savoir où mysqld est mort. Si vous ne voyez aucun message après cela, quelque chose a été terriblement faux …
  17. 006D2DB6 mysqld-nt.exe! Page_cur_search_with_match () [page0cur.c: 347]
  18. 0067A777 mysqld-nt.exe! Btr_cur_search_to_nth_level () [btr0cur.c: 500]
  19. 006B2E0E mysqld-nt.exe! Btr_pcur_open_on_user_rec () [btr0pcur.c: 549]
  20. 006A5615 mysqld-nt.exe! Dict_load_indexes () [dict0load.c: 604]
  21. 006A6424 mysqld-nt.exe! Dict_load_sys_table () [dict0load.c: 1023]
  22. 006BBB20 mysqld-nt.exe! Dict_boot () [dict0boot.c: 378]
  23. 00668A79 mysqld-nt.exe! Innobase_start_or_create_for_mysql () [srv0start.c: 1462]
  24. 00444462 mysqld-nt.exe! Innobase_init () [ha_innodb.cc:1427]
  25. 0044B30D mysqld-nt.exe! Ha_init () [handler.cc:483]
  26. 004B923E mysqld-nt.exe! Init_server_components () [mysqld.cc:3431]
  27. 004BD070 mysqld-nt.exe! Win_main () [mysqld.cc:3806]
  28. c004BD43B mysqld-nt.exe! mysql_service () [mysqld.cc:3967]
  29. 006E28EF mysqld-nt.exe! _threadstart () [thread.c: 196]
  30. 75583677 kernel32.dll! BaseThreadInitThunk ()
  31. 77359D72 ntdll.dll! RtlInitializeExceptionChain ()
  32. 77359D45 ntdll.dll! RtlInitializeExceptionChain ()
  33. La page de manuel à http://dev.mysql.com/doc/mysql/fr/crashing.html contient des informations qui devraient vous aider à découvrir ce qui cause le crash. 120618 14:29:00 [Note] C: \ Program Files (x86) \ MySQL \ MySQL Server 5.0 \ bin \ mysqld-nt: Arrêt complet

Dans Windows Server 2003

Nous avons créé l'unité de stockage hors ligne. Après 3 à 4 minutes et quelques essais d'insertion (certains essais d'insertion ont réussi), le service MySQL s'est arrêté et nous n'avons pas pu atteindre le server.

Logs

  1. InnoDB: L'parsing de journal a progressé après le sharepoint contrôle lsn 0 9834427 120618 14:09:59 InnoDB: La database n'a pas été désactivée normalement.
  2. InnoDB: Démarrage de la récupération des pannes.
  3. InnoDB: lecture d'informations sur les tablespace à partir des files .ibd …
  4. InnoDB: restauration possible de pages de données à demi écrites à partir du double-écriture
  5. InnoDB: buffer …
  6. InnoDB: Rétablissement: numérisé vers le numéro de séquence de journal 0 9834574
  7. 120618 14:09:59 InnoDB: Démarrage d'un lot d'logging d'loggings sur la database …
  8. InnoDB: Progression des pourcentages: 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69. 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
  9. InnoDB: Appliquer le lot terminé
  10. 120618 14:10:00 InnoDB: Commencé; Numéro de séquence journal 0 9834574
  11. 120618 14:10:00 [Note] C: \ Program Files (x86) \ MySQL \ MySQL Server 5.0 \ bin \ mysqld-nt: prêt pour les connections.
  12. Version: '5.0.90-communauté-nt' socket: '' port: 3306 MySQL Community Edition (GPL)
  13. 120618 14:12:36 InnoDB: numéro d'erreur du operating system 21 dans une opération de file.
  14. InnoDB: Certains numéros d'erreur du operating system sont décrits au
  15. InnoDB: http://dev.mysql.com/doc/refman/5.0/fr/operating-system-error-codes.html
  16. InnoDB: Nom de file E: \ Data \ ibdata1
  17. InnoDB: appel d'opération de file: 'aio read'.
  18. InnoDB: ne peut pas continuer à fonctionner.

Ensuite, nous avons créé une unité de stockage en ligne, nous ne pouvions pas commencer le service tant que nous n'avons pas réinstallé MySQL. Avant de réinstaller, nous avons essayé de reconfigurer, mais cela n'a pas fonctionné.

Logs

  1. 120618 14:16:53 InnoDB: erreur du operating system numéro 3 dans une opération de file.
  2. InnoDB: l'erreur signifie que le système ne peut pas find le path spécifié.
  3. InnoDB: Si vous installez InnoDB, n'oubliez pas que vous devez créer
  4. InnoDB: directorys vous-même, InnoDB ne les crée pas.
  5. InnoDB: Nom de file E: \ Data \ ibdata1
  6. InnoDB: appel d'opération de file: 'créer'.
  7. InnoDB: ne peut pas continuer à fonctionner.

Impossible de démarrer le service MySQL sur l'ordinateur local. Erreur 1067: le process s'est terminé de manière inattendue. (MESSAGE D'ERREUR)

Nous avons fermé le stockage externe physiquement. Le service MySQL s'est arrêté et nous n'avons pas pu atteindre le server. Après cela, nous avons ouvert l'unité de stockage et nous pourrions commencer le service (pas automatiquement)

Logs

  1. 120618 14:01:26 InnoDB: erreur du operating system numéro 21 dans une opération de file.
  2. InnoDB: Certains numéros d'erreur du operating system sont décrits au
  3. InnoDB: http://dev.mysql.com/doc/refman/5.0/fr/operating-system-error-codes.html
  4. InnoDB: Nom de file E: \ Data \ ibdata1
  5. InnoDB: Appel d'opération de file: 'aio write'.
  6. InnoDB: ne peut pas continuer à fonctionner.

Nous nous attendons à ce que le service démarre automatiquement après que l'unité de stockage soit en ligne / ouverte. Mais ces tests montrent des comportements instables. Y a-t-il des solutions à cela?

2 Solutions collect form web for “Comportement instable MySQL avec un strasse externe”

iSCSI est simplement un protocole qui permet à un server d'accéder à un disque SCSI émulé à distance. Sans savoir plus sur le stockage réel (combien de controllers, y a-t-il cache d'écriture, est-il en miroir), je ne peux pas être certain de ma réponse. Cela dit, la question pourrait être consistante.

Si vous tirez la fiche sur le stockage attaché à une database en cours d'exécution, tous les IO en vol doivent être gérés ou bien vous risquez de ne pas consumr de données incompatibles. Lorsque vous effectuez une écriture sur un stockage externe, il finit généralement par être reconnu immédiatement dès son cache. Une fois que cela se produit, datatables dans le cache sont désagrégées sur le disque, mais pas dans l'ordre dans lequel elles ont été reçues. Toute perte de puissance qui vous fait perdre l'IO en vol en cache entraînera l'absence d'écriture de disques.

Il me semble que vos erreurs sont enracinées dans le périphérique sous-jacent. Je ferais des tests avec IO en utilisant d'autres applications sur l'appareil et voyez si vous pouvez déboguer votre erreur avec cela. Le périphérique n'est pas prêt et les erreurs de path d'access ne semblent pas être la cause principale, ce qui suggère que votre lien de stockage externe n'est pas bien comporté.

  • Est-il correct d'exécuter Windows 7 pour un server de files?
  • La connection à la ressortingction continue de réinitialiser dans Active Directory
  • Configuration de la connection pour l'application ASP.NET sur SQL Server 2008
  • IIS7: ne peut pas définir le nom d'hôte sur le site avec SSL cert et port 443
  • Recommandations pour apprendre à utiliser Server 2003 (ou éventuellement 2008)
  • SP2 pour Windows Server 2008 r2 datacenter
  • Bon antivirus pour l'environnement des services Terminal Server (Windows Server 2008)
  • "Le count user n'a pas la permission d'exécuter cette tâche"
  • Comment gérez-vous les permissions de queue privées sur un cluster Windows 2008?
  • RRAS PPTP VPN connecté mais pas de ping mon LAN local
  • Pourquoi ne puis-je pas download un thème sur mon site WordPress en cours d'exécution sur Windows?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.