Linux Quest. Συγχαρητήρια στους νικητές και πείτε μας για τις λύσεις στα καθήκοντα

Linux Quest. Συγχαρητήρια στους νικητές και πείτε μας για τις λύσεις στα καθήκοντα

Στις 25 Μαρτίου ανοίξαμε τις εγγραφές για Linux Quest, αυτό είναι ένα παιχνίδι για λάτρεις και ειδικούς του λειτουργικού συστήματος Linux. Μερικά στατιστικά στοιχεία: 1117 άτομα εγγράφηκαν για το παιχνίδι, 317 από αυτούς βρήκαν τουλάχιστον ένα κλειδί, 241 ολοκλήρωσαν με επιτυχία την εργασία του πρώτου σταδίου, 123 - το δεύτερο και 70 πέρασαν το τρίτο στάδιο. Σήμερα το παιχνίδι μας έφτασε στο τέλος του και συγχαίρουμε τους νικητές μας!

  • Ο Alexander Teldekov πήρε την πρώτη θέση.
    Ο Αλέξανδρος είπε στον εαυτό του ότι είναι ο πιο τυπικός διαχειριστής συστήματος. Ζει στο Βόλγκογκραντ, διαχειρίζεται διάφορα συστήματα τύπου Unix για περίπου είκοσι χρόνια. Κατάφερα να δουλέψω σε παρόχους Διαδικτύου, σε τράπεζα και σε ενοποιητή συστημάτων. Τώρα εργάζεται εξ αποστάσεως σε μια μικρή εταιρεία, δουλεύοντας σε υποδομές cloud για έναν μεγάλο ξένο πελάτη. Λατρεύει να διαβάζει και να ακούει μουσική. Σχετικά με το παιχνίδι, ο Αλέξανδρος είπε ότι του άρεσε το παιχνίδι στο σύνολό του, του αρέσει τέτοιες εργασίες. Κατά τη διάρκεια μιας συνέντευξης σε μια από τις εταιρείες που έκανα κάτι παρόμοιο με το Hackerrank, ήταν ενδιαφέρον.
  • Δεύτερη θέση - Roman Suslov.
    Ένα μυθιστόρημα από τη Μόσχα. Είναι 37 ετών. Εργάζεται ως μηχανικός Linux/Unix στην Jet Infosystems. Στη δουλειά, πρέπει να διαχειριστώ και να αντιμετωπίσω τα συστήματα Linux/Unix + SAN. Τα ενδιαφέροντα ποικίλλουν: συστήματα Linux, προγραμματισμός, αντίστροφη μηχανική, ασφάλεια πληροφοριών, Arduino. Σχετικά με το παιχνίδι Ο Roman σημείωσε ότι του άρεσε το παιχνίδι συνολικά. «Τέντωσα λίγο το μυαλό μου και έκανα ένα διάλειμμα από την γκρίζα καθημερινότητα της καθημερινής δουλειάς. 🙂 Θα ήθελα να έχω περισσότερες εργασίες, διαφορετικά πριν προλάβω να πάρω μια γεύση από αυτό, το παιχνίδι είχε ήδη τελειώσει."
  • Τρίτον - alex3d.
    Ο Alex ζει στη Μόσχα και εργάζεται στην ανάπτυξη λογισμικού. "Σας ευχαριστώ για τον διαγωνισμό, ήταν ενδιαφέρον να δοκιμάσω τις δεξιότητές μου στο google-fu."

Επίσης στην κατάταξη των 10 καλύτερων παικτών:

  • Yevgeniy Saldayev
  • Μάρκελ Μοχνατσέφσκι
  • Konstantin Konosov
  • Πάβελ Σεργκέεφ
  • Βλαντιμίρ Μποβάεφ
  • Ιβάν Μπούμπνοφ
  • Pavlo Klets

