Je pensais connaître Linux, mais je ne m'attendais pas à ce que cela bascule dans l'environnement de production...

Libérer: 2023-08-01 17:09:50
avant
1776 Les gens l'ont consulté

Je suis engagé dans l'exploitation et la maintenance depuis de nombreuses années et j'ai rencontré divers problèmes, tels que la perte de données, le dysfonctionnement d'un site Web, la suppression accidentelle de fichiers de base de données, les attaques de pirates informatiques et d'autres problèmes. J'ai également rencontré de nombreux amis qui pensaient connaître le système Linux. Lorsqu'ils ont vu des problèmes, ils n'ont jamais paniqué et étaient pleins de confiance. Cependant, l'environnement de production s'est renversé (presque renvoyé). . . Alors, aujourd'hui, je vais simplement trier quelques bonnes habitudes d'exploitation Linux et les partager avec vous. Laissez-nous opérer en toute sécurité et

ne vous retournez jamais ! !

Je pensais connaître Linux, mais je ne m'attendais pas à ce que cela bascule dans l'environnement de production...Spécifications d'exploitation en ligne

Test d'utilisation

Lorsque nous avons appris à utiliser Linux pour la première fois, des bases aux services en passant par les clusters, nous l'avons tous fait sur une machine virtuelle, même si le professeur nous a dit que cela n'était pas différent d'une vraie machine, mais le désir de l'environnement réel augmente de jour en jour, mais les différents instantanés de la machine virtuelle nous ont fait développer toutes sortes d'habitudes maladroites, de sorte que lorsque nous obtenons l'autorisation d'utiliser la machine virtuelle. serveur, on a hâte de l'essayer, souvenez-vous du premier jour de travail. Un jour, le patron m'a donné le mot de passe root. Comme je ne pouvais utiliser que putty, je voulais utiliser xshell, alors je me suis connecté tranquillement au serveur et. J'ai essayé de passer à la connexion xshell + key. Comme il n'y avait pas de test et qu'aucune connexion ssh n'était laissée, j'ai redémarré le serveur sshd. Heureusement, j'ai sauvegardé le fichier sshd_config plus tard. , j'ai juste demandé au personnel de la salle informatique de CP. Heureusement, c'est une petite entreprise, sinon j'aurais été tué directement... Heureusement, j'ai eu plus de chance à l'époque.

Le deuxième exemple concerne la synchronisation de fichiers. Tout le monde sait que rsync se synchronise rapidement, mais sa vitesse de suppression de fichiers est beaucoup plus rapide que rm -rf. Il existe une commande dans rsync pour synchroniser un certain fichier en fonction d'un certain répertoire (si le. Le premier répertoire est vide, alors le résultat peut être imaginé), le répertoire source (avec les données) sera supprimé. Au début, j'ai écrit le répertoire à l'envers en raison d'une mauvaise opération et d'un manque de tests. ..Les données de l'environnement de production ont été supprimées et non sauvegardées. Vous pouvez réfléchir vous-même aux conséquences. Son importance va de soi.

Confirmez encore et encore avant d'entrer

Concernant l'erreur rm -rf / var, je pense que pour les personnes ayant des mains rapides, ou lorsque la vitesse d'Internet est relativement lente, la probabilité qu'elle se produise est assez élevée lorsque vous trouvez cela. une fois l’exécution terminée, votre cœur sera au moins à moitié froid. Vous pouvez dire que j'ai appuyé dessus tant de fois sans aucune erreur, alors n'ayez pas peur, je veux juste dire que vous comprendrez quand cela se produira une fois. Ne pensez pas que ces accidents de fonctionnement et de maintenance sont tous causés par. les autres. Si vous n’y prêtez pas attention, le prochain arrivera.

Ne laissez pas plusieurs personnes opérer

