PowerFlex: GET_INFO - Destek Paketi Toplama Yardımcı Programı
Résumé: get_info.sh - Bir PowerFlex ana bilgisayardan tanılama bilgilerini toplayın ve bunları bir destek paketine paketleyin
Instructions
get_info.sh [OPTIONS]
AÇIKLAMA
get_info.sh, bir PowerFlex (eski adıyla ScaleIO) ana bilgisayarından hata ayıklama bilgilerini toplayan ve destek personeli tarafından analiz edilmek üzere sıkıştırılmış bir paket halinde arşivleyen bir tanılama yardımcı programıdır.
Yardımcı program, aşağıdakiler de dahil olmak üzere birden çok kaynaktan veri toplar:
- PowerFlex bileşen günlükleri, yapılandırması ve izleme dosyaları
- MDM/SCLI sorgu çıktıları ve dahili hata ayıklama dökümleri
- PowerFlex bileşeni dahili tanılama
- İşletim sistemi yapılandırması, günlükler ve çalışma zamanı durumu
- Donanım envanteri (depolama denetleyicileri, ağ aygıtları, NVMe, NVDIMM vb.)
- Çekirdek dökümleri (mevcut ve isteğe bağlı olarak istek üzerine oluşturulur)
- Tanılama veri toplayıcısı (diag_coll) istatistikleri
Ortaya çıkan paket, daha fazla analiz için PowerFlex desteğine aktarılabilen tek bir sıkıştırılmış arşivdir (varsayılan olarak tar/gz).
Bir ana bilgisayarda belirli bir anda yalnızca bir get_info.sh örneği çalıştırılabilir. Çıktısı için yeterli boş alan yoksa, çalışmayı reddedecektir (alan denetimi açıkça atlanmadığı sürece).
SEÇENEKLER
Genel Seçenekler
-
-a, --tümü
Tüm verileri toplayın. Bu, --mdm-repository, --collect-cores, --max-cores=2, --valgrind-cores ve --analyse-diag-coll belirtmekle eş değerdir.
-
-A, --analyse-diag-coll
Tanılama veri toplayıcısı (diag coll) verilerini analiz edin.
-
-b[BİLEŞENLER], --çekirdekleri topla[=BİLEŞENLER]
Kullanıcı-arazi BİLEŞENLERİNİN boşlukla ayrılmış listesi için mevcut çekirdek dökümlerini toplayın. Varsayılan (COMPONENTS atlandığında): tüm kullanıcı alanı bileşenleri.
Not: Arada boşluk olmamalıdır-bve BİLEŞENLER. Uzun form için, ile ayırın=Örnekler:
-b'mdm sds'--collect-cores='mdm sds' -
-d OUT_DIR, --output-dir=OUT_DIR
Elde edilen paketi dizin OUT_DIR altında depolayın. Default (Varsayılan):
<WORK_DIR>/scaleio-getinfo(bkz. --work-dir). -
-f, --skip-mdm-login
PowerFlex MDM oturum açma kimlik bilgileri sorgusunu atlayın. Kullanıcı zaten manuel olarak oturum açmışsa kullanışlıdır.
-
-h, --yardım
Yardım mesajını gösterip çıkın. --tech ile birleştirildiğinde, teknisyen seçeneklerini de görüntüleyin.
-
-J, --xz
Toplanan paket için varsayılan tar/gz yerine tar/xz biçimini kullanın. Sistemin
tar(1)Desteklemez--use-compress-programveyaxz(1)bulunamadı. -
-k SAYI,--max-cores=NUM
Her bileşenden en fazla NUM çekirdek dosyası toplayın. Varsayılan: tüm çekirdek dosyalar. --collect-cores anlamına gelir.
-
-l, --ışık
Hafif bir paket oluşturun. Yalnızca en yeni nesil numaralı günlük dosyaları toplanır ve bileşen yürütülebilir dosyaları/kitaplıkları çekirdekler toplanırken dahil edilmez. Bu seçeneğin kullanılması desteklenebilirliği azaltır ve bu nedenle kullanılması önerilmez.
-
-m SAYI,--max-traces=NUM
Her bileşenden en fazla NUM PowerFlex izleme dosyası toplayın. Varsayılan: tüm dosyalar.
-
-N, --skip-space-check
Veri toplama işleminden önce boş disk alanı doğrulamasını atlayın.
-
-P YOL,--collect-path=YOL
Ek yol PATH'i toplayın. Yalnızca mutlak yollar kabul edilir. Joker karakterleri kabul eder; Joker karakterler alıntılanmalıdır. Bu seçenek, birden fazla yol toplamak için birden çok kez belirtilebilir.
-
-q, --sessiz, --sessiz
Standart çıktıdaki mesajları bastırın.
-
-r, --mdm-deposu
MDM depo dosyalarını toplayın.
-
-s, --skip-sdbg
SDBG (tanılama hata ayıklayıcısı) çıktısının toplanmasını atlayın.
-
-S, --pause-core-generation
Veri toplama sırasında PowerFlex bileşenlerinin çekirdek üretimini duraklatın. Toplama işlemi tamamlandıktan sonra orijinal yapılandırma geri yüklenir.
-
-w WORK_DIR, --work-dir=WORK_DIR
Geçici dosyalar için dizin WORK_DIR kullanın. Default (Varsayılan):
/tmp. -
-x DOSYA,--output-file=DOSYA
Toplanan paketi FILE adlı dosya olarak depolayın. Uygun dosya adı son eki (
.tgz,.zip, vb.) otomatik olarak eklenir. FILE ise-(kısa çizgi), paketi standart çıktıya yazın (--sessiz anlamına gelir). Paket standart çıktıya yazıldığında, diskte paket dosyası oluşturulmaz. Default (Varsayılan):getInfoDump. -
-z, --zip
Toplanan paket için varsayılan tar/gz yerine zip biçimini kullanın. Şu durumlarda yok sayılır:
zip(1)sistemde bulunamadı. -
--mdm-port=BAĞLANTI NOKTASI
SCLI komutları için bağlantı noktası PORT u kullanarak MDM'ye bağlanın. Varsayılan: scli varsayılan davranışı.
-
--overwrite-output-file
Zaten mevcutsa çıktı dosyasının üzerine yazın. Bir çıktı dosyası veya dizini açıkça belirtildiğinde (-x veya -d aracılığıyla), varsayılan davranış üzerine yazmayı reddetmektir; Bu seçenek bunu geçersiz kılar.
-
--Teknoloji
Yardım mesajı çıktısına teknisyen seçeneklerini dahil edin.
MDM Oturum Açma Seçenekleri
Aşağıdaki seçenekler SCLI'ya aktarılır --login yaparsınız. Davranışları ve varsayılan değerleri SCLI tarafından yönetilir.
-
-n, --use-nonsecure-communication
MDM'ye güvenli olmayan modda bağlanın.
-
-p ŞİFRE,--password=ŞİFRE
PowerFlex MDM oturumu açmak için PAROLA kullanın. Default (Varsayılan): SCLI varsayılan davranışı.
-
-u KULLANICI ADI,--kullanıcı adı=KULLANICI ADI
PowerFlex MDM oturumu açmak için KULLANICI ADI kullanın. Varsayılan: scli varsayılan davranışı.
-
--ldap-authentication
LDAP tabanlı kimlik doğrulamayı kullanarak PowerFlex MDM'de oturum açın.
-
--management-system-ip=ADRES
PowerFlex oturum açma için ADRES'teki SSO/M&O'ya bağlanın. Varsayılan: scli varsayılan davranışı.
-
--p12-password=ŞİFRE
PASSWORD kullanarak PowerFlex oturum açma PKCS#12 dosyasını şifreleyin. Varsayılan: scli varsayılan davranışı.
-
--p12-path=DOSYA
PowerFlex oturum açma PKCS#12 dosyasını FILE olarak saklayın. Varsayılan: scli varsayılan davranışı.
Teknisyen Seçenekleri
Aşağıdaki seçenekler destek teknisyenleri tarafından kullanılmak üzere tasarlanmıştır ve yalnızca --tech belirtildiğinde yardım mesajında gösterilir.
-c[BİLEŞENLER], --çekirdekleri oluştur[=BİLEŞENLER]
Çekirdek dosyaları oluşturun ( gcore(1)) boşlukla ayrılmış kullanıcı-arazi BİLEŞENLERİ listesinin çalışan işlemleri için. Varsayılan: tüm kullanıcı alanı bileşenleri. --collect-executables anlamına gelir. Gerektirir gdb ve gcore.
-c ve BİLEŞENLER. Uzun form için, ile ayırın =.
Örnekler:
-c'mdm sds'
--generate-cores='mdm sds'
-
-C CORE_FILE, --reference-core-file=CORE_FILE
Ürün günlüklerini ve çekirdekleri, yürütme başlangıç zamanı yerine CORE_FILE son değişiklik zamanına (mtime) göre toplayın. --collect-cores anlamına gelir.
-
-E REF_TIME, --event-time=REF_TIME
Ürün günlüklerini ve çekirdekleri yürütme başlangıç zamanı yerine REF_TIME göre toplayın. Tarafından anlaşılan herhangi bir formatı kabul eder
date(1). --collect-cores anlamına gelir. - -g[BİLEŞENLER], --valgrind-cores[=BİLEŞENLER]
Belirtilen kullanıcı ARAZİSİ BİLEŞENLERİ için Valgrind çekirdek dökümlerini toplayın. Varsayılan: tüm kullanıcı alanı bileşenleri. --collect-executables anlamına gelir.
Not: Arada boşluk olmamalıdır -b ve BİLEŞENLER. Uzun form için, ile ayırın =
Örnekler:
-g'mdm sds'
--valgrind-cores='mdm sds'
-
-t DK,--minutes-before-event=DK
Referans zamanından dakikalar öncesine kadar oluşturulan ürün günlüklerini ve çekirdekleri toplayın. Default (Varsayılan): 15.
-
-T MIN,--minutes-after-event=DK
Referans süresinden son dakikaya kadar oluşturulan ürün günlüklerini ve çekirdekleri toplayın. Default (Varsayılan): 5.
-
-X[BİLEŞENLER], --toplanabilir-yürütülebilir [=BİLEŞENLER]
Belirtilen kullanıcı-arazi BİLEŞENLERİ için bileşen yürütülebilir dosyalarını ve bunların paylaşılan kitaplıklarını toplayın. Varsayılan: tüm kullanıcı alanı bileşenleri.
Not: Arada boşluk olmamalıdır
-bve BİLEŞENLER. Uzun form için, ile ayırın=Örnekler:
-X'mdm sds' --collect-executables='mdm sds' -
--keep-work-dir
Paket oluşturulduktan sonra oluşturulan geçici çalışma dizinini koruyun (normalde otomatik olarak temizlenir).
PAKET YAPISI
Çıktı paketi, sıkıştırılmış tek bir arşivdir.
- Paket üst düzey dizini, toplanan sistemin ana bilgisayar adıdır.
- Genel ana bilgisayar komut çıktıları,
server/Alt.
Dosya adı<command>+<arguments>+ son eki (.txtvarsayılan olarak). Boşluklar şununla değiştirilir:_, alfanümerik olmayan karakterler çıkarılmış.
Örnek:server/ip_-s_addr.txt– çıktısıip -s addr - Ürün komutu çıktıları, bileşenin alt dizinine gider.
mdm/Içinscli,sdc/Içindrv_cfgVb.
Komut adı (scli,drv_cfg, vb.) soyulur. İlk anlamlı bağımsız değişken dosya adı olur. Dosyalara ilgili son ek atanır,.txtVarsayılan olarak.
Örnekler:mdm/query_cluster.txt– çıktısıscli --query_clustermdm/tgt_dump.txt– çıktısıscli --debug_action --tgt_dumpsdc/query_mdms.txt– çıktısıdrv_cfg --query_mdmssds/sdbg.txt- SDBG'nin çıktısıdumpallscreensSDS için
- Ürün bileşen dosyaları (komut çıktılarının aksine),
<component>/cfg,<component>/logsVb.
Ön ek ayıklanmış olarak bileşenin dizininden kopyalanır.
Örnekler:mdm/cfg/conf.txt- kopyası/opt/emc/scaleio/mdm/cfg/conf.txtsds/logs/trc.0- kopyası/opt/emc/scaleio/sds/logs/trc.0
- Ana bilgisayar dosya sistemi dosyaları, paket köküne göre dosya sistemi yollarına yerleştirilir.
Örnekler:etc/os-release- kopyası/etc/os-releasevar/log/messages- kopyası/var/log/messagesproc/cpuinfo- kopyası/proc/cpuinfo
- Tanılama toplayıcısı (diag_coll) dosyaları
/optönek soyulmuş, iç yapıyı koruyarak.
Örnek:diag_coll/logs/sar.0- kopyası/opt/diag_coll/logs/sar.0 - Gizli dosyalar (nokta önekli), baştaki nokta kaldırılarak "gösterilmez".
- Yardımcı program yürütme günlüğü,
get_info_run.log, doğrudan ana bilgisayar adının>/kökün <altına yerleştirilir.
Paket dizin ağacı yapısı:
<hostname>/
|-- get_info_run.log Utility execution log
|-- server/ General command output directory
| |-- ip_-s_addr.txt
| |-- uptime.txt
| |-- uname_-a.txt
| |-- ps_-elF.txt
| |-- dmesg.txt
| +-- ... (one file per collected command)
|
|-- mdm/ PowerFlex component data (if installed)
| |-- cfg/ Configuration files (excl. PEM)
| |-- logs/ Trace and log files
| |-- rep/ Repository (if --mdm-repository)
| |-- query_all.txt SCLI query outputs
| |-- sdbg.txt SDBG screen dumps
| +-- ...
|-- sds/
|-- pds/
|-- dgwt/
|-- sdr/
|-- sdt/
|-- lia/
|-- sdc/
|-- gateway/
|
|-- diag_coll/ Diagnostic data collector (if installed)
| |-- logs/
| |-- cfg/
| +-- ...
|
|-- etc/ Host files
| |-- os-release
| |-- sysconfig/
| |-- network/
| +-- ...
|-- var/
| |-- log/
| | |-- messages
| | +-- ...
| +-- ...
|-- proc/
| |-- cpuinfo
| |-- meminfo
| +-- ...
|-- sys/
|-- ...
|
|-- scaleio-getinfo-extra/ Extra diagnostic data (if present)
+-- scaleio-getinfo-backup/ Backed-up configuration files (if any)
ÜRÜN GÜNLÜĞÜ VE ÇEKIRDEK DOSYA FILTRELEME
Bu bölümde açıklanan seçenekler, ürün günlük dosyalarının (izleme dosyaları olarak da adlandırılır, ör. trc.0, trc.1, exp.0) ve çekirdek döküm dosyaları, toplanan pakete dahil edilmek üzere seçilir. Bunu, bir referans zamanı, etrafında bir zaman penceresi ve sayma limitleri tanımlayarak yaparlar.
Herhangi bir filtreleme seçeneği belirtilmediğinde, tüm ürün günlük dosyaları ve (çekirdek toplama etkinse) tüm çekirdek döküm dosyaları toplanır. Filtreleme seçenekleri, bu seçimi aşağıda açıklandığı gibi aşamalı olarak daraltır.
Referans Zamanı
Aşağıdakilerden biri kullanılarak bir referans zamanı ayarlanabilir: -E/--event-time veya -C/--reference-core-file.
İkisi de değilse --event-time ne de --reference-core-file verilirse, zaman penceresi filtrelemesi yapılmaz: referans zamanı varsayılan olarak geçerli saate ayarlanır ve bir sayım sınırı (-m veya -k) yürürlüktedir (aşağıdaki Sayım Sınırlarına bakın).
Her ikisi de -E ve -C göründüğünde, komut satırındaki sonuncusu etkili olur.
Zaman Penceresi
Bir referans zamanı ayarlandığında ( --event-time veya --reference-core-file), etrafında bir zaman penceresi kurulur. Zaman penceresi kapsamı kullanılarak ayarlanabilir -t/--minutes-before-event Veya -T/--minutes-after-event, varsayılan olarak sırasıyla 15 ve 5 dakikadır. Yalnızca içeriği bu pencereyle çakışan dosyalar toplanmaya uygundur.
Örneğin, -E "2020-03-20 14:30" -t 10 -T 3 14:20:00 ile 14:33:00 arasındaki dönemi kapsayan dosyaları toplar.
--minutes-before-event ve --minutes-after-event hiçbiri olmadığında yok sayılır --event-time ne de --reference-core-file belirtilmiştir.
Sayım Limitleri
Dosya sayısı sınırı kullanılarak ayarlanabilir -m/--max-traces ve -k/--max-cores, sırasıyla günlük dosyaları ve çekirdek dosyalar için. Sınır, bileşen başına ölçülür.
Zaman penceresine NUM'dan fazla dosya denk geldiğinde (veya herhangi bir pencere etkin değilse kullanılabilir olduğunda), referans zamanına en yakın NUM dosyaları toplanır.
Sayı sınırı olmadan kullanıldığında --event-time veya --reference-core-file, tüm dosyalar adaydır (zaman penceresi yok) ve NUM'un en son dosyaları seçilir.
Filtreleme Mantığı
Dosya filtreleme önce zaman aralığını, ardından sayı sınırını uygular:
- Adayları belirleyin. Bir bileşene ait tüm ürün günlük dosyaları ve/veya çekirdek döküm dosyaları numaralandırılır.
- İçerik dönemini türetin. Ürün günlüğü dosyalarının içeriği bir dönemi temsil eder. İçerik döneminin, öncülünün son değişiklik zamanında (mtime) veya öncül olmadığında UNIX döneminde başladığı kabul edilir; Dosyanın kendi mtime'ında sona erer. Çekirdek döküm dosyaları, dosyanın mtime noktasındaki bir noktayı temsil eder.
- Zaman penceresini uygula (
-Eveya-Cbelirtilen). İçeriği tamamen pencerenin dışında kalan dosyalar seçimden atılır. Ürün günlüğü dosyaları için, pencereye herhangi bir dosya girmezse, pencereye en yakın tek dosya saklanır, böylece paket bir bileşen için asla boş kalmaz. Çekirdek döküm dosyaları için böyle bir geri dönüş uygulanmaz. - Sayı sınırını uygula (eğer
-mVeya-kbelirtilen). Kalan dosyalar arasından, referans zamanına en yakın olanları tercih ederek en fazla NUM seçilir. Referans zamanından önceki ve sonraki dosyalar seçim için eşit olarak yarışır.
KİMLİK DOĞRULAMA
Birincil MDM işleminin beklenen bağlantı noktasını dinlediği algılanırsa yardımcı program yerel MDM'de oturum açmayı dener (varsayılan: 6611).
MDM oturum açma seçenekleri SCLI'ye iletilir --login komutu ve onun tarafından işlenir.
Oturum açma başarısız olursa yardımcı program hata vererek sonlandırılır.
Oturum açma atlandığında SCLI komutları denenmeye devam edilir (kullanıcının önceden manuel olarak oturum açtığı senaryoları desteklemek için). 3 SCLI arızasından sonra bir uyarı görüntülenir ve diğer tüm SCLI komutları atlanır.
Oturum açma şu durumlarda atlanır:
- Yerel ana bilgisayarda birincil MDM işlemi bulunamadı.
- --skip-mdm-login seçeneği belirtilir.
Oturum açma şu durumlarda başarısız olur:
- MDM işlem sahibi yetkili kullanıcılar listesinde değil (saptanmış:
root) ve güvenli oturum açma etkinleştirilir. - SCLI (SCLI)
--loginKomut bir hata döndürür (ör. yanlış kimlik bilgileri).
DISK ALANI
Geçici dosyalar ve ortaya çıkan paket için disk alanı gereksinimleri önemli ölçüde farklılık gösterebilir.
Yardımcı program, geçici alan kullanımını en aza indirmeye çalışır; Komut çıktıları ve toplanan sanal dosya sisteminin kopyaları ile sınırlıdır (/proc ve /sys) dosyaları.
PowerFlex ana bilgisayarında disk alanı kullanımını en aza indirmek için paketin akışı uzak bir ana bilgisayardan --output-file=- ile yapılabilir. Akış sırasında, paket dosyası doğrudan standart çıktıya (stdout) yazılır; Diskte oluşturulmadı.
Veri toplamadan önce, yardımcı program hem geçici çalışma dizini hem de çıktı paketi için gerekli disk alanını tahmin eder.
Tahmini gerekli alan, ilgili dosya sistemlerindeki kullanılabilir alanı aşarsa yardımcı program bir hata ile sonlandırılır. Bu kontrol --skip-space-check ile atlanabilir.
Çalışma dizini ve çıktı dizini farklı dosya sistemlerinde bulunabilir; Her biri bağımsız olarak kontrol edilir.
Tahmini alan gereksinimleri yardımcı programın günlük dosyasına yazılır. get_info_run.log.
ÇIKIŞ DURUMU
| 0 | Başarıyla tamamlandı |
| 1 | Hata (geçersiz bağımsız değişkenler, yetersiz alan, oturum açma hatası, zaten çalışan başka bir örnek, paket oluşturma hatası, sinyal yakalandı vb.) |
DOSYALARI
<WORK_DIR>/get_info_run.log |
Yürütme günlüğü (pakete de dahildir) |
<WORK_DIR>/scaleio-getinfo-tmp/ |
Geçici çalışma dizini (başarılı olunca temizlenir) |
/tmp/scaleio-getinfo/getInfoDump.tgz |
Varsayılan çıktı paketi konumu |
<WORK_DIR>/scaleio-getinfo-extra/
/tmp/scaleio-getinfo-extra/ |
İsteğe bağlı ek tanılama veri dizinleri |
/tmp/scaleio-getinfo-backup/ |
Değiştirilen yapılandırma dosyalarının geçici yedeklemeleri (otomatik olarak oluşturulur) |
/opt/emc/scaleio/ |
PowerFlex kurulum dizini |
ORTAM
Önkoşullar
- Yardımcı program kök olarak çalıştırılmalıdır (veya bileşen dosyalarını okumak, tanılama komutlarını yürütmek ve erişmek için yeterli ayrıcalıklara sahip bir kullanıcı)
/proc,/sys, vb.). - Standart yardımcı programlar:
tar,gzip,stat,find,awk,sed,getopt(1)(geliştirilmiş),nice. - İsteğe Bağlı:
zip(İçin--zip),xz(İçin--xz),gdb/gcore(İçin--generate-cores).
Eşzamanlılık
Aynı anda yalnızca bir get_info.sh örneği çalıştırılabilir. Yardımcı program, çalışan mevcut bir örneği şu yollarla kontrol eder: pidof(1) ve bulunursa sona erer.
Sinyal İşleme
Şebeke tuzakları INT, EXITve TERM veri toplama sırasındaki sinyaller. Bir sinyal aldıktan sonra:
- Yedeklenmiş yapılandırma dosyalarını (ör. çekirdek oluşturma ayarları) geri yükler.
- Geçici dizinleri temizler.
- Durum 1 ile çıkar.
Yürütme günlüğü korunur ve yolu standart hataya yazdırılır.
ÖRNEKLER
Standart bir destek paketi toplayın:
get_info.sh
Uzak PowerFlex ana bilgisayarında paket dosyası oluşturmadan SSH bağlantısı üzerinden paket akışı yapın:
ssh <host> 'get_info.sh --output-file=-' > getInfoDump-<host>.tgz
Doldurmayı önlemek için farklı bir çalışma dizini kullanın /tmp:
get_info.sh --work-dir=/var/tmp
Pakete özel yollar ekleyin:
get_info.sh --collect-path=/opt/custom/app/logs --collect-path='/var/log/app*'
Yalnızca SDS ve MDM bileşenleri için en son çekirdek dökümünü toplayın:
get_info.sh --collect-cores='mdm sds' --max-cores=1
Özel bir zaman penceresiyle, bir çekirdek dosyanın değişiklik süresi etrafında toplanmış verileri toplayın:
get_info.sh --reference-core-file=/opt/emc/scaleio/sds/bin/core.1000 \
--minutes-before-event=10 \
--minutes-after-event=2