Κατανοούμε ότι υπάρχουν πολλές επιλογές για την επίλυση όλων των προβλημάτων μας· μερικές από τις πιθανές λύσεις περιγράφονται παρακάτω.

1. Πρώτο στάδιο

Το ονομάσαμε "Είσαι πραγματικά διαχειριστής;", καθώς η εργασία ήταν αρκετά απλή - να φτιάξεις μια υπηρεσία ζεστού λαμπτήρα.

1.1. Ενδιαφέροντα γεγονότα:

Δύο παίκτες βρήκαν το πρώτο κλειδί στα πρώτα 15 λεπτά του αγώνα και στην πρώτη ώρα είχαμε τρεις αρχηγούς που ολοκλήρωσαν το έργο.

1.2. Ασκηση

Πήγατε να δουλέψετε σε μια εταιρεία όπου για μεγάλο χρονικό διάστημα δεν υπήρχε ικανός ειδικός στον τομέα της πληροφορικής. Πριν ξεκινήσετε να βάζετε τα πράγματα σε τάξη, πρέπει να λύσετε το φλέγον πρόβλημα που μπλοκάρει τη δουλειά του γραφείου.

Η καθαρίστρια έπιασε με σφουγγαρίστρα το καλώδιο τροφοδοσίας του ντουλαπιού του διακομιστή. Το ρεύμα έχει αποκατασταθεί, αλλά ένας πολύ σημαντικός ιστότοπος εξακολουθεί να μην λειτουργεί. Ο ιστότοπος είναι σημαντικός επειδή η εταιρεία δεν ενδιαφέρεται πολύ για την ασφάλεια των πληροφοριών και στην κύρια σελίδα αυτού μπορείτε να βρείτε σε καθαρό κείμενο τον κωδικό πρόσβασης διαχειριστή για τον υπολογιστή του Διευθύνοντος Συμβούλου.

Τις προάλλες άλλαξε ο κωδικός, αλλά όλοι ξέχασαν τον νέο, ο διευθυντής δεν μπορεί να εργαστεί. Υπάρχουν φήμες ότι υπήρχαν περισσότερα κλειδιά σε αυτό το μηχάνημα που θα μπορούσαν να μας βοηθήσουν να αποκρυπτογραφήσουμε το αντίγραφο ασφαλείας των λογιστικών εγγράφων.

Όλοι περιμένουν την άμεση επίλυση του ζητήματος!

1.3. Λύση

1. Πρώτα απ 'όλα, πρέπει να αλλάξετε τον κωδικό πρόσβασης root στην εικονική μηχανή για να αποκτήσετε πρόσβαση σε αυτόν. Κατά την εκκίνηση, παρατηρούμε ότι αυτός είναι ο διακομιστής Ubuntu 16.04.

Για να επαναφέρετε τον κωδικό πρόσβασης root, κάνουμε επανεκκίνηση του μηχανήματος, κατά τη φόρτωση, τη στιγμή που εμφανίζεται το μενού grub, μεταβείτε στην επεξεργασία του στοιχείου Ubuntu με το κουμπί "e". Επεξεργαστείτε τη γραμμή linux, προσθέστε την στο τέλος init=/bin/bash. Φορτώνουμε με Ctrl+x, παίρνουμε bash. Επανατοποθετήστε το root με rw, αλλάξτε τον κωδικό πρόσβασης:

$ mount -o remount,rw /dev/mapper/ubuntu--vg-root
$ passwd

Μην ξεχάσετε τον συγχρονισμό, κάντε επανεκκίνηση.

2. Η συνθήκη λέει ότι ο διακομιστής ιστού μας δεν λειτουργεί, κοιτάξτε:

$ curl localhost
Not Found
The requested URL / was not found on this server.
Apache/2.4.18 

Δηλαδή, στην πραγματικότητα, ο Apache εκτελείται, αλλά αποκρίνεται με τον κωδικό 404. Ας δούμε τη διαμόρφωση:

