# 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 scsi" # Output: # scsi0: local-zfs:vm-201-disk-0,size=500G ``` ### 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 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:** `vm201-certificat-letsencrypt-iis.md` - **Troubleshooting Incident 2025-10-08:** `vm201-troubleshooting-backup-nfs.md` ### Documentație Infrastructură Generală - **Proxmox Cluster General:** `proxmox-ssh-guide.md` - **Oracle Database (LXC 108):** `oracle-database-lxc108.md` ### Documentație UPS - **Instalare WinNUT Client:** `ups/docs/INSTALARE-WINNUT.md` - **Sistem UPS 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 - **HA Status:** Enabled (managed by pve-ha-crm) - **Priority:** Normal - **Autostart:** Enabled (onboot: 1) - **Recovery:** Automatic VM migration în caz de node failure **Troubleshooting HA:** Vezi `vm201-troubleshooting-backup-nfs.md` → "VM 201 - HA Error" --- ## 🎯 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:** 2025-11-19 **Autor:** Marius Mutu **Proiect:** ROMFASTSQL - VM 201 Documentation