docs(dr): --help in deploy.sh + referinte in indexul master
deploy.sh era documentat doar in README-ul VM 109; nu aparea nicaieri in proxmox/README.md, deci nu il gaseai daca nu stiai deja ca exista. Iar `deploy.sh --help` raspundea cu o singura linie pe stderr si exit 2 - o unealta documentata trebuie sa se poata explica singura. - deploy.sh: --help / -h cu utilizare completa (optiuni, ce verifica inainte sa copieze, distributia pe noduri si de ce e asimetrica, ce face --guest cu VM 109 oprit, si faptul ca nu atinge cron-ul). Exit 0 pentru --help, exit 2 cu mesaj pe stderr pentru optiune necunoscuta. - proxmox/README.md: deploy.sh, vm109-patch-window.sh si check_servicing.ps1 in tabelul de fisiere, bloc "Deploy modificari" in Quick Start, plus intrari in "Vreau sa..." pentru deploy, pentru patching si pentru simptomul "Restore failed fara log RMAN". - README VM 109: --help in lista de comenzi si un exemplu de output --check, ca sa se vada diferenta dintre "DIFERA" si "LIPSESTE pe nod". Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BhQBTegE4PiMPPaapLHjkc
This commit is contained in:
@@ -338,6 +338,17 @@ cd proxmox/vm109-windows-dr/scripts
|
||||
./deploy.sh # doar nodurile Proxmox
|
||||
./deploy.sh --guest # noduri + scripturile PowerShell pe VM 109
|
||||
./deploy.sh --guest-only # doar VM 109
|
||||
./deploy.sh --help # distribuția pe noduri, verificările, contextul
|
||||
```
|
||||
|
||||
Rulează `--check` întâi, mereu: e singurul mod ieftin de a vedea dacă un nod a rămas în urmă. Output tipic după un deploy reușit — doar `=` (identic) pe toate liniile:
|
||||
|
||||
```
|
||||
--- 10.0.20.202 ---
|
||||
= weekly-dr-test-proxmox.sh (identic)
|
||||
= vm109-patch-window.sh (identic)
|
||||
~ oracle-backup-monitor-proxmox.sh (DIFERĂ) <- de copiat
|
||||
~ nightly-backup-mirror.sh (LIPSEȘTE pe nod) <- niciodată deployat
|
||||
```
|
||||
|
||||
### Distribuția pe noduri — asimetrică intenționat
|
||||
|
||||
@@ -87,12 +87,72 @@ DO_NODES=true
|
||||
DO_GUEST=false
|
||||
CHECK_ONLY=false
|
||||
|
||||
usage() {
|
||||
cat <<'HELP'
|
||||
deploy.sh — copiază scripturile DR din repo pe destinații, cu verificări.
|
||||
|
||||
UTILIZARE
|
||||
./deploy.sh [OPȚIUNE]
|
||||
|
||||
OPȚIUNI
|
||||
(fără) Deploy pe nodurile Proxmox (pvemini + pveelite).
|
||||
--check Nu copiază nimic; raportează ce diferă sau lipsește.
|
||||
Rulează-l întâi, mereu.
|
||||
--guest Noduri + scripturile PowerShell pe VM 109.
|
||||
--guest-only Doar VM 109.
|
||||
--help, -h Textul ăsta.
|
||||
|
||||
CE VERIFICĂ ÎNAINTE SĂ COPIEZE
|
||||
* script în execuție — refuză suprascrierea. bash citește scriptul
|
||||
incremental de pe disc, deci suprascrierea unui test DR în curs
|
||||
(~18 min) corupe execuția.
|
||||
* CRLF — bash pe Linux răspunde "$'\r': command not found".
|
||||
* bash -n local, apoi încă o dată pe nod după copiere (prinde
|
||||
transferurile trunchiate).
|
||||
* md5 — sare peste fișierele identice, ca output-ul să arate doar
|
||||
ce s-a schimbat efectiv.
|
||||
|
||||
DISTRIBUȚIA PE NODURI (asimetrică intenționat — nu o "repara")
|
||||
ambele weekly-dr-test-proxmox.sh, vm109-patch-window.sh,
|
||||
vm109-watchdog.sh — cluster-aware, urmăresc VM 109 după
|
||||
un failover HA; lipsa de pe un nod = testul dispare tăcut.
|
||||
Plus check_servicing.ps1 / install_updates.ps1, ca sursă
|
||||
pentru deploy-ul către guest.
|
||||
pveelite oracle-backup-monitor, zfs-replicate, nightly-mirror —
|
||||
acolo trăiește datasetul ZFS oracle-backups.
|
||||
pvemini pveelite-down-alert, failover-dr-to-pvemini,
|
||||
failback-dr-to-pveelite — reacționează la CĂDEREA lui
|
||||
pveelite. Pe pveelite ar fi inutile (nodul e jos) și ar
|
||||
înlesni exact split-brain-ul pe care încearcă să-l prevină.
|
||||
|
||||
DESPRE GUEST (--guest)
|
||||
VM 109 e oprit între teste, deci scriptul îl pornește, setează
|
||||
vm109-debug.flag (altfel watchdog-ul îl oprește la 60 min), copiază
|
||||
prin pveelite ca jump host, verifică funcțional check_servicing.ps1
|
||||
și oprește VM-ul la loc. Dacă VM 109 rula deja, avertizează și lasă
|
||||
5 secunde pentru Ctrl-C.
|
||||
|
||||
CE NU FACE
|
||||
Nu atinge cron-ul. După adăugarea unui script nou:
|
||||
ssh root@10.0.20.202 'crontab -l | grep -E "dr-test|patch-window|watchdog"'
|
||||
|
||||
CONTEXT
|
||||
proxmox/vm109-windows-dr/README.md, secțiunea "Deploy".
|
||||
HELP
|
||||
}
|
||||
|
||||
case "${1:-}" in
|
||||
--guest) DO_GUEST=true ;;
|
||||
--guest-only) DO_GUEST=true; DO_NODES=false ;;
|
||||
--check) CHECK_ONLY=true ;;
|
||||
--help|-h) usage; exit 0 ;;
|
||||
"") ;;
|
||||
*) echo "Utilizare: $0 [--guest|--guest-only|--check]" >&2; exit 2 ;;
|
||||
*)
|
||||
echo "Opțiune necunoscută: $1" >&2
|
||||
echo >&2
|
||||
usage >&2
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
|
||||
red() { printf '\033[0;31m%s\033[0m\n' "$*"; }
|
||||
|
||||
Reference in New Issue
Block a user