$ vim /etc/apache2/sites-enabled/000-default.conf

Υπάρχει επίσης ένα κλειδί εδώ - StevenPaulSteveJobs.

Έλεγχος της διαδρομής /usr/share/WordPress - δεν υπάρχει κάτι τέτοιο, αλλά υπάρχει /usr/share/wordpress. Επεξεργαστείτε τη διαμόρφωση και επανεκκινήστε τον Apache.

$ systemctl restart apache2

3. Δοκιμάστε ξανά, λαμβάνουμε το σφάλμα:

Warning: mysqli_real_connect(): (HY000/2002): Connection refused in /usr/share/wordpress/wp-includes/wp-db.php on line 1488

Δεν εκτελείται η βάση δεδομένων;

$ systemctl status mysql
Active: active (running)

Τι συμβαίνει? Πρέπει να το καταλάβουμε. Για να το κάνετε αυτό, πρέπει να αποκτήσετε πρόσβαση στη MySQL, όπως περιγράφεται στο τεκμηρίωση. Ένα από τα σημεία τεκμηρίωσης συνιστά να καταχωρίσουμε την επιλογή skip-grant-tables в /etc/mysql/mysql.conf.d/mysqld.cnf. Υπάρχει επίσης ένα κλειδί εδώ - AugustaAdaKingByron.

Διόρθωση δικαιωμάτων χρήστη 'wp'@'localhost'. Εκκινούμε τη MySQL, την κάνουμε προσβάσιμη μέσω του δικτύου, σχολιάζοντας την επιλογή στο config skip-networking.

4. Μετά από αυτά τα βήματα, ξεκινά ο διακομιστής web, αλλά η τοποθεσία εξακολουθεί να μην λειτουργεί επειδή

Warning: require_once(/usr/share/wordpress/wp-content/themes/twentysixteen/footer.php): failed to open stream: Permission denied in /usr/share/wordpress/wp-includes/template.php on line 562

Επεξεργαζόμαστε τα δικαιώματα του αρχείου.

$ chmod 644 /usr/share/wordpress/wp-content/themes/twentysixteen/footer.php

Ανανεώνουμε τη σελίδα, πηγαίνουμε στον ιστότοπο και βρίσκουμε το κλειδί - BjarneStroustrup! Βρήκαμε και τα τρία κλειδιά, ο διευθυντής μας μπορεί να δουλέψει, αποκρυπτογραφήσαμε τα λογιστικά αρχεία. Όλοι είναι ευχαριστημένοι και έχετε πολλή δουλειά μπροστά σας για να δημιουργήσετε υποδομές, αντίγραφα ασφαλείας και ασφάλεια στην εταιρεία.

2. Δεύτερο στάδιο

Ήταν απαραίτητο να λυθεί το πρόβλημα της συλλογής αναλυτικών στοιχείων. Όλοι αγαπούν τα αναλυτικά στοιχεία - ποιος τα χρησιμοποιεί, πού και σε ποιες ποσότητες. Καταλήξαμε σε μια περίπτωση που όλοι οι μηχανικοί μπορεί να συναντήσουν με τη μια ή την άλλη μορφή στη ζωή.

2.1. Ενδιαφέροντα γεγονότα

Ένας από τους παίκτες μας έβαλε το σωστό κλειδί μέσα στα πρώτα 10 λεπτά του παιχνιδιού και μέσα στην πρώτη ώρα είχαμε έναν αρχηγό που ολοκλήρωσε την εργασία.

2.2. Ασκηση

Πήγατε να δουλέψετε στην εταιρεία, οι διευθυντές ήρθαν σε εσάς και σας ζήτησαν να βρείτε σε ποιον στάλθηκαν γράμματα από την Αφρική. Πρέπει να δημιουργήσουμε τις 21 κορυφαίες διευθύνσεις παραληπτών με βάση αυτές. Τα πρώτα γράμματα των διευθύνσεων των παραληπτών είναι το κλειδί. Ένα πράγμα: ο διακομιστής αλληλογραφίας μέσω του οποίου στάλθηκαν οι επιστολές δεν φορτώνεται. Όλοι περιμένουν την άμεση επίλυση του ζητήματος!

