راهنمای کامل زیرساخت سرور و شبکه: از نصب تا بهینهسازی
مدیریت زیرساخت سرور و شبکه یکی از حیاتیترین بخشهای IT محسوب میشود. این راهنما تمامی جنبههای مهم طراحی، نصب و نگهداری سیستمهای enterprise را پوشش میدهد.
فهرست کامل
- معماری سرور Enterprise
- طراحی Rack و Data Center
- شبکهسازی پیشرفته
- مونیتورینگ و نگهداری
- جداول مقایسه تکنولوژیها
معماری سرور Enterprise {#server-architecture}
مشخصات فنی سرورهای مدرن
Component | Entry Level | Mid Range | High End | Enterprise |
---|---|---|---|---|
CPU | Xeon E-2200 | Xeon Silver 4200 | Xeon Gold 6200 | Xeon Platinum 9200 |
Cores | 4-8 | 8-16 | 16-28 | 28-56 |
RAM | 32-128 GB | 128-512 GB | 512GB-2TB | 2-6 TB |
Storage | SATA SSD | NVMe SSD | NVMe + SAS | All-Flash Array |
Network | 1GbE | 10GbE | 25GbE | 100GbE |
Power | 350-500W | 500-750W | 750-1200W | 1200W+ |
معماری پردازنده Intel Xeon
CPU Architecture (Cascade Lake):
├── L1 Cache: 32KB I + 32KB D per core
├── L2 Cache: 1MB per core
├── L3 Cache: 1.375MB per core (shared)
├── Memory Controller: 6-channel DDR4-2933
├── PCIe Lanes: 48 lanes PCIe 3.0
└── QPI Links: 3 x 10.4 GT/s
طراحی Rack و Data Center {#rack-design}
استانداردهای Rack (19 inch)
ابعاد استاندارد:
- عرض: 19 inch (482.6 mm)
- عمق: 600-1200 mm
- ارتفاع واحد (U): 1.75 inch (44.45 mm)
- حداکثر ارتفاع: 42U (1866.9 mm)
محاسبه ظرفیت برق و خنککاری
Parameter | محاسبه | مقدار نمونه |
---|---|---|
Power Density | Watts per U | 150-500W/U |
Cooling Required | 3.41 × Power (Watts) | BTU/hr |
Air Flow | CFM per kW | 160-200 CFM/kW |
Power Load | 80% of total capacity | 32kW از 40kW |
طراحی Hot/Cold Aisle
Data Center Layout:
┌─────────────────────────────────┐
│ Cold Aisle │ Hot Aisle │
│ │ │
│ [Rack] [Rack] │ [Rack] [Rack] │
│ │ │
│ CRAC Units │ Return Air │
└─────────────────────────────────┘
Temperature Zones:
- Cold Aisle: 18-21°C
- Hot Aisle: 30-35°C
- Humidity: 40-60% RH
شبکهسازی پیشرفته {#advanced-networking}
مقایسه پروتکلهای Ethernet
Standard | Speed | Cable Type | Max Distance | Power |
---|---|---|---|---|
10GBASE-T | 10 Gbps | Cat6A/Cat7 | 100m | 4-8W |
10GBASE-SR | 10 Gbps | MM Fiber | 300m | 1-3W |
25GBASE-SR | 25 Gbps | MM Fiber | 100m | 3-5W |
40GBASE-SR4 | 40 Gbps | MM Fiber (4x) | 150m | 8-12W |
100GBASE-SR4 | 100 Gbps | MM Fiber (4x) | 100m | 15-25W |
کانفیگ Switch های Enterprise
Cisco Nexus 9000 Series:
# Basic Configuration
switch(config)# hostname DC-Core-01
switch(config)# vdc DC-Core-01 limit-resource module-type f3
# VLAN Configuration
switch(config)# vlan 100
switch(config-vlan)# name Production-Web
switch(config-vlan)# vlan 200
switch(config-vlan)# name Production-DB
# Interface Configuration
switch(config)# interface ethernet 1/1-48
switch(config-if-range)# switchport mode trunk
switch(config-if-range)# switchport trunk allowed vlan 100,200
switch(config-if-range)# spanning-tree port type edge trunk
# LACP Port Channel
switch(config)# interface port-channel 10
switch(config-if)# switchport mode trunk
switch(config-if)# vpc 10
مونیتورینگ و Performance Tuning {#monitoring}
KPI های مهم سرور
Metric | Threshold (Warning) | Threshold (Critical) | Tools |
---|---|---|---|
CPU Usage | >80% | >95% | top, htop, nmon |
Memory Usage | >85% | >95% | free, vmstat |
Disk I/O | >80% utilization | >95% utilization | iostat, iotop |
Network Traffic | >70% bandwidth | >90% bandwidth | iftop, nethogs |
Temperature | >75°C | >85°C | lm-sensors, ipmitool |
مونیتورینگ با Prometheus + Grafana
# prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'node-exporter'
static_configs:
- targets: ['server1:9100', 'server2:9100']
scrape_interval: 5s
metrics_path: /metrics
- job_name: 'snmp-switches'
static_configs:
- targets: ['switch1:161', 'switch2:161']
params:
module: [if_mib]
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
بهینهسازی Linux Server
Kernel Parameters
# /etc/sysctl.conf
# Network Optimization
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.ipv4.tcp_rmem = 4096 65536 134217728
net.ipv4.tcp_wmem = 4096 65536 134217728
net.core.netdev_max_backlog = 5000
# Virtual Memory
vm.swappiness = 10
vm.dirty_ratio = 15
vm.dirty_background_ratio = 5
# File System
fs.file-max = 2097152
fs.nr_open = 1048576
Storage Performance
Storage Type | IOPS | Latency | Bandwidth | Use Case |
---|---|---|---|---|
HDD SATA | 80-120 | 10-15ms | 150MB/s | Archive, Backup |
SSD SATA | 500-550 | 0.1-0.2ms | 550MB/s | General Purpose |
NVMe SSD | 100K-1M | <0.1ms | 3-7GB/s | High Performance |
Optane SSD | 500K+ | <10µs | 2.5GB/s | Ultra Low Latency |
امنیت و Hardening
Security Checklist
🔐 Network Security:
- Firewall Rules (iptables/ufw)
- VPN Access (OpenVPN/WireGuard)
- Network Segmentation (VLANs)
- IDS/IPS Implementation
🔐 System Security:
- Regular Security Updates
- SSH Key Authentication
- Fail2ban Configuration
- SELinux/AppArmor
🔐 Monitoring Security:
- Log Aggregation (ELK Stack)
- SIEM Implementation
- Vulnerability Scanning
- Penetration Testing
Sample Firewall Rules
#!/bin/bash
# iptables security rules
# Drop all traffic by default
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# Allow loopback
iptables -A INPUT -i lo -j ACCEPT
# Allow established connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# SSH (change default port)
iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
# Web services
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# Database (only from web servers)
iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 3306 -j ACCEPT
Disaster Recovery و Backup
استراتژی 3-2-1 Backup
Component | Description | Example |
---|---|---|
3 Copies | داده اصلی + 2 backup | Production + Local + Remote |
2 Media Types | انواع مختلف storage | Disk + Tape/Cloud |
1 Offsite | خارج از مرکز داده | Cloud Storage/Remote DC |
نمونه Script Backup
#!/bin/bash
# Automated MySQL Backup Script
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/backup/mysql"
DB_USER="backup_user"
DB_PASS="secure_password"
# Create backup directory
mkdir -p $BACKUP_DIR
# Backup all databases
mysqldump -u$DB_USER -p$DB_PASS --all-databases --single-transaction --routines --triggers > $BACKUP_DIR/full_backup_$DATE.sql
# Compress backup
gzip $BACKUP_DIR/full_backup_$DATE.sql
# Upload to S3
aws s3 cp $BACKUP_DIR/full_backup_$DATE.sql.gz s3://backup-bucket/mysql/
# Cleanup old backups (keep 30 days)
find $BACKUP_DIR -name "*.sql.gz" -mtime +30 -delete
خلاصه و بهترین روشها
زیرساخت سرور و شبکه مدرن نیازمند طراحی دقیق، پیادهسازی حرفهای و نگهداری مداوم است. با رعایت استانداردهای بینالمللی و استفاده از ابزارهای مناسب، میتوان به سطح بالایی از کارایی و قابلیت اطمینان دست یافت.
نکته مهم: همیشه تغییرات مهم را در محیط آزمایشی تست کنید قبل از اعمال در production.