Isilon: Olay bildirimi: Var bölümü kapasiteye yakın, Olay Kimliği: 100010001
Summary: Bu makalede, kapasitesi neredeyse dolduğunda var bölümünün nasıl temizleneceği açıklanmaktadır.
Symptoms
Aşağıdaki
olay bildirimlerinden biri Olay:
The /var partition is near capacity (95% used) The /var partition is near capacity (85% used) The /var partition is near capacity (75% used)
Ayrıntılar
: /var bölümü kapasitenin %75, %85 %95 ine ulaştığında günlüğe bir olay kaydedilir ve bir uyarı gönderilir.
Cause
/var klasörü, kümenin çeşitli işlevleri için çok sayıda günlük, tanılama dosyası, yapılandırma verisi ve geçici dosya içerir. Zamanla, /var klasörü içinde çeşitli fazladan dosyalar birikebilir ve dolmasına neden olabilir.
bu /var/log/wtmp dosyası ve geçiş dosyaları /var/log/wtmp.0, /var/log/wtmp.1, örneğin, boyutu 10 MB'ın üzerine çıkarın. Bazen 150 MB ye kadar artarlar. Komutta /var/log/wtmp Dosya, oturum açma ve kapatma verilerinin kaydedildiği bir ikili günlük dosyasıdır. Günlük yöneticisi dosyası, /etc/newsyslog.conf, diğer günlük dosyalarıyla aynı şekilde arşivlemez, bu nedenle /var/log/wtmp büyüyebilir ve /var dizinini doldurabilir.
Resolution
Aşağıda bir /var bölümünün varsayılan içeriği ve daha ilgili alt dizinlerin kısa bir açıklaması yer almaktadır. Aksi belirtilmedikçe, /var ve alt dizinleri içindeki içerik ve veriler değiştirilmemeli veya kaldırılmamalıdır.
ps9500x3-2# cd /var ps9500x3-2# ls .snap at backups db ifs lib patch spool account audit cache empty journal log preserve tmp agentx authpf crash games journal-peer mail run unbound apache2 backup cron heimdal krb5kdc msgs rwho yp .snap Snapshots. Do not touch. account Account information. Do not touch. agentx Empty but preserved for Agent Extensibility (AgentX) Protocol apache2 Apache Files. Do not touch. at Variable data. Do not touch. audit Audit Files. Do not touch. authpf Authentication gateway. Do not touch. backup System configuration backup files. Do not touch backups Group configuration backups. Do not touch cache System cache. Do not touch. crash Crash files, older files can be deleted if needed cron Cron jobs, do not touch db Database files. Do not touch empty Do not touch. games Empty but preserved. heimdal Kerberos 5 protocol. Do not touch. ifs Do not touch unless directed by support journal System Journal database journal-peer System Journal-peer database krb5kdc Kerberos KDC (Key Distribution Center) lib Likewise database files. Do not touch log Various System log files, can be cleared but zero's out the system logs. mail Mail sub-system files. msgs Message logs patch System patch database. Do not touch preserve Do not touch run Do not touch rwho Do Not Touch spool System Spool files. Do not touch. tmp Healthcheck items and vi recover. Do not touch. unbound Do Not Touch yp Do Not Touch
Odaklanılması gereken iki dizin /var/crash ve /var/logs dizinleridir. Çünkü bunlar büyüyebilir ve /var bölümündeki disk alanının çoğunu tüketebilir.
/var/crash içindeki eski kilitlenme dosyaları artık gerekli değilse kaldırılabilir.
Günlükler çok fazla olursa /var/logs sıfırlanabilir ve sıfırlanabilir. Günlükler sıfırlandıktan sonra geçmiş sorunları gidermenin ve araştırmanın artık mümkün olmadığını unutmayın.
/var bölümü için df çıkışını inceleyin. Çıktıya bağlı olarak aşağıdaki işlemlerden birini veya daha fazlasını gerçekleştirin:
ps9500x3-2# df Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/mirror/root0 1957292 871082 929628 48% / devfs 1 1 0 100% /dev /dev/mirror/var0 978604 51394 848922 6% /var /dev/mirror/var-crash 2946284 10 2710572 0% /var/crash /dev/mirror/keystore 61228 46 56284 0% /keystore /dev/md0 61166 2158 54116 4% /tmp/ufp /dev/md1.uzip 435751 406426 -5535 101% /base OneFS 246327840 2362592 173903776 1% /ifs ps9500x3-2#
Günlükleri döndürün:
Günlüklerin nasıl döndürüleceğine ilişkin ayrıntılı talimatlar Isilon KB Makalesi 20315'te bulunur: OneFS-Bir düğüm için sistem günlüklerini döndürme.Günlükleri döndürme komutu:
newsyslog -f
/var bölümü normal kullanım seviyesine geri dönerse belirli bir günlüğün sık olarak döndürülüp döndürülmediğini belirlemek için son yazılan günlüklerin listesini gözden geçirin. Döndürme, büyük günlükleri ve eski günlükleri sıkıştırarak ya da kaldırarak ve dolayısıyla bölüm kullanımını otomatik olarak küçülterek dolu bölüm sorununu çözebilir.
Ücretsiz inode'ların yüzdesini kontrol edin:
Hata bildiren düğüme bir SSH bağlantısı açın ve "kök" hesabını kullanarak oturum açın.Aşağıdaki komutu çalıştırın:
df -i |grep var |grep -v crashAşağıdakine benzer bir çıktı görünür:
Filesystem 1K-blocks Used Avail Capacity iused ifree %iused Mounted on /dev/mirror/var0 1013068 49160 882864 5% 1650 139276 100% /var%iused değeri %90 veya daha yüksekse, aşağıda açıklanan yöntemlerden birini kullanarak /var bölümündeki dosya sayısını azaltın.
/var bölümünde bulunmaması gereken dosyaları belirleme:
- /var bölümündeki 5 MB'den büyük dosyaları listelemek için uyarıyı oluşturan düğümde aşağıdaki komutu çalıştırın:
find -x /var -type f -size +10000 -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
- Çıktıda, genellikle /var bölümünde bulunması gerekmeyen dosyaları arayın. Örneğin, bir OneFS yükleyici dosyası, günlük bulguları veya kullanıcı tarafından oluşturulan bir dosya.
- Dosyaları kaldırın ya da /ifs dizinine taşıyın.
/var bölümünden manuel olarak dosya kaldırma:
Ekstra dosyalar belirlendikten sonra /var dizinini temizlemek için gereken komutlar genellikle şunlardır: Dizin Oluşturma (mkdir), Kopyalama (cp), Taşıma (mv) ve Kaldırma (rm). Devam etmeden önce kullanıcıların bu temel UNIX/Linux komutlarına aşina olması gerekir.
Dosyaları silmeden veya orijinal konumlarından taşımadan önce her zaman yedek bir kopyasını alın.
Yedekleme verilerini taşımak veya kopyalamak için bir dizin oluşturun. Burada <dest> , hedef dizindir. Bu dizin, silinecek tüm dosyaların yedek kopyalarının ilk önce kopyalanması gereken konumdur.
# mkdir /ifs/data/Isilon_Support/<dest>
Dosyaları uygun şekilde Kopyalayın, Taşıyın veya Silin:
Bir dosyayı veya dizini kopyalamak için:
# cp <file> /ifs/data/Isilon_Support/<dest>
Bir dizini yinelemeli olarak kopyalayın.
# cp -R <directory> /ifs/data/Isilon_Support/<dest>
Bir dosyayı veya dizini taşımak için:
# mv <file> /ifs/data/Isilon_Support/<dest> # mv <directory> /ifs/data/Isilon_Support/<dest>
Bir dosyayı kaldırmak/silmek için:
# rm <file>
Bir işlemin, büyük bir dosyayı açık tutup tutmadığını kontrol edin.
Bir düğüm veya dizindeki açık dosyaları ya da bir işlemin açtığı dosyaları listelemek için fstat komutunu kullanın. Açık dosyaların listesi büyük dosyalara yazan işlemleri izlemenize yardımcı olabilir. Bir düğümdeki açık dosyaları listelemek için fstat komutunun nasıl kullanılacağını öğrenin, makale 21402, Isilon: Bir düğümdeki açık dosyaları listelemek için fstat komutunu kullanma.
Yukarıdaki işlemlerden hiçbiri sorunu çözmezse aşağıdaki çözüme gidin:
Geçiş dosyası boyutunu sınırlayın ve dosyayı sıkıştırın
- Kümedeki herhangi bir düğümde SSH bağlantısı açın ve "kök" hesabını kullanarak oturum açın.
- Aşağıdaki komutu çalıştırarak /etc/newsyslog.conf dosyasının bir yedeğini oluşturun:
cp /etc/newsyslog.conf /ifs/newsyslog.conf cp /etc/newsyslog.conf /etc/newsyslog.bak
- /ifs/newsyslog.conf dosyasını bir metin düzenleyicide açın.
- Aşağıdaki satırı bulun:
/var/log/wtmp 644 3 * @01T05 B
- Satırı şu şekilde değiştirin:
/var/log/wtmp 644 3 10000 @01T05 ZBBu değişiklikler sisteme, /var/log/wtmp dosyası 10 MB'ye ulaştığında devreden alma talimatı verir ve dosyayı gzip ile sıkıştırır.
- /ifs/newsyslog.conf dosyasını kaydedin ve kapatın.
- Güncellenmiş dosyayı kümedeki tüm düğümlere kopyalamak için aşağıdaki komutu çalıştırın:
isi_for_array 'cp /ifs/newsyslog.conf /etc/newsyslog.conf'
- Günlük dosyaları gerekirse saat başı ve yarım saatte bir cron işi kullanılarak otomatik olarak döndürülür (/etc/crontab)
#minute hour mday month wday who command # # rotate log files every half-hour, if necessary 0,30 * * * * root newsyslogDiğer günlükler sık sık değişiyorsa veya yukarıdaki adımlar sorunu çözmezse yardım için Dell Teknik Destek ile iletişime geçin.