2.3. Λύση

1. Ο διακομιστής δεν εκκινεί λόγω ανύπαρκτου διαμερίσματος swap στο fstab· κατά τη φόρτωση, το σύστημα προσπαθεί να το προσαρτήσει και κολλάει. Πώς να εκκινήσετε;

Κατεβάστε την εικόνα, κατεβάσαμε το CentOS 7, εκκίνηση από Live CD/DVD (Αντιμετώπιση προβλημάτων -> Rescue), προσαρτήστε το σύστημα, επεξεργαστείτε /etc/fstab. Βρίσκουμε αμέσως το πρώτο κλειδί - GottfriedWilhelm11646Leibniz!

Δημιουργία ανταλλαγής:

$ lvcreate -n swap centos -L 256M
$ sync && reboot

2. Όπως πάντα, δεν υπάρχει κωδικός πρόσβασης, πρέπει να αλλάξετε τον κωδικό πρόσβασης root στην εικονική μηχανή. Το κάναμε ήδη στην πρώτη εργασία. Αλλάζουμε και συνδεόμαστε επιτυχώς στον διακομιστή, αλλά μπαίνει αμέσως σε επανεκκίνηση. Ο διακομιστής είναι υπερφορτωμένος με τέτοια ταχύτητα που δεν έχετε καν χρόνο να δείτε προσεκτικά όλα τα αρχεία καταγραφής. Πώς να καταλάβετε τι συμβαίνει;

Και πάλι εκκινούμε από το livecd, μελετάμε προσεκτικά τα αρχεία καταγραφής του συστήματος και, για κάθε ενδεχόμενο, κοιτάμε το cron, αφού υπάρχει τέτοια περιοδικότητα. Εκεί βρίσκουμε το πρόβλημα και το δεύτερο κλειδί - Alan1912MathisonTuring!

Απαιτείται σε /etc/crontab διαγράψτε ή σχολιάστε τη γραμμή echo b > /proc/sysrq-trigger.

3. Μετά τη φόρτωση του διακομιστή και μπορείτε να ολοκληρώσετε την εργασία των διαχειριστών: "Ποιες είναι οι διευθύνσεις στην Αφρική;" Αυτές οι πληροφορίες είναι γενικά διαθέσιμες στο κοινό. Μπορείτε να βρείτε αυτές τις πληροφορίες στο Διαδίκτυο χρησιμοποιώντας τις φράσεις "ip address africa", "geoip database". Για να λύσετε το πρόβλημα, μπορείτε να χρησιμοποιήσετε ελεύθερα διαθέσιμες βάσεις δεδομένων διανομής διευθύνσεων (geoip). Χρησιμοποιήσαμε τη βάση δεδομένων ως πρότυπο MaxMind GeoLite2, διαθέσιμο με άδεια Creative Commons Attribution-ShareAlike 4.0.

Ας προσπαθήσουμε να λύσουμε το πρόβλημά μας χρησιμοποιώντας μόνο βοηθητικά προγράμματα συστήματος Linux, αλλά γενικά μπορεί να λυθεί με πολλούς τρόπους: χρησιμοποιώντας βοηθητικά προγράμματα φιλτραρίσματος κειμένου και χρήση σεναρίων σε διάφορες γλώσσες προγραμματισμού.

Αρχικά, θα λάβουμε απλώς τα ζεύγη "IP αποστολέα-παραλήπτη" από το αρχείο καταγραφής αλληλογραφίας /var/log/maillog (ας φτιάξουμε έναν πίνακα παραληπτών email - IP αποστολέα). Αυτό μπορεί να γίνει με την ακόλουθη εντολή:

