feat(cluster): varianta PowerShell a scripturilor de oprire/repornire
Statia de admin e Windows si nu ruleaza .sh direct: `bash` din PATH e cel din WSL, cu alt filesystem si alta configuratie de chei SSH. Adaug echivalentele native PowerShell. - cluster-shutdown.ps1 / cluster-startup.ps1, aceeasi logica si aceleasi garantii ca variantele bash - folosesc clientul OpenSSH din Windows, deja prezent in System32 - compatibile PowerShell 5.1: fara &&/||, fara ternar, fara ?., fara -AsHashtable; ping prin System.Net.NetworkInformation.Ping, nu Test-Connection (WMI, lent si des blocat) - nu redirecteaza stderr-ul lui ssh: in 5.1 asta transforma fiecare linie intr-un ErrorRecord si strica $LASTEXITCODE chiar cand comanda a reusit - parsarea `pct list` / `qm list` se face in PowerShell, nu prin awk remote, ca sa nu se incurce interpolarea $1/$2 din stringurile PowerShell - scriu acelasi format de fisier de stare ca variantele bash, deci poti opri cu una si porni cu cealalta Ambele testate cu -DryRun pe clusterul live, rezultat identic cu bash. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RRyaDj39hPQ89SZS6URRpS
This commit is contained in:
@@ -13,19 +13,40 @@ mutare rack, mentenanță UPS, intervenții la switch.
|
||||
## Varianta automată
|
||||
|
||||
Toată procedura de mai jos e implementată în două scripturi, de rulat **de pe
|
||||
stația de admin** (nu de pe un nod):
|
||||
stația de admin** (nu de pe un nod). Există în două variante echivalente —
|
||||
folosește-o pe cea potrivită shell-ului tău.
|
||||
|
||||
```bash
|
||||
cd proxmox/cluster/scripts
|
||||
**PowerShell (Windows, varianta obișnuită aici):**
|
||||
|
||||
./cluster-shutdown.sh --dry-run # arată exact ce ar face, nu atinge nimic
|
||||
./cluster-shutdown.sh # oprire completă, cu confirmări
|
||||
```powershell
|
||||
cd E:\proiecte\ROMFASTSQL\proxmox\cluster\scripts
|
||||
|
||||
.\cluster-shutdown.ps1 -DryRun # arată exact ce ar face, nu atinge nimic
|
||||
.\cluster-shutdown.ps1 # oprire completă, cu confirmări
|
||||
|
||||
# ... după revenirea curentului, cu nodurile pornite fizic ...
|
||||
|
||||
./cluster-startup.sh # repornire completă
|
||||
.\cluster-startup.ps1 # repornire completă
|
||||
```
|
||||
|
||||
Cere doar clientul OpenSSH din Windows (`C:\Windows\System32\OpenSSH\ssh.exe`),
|
||||
deja prezent, și cheia SSH pentru root pe noduri. Testate pe PowerShell 5.1.
|
||||
|
||||
Dacă politica de execuție blochează scriptul:
|
||||
`powershell -ExecutionPolicy Bypass -File .\cluster-shutdown.ps1 -DryRun`
|
||||
|
||||
**Bash (Git Bash, WSL sau de pe CT 171 claude-agent):**
|
||||
|
||||
```bash
|
||||
cd proxmox/cluster/scripts
|
||||
./cluster-shutdown.sh --dry-run
|
||||
./cluster-shutdown.sh
|
||||
./cluster-startup.sh
|
||||
```
|
||||
|
||||
Cele două variante scriu același fișier de stare, deci poți opri cu una și porni
|
||||
cu cealaltă.
|
||||
|
||||
`cluster-shutdown.sh` salvează local ce guest-uri rulau, iar `cluster-startup.sh`
|
||||
pornește **exact** ce era pornit — nu repornește VM-uri oprite intenționat.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user