Avamar: NDMP — średni błąd spowodowany blokowaniem portów zapory między akceleratorem a VNX
Summary: Tworzenie kopii zapasowej protokołu NDMP (Network Data Management Protocol) kończy się niepowodzeniem z komunikatami o błędzie "Medium" i "NDMP_DATA_HALT_INTERNAL_ERROR". Zapora blokuje Avamar NDMP Accelerator ↔ VNX; otwórz port 10000 i co najmniej 100 dodatkowych portów danych (server_param –f NDMP) w celu rozwiązania problemu. ...
Symptoms
Objawy niepowodzenia tworzenia kopii zapasowej NDMP
Gdy kopia zapasowa NDMP Avamar napotka błąd nośnika, zaobserwowano następujące objawy:
- Zadanie tworzenia kopii zapasowej zostaje przerwane z komunikatem "Średni błąd".
- Operacja zapisu na woluminie archiwum kończy się niepowodzeniem.
- Strumień danych NDMP jest wstrzymywany, a raporty
NDMP_DATA_HALT_INTERNAL_ERROR. - Data Mover wskazuje "Data Stoped" i czeka na zakończenie wątku przesyłania.
- Transfer danych do
avtarzatrzymuje się bezskutecznie. - Polecenie
avtarProces kończy się z kodem 163 (anulowany zewnętrznie). - Kopia zapasowa woluminu docelowego zgłasza błędy i jest oznaczona jako przerwana.
- Końcowe podsumowanie pokazuje niezerowy kod zakończenia (taki jak 157).
Przykładowe fragmenty dziennika ilustrujące te symptomy:
2016-08-02 11:34:51 avndmp Info <0000>: [snapup-/root_vdm_1/Corp] NDMP: SnapSure file system creation succeeds 2016-08-02 11:43:54 avndmp Error <0000>: [snapup-/root_vdm_1/Corp] NDMP: Medium error 2016-08-02 11:43:54 avndmp Warning <0000>: [snapup-/root_vdm_1/Corp] NDMP: Write failed on archive volume 1 2016-08-02 11:43:54 avndmp Info <0000>: [snapup-/root_vdm_1/Corp] NDMP: server_archive: emctar vol 1, 110 files, 0 bytes read, 1179648 bytes written 2016-08-02 11:43:54 avndmp Warning <0000>: [snapup-/root_vdm_1/Corp] NDMP Data Halted, reason : NDMP_DATA_HALT_INTERNAL_ERROR 2016-08-02 11:43:54 avndmp Info <0000>: [snapup-/root_vdm_1/Corp] Data mover reports Data Halted. Waiting for transfer thread to finish feeding stream to avtar... 2016-08-02 11:43:54 avndmp Warning <0000>: [snapup-/root_vdm_1/Corp] Data halted unsuccessfully, stopping data transfer to avtar. 2016-08-02 11:43:54 avndmp Info <0000>: [snapup-/root_vdm_1/Corp] Cancelling avtar 2016-08-02 11:43:58 avndmp Info <6688>: [ctl_spawn] Process 23228 (/usr/local/avamar/bin/avtar) finished (code 163: externally cancelled) 2016-08-02 11:43:58 avndmp Warning <6690>: [ctl_spawn] CTL workorder "MOD-1470162815289#1" non-zero exit status 'code 163: externally cancelled' 2016-08-02 11:43:59 avndmp Info <0000>: [ndmp2avtar-/root_vdm_1/Corp/] NDMP stream bytes read = 2779, bytes written = 2779 2016-08-02 11:44:10 avndmp Info <0000>: [snapup-/root_vdm_1/Corp] Waiting for data transfer thread to exit 2016-08-02 11:44:10 avndmp Info <0000>: [snapup-/root_vdm_1/Corp] Waiting for volume /root_vdm_1/Corp snapshot to be removed. Will stop waiting after 300 seconds. 2016-08-02 11:44:15 avndmp Info <0000>: [snapup-/root_vdm_1/Corp] Snapshot for volume /root_vdm_1/Corp was removed after 5 seconds. 2016-08-02 11:44:15 avndmp Error <0000>: [snapup-/root_vdm_1/Corp] Backup for target /root_vdm_1/Corp had errors. 2016-08-02 11:44:15 avndmp Info <0000>: [snapup-/root_vdm_1/Corp] Backup of '/root_vdm_1/Corp' aborted. Error in NDMP session. 2016-08-02 11:44:15 avndmp Info <0000>: [avndmp_assist] Thread exited with errors: /root_vdm_1/Corp 2016-08-02 11:44:15 avndmp Info <0000>: [avndmp_assist] Active threads: 2016-08-02 11:44:15 avndmp Info <0000>: [avndmp_ctl_sup] Threads successfully completed 0, canceled/aborted 0, failed 1 2016-08-02 11:44:15 avndmp Info <7271>: [avndmp_ctl_sup] Final summary generated subwork 1, cancelled/aborted 0, snapview 0, exitcode 157
Cause
Blokada komunikacji sieciowej między akceleratorem Avamar NDMP a VNX
Tworzenie kopii zapasowej NDMP kończy się niepowodzeniem, ponieważ zapora ogranicza ruch między węzłem przyśpieszającym NDMP a systemem pamięci masowej VNX. Otwarto tylko port TCP 10000, natomiast akcelerator NDMP wymaga szeregu dodatkowych portów do przesyłania danych. To ograniczenie powoduje, że w sesji NDMP występuje błąd "średniego błędu" i wewnętrzny stan zatrzymania danych.
Dowody z dzienników systemowych
2016-08-02 14:12:31: 13156679683: network error (../NdmpdMover.cxx: 1226) 2016-08-02 14:12:31: 13156679680: Session 033 (thread nasw00) NdmpdSession::ndmpdApiWrite fails in local or remote wirte msg, moverAddressType=1, mp=0x01005ed840 2016-08-02 14:12:31: 13156679680: Thread bkup058 Medium error
- Wpis dziennika pokazuje błąd sieciowy pochodzący z
NdmpdMover.cxx, wskazując na awarię modułu przenoszenia danych NDMP. - Późniejszy
"NdmpdApiWrite fails"komunikat potwierdza, że sesja NDMP nie może zapisać danych na zdalnym punkcie końcowym. - Końcowy błąd "Medium" jest zgodny z przerwaniem tworzenia kopii zapasowej NDMP zgłoszonym w dziennikach Avamar.
Szczegóły głównej przyczyny
- Niewystarczające reguły zapory: Dozwolony był tylko port 10000, podczas gdy akcelerator NDMP wymaga ciągłego zakresu portów (zwykle 10000–10099) dla strumieni danych.
- Zablokowane porty danych uniemożliwiają inicjatorowi NDMP nawiązanie niezawodnego połączenia, co prowadzi do wewnętrznych błędów NDMP, takich jak
NDMP_DATA_HALT_INTERNAL_ERROR. - Brak wymaganych portów uruchamia proces Avamar NDMP w celu anulowania tworzenia kopii zapasowej, co skutkuje kodem zakończenia 163 ("anulowano zewnętrznie").
Resolution
Otwórz wymagane porty zapory dla akceleratora NDMP Avamar
Procedura krok po kroku
- Zidentyfikuj adres IP węzła przyśpieszającego NDMP Avamar i systemu pamięci masowej VNX.
- Zaloguj się do zapory sieciowej, która kontroluje ruch między tymi dwoma urządzeniami.
- Upewnij się, że port TCP 10000 jest już dozwolony. Jeśli nie, utwórz regułę zezwalającą na ruch przychodzący i wychodzący na tym porcie.
- Otwórz ciągły zakres co najmniej 100 portów dla ruchu danych NDMP (na przykład
10000‑10100). Zastosuj regułę do obu kierunków między węzłem przyśpieszającym NDMP Avamar a systemem VNX. - Zapisz i zastosuj konfigurację zapory.
Sprawdź poprawność konfiguracji portów w systemie VNX
Wyświetl bieżące ustawienia portów NDMP:
server_param server_2 -f NDMP -l

Jeśli dane wyjściowe nie pokazują nowo dodanego zakresu, dodaj go za pomocą następującego polecenia (zamień i z wybranym zakresem):
Dodaj zakres portów
Dodaj nowy zakres portów NDMP:
server_param server_2 -f NDMP -l "-"
Uruchom testową kopię zapasową.
Inicjowanie kopii zapasowej NDMP dla woluminu testowego:
avtar -c -s -d
Po zakończeniu tworzenia kopii zapasowej przejrzyj dzienniki NDMP Avamar pod kątem komunikatów o błędach.
Przegląd dzienników NDMP
Wyświetl najnowsze wpisy dziennika NDMP:
grep -i "NDMP" /var/log/avndmp.log | tail -20
Dziennik powinien pokazywać komunikaty o pomyślnym zakończeniu bez wpisów "Średni błąd" lub "Dane zatrzymane".