$ cat /var/log/maillog | fgrep -e ' connect from' -e 'status=sent' | sed 's/[]<>[]/ /g' | awk '/connect from/ {ip=$11} /status=sent/ {print $10" "ip}' > log1.txt

Και προτού συνεχίσουμε με τη σύνταξη μιας βάσης δεδομένων με αφρικανικές διευθύνσεις, ας ρίξουμε μια ματιά στις κορυφαίες διευθύνσεις IP των αποστολέων.

$ cat log1.txt | cut -d' ' -f1 | sort | uniq -c | sort -r | head -n 40
5206 [email protected]
4165 [email protected]
3739 [email protected]
3405 [email protected]
3346 [email protected]

Μεταξύ όλων αυτών ξεχωρίζουν ξεκάθαρα ως προς τον αριθμό των γραμμάτων οι τρεις πρώτοι αποδέκτες από την κορυφή. Εάν συλλάβετε τις διευθύνσεις IP των αποστολέων που έστειλαν σε διευθύνσεις από αυτά τα κορυφαία 3, θα παρατηρήσετε μια σαφή υπεροχή ορισμένων δικτύων:

$ cat log1.txt | fgrep '[email protected]' | cut -d' ' -f2 | sort | cut -d'.' -f1 | uniq -c | sort -r | head
831 105
806 41
782 197
664 196
542 154
503 102
266 156
165 45
150 160
108 165

Τα περισσότερα από τα δίκτυα 105/8, 41/8, 196/8,197/8 εκχωρούνται στο AFRINIC - έναν από τους πέντε περιφερειακούς καταχωρητές Διαδικτύου που διανέμουν πόρους Διαδικτύου. Η AFRINIC διανέμει χώρο διευθύνσεων σε όλη την Αφρική. Και το 41/8 παραπέμπει σε ΑΦΡΙΝΙΚΑ εντελώς.

https://www.nic.ru/whois/?searchWord=105.0.0.0 
https://www.nic.ru/whois/?searchWord=41.0.0.0

Έτσι, η απάντηση στο πρόβλημα βρίσκεται, στην πραγματικότητα, στο ίδιο το αρχείο καταγραφής.

$ cat log1.txt | fgrep -e '105.' -e '41.' -e '196.' -e '197.' -e '154.' -e '102.' | awk '{print $1}' | sort | uniq -c | sort -r | head -n 21
4209 [email protected]
3313 [email protected]
2704 [email protected]
2215 [email protected]
1774 [email protected]
1448 [email protected]
1233 [email protected]
958 [email protected]
862 [email protected]
762 [email protected]
632 [email protected]
539 [email protected]
531 [email protected]
431 [email protected]
380 [email protected]
357 [email protected]
348 [email protected]
312 [email protected]
289 [email protected]
282 [email protected]
274 [email protected]

Σε αυτό το στάδιο παίρνουμε τη συμβολοσειρά "LinuxBenedictTorvadst".

Σωστό κλειδί: "LinusBenedictTorvalds".

Η συμβολοσειρά που προκύπτει περιέχει ένα τυπογραφικό λάθος σε σχέση με το σωστό κλειδί στους τελευταίους 3 χαρακτήρες. Αυτό οφείλεται στο γεγονός ότι τα δίκτυα που επιλέξαμε δεν είναι αποκλειστικά αφιερωμένα σε αφρικανικές χώρες και στον τρόπο διανομής των email μεταξύ των διευθύνσεων IP στο αρχείο καταγραφής μας.

Με επαρκείς προδιαγραφές για τα μεγαλύτερα δίκτυα που διατίθενται σε αφρικανικές χώρες, μπορεί να ληφθεί μια ακριβής απάντηση:

