Reorganize proxmox documentation into subdirectories per LXC/VM
- Create cluster/ for Proxmox cluster infrastructure (SSH guide, HA monitor, UPS) - Create lxc108-oracle/ for Oracle Database documentation and scripts - Create vm201-windows/ for Windows 11 VM docs and SSL certificate scripts - Add SSL certificate monitoring scripts (check-ssl-certificates.ps1, monitor-ssl-certificates.sh) - Remove archived VM107 references (decommissioned) - Update all cross-references between files - Update main README.md with new structure and navigation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
451
proxmox/vm201-windows/README.md
Normal file
451
proxmox/vm201-windows/README.md
Normal file
@@ -0,0 +1,451 @@
|
||||
# VM 201 - Windows 11 (roacentral)
|
||||
|
||||
## 📌 Informații Generale
|
||||
|
||||
- **VMID:** 201
|
||||
- **Nume:** roacentral
|
||||
- **OS:** Windows 11 Pro (24H2)
|
||||
- **Host Proxmox:** pvemini (10.0.20.201)
|
||||
- **Storage:** local-zfs (ZFS pool)
|
||||
- **Status:** Running (onboot: enabled)
|
||||
- **Rol:** Client aplicații Windows, SQL*Plus client, Reverse proxy IIS, Monitorizare UPS
|
||||
|
||||
---
|
||||
|
||||
## 💻 Configurație Hardware
|
||||
|
||||
### Resurse Alocate
|
||||
- **CPU:** 2 cores (Intel CPU host)
|
||||
- **RAM:** 4 GB
|
||||
- **Storage:** 500 GB (local-zfs)
|
||||
- **Network:** virtio (DHCP)
|
||||
- **Display:** VirtIO-GPU (spice)
|
||||
|
||||
### Storage Details
|
||||
```bash
|
||||
# Verificare disk usage
|
||||
ssh root@10.0.20.201 "qm config 201 | grep -E 'efidisk|virtio'"
|
||||
|
||||
# Output:
|
||||
# efidisk0: local-zfs:vm-201-disk-1,efitype=4m,pre-enrolled-keys=1,size=528K
|
||||
# virtio0: local-zfs:vm-201-disk-3,size=500G
|
||||
```
|
||||
|
||||
**Discuri active:**
|
||||
- `vm-201-disk-1` - EFI disk (528K)
|
||||
- `vm-201-disk-3` - Disk principal Windows (500GB, ~89GB utilizat)
|
||||
|
||||
### Network Configuration
|
||||
- **Interface:** net0 - virtio bridge=vmbr0
|
||||
- **IP Assignment:** DHCP (managed by network DHCP server)
|
||||
- **MAC Address:** Auto-generated by Proxmox
|
||||
- **Hostname:** roacentral
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Rol și Utilizare
|
||||
|
||||
### Funcții Principale
|
||||
|
||||
#### 1. Client Aplicații Windows
|
||||
- **Aplicații ROMFAST** - Client desktop pentru aplicații contabilitate
|
||||
- **SQL*Plus Client** - Conexiuni la Oracle Database (LXC 108)
|
||||
- **Management Tools** - Administrare Windows pentru infrastructură
|
||||
|
||||
#### 2. Reverse Proxy IIS
|
||||
- **IIS (Internet Information Services)** - Reverse proxy către servicii interne
|
||||
- **SSL/TLS Termination** - Certificate Let's Encrypt pentru domenii externe
|
||||
- **SNI (Server Name Indication)** - Multiple certificate pe același IP
|
||||
- **Domenii gestionate:**
|
||||
- roa.romfast.ro
|
||||
- dokploy.romfast.ro
|
||||
- gitea.romfast.ro
|
||||
|
||||
**Documentație:** Vezi `vm201-certificat-letsencrypt-iis.md`
|
||||
|
||||
#### 3. Monitorizare UPS
|
||||
- **WinNUT Client** - Monitorizare vizuală status UPS în timp real
|
||||
- **Server NUT:** 10.0.20.201:3493 (pvemini)
|
||||
- **UPS:** nutdev1 (INNO TECH USB UPS)
|
||||
- **Polling:** 15 secunde
|
||||
|
||||
**Documentație:** Vezi `ups/docs/INSTALARE-WINNUT.md`
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Servicii Instalate
|
||||
|
||||
### Software Principal
|
||||
|
||||
#### 1. Oracle SQL*Plus Client
|
||||
- **Versiune:** Oracle Instant Client (compatible cu Oracle XE 21c)
|
||||
- **Conexiuni:**
|
||||
```cmd
|
||||
sqlplus sys/romfastsoft@10.0.20.121:1521/roa as sysdba
|
||||
sqlplus CONTAFIN_ORACLE/OraclePass123@10.0.20.121:1521/roa
|
||||
```
|
||||
- **JDBC Driver:** oracle.jdbc.driver.OracleDriver
|
||||
- **Connection String:** `jdbc:oracle:thin:@10.0.20.121:1521/roa`
|
||||
|
||||
#### 2. IIS (Internet Information Services)
|
||||
- **Versiune:** IIS 10.0 (Windows 11)
|
||||
- **Features Enabled:**
|
||||
- Web Server (IIS)
|
||||
- ASP.NET 4.8
|
||||
- WebSockets Protocol
|
||||
- HTTP Redirect
|
||||
- URL Rewrite Module
|
||||
- **Sites:**
|
||||
- Default Web Site (roa.romfast.ro)
|
||||
- Dokploy (dokploy.romfast.ro)
|
||||
- Gitea (gitea.romfast.ro)
|
||||
|
||||
**Configurare SSL:** Vezi `vm201-certificat-letsencrypt-iis.md`
|
||||
|
||||
#### 3. Win-ACME
|
||||
- **Versiune:** v2.2.9.1701
|
||||
- **Locație:** `C:\Tools\win-acme\`
|
||||
- **Scop:** Certificate Let's Encrypt automate
|
||||
- **Task Scheduler:** Reînnoire automată zilnică (verificare)
|
||||
- **Certificate Storage:** LocalMachine\My (Certificate Store)
|
||||
|
||||
#### 4. WinNUT Client
|
||||
- **Versiune:** WinNUT-Client-2.x
|
||||
- **Configurare:**
|
||||
- Server: 10.0.20.201
|
||||
- Port: 3493
|
||||
- UPS: nutdev1
|
||||
- User: admin
|
||||
- Password: parola99
|
||||
- Polling: 15s
|
||||
- **Scop:** Monitorizare vizuală UPS (NU controlează shutdown)
|
||||
|
||||
#### 5. Remote Desktop
|
||||
- **RDP Enabled:** Da
|
||||
- **Port:** 3389 (default)
|
||||
- **Network Level Authentication:** Enabled
|
||||
- **Acces:** `mstsc /v:roacentral` (din rețea locală)
|
||||
|
||||
---
|
||||
|
||||
## 🌐 Configurare Rețea
|
||||
|
||||
### Network Settings
|
||||
- **Adapter Type:** virtio (paravirtualized)
|
||||
- **Bridge:** vmbr0 (Proxmox bridge)
|
||||
- **IP Assignment:** DHCP
|
||||
- **DNS:** Managed by DHCP
|
||||
- **Hostname:** roacentral
|
||||
|
||||
### Firewall Rules (Windows Firewall)
|
||||
```powershell
|
||||
# Permite RDP
|
||||
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
|
||||
|
||||
# Permite IIS HTTP/HTTPS
|
||||
New-NetFirewallRule -DisplayName "IIS HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
|
||||
New-NetFirewallRule -DisplayName "IIS HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
|
||||
|
||||
# Permite ping (ICMP)
|
||||
Enable-NetFirewallRule -DisplayName "File and Printer Sharing (Echo Request - ICMPv4-In)"
|
||||
```
|
||||
|
||||
### Network Troubleshooting
|
||||
```powershell
|
||||
# Verificare IP și gateway
|
||||
ipconfig /all
|
||||
|
||||
# Test conectivitate Oracle
|
||||
Test-NetConnection -ComputerName 10.0.20.121 -Port 1521
|
||||
|
||||
# Test conectivitate NUT server
|
||||
Test-NetConnection -ComputerName 10.0.20.201 -Port 3493
|
||||
|
||||
# Flush DNS cache
|
||||
ipconfig /flushdns
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 💾 Backup și Recovery
|
||||
|
||||
### Backup Job Proxmox
|
||||
- **Frecvență:** Zilnic la 02:00 (part of backup job-10dfdb0d-fb47)
|
||||
- **Storage:** backup (`/mnt/backup` pe pvemini)
|
||||
- **Tip:** Snapshot (Proxmox VZDump)
|
||||
- **Retention:** keep-all=1 (păstrează toate backup-urile)
|
||||
- **Format:** `.vma.zst` (compressed)
|
||||
|
||||
### Backup Manual
|
||||
```bash
|
||||
# Backup complet VM 201
|
||||
ssh root@10.0.20.201 "vzdump 201 --storage backup --mode snapshot --compress zstd"
|
||||
|
||||
# Verificare backup-uri existente
|
||||
ssh root@10.0.20.201 "ls -lh /mnt/backup/dump/vzdump-qemu-201-*.vma.zst"
|
||||
```
|
||||
|
||||
### Recovery VM 201
|
||||
```bash
|
||||
# Listare backup-uri disponibile
|
||||
ssh root@10.0.20.201 "pvesm list backup | grep 201"
|
||||
|
||||
# Restore din backup (creează VM nou cu VMID 202)
|
||||
ssh root@10.0.20.201 "qmrestore /mnt/backup/dump/vzdump-qemu-201-YYYY_MM_DD-HH_MM_SS.vma.zst 202"
|
||||
|
||||
# Sau restore peste VM existent (ATENȚIE: șterge VM curent)
|
||||
ssh root@10.0.20.201 "qm stop 201 && qmrestore /mnt/backup/dump/vzdump-qemu-201-*.vma.zst 201 --force"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚨 Troubleshooting Comun
|
||||
|
||||
### VM Nu Pornește
|
||||
|
||||
**Diagnostic:**
|
||||
```bash
|
||||
# Status VM
|
||||
ssh root@10.0.20.201 "qm status 201"
|
||||
|
||||
# Verificare lock-uri
|
||||
ssh root@10.0.20.201 "qm config 201 | grep lock"
|
||||
|
||||
# Verificare proces KVM
|
||||
ssh root@10.0.20.201 "ps aux | grep 'qm\|kvm' | grep 201"
|
||||
```
|
||||
|
||||
**Rezolvare:**
|
||||
```bash
|
||||
# Unlock VM (dacă are lock de backup)
|
||||
ssh root@10.0.20.201 "qm unlock 201"
|
||||
|
||||
# Start VM
|
||||
ssh root@10.0.20.201 "qm start 201"
|
||||
```
|
||||
|
||||
**Referință:** Vezi `vm201-troubleshooting-backup-nfs.md` pentru incident similar
|
||||
|
||||
### VM Locked după Backup Eșuat
|
||||
|
||||
**Verificare:**
|
||||
```bash
|
||||
ssh root@10.0.20.201 "qm config 201 | grep lock"
|
||||
```
|
||||
|
||||
**Rezolvare:**
|
||||
```bash
|
||||
ssh root@10.0.20.201 "qm unlock 201"
|
||||
```
|
||||
|
||||
**Documentație completă:** `vm201-troubleshooting-backup-nfs.md`
|
||||
|
||||
### RDP Nu Funcționează
|
||||
|
||||
**Verificare din Proxmox:**
|
||||
```bash
|
||||
# Status VM
|
||||
ssh root@10.0.20.201 "qm status 201"
|
||||
|
||||
# Verificare port 3389 (din alt sistem)
|
||||
nc -zv <VM_IP> 3389
|
||||
```
|
||||
|
||||
**Rezolvare în Windows:**
|
||||
```powershell
|
||||
# Enable RDP
|
||||
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name "fDenyTSConnections" -Value 0
|
||||
|
||||
# Restart serviciu
|
||||
Restart-Service TermService -Force
|
||||
|
||||
# Verificare firewall
|
||||
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
|
||||
```
|
||||
|
||||
### Certificate SSL Expirate
|
||||
|
||||
**Verificare:**
|
||||
```powershell
|
||||
# Listare certificate Let's Encrypt
|
||||
Get-ChildItem Cert:\LocalMachine\My | Where-Object {
|
||||
$_.Issuer -like "*Let's Encrypt*" -and $_.NotAfter -gt (Get-Date)
|
||||
} | Select-Object Subject, NotAfter, Thumbprint
|
||||
```
|
||||
|
||||
**Reînnoire:**
|
||||
```powershell
|
||||
cd C:\Tools\win-acme
|
||||
.\wacs.exe --renew --force
|
||||
iisreset
|
||||
```
|
||||
|
||||
**Documentație completă:** `vm201-certificat-letsencrypt-iis.md`
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Comenzi Rapide Proxmox
|
||||
|
||||
### Gestiune VM 201
|
||||
|
||||
```bash
|
||||
# Start VM
|
||||
ssh root@10.0.20.201 "qm start 201"
|
||||
|
||||
# Stop VM (graceful)
|
||||
ssh root@10.0.20.201 "qm stop 201"
|
||||
|
||||
# Force stop VM (SIGKILL)
|
||||
ssh root@10.0.20.201 "qm stop 201 --skiplock"
|
||||
|
||||
# Restart VM
|
||||
ssh root@10.0.20.201 "qm restart 201"
|
||||
|
||||
# Status VM
|
||||
ssh root@10.0.20.201 "qm status 201"
|
||||
|
||||
# Configurație VM
|
||||
ssh root@10.0.20.201 "qm config 201"
|
||||
|
||||
# Modificare RAM/CPU
|
||||
ssh root@10.0.20.201 "qm set 201 --memory 8192 --cores 4"
|
||||
|
||||
# Console VM (VNC prin Proxmox GUI)
|
||||
# Acces: https://10.0.20.201:8006 -> VM 201 -> Console
|
||||
```
|
||||
|
||||
### Backup și Snapshot
|
||||
|
||||
```bash
|
||||
# Backup manual
|
||||
ssh root@10.0.20.201 "vzdump 201 --storage backup --mode snapshot --compress zstd"
|
||||
|
||||
# Creare snapshot
|
||||
ssh root@10.0.20.201 "qm snapshot 201 pre-update-snapshot"
|
||||
|
||||
# Listare snapshot-uri
|
||||
ssh root@10.0.20.201 "qm listsnapshot 201"
|
||||
|
||||
# Rollback la snapshot
|
||||
ssh root@10.0.20.201 "qm rollback 201 pre-update-snapshot"
|
||||
|
||||
# Ștergere snapshot
|
||||
ssh root@10.0.20.201 "qm delsnapshot 201 pre-update-snapshot"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Documentație Asociată
|
||||
|
||||
### Documentație VM 201 Specifică
|
||||
- **SSL Certificates IIS:** `docs/vm201-certificat-letsencrypt-iis.md`
|
||||
- **Troubleshooting Incident 2025-10-08:** `docs/vm201-troubleshooting-backup-nfs.md`
|
||||
- **Troubleshooting Pană Curent 2026-01-11:** `docs/vm201-troubleshooting-pana-curent-2026-01-11.md`
|
||||
|
||||
### Scripturi VM 201
|
||||
- **Verificare certificate (Windows):** `scripts/check-ssl-certificates.ps1`
|
||||
- **Monitorizare certificate (Proxmox):** `scripts/monitor-ssl-certificates.sh`
|
||||
|
||||
### Documentație Infrastructură Generală
|
||||
- **Proxmox Cluster General:** `../cluster/README.md`
|
||||
- **Oracle Database (LXC 108):** `../lxc108-oracle/README.md`
|
||||
|
||||
### Documentație UPS
|
||||
- **Instalare WinNUT Client:** `../cluster/ups/docs/INSTALARE-WINNUT.md`
|
||||
- **Sistem UPS Cluster:** `../cluster/ups/README.md`
|
||||
|
||||
---
|
||||
|
||||
## 📝 Notițe Importante
|
||||
|
||||
### Considerații Performanță
|
||||
- VM 201 rulează pe **local-zfs** pentru performanță optimă (ZFS pool)
|
||||
- **Snapshot-urile** sunt rapide (ZFS COW - copy-on-write)
|
||||
- **Backup-urile** nu afectează performanța VM (Proxmox snapshot)
|
||||
|
||||
### Securitate
|
||||
- **RDP:** Expus doar în rețea locală (10.0.20.0/24)
|
||||
- **Certificate SSL:** Reînnoire automată Let's Encrypt (90 zile)
|
||||
- **Firewall:** Windows Firewall active cu reguli restrictive
|
||||
- **Updates:** Windows Update enabled (automatic patches)
|
||||
|
||||
### Dependențe
|
||||
- **Oracle Database:** LXC 108 (10.0.20.121:1521) - SQL*Plus client
|
||||
- **UPS Monitoring:** NUT server pe pvemini (10.0.20.201:3493)
|
||||
- **Reverse Proxy Targets:**
|
||||
- Dokploy: 10.0.20.167:3000
|
||||
- Gitea: 10.0.20.165:3000
|
||||
- Portainer: 10.0.20.170:9443
|
||||
|
||||
### High Availability și Replicare
|
||||
|
||||
#### HA Status: DEZACTIVAT (Control Manual)
|
||||
- **HA:** Eliminat din cluster HA (decizie post-incident 2026-01-11)
|
||||
- **Motiv:** Control manual asupra failover-ului pentru a evita blocaje
|
||||
- **Autostart:** Enabled (onboot: 1) - pornește automat când nodul bootează
|
||||
|
||||
#### Replicare ZFS (Activă)
|
||||
- **Job 201-0:** pvemini → pve1 (la fiecare 30 min)
|
||||
- **Job 201-1:** pvemini → pveelite (la fiecare 30 min)
|
||||
|
||||
```bash
|
||||
# Verificare status replicare
|
||||
ssh root@10.0.20.201 "pvesr status | grep 201"
|
||||
|
||||
# Forțare replicare imediată
|
||||
ssh root@10.0.20.201 "pvesr schedule-now 201-0 && pvesr schedule-now 201-1"
|
||||
```
|
||||
|
||||
#### Procedură Failover Manual (când pvemini cade)
|
||||
|
||||
**Important:** `/etc/pve` este un filesystem partajat (pmxcfs). Chiar dacă pvemini e offline, configurarea VM-ului e accesibilă de pe orice nod din cluster.
|
||||
|
||||
```bash
|
||||
# De pe pveelite (10.0.20.202) sau pve1 (10.0.20.200):
|
||||
|
||||
# 1. Mută configurarea pe nodul unde vrei să pornești
|
||||
mv /etc/pve/nodes/pvemini/qemu-server/201.conf /etc/pve/nodes/pveelite/qemu-server/201.conf
|
||||
|
||||
# 2. Pornește VM-ul (discurile sunt deja replicate)
|
||||
qm start 201
|
||||
```
|
||||
|
||||
#### Procedură Failback (migrare înapoi pe pvemini)
|
||||
|
||||
```bash
|
||||
# Când pvemini e din nou online, migrează VM-ul înapoi
|
||||
qm migrate 201 pvemini --online
|
||||
```
|
||||
|
||||
**Troubleshooting:** Vezi `vm201-troubleshooting-pana-curent-2026-01-11.md`
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Flux de Lucru Recomandat
|
||||
|
||||
### Pentru Configurare Nouă
|
||||
1. **Citește acest document** pentru context general
|
||||
2. **Pentru SSL/IIS:** Vezi `vm201-certificat-letsencrypt-iis.md`
|
||||
3. **Testează configurația**
|
||||
4. **Creează snapshot** înainte de modificări majore
|
||||
5. **Documentează** schimbările în fișiere relevante
|
||||
|
||||
### Pentru Probleme
|
||||
1. **Verifică status VM:** `qm status 201`
|
||||
2. **Verifică lock-uri:** `qm config 201 | grep lock`
|
||||
3. **Consultă troubleshooting:** `vm201-troubleshooting-backup-nfs.md`
|
||||
4. **Verifică logs:** Windows Event Viewer sau Proxmox logs
|
||||
5. **Documentează problema** și rezolvarea pentru viitor
|
||||
|
||||
### Pentru Mentenanță
|
||||
1. **Creează snapshot** înainte de update-uri: `qm snapshot 201 pre-maintenance`
|
||||
2. **Verifică backup recent:** Ultimul backup în `/mnt/backup/dump/`
|
||||
3. **Aplică update-uri** Windows Update sau IIS
|
||||
4. **Testează funcționalitate** (RDP, IIS, SQL*Plus)
|
||||
5. **Șterge snapshot** dacă totul funcționează: `qm delsnapshot 201 pre-maintenance`
|
||||
|
||||
---
|
||||
|
||||
**Ultima actualizare:** 2026-01-11
|
||||
**Autor:** Marius Mutu
|
||||
**Proiect:** ROMFASTSQL - VM 201 Documentation
|
||||
Reference in New Issue
Block a user