Dans la dernière entreprise pour laquelle j'ai travaillé, la gestion de l'exploitation et de la maintenance était assez chaotique. Pour vous donner l'exemple le plus typique, le personnel d'exploitation et de maintenance qui avait démissionné à plusieurs reprises avait le mot de passe root du serveur. . Habituellement, lorsque nous recevons une tâche d'exploitation et de maintenance, nous effectuons une simple vérification et si elle ne peut pas être résolue, nous demanderons de l'aide à d'autres. Mais lorsque le problème est insupportable, le superviseur du service client (qui connaît un peu Linux), le. L'administrateur réseau et votre patron débogueront un serveur ensemble. Après diverses comparaisons, j'ai découvert que le fichier de configuration de votre serveur était différent de la dernière fois que vous l'avez modifié, puis vous l'avez à nouveau recherché sur Google. et l'a résolu, mais d'autres vous ont dit qu'ils l'avaient également résolu. Ce qui est modifié, ce sont différents paramètres... Ceci, je ne sais vraiment pas quelle est la vraie cause du problème. Bien sûr, c'est toujours bon. est résolu et tout le monde est content. Mais vous avez rencontré le fichier que vous venez de modifier et le test n'est pas valide. Que se passe-t-il lorsque vous allez modifier et constatez que le fichier a été à nouveau modifié ? .

Sauvegardez d'abord, puis utilisez

Développez une habitude Lorsque vous souhaitez modifier des données, sauvegardez d'abord, comme le fichier de configuration .conf. De plus, lors de la modification du fichier de configuration, il est recommandé de commenter les options d'origine, puis de copier et de modifier. De plus, s'il y a une sauvegarde de la base de données dans le premier exemple, alors une mauvaise opération de rsync sera acceptable, ce qui entraînera la perte de la base de données. cela ne se produit pas du jour au lendemain, simplement par hasard. Cela ne doit pas nécessairement être si misérable si vous disposez d'une sauvegarde.

Données impliquant

Utilisez rm -rf avec prudence

Il existe de nombreux exemples sur Internet, divers rm -rf/, diverses suppressions de la base de données principale, divers accidents d'exploitation et de maintenance... Une petite erreur entraînera beaucoup de pertes. Si vous devez vraiment le supprimer, soyez prudent.

L'opération de sauvegarde est plus importante que tout

À l'origine, il existe toutes sortes de sauvegardes ci-dessus, mais je veux la diviser en catégorie de données pour souligner à nouveau que la sauvegarde est très importante. Je me souviens que mon professeur a dit quelque chose, de quel type. des données sont impliquées ? Je ne peux pas être trop prudent. L'entreprise pour laquelle je travaille dispose d'un site Web de paiement tiers et d'une plateforme de prêt en ligne. Le paiement tiers est entièrement sauvegardé toutes les deux heures, et la plateforme de prêt en ligne est sauvegardée. toutes les 20 minutes. Je n'entrerai pas dans les détails. Vous pouvez décider par vous-même

La stabilité est plus importante que tout

En fait, non seulement les données, mais aussi la stabilité sont plus importantes que tout dans l'ensemble de l'environnement serveur. . Nous ne recherchons pas le plus rapide, mais le plus stable et le plus utilisable. Par conséquent, n'utilisez pas de nouveaux logiciels sur le serveur sans tests, comme nginx+php-fpm, dans l'environnement de production, PHP sera bloqué et redémarré, ou. change simplement d'Apache.

La confidentialité est plus importante que toute autre chose

De nos jours, il existe toutes sortes de photos pornographiques et toutes sortes de portes dérobées de routeur, donc lorsqu'il s'agit de données, il est impossible de ne pas les garder confidentielles. De plus, lors de la recherche du compte public Linux, c'est ainsi que vous devez apprendre à répondre « Linux » en arrière-plan pour obtenir un paquet cadeau surprise.

impliquant la sécurité

ssh

Changer le port par défaut (Bien sûr, si un professionnel veut vous pirater, il sortira après numérisation) Interdire la connexion root en utilisant les utilisateurs ordinaires + authentification par clé + règles sudo + adresse IP + utilisateur restrictions Utilisez hostdeny similaire antidéflagrant Crackez le logiciel (si vous essayez de le bloquer directement après quelques tentatives), filtrez les utilisateurs connectés dans /etc/passwd

Pare-feu