$ cat log1.txt | fgrep -e' '105.{30..255}. -e' '41. -e' '196.{64..47}. -e' '196.{248..132}. -e' '197.{160..31}. -e' '154.{127..255}. -e' '102.{70..255}. -e' '156.{155..255}. | awk '{print $1}' | sort | uniq -c | sort -r | head -n 21
3350 [email protected]
2662 [email protected]
2105 [email protected]
1724 [email protected]
1376 [email protected]
1092 [email protected]
849 [email protected]
712 [email protected]
584 [email protected]
463 [email protected]
365 [email protected]
269 [email protected]
225 [email protected]
168 [email protected]
142 [email protected]
111 [email protected]
 96 [email protected]
 78 [email protected]
 56 [email protected]
 56 [email protected]
 40 [email protected]

Το πρόβλημα μπορεί επίσης να λυθεί με άλλο τρόπο.
Κατεβάστε το MaxMind, αποσυσκευάστε το και οι επόμενες τρεις εντολές λύνουν επίσης το πρόβλημά μας.

$ cat GeoLite2-Country-Locations-ru.csv | grep "Африка" | cut -d',' -f1 > africaIds.txt
$ grep -Ff africaIds.txt GeoLite2-Country-Blocks-IPv4.csv | cut -d',' -f1 > africaNetworks.txt
$ grepcidr -f africaNetworks.txt log1.txt | cut -d' ' -f1 | sort | uniq -c | sort -r | head -n21

Με τον ένα ή τον άλλο τρόπο, τελικά υπολογίσαμε τα στατιστικά στοιχεία και οι διαχειριστές έλαβαν τα δεδομένα που χρειάζονταν για να δουλέψουν!

3. Τρίτο στάδιο

Το τρίτο στάδιο είναι κάπως παρόμοιο με το πρώτο - πρέπει επίσης να διορθώσετε την υπηρεσία ζεστού λαμπτήρα, αλλά όλα είναι πιο περίπλοκα από ό,τι στην πρώτη εργασία.

3.1. Ενδιαφέροντα γεγονότα

Στα πρώτα 15 λεπτά, τρεις παίκτες βρήκαν το πρώτο κλειδί· 2 ώρες και 20 λεπτά μετά την έναρξη του σταδίου, ο νικητής μας ολοκλήρωσε την εργασία.

3.2. Ασκηση

Πήγατε να εργαστείτε σε μια εταιρεία όπου όλα τα έγγραφα της εταιρείας αποθηκεύονται σε έναν εσωτερικό διακομιστή Wiki. Πέρυσι, ένας μηχανικός παρήγγειλε 3 νέους δίσκους για τον διακομιστή εκτός από έναν υπάρχοντα, υποστηρίζοντας ότι για να είναι το σύστημα ανεκτικό σε σφάλματα, οι δίσκοι έπρεπε να τοποθετηθούν σε κάποιου είδους συστοιχίες. Δυστυχώς, λίγες εβδομάδες μετά την εγκατάστασή τους, ο μηχανικός πήγε διακοπές στην Ινδία και δεν επέστρεψε.

Ο διακομιστής λειτούργησε χωρίς αποτυχίες για αρκετά χρόνια, αλλά πριν από μερικές ημέρες το δίκτυο της εταιρείας παραβιάστηκε. Σύμφωνα με τις οδηγίες, το προσωπικό ασφαλείας αφαίρεσε τους δίσκους από τον διακομιστή και σας τους έστειλε. Κατά τη μεταφορά, ένας δίσκος χάθηκε ανεπανόρθωτα.

Πρέπει να επαναφέρουμε τη λειτουργικότητα του Wiki· πρώτα απ' όλα, μας ενδιαφέρει το περιεχόμενο των σελίδων του wiki. Ένα συγκεκριμένο κομμάτι κειμένου που υπήρχε σε μια από τις σελίδες αυτού του wiki είναι ο κωδικός πρόσβασης για τον διακομιστή 1C και απαιτείται επειγόντως για να ξεκλειδωθεί.

