Optymalizacja i Migracja Wewnętrznej Infrastruktury IT
Okres Realizacji: Kwiecień 2025 – Sierpień 2025
Podsumowanie i Cele Projektu:
Celem projektu była głęboka restrukturyzacja i modernizacja wewnętrznej infrastruktury serwerowej. Główne założenia obejmowały konsolidację usług w celu zmniejszenia liczby maszyn wirtualnych (VM), migrację systemów operacyjnych z CentOS na nowoczesne standardy oparte na Gentoo i Debian, a także optymalizację kluczowych procesów deweloperskich i administracyjnych. Projekt zakończył się znacznym uproszczeniem architektury, zwiększeniem wydajności i wzmocnieniem bezpieczeństwa.
Schemat infrastruktury przed migracją
Infrastruktura przed migracją:
Serwer | Typ | OS | Rola | CPU | RAM | HDD | Typ Dysku |
---|---|---|---|---|---|---|---|
esx01 | PH | ESXi 8.0.3 | VMware Hypervisor | 40CPU | 64GB | 2TB | SSD HW RAID6 |
gateway | VM | CentOS 9 | Firewall z przekierowaniami portów i http proxy | 2vCPU | 4GB | 16GB | VMDK |
db | VM | CentOS 9 | Serwer MySQL i PostgreSQL | 2vCPU | 4GB | 25GB | VMDK |
oc | VM | CentOS 9 | Serwer OwnCloud | 2vCPU | 2GB | 16GB | VMDK |
web | VM | CentOS 9 | Serwer Apache z PHP 8 | 2vCPU | 4GB | 16GB | VMDK |
web-legacy | VM | CentOS 9 | Serwer Apache z PHP 7 | 2vCPU | 4GB | 16GB | VMDK |
gitlab | VM | CentOS 9 | GitLab | 2vCPU | 6GB | 16GB | VMDK |
puppet | VM | CentOS 9 | Serwer Puppet | 2vCPU | 4GB | 16GB | VMDK |
ns1 | VM | CentOS 9 | Główny serwer Bind9 dla domen własnych | 2vCPU | 2GB | 16GB | VMDK |
ns2 | VM | CentOS 9 | Zapasowy serwer Bind9 dla domen własnych | 2vCPU | 2GB | 16GB | VMDK |
jenkins | VM | CentOS 9 | Serwer Jenkins CI | 2vCPU | 4GB | 16GB | VMDK |
repo | VM | CentOS 9 | Serwer rpm | 2vCPU | 4GB | 16GB | VMDK |
vpn | VM | CentOS 9 | Serwer OpenVPN | 2vCPU | 2GB | 16GB | VMDK |
mx | VM | CentOS 9 | Serwer MTA Posfix, Dovecot | 2vCPU | 4GB | 16GB | VMDK |
nagios | VM | CentOS 9 | Serwer minitoingu Nagios | 2vCPU | 2GB | 16GB | VMDK |
admin | VM | CentOS 9 | Serwer administracyjny | 2vCPU | 2GB | 16GB | VMDK |
ldap | VM | CentOS 9 | Serwer OpenLDAP | 2vCPU | 2GB | 16GB | VMDK |
k8s | VM | CentOS 9 | Serwer control-plane Kubernetes | 2vCPU | 2GB | 16GB | VMDK |
k8s-node | VM | CentOS 9 | Serwer roboczy Kubernetes | 2vCPU | 2GB | 16GB | VMDK |
nas | PH | Debian 10 | Biurowy serwer kopii zapasowych NAS | 2CPU | 8GB | 1TB | HDD SW RAID1 |
Kluczowe Inicjatywy i Etapy Realizacji:
1. Konsolidacja Infrastruktury i Racjonalizacja Zasobów:
Głównym motorem projektu była redukcja rozproszonej infrastruktury. Zrealizowano to poprzez strategiczne łączenie usług:
- Konsolidacja Usług Webowych: Wszystkie usługi webowe, w tym serwery plików, repozytoria RPM oraz aplikacje (początkowo OwnCloud, później NextCloud i PartDB), zostały skonsolidowane na jednej docelowej maszynie (
webserver
). - Centralizacja Usług Administracyjnych: Kluczowe narzędzia takie jak Puppet, OpenLDAP i zapasowy serwer DNS zostały zintegrowane w ramach jednej dedykowanej maszyny.
- Wycofanie Zbędnych Maszyn: Po udanej migracji usług, wycofano i usunięto liczne, przestarzałe maszyny wirtualne, w tym
jenkins
,db
,admin
,web-legacy
,vpn
,ns1
,ns2
orazk8s-node
, co pozwoliło na zwolnienie znaczących zasobów systemowych.
2. Modernizacja Stosu Technologicznego:
Przeprowadzono strategiczną migrację systemów operacyjnych w celu standaryzacji i unowocześnienia środowiska:
- Większość maszyn została przeniesiona na system Gentoo Linux, zoptymalizowany pod kątem wydajności.
- Kluczowe usługi wymagające stabilności, takie jak GitLab i Puppet, zostały zmigrowane na system Debian 12.
- Utworzono i udostępniono w sieci firmowej dedykowane buildery Gentoo, co znacząco przyspieszyło procesy kompilacji.
3. Optymalizacja Wydajności i Procesów (DevOps):
- Przyspieszenie Kompilacji: Testy z użyciem
distcc
na nowo utworzonych builderach Gentoo wykazały drastyczne skrócenie czasu kompilacji dużych projektów (np. Firefox, LibreOffice) z ~60 do zaledwie ~20 minut. - Migracja CI/CD: Wszystkie procesy wdrożeniowe zostały przeniesione z Jenkinsa na nowoczesną platformę GitLab, centralizując cykl rozwoju oprogramowania.
4. Wzmocnienie Bezpieczeństwa i Niezawodności:
- Nowy System Backupów: Całkowicie przebudowano strategię kopii zapasowych – stary katalog został zarchiwizowany, a nowy, czysty proces backupu został uruchomiony i zsynchronizowany z lokalizacją biurową.
- Rozwiązanie Problemu z Backupem: Zdiagnozowano i naprawiono problem z tworzeniem kopii zapasowych nowych maszyn VM poprzez konwersję ich dysków do formatu VMFS zeroedthick.
- Wewnętrzne Skanowanie Bezpieczeństwa: Wdrożono dedykowaną maszynę z narzędziami OWASP do regularnego skanowania własnej infrastruktury pod kątem podatności.
Szczegóły Techniczne Implementacji:
- Platforma Wirtualizacyjna: VMware ESXi 8.0.3 na serwerze DELL PowerEdge R640 (40 rdzeni logicznych, 64 GB RAM, RAID6 SSD).
- Standard Maszyn Gentoo: Kernel
gentoo-kernel-bin
dla zapewnienia przenośności. - Dodatkowe Środowiska: Wdrożono 2 maszyny z systemem Red Hat 9/10 na potrzeby przygotowań do certyfikacji RHCSA.
Schemat infrastruktury po migracji
Infrastruktura po migracji:
Serwer | Typ | OS | Rola | CPU | RAM | HDD | Typ Dysku |
---|---|---|---|---|---|---|---|
pve01 | PH | Proxmox VE 8.4.0 | Proxmox VE | 40CPU | 64GB | 2TB | SSD HW RAID6 |
gateway | VM | CentOS 9 | Firewall z przekierowaniami portów i http proxy Brama distcc na HAProxy Główny serwer Bind9 dla domen własnych | 2vCPU | 4GB | 16GB | VMDK |
dbs | VM | Gentoo | Serwer MySQL i PostgreSQL | 2vCPU | 4GB | 25GB | VMDK |
git | VM | Debian 12 | GitLab repozytoria, rejestr docker, GitLab CI | 4vCPU | 8GB | 35GB | VMDK |
puppet | VM | Debian 12 | Serwer Puppet, OpenLDAP Zapasowy serwer Bind9 dla domen własnych | 2vCPU | 4GB | 16GB | VMDK |
worker1 | VM | Gentoo | Serwer używany do distcc i jako GitLab runner | 8vCPU | 6GB | 25GB | VMDK |
worker2 | VM | Gentoo | Serwer używany do distcc i jako GitLab runner | 8vCPU | 6GB | 25GB | VMDK |
webserver | VM | Gentoo | Serwer Apache ze stronami www Serwer NextCloud z Collabora CODE | 4vCPU | 6GB | 16GB | VMDK |
mx | VM | CentOS 9 | Serwer MTA Posfix, Dovecot | 2vCPU | 4GB | 16GB | VMDK |
nagios | VM | CentOS 9 | Serwer monitoringu Nagios | 2vCPU | 2GB | 16GB | VMDK |
k8s | VM | Gentoo | Serwer Kubernetes | 2vCPU | 4GB | 16GB | VMDK |
rh9 | VM | RedHat 9 | Serwer do treningu przed certyfikacją RHCSA i RHCE | 2vCPU | 2GB | 16GB | VMDK |
rh10 | VM | RedHat 10 | Serwer do treningu przed certyfikacją RHCSA i RHCE | 2vCPU | 2GB | 16GB | VMDK |
owasp | VM | Gentoo | Skaner OWASP bazujący na GVM Serwer używany do distcc i GitLab runner | 6vCPU | 16GB | 70GB | VMDK |
nas | PH | Gentoo | Biurowy serwer kopii zapasowych NAS MacOS X timemachines | 2CPU | 8GB | 1TB | SSD SW RAID1 |
Rezultat:
Projekt zakończył się sukcesem, przekształcając złożoną i rozproszoną infrastrukturę w zoptymalizowany, skonsolidowany i nowoczesny ekosystem. Główne korzyści to zmniejszenie kosztów utrzymania, radykalne zwiększenie wydajności procesów deweloperskich oraz znaczące podniesienie poziomu bezpieczeństwa.