Le pare-feu doit être activé dans l'environnement de production , et suivez le principe minimum, supprimez tout, puis libérez les ports de service requis.

Autorisations fines et granularité du contrôle

Vous pouvez utiliser les services démarrés par des utilisateurs ordinaires. N'utilisez résolument pas root au minimum, et le contrôle doit être précis.

Détection des intrusions et surveillance des journaux

Utilisez un logiciel tiers pour détecter à tout moment les modifications dans les fichiers système clés et divers fichiers de configuration de service, tels que /etc/passwd, /etc/my.cnf, /etc/httpd/con /httpd. con, etc. ; utiliser un système de surveillance centralisé des journaux pour surveiller /var/log/secure, /etc/log/message, les fichiers de téléchargement et de téléchargement FTP et autres journaux d'erreurs d'alarme, pour l'analyse des ports ; utilisez également un logiciel tiers pour détecter Scan et extraire directement host.deny. Ces informations sont très utiles pour le dépannage une fois le système compromis. Quelqu'un a dit que le coût qu'une entreprise investit dans la sécurité est directement proportionnel au coût qu'elle perd en raison des attaques de sécurité. La sécurité est un sujet important et un travail très fondamental. Si les bases sont bien exécutées, la sécurité du système peut être considérablement améliorée. le reste est fait par des experts en sécurité

Surveillance quotidienne

Surveillance du fonctionnement du système

De nombreuses personnes commencent par la surveillance lorsqu'elles se lancent dans l'exploitation et la maintenance. Les grandes entreprises disposent généralement d'une surveillance, d'une exploitation et d'une maintenance professionnelles 24 heures sur 24. La surveillance du fonctionnement du système comprend généralement l'occupation du matériel, la mémoire, le disque dur, le processeur, la carte réseau, le système d'exploitation, y compris la surveillance des connexions et la surveillance des fichiers système clés. Une surveillance régulière peut prédire la probabilité de dommages matériels et apporter des fonctions très pratiques au réglage.

Surveillance du fonctionnement des services

La surveillance des services fait généralement référence à diverses applications, Web, base de données, lvs, etc. Elle surveille généralement certains indicateurs et peut être rapidement découverte et résolue lorsque des goulots d'étranglement de performances surviennent dans le système.

Surveillance des journaux

La surveillance des journaux ici est similaire à la surveillance des journaux de sécurité, mais ici, il s'agit généralement de la surveillance des informations d'erreur et d'alarme du matériel, du système d'exploitation et des applications. Elle est vraiment inutile lorsque le système fonctionne de manière stable, mais une fois. un problème survient, Si vous ne faites pas de surveillance, vous serez très passif.

Réglage des performances

Compréhension approfondie du mécanisme de fonctionnement

En fait, sur la base de plus d'un an d'expérience en matière d'exploitation et de maintenance, parler de réglage n'est fondamentalement que parler sur papier, mais je veux juste le résumer brièvement . Si j’ai une compréhension plus profonde, je renouvellerai. Avant d'optimiser le logiciel, par exemple, vous devez avoir une compréhension approfondie du mécanisme de fonctionnement d'un logiciel, tel que nginx et apache. Tout le monde dit que nginx est rapide, vous devez donc savoir pourquoi nginx est rapide, quels principes il utilise. , comment traiter les requêtes mieux qu'Apache, et vous devez être capable de comparer avec les autres. Exprimez-le en termes clairs et faciles à comprendre, et vous devez être capable de comprendre le code source si nécessaire, sinon tous les documents qui utilisent des paramètres. car les objets de réglage sont absurdes.

Cadre et séquence de réglage

Une fois que vous êtes familiarisé avec le mécanisme de fonctionnement sous-jacent, vous devez disposer d'un cadre et d'une séquence de réglage. Par exemple, s'il y a un goulot d'étranglement dans la base de données, de nombreuses personnes modifieront directement le fichier de configuration de la base de données. . Ma suggestion est d'ajuster d'abord la base de données en fonction du goulot d'étranglement, de vérifier les journaux, de noter la direction de réglage, puis de démarrer le réglage du serveur de base de données devrait être la dernière étape. Les serveurs de bases de données d'aujourd'hui ne sont publiés qu'après divers tests sur tous les systèmes d'exploitation, vous ne devriez pas commencer par cela.

牛逼啊!接私活必备的 N 个开源项目!赶快收藏
Copier après la connexion

Ajustez un seul paramètre à la fois

Ajustez un seul paramètre à la fois Comme tout le monde le sait, si vous ajustez trop, vous serez confus.

Tests de référence

Pour déterminer si le réglage est utile et pour tester la stabilité et les performances d'une nouvelle version du logiciel, les tests de référence sont nécessaires et impliquent de nombreux facteurs. testeur. Expérience, vous pouvez vous référer à la troisième édition de "High Performance MySQL" pour des informations connexes. Mon professeur a dit un jour qu'il n'y avait pas de paramètre unique et que tout changement ou réglage de paramètre devait être conforme au scénario commercial. Ne faites donc plus de réglage sur Google, cela n'aura aucun effet à long terme sur votre amélioration. et l'amélioration de l'environnement des affaires.

Mentalité d'exploitation et de maintenance

Contrôlez votre mentalité

De nombreux rm -rf /data sont au sommet de l'irritabilité dans les premières minutes après avoir quitté le travail, alors n'envisagez-vous pas de contrôler votre mentalité ? , irritabilité Vous devez également aller travailler, mais vous pouvez essayer d'éviter de traiter des données critiques lorsque vous êtes irritable. Plus l'environnement est stressant, plus vous devez faire preuve de calme, sinon vous perdrez davantage. La plupart des gens ont l'expérience de rm -rf /data/mysql. Vous pouvez imaginer ce que vous ressentez après l'avoir supprimé. Mais s'il n'y a pas de sauvegarde, à quoi bon s'inquiéter. Généralement, dans ce cas, vous devez vous calmer et. réfléchissez-y. Préparez-vous au pire. Pour MySQL, si vous supprimez les fichiers physiques, certaines tables existeront toujours dans la mémoire, alors déconnectez l'entreprise, mais ne fermez pas la base de données MySQL. Ceci est très utile pour la récupération et l'utilisation. dd pour copier le disque dur, puis vous pourrez Pour la récupération, bien sûr, la plupart du temps, vous ne pouvez trouver qu'une entreprise de récupération de données. Imaginez que les données ont été supprimées. Si vous effectuez diverses opérations, fermez la base de données, puis réparez-la, non seulement le fichier risque d'être écrasé, mais la table dans la mémoire risque de ne pas être trouvée.

Soyez responsable des données

L'environnement de production n'est pas un jeu d'enfant, et la base de données n'est pas un jeu d'enfant non plus. Vous devez être responsable des données. Les conséquences de l'absence de sauvegarde sont très graves.

Allez au fond des choses

De nombreux membres du personnel d'exploitation et de maintenance sont occupés et ne s'occuperont pas du problème une fois celui-ci résolu. Je me souviens que l'année dernière, le site Web d'un client n'a pas pu être ouvert après avoir signalé une erreur dans le code php. , il a été constaté que la session et whos_online étaient endommagés. L'opérateur précédent La dimension a été réparée par réparation, et je l'ai réparée de cette manière. Cependant, après quelques heures, cela s'est reproduit trois ou quatre fois, alors je suis allé sur Google. pour rechercher les raisons des dommages inexplicables causés à la table de la base de données : l'un était un bug myisam et l'autre était un bug mysql. Troisièmement, mysql a été tué pendant le processus d'écriture. En fin de compte, il a été constaté que la mémoire n'était pas suffisante. , ce qui a amené OOM à tuer le processus mysqld et il n'y avait pas de partition d'échange. La mémoire de surveillance en arrière-plan était suffisante, et finalement la mémoire physique a été mise à niveau pour résoudre le problème.

Environnement de test et de production

Assurez-vous de vérifier la machine sur laquelle vous vous trouvez avant les opérations importantes et essayez d'éviter d'ouvrir trop de fenêtres.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:Linux中文社区
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!