Επιπλέον, κάπου στις σελίδες του wiki ή σε άλλο μέρος υπήρχαν κωδικοί πρόσβασης για τον διακομιστή καταγραφής και τον διακομιστή παρακολούθησης βίντεο, που θα ήταν επίσης επιθυμητό να ανακτηθούν· χωρίς αυτούς, η διερεύνηση του συμβάντος είναι αδύνατη. Όπως πάντα, περιμένουμε άμεση επίλυση του ζητήματος!

3.3. Λύση

1. Προσπαθούμε να κάνουμε εκκίνηση έναν προς έναν από τους δίσκους που έχουμε και παντού λαμβάνουμε το ίδιο μήνυμα:

No bootable medium found! System halted 

Πρέπει να κάνετε εκκίνηση από κάτι. Η εκκίνηση από Live CD/DVD (Αντιμετώπιση προβλημάτων -> Rescue) βοηθάει ξανά. Κατά τη φόρτωση, προσπαθούμε να βρούμε το διαμέρισμα εκκίνησης, δεν μπορούμε να το βρούμε, καταλήγουμε στο κέλυφος. Προσπαθούμε να μελετήσουμε τι και πώς να κάνουμε με τους δίσκους. Είναι γνωστό ότι είναι τρεις από αυτούς. Υπάρχουν περισσότερα εργαλεία για αυτό στην 7η έκδοση του CentOS, όπου υπάρχουν εντολές blkid ή lsblk, που μας δείχνουν όλες τις πληροφορίες για τους δίσκους.

Πώς και τι κάνουμε:

$ ls /dev/sd*

Είναι αμέσως φανερό ότι

/dev/sdb1 - ext4
/dev/sdb2 - часть lvm
/dev/sda1 и /dev/sdc1 - части рейда
/dev/sda2 и /dev/sdc2 - про них ничего не известно на текущий момент

Προσαρτούμε το sdb1, είναι σαφές ότι αυτό είναι το διαμέρισμα εκκίνησης του CentOS 6.

$ mkdir /mnt/sdb1 && mount /dev/sdb1 /mnt/sdb1

Προφανώς, πηγαίνουμε στην ενότητα grub και βρίσκουμε το πρώτο κλειδί εκεί - James191955Gosling σε ένα ασυνήθιστο αρχείο.

2. Μελετάμε pv και lvs, αφού συνεργαζόμαστε με LVM. Βλέπουμε ότι πρέπει να υπάρχουν 2 φυσικοί τόμοι, ο ένας δεν βρίσκεται και παραπονιέται για χαμένο uid. Βλέπουμε ότι πρέπει να υπάρχουν 2 λογικοί τόμοι: root και swap, ενώ ο root χάνεται μερικώς (το χαρακτηριστικό P του όγκου). Δεν είναι δυνατή η τοποθέτηση, πράγμα κρίμα! Τον χρειαζόμαστε πραγματικά.

Υπάρχουν άλλοι 2 δίσκοι, τους κοιτάμε, τους συναρμολογούμε και τους τοποθετούμε:

$ mdadm --examine --verbose --scan
$ mdadm --assemble --verbose --scan
$ mkdir /mnt/md127 && mount /dev/md127  /mnt/md127 

Κοιτάμε, μπορούμε να δούμε ότι αυτό είναι το διαμέρισμα εκκίνησης του CentOS 6 και ένα αντίγραφο αυτού που υπάρχει ήδη /dev/sdb1, και εδώ πάλι το ίδιο κλειδί - DennisBMacAlistairCRitchie!
Ας δούμε πώς συναρμολογείται /dev/md127.

$ mdadm --detail /dev/md127

Βλέπουμε ότι έπρεπε να είχε συναρμολογηθεί από 4 δίσκους, αλλά συναρμολογήθηκε από δύο /dev/sda1 и /dev/sdc1, θα έπρεπε να ήταν οι αριθμοί 2 και 4 στο σύστημα. Υποθέτουμε ότι από /dev/sda2 и /dev/sdc2 Μπορείτε επίσης να συλλέξετε έναν πίνακα. Δεν είναι σαφές γιατί δεν υπάρχουν μεταδεδομένα για αυτά, αλλά αυτό είναι στη συνείδηση ​​του διαχειριστή, ο οποίος βρίσκεται κάπου στη Γκόα. Υποθέτουμε ότι πρέπει να υπάρχει RAID10, αν και υπάρχουν επιλογές. Συλλέγουμε:

$ mdadm --create --verbose /dev/md0 --assume-clean --level=10 --raid-devices=4 missing /dev/sda2 missing /dev/sdc2

Κοιτάμε blkid, pvs, lvs. Ανακαλύπτουμε ότι έχουμε συλλέξει έναν φυσικό όγκο που μας έλειπε στο παρελθόν.

Το lvroot επισκευάστηκε αμέσως, το τοποθετούμε, αλλά πρώτα ενεργοποιούμε το VG:

$ vgchange -a y
$ mkdir /mnt/lvroot && mount /dev/mapper/vg_c6m1-lv_root /mnt/lvroot 

Και όλα είναι εκεί, συμπεριλαμβανομένου του κλειδιού στον ριζικό κεντρικό κατάλογο - /root/sweet.

3. Ακόμα προσπαθούμε να αναβιώσουμε τον διακομιστή μας ώστε να ξεκινήσει κανονικά. Όλοι οι λογικοί τόμοι από μας /dev/md0 (εκεί που τα βρήκαμε όλα) σύρετέ το /dev/sdb2, όπου αρχικά λειτουργούσε ολόκληρος ο διακομιστής.

$ pvmove /dev/md0 /dev/sdb2
$ vgreduce vg_c6m1 /dev/md0

Απενεργοποιούμε τον διακομιστή, αφαιρούμε τους δίσκους 1 και 3, αφήνουμε τον δεύτερο, εκκινούμε από το Live CD/DVD στο Rescue. Βρείτε το διαμέρισμα εκκίνησης και επαναφέρετε το bootloader στο grub:

root (hd0,0)
setup (hd0)

Σχίζουμε τον δίσκο εκκίνησης και φορτώνουμε με επιτυχία, αλλά ο ιστότοπος δεν λειτουργεί.

4. Υπάρχουν δύο επιλογές για την εκκίνηση ενός ιστότοπου: διαμορφώστε τον Apache από την αρχή ή χρησιμοποιήστε το nginx με php-fpm ήδη ρυθμισμένο εκ των προτέρων:

$ /etc/init.d/nginx start
$ /etc/init.d/php-fpm start

Τέλος, πρέπει να ξεκινήσετε τη MySQL:

$ /etc/init.d/mysqld start

Δεν θα ξεκινήσει και η απάντηση βρίσκεται στο /var/log/mysql. Μόλις λύσετε το πρόβλημα με τη MySQL, ο ιστότοπος θα λειτουργήσει, στην κύρια σελίδα θα υπάρχει ένα κλειδί - RichardGCCMatthewGNUStallman! Τώρα έχουμε πρόσβαση στο 1C και οι εργαζόμενοι θα μπορούν να λαμβάνουν τους μισθούς τους. Και όπως πάντα, έχετε πολλή δουλειά μπροστά σας για να δημιουργήσετε υποδομές και ασφάλεια στην εταιρεία.

Μπορούμε επίσης να μοιραστούμε για άλλη μια φορά μια λίστα με βιβλία που βοήθησαν εμάς και τους συμμετέχοντες μας να προετοιμαστούμε για το παιχνίδι: linux.mail.ru/books.

Σας ευχαριστούμε που είστε μαζί μας! Μείνετε συντονισμένοι για τις ανακοινώσεις των επόμενων αγώνων!

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο