PvP Server Kiralama & Oyun Sunucuları
0 Giriş Yap Kayıt Ol

פתרון שגיאה מלא בדיסק בשרת לינוקס

Yazdır

כיצד לפתור שגיאת דיסק מלא בשרת לינוקס?

מדריך לאיתור קבצים גדולים, ניקוי בטוח של יומנים ופינוי מקום בשרת.

אחת הבעיות הנפוצות ביותר בשרתי לינוקס היא שהדיסק מתמלא לחלוטין. כאשר הדיסק מתמלא, אתרי אינטרנט אינם יכולים לכתוב קבצים, שירותי מסד נתונים עשויים להפסיק לעבוד, שרתי משחקים לא יתעדו יומנים, וייתכן ששירותים מסוימים לא יתחילו כלל.

שגיאה זו מזוהה בדרך כלל על ידי התסמינים הבאים:

  • כשל בהעלאת קבצים לשרת
  • כיבוי או שגיאה של שירות מסד הנתונים
  • השגיאה "לא נותר מקום במכשיר" המופיעה בלוח
  • שרת המשחק נכבה כי הוא לא יכול להיכנס.
  • 500 שגיאות או דפים ריקים מתרחשים באתרי אינטרנט
חשוב: מחיקת קבצים אקראיים במקרה של שגיאה מלאה בדיסק היא מסוכנת. השירותים עלולים להיפגם אם קובץ המערכת השגוי יימחק. ראשית יש צורך לקבוע איזו תיקיה תופסת מקום.

1. בדיקת שימוש בדיסק

ראשית, בדוק איזו מחיצת דיסק בשרת מלאה.

df -h

כאן במיוחד השתמש ב-% אזור נחשב. אם סעיף הוא 90% ומעלה, זה אומר שהסיכון התחיל. אם הוא מלא ב-100%, השירותים לא יוכלו לכתוב קבצים.

2. מצא את התיקיות שתופסות הכי הרבה מקום

כאשר הדיסק מלא, הבעיה היא בדרך כלל יומנים, גיבויים או קבצי מטמון שנצברו בתיקייה אחת. בדוק תיקיות גדולות, החל מספריית השורש.

du -h --max-depth=1 / 2>/dev/null | sort -h

פקודה זו מראה כמה מקום תופסות ספריות ביתיות. בדרך כלל נבדקות הספריות הבאות:

  • /var/log - יומני מערכת ושירות
  • /בית - קבצי משתמש ואתר
  • /גיבוי - קבצי גיבוי ישנים
  • /tmp - קבצים זמניים
  • /var/lib/mysql - קבצי מסד נתונים של MySQL/MariaDB

3. רשום קבצים גדולים

לפעמים קובץ יומן בודד יכול לגדול ל-10 GB או יותר. כדי למצוא קבצים גדולים, אתה יכול להשתמש בפקודה זו:

find / -type f -size +500M -exec ls -lh {} \; 2>/dev/null

פקודה זו מפרטת קבצים מעל 500 MB. בדוק היטב את הקבצים שהתקבלו. במיוחד .log, .ישן, .gz, .bak ויש לבדוק קבצי גיבוי ישנים.

גישה בטוחה: אם אינך יודע מהו הקובץ, אל תמחק אותו. תחילה הסתכל על נתיב הקובץ והשירות אליו הוא מחובר.

4. ניקוי בטוח של קבצי יומן

מחיקה ישירה של קובץ היומן של שירות פועל לפעמים לא נותנת את התוצאה הצפויה. מכיוון שהשירות יכול להמשיך ולהשאיר את הקובץ פתוח. לכן, השיטה הבטוחה ביותר בעת ניקוי קובצי יומן גדולים היא לרוקן את הקובץ.

truncate -s 0 /var/log/dosya_adi.log

דוגמה:

truncate -s 0 /var/log/syslog
truncate -s 0 /var/log/messages
truncate -s 0 /var/log/nginx/error.log

5. ניקוי מטמון חבילה

במערכות מבוססות אובונטו ודביאן, קובצי מטמון חבילות עשויים לתפוס שטח דיסק לאורך זמן.

apt clean
apt autoremove -y

במערכות CentOS, AlmaLinux או Rocky Linux:

yum clean all
dnf clean all

6. בדיקת גיבויים ישנים

הקבצים שתופסים הכי הרבה מקום בשרתי אירוח ושרתי משחקים הם בדרך כלל גיבויים ישנים. במיוחד אם יש מערכת גיבוי אוטומטית, יתכן ויבוצעו גיבויים חדשים מדי יום וגיבויים ישנים לא יימחקו.

find /backup -type f -mtime +7 -name "*.tar.gz" -ls

פקודה זו מפרטת גיבויים מעל 7 ימים. כדי למחוק לאחר ווידוא:

find /backup -type f -mtime +7 -name "*.tar.gz" -delete
שימו לב: לפני השימוש בפקודת המחיקה, הקפד לבדוק אילו קבצים יימחקו עם פקודת הרישום.

7. מנע טעינה מחדש עם הגדרת Logrotate

גם אם הדיסק מנוקה, אם הסיבה לא תתוקן, אותה בעיה תחזור שוב לאחר מספר ימים. לשם כך, יש לבדוק את תצורת logrotate.

nano /etc/logrotate.conf

דוגמה להגיון לוגרוטציה פשוט:

/var/log/*.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
}

הגדרה זו מחזירה קובצי יומן מדי יום, שומרת אותם למשך 7 ימים ודוחסת יומנים ישנים.

טעויות נפוצות

  • מחיקת קבצי מערכת מבלי לדעת באיזה קובץ מדובר
  • מחיקת קובץ יומן הריצה ואי הפעלה מחדש של השירות
  • שמירה על גיבויים ישנים לתקופת זמן בלתי מוגבלת
  • לא בודק הגדרות logrotate בכלל
  • אל תתערב עד שהדיסק מלא ב-100%.

שאלות נפוצות

למה השרת נותן שגיאה כשהדיסק מלא?
מכיוון ששירותים אינם יכולים לכתוב יומנים, מטמונים, קבצים זמניים או מסדי נתונים. השירותים עשויים להיסגר כאשר פעולת הכתיבה נכשלת.

האם עדיף למחוק או לרוקן את קובץ היומן?
במקום למחוק לחלוטין את קובץ היומן בשירותים הפועלים לקטוע בטוח יותר לרוקן אותו באמצעות.

ניקיתי את הדיסק אבל המקום לא התפנה, למה?
ייתכן שהקובץ שנמחק עדיין יישמר פתוח על ידי שירות פועל. ייתכן שיהיה צורך להפעיל מחדש את השירות הרלוונטי.

המלצות ביצועים ואבטחה

  • עקוב אחר השימוש בדיסק באופן קבוע.
  • אחסן גיבויים בדיסק נפרד או באזור גיבוי מרוחק.
  • אל תשאיר שירות פועל במשך זמן רב מבלי להשתמש ב-logrotate.
  • נקוט באמצעי זהירות כאשר הדיסק מגיע לרמה של 85%.
  • אל תשאיר יומני ניפוי באגים פתוחים כל הזמן בשרתי משחקים.

מאמר זה הוכן במיוחד עבור PvPServer.

Bu cevap yeterince yardımcı oldu mu?

Oyla

overlay spinner