Skip to content

机架式服务器

产品线详解

R2700 G5(1U 入门级)

适用场景:Web 服务器、轻量应用、边缘节点

规格:
  外形:1U 机架式
  CPU:1-2× Intel Xeon E(经济型)或 Xeon Scalable
  内存:最大 512GB(16× DIMM)
  存储:4× 3.5" LFF 或 8× 2.5" SFF
  网络:板载 2× 1GbE,可扩展至 10GbE
  功耗:最大 550W

优势:
  - 价格低,适合大规模部署
  - 1U 高密度,节省机柜空间
  - 低功耗,适合边缘场景

R4700 G5(1U 主流)

适用场景:Web 应用、中间件、轻量数据库

规格:
  外形:1U 机架式
  CPU:2× Intel Xeon Scalable(第四代)
  内存:最大 2TB(32× DIMM)
  存储:10× 2.5" SFF(SAS/SATA/NVMe 混插)
  网络:板载 2× 10GbE,PCIe 扩展
  功耗:最大 800W

特点:
  - 1U 高密度,性能均衡
  - 支持 NVMe 直连,存储性能好
  - 适合虚拟化宿主机(中等规模)

R4900 G5(2U 旗舰)

适用场景:数据库、虚拟化、AI 推理、通用计算

规格:
  外形:2U 机架式
  CPU:2× Intel Xeon Scalable(最高 60C)
  内存:最大 8TB(32× DIMM,支持 PMem)
  存储:
    前置:24× 2.5" SFF(SAS/SATA/NVMe 混插)
    后置:2× 2.5"(可选)
    M.2:2× NVMe(系统盘)
  网络:板载 2× 10GbE,8× PCIe 5.0 扩展槽
  GPU:支持 2× 双宽 GPU(A10/A30)
  功耗:最大 2× 1600W(80+ Titanium)

这是 H3C 最畅销的服务器型号,适用场景最广。

R6900 G5(4U 大内存)

适用场景:内存数据库(SAP HANA)、大型 ERP、内存计算

规格:
  外形:4U 机架式
  CPU:4-8× Intel Xeon Scalable
  内存:最大 24TB(96× DIMM)
  存储:24× 2.5" SFF
  网络:多个 PCIe 扩展槽

特点:
  - 超大内存容量(最高 24TB)
  - 支持 SAP HANA 认证
  - 适合内存密集型数据库

服务器选购决策树

选购决策流程:

Step 1:确定工作负载类型
  ├── Web/应用服务 → R4700 G5(1U,性价比)
  ├── 数据库 → R4900 G5(2U,大内存)
  ├── 虚拟化 → R4900 G5(2U,高密度)
  ├── AI 训练 → G5500 G5(GPU 服务器)
  ├── AI 推理 → G5000 G5 或 R4900 G5 + GPU
  ├── 大内存应用 → R6900 G5(4U)
  └── 边缘/分支 → R2700 G5(1U,低功耗)

Step 2:确定 CPU 需求
  ├── 核心数优先 → AMD EPYC(最高 96C)
  ├── 单核性能优先 → Intel Xeon(高频)
  ├── 国产化要求 → 鲲鹏/飞腾版本
  └── 性价比 → Intel Xeon 中端型号

Step 3:确定内存需求
  ├── 虚拟化(超分 3:1):物理内存 = VM 内存总量 / 3
  ├── 数据库:内存 ≥ 数据库 buffer pool × 1.5
  └── 通用:内存 = vCPU 数 × 4GB(参考)

Step 4:确定存储需求
  ├── 系统盘:2× NVMe SSD(RAID 1)
  ├── 数据盘:根据 IOPS 和容量需求选择
  └── 共享存储:通过 FC/iSCSI 连接外部存储

服务器上架规范

机柜布局原则

机柜布局最佳实践:

重量分布:
  重型设备(存储/UPS)放机柜底部
  轻型设备(服务器)放中上部
  原因:降低重心,防止机柜倾倒

散热考虑:
  冷通道/热通道隔离
  服务器进风口朝向冷通道
  出风口朝向热通道

线缆管理:
  电源线和数据线分开走线
  使用理线架整理线缆
  每根线缆两端贴标签

典型 42U 机柜布局:
  U1-U2:KVM 切换器
  U3-U22:服务器(20 台 1U)
  U23-U30:存储设备
  U31-U35:网络设备(交换机)
  U36-U40:配电单元(PDU)
  U41-U42:预留

上架操作规范

bash
# 服务器上架检查清单

上架前:
 确认机柜位置和 U
 确认供电(PDU 插座数量和规格)
 确认网络(交换机端口数量)
 准备导轨和螺丝

上架操作:
 安装导轨(按照说明书)
 两人配合将服务器推入导轨
 固定螺丝(前面板 2 颗)
 连接电源线(双路冗余)
 连接网络线(按照布线图)
 连接管理网线(HDM)

上架后:
 检查线缆整理
 上电测试(HDM 可访问)
 拍照记录(机柜正面、背面)
 更新资产台账

服务器监控

python
# 通过 Redfish API 批量监控服务器
import requests
import json
from concurrent.futures import ThreadPoolExecutor

def get_server_status(server_ip, username='admin', password='Admin@1234'):
    """获取服务器状态"""
    try:
        # 获取系统信息
        resp = requests.get(
            f"https://{server_ip}/redfish/v1/Systems/1",
            auth=(username, password),
            verify=False,
            timeout=10
        )
        data = resp.json()
        
        # 获取温度信息
        thermal_resp = requests.get(
            f"https://{server_ip}/redfish/v1/Chassis/1/Thermal",
            auth=(username, password),
            verify=False,
            timeout=10
        )
        thermal = thermal_resp.json()
        
        # 获取最高 CPU 温度
        cpu_temps = [
            t['ReadingCelsius'] for t in thermal.get('Temperatures', [])
            if 'CPU' in t.get('Name', '') and t.get('ReadingCelsius')
        ]
        
        return {
            'ip': server_ip,
            'model': data.get('Model', 'Unknown'),
            'serial': data.get('SerialNumber', 'Unknown'),
            'status': data.get('Status', {}).get('Health', 'Unknown'),
            'power': data.get('PowerState', 'Unknown'),
            'cpu_count': data.get('ProcessorSummary', {}).get('Count', 0),
            'memory_gb': data.get('MemoryGiB', 0),
            'max_cpu_temp': max(cpu_temps) if cpu_temps else None
        }
    except Exception as e:
        return {'ip': server_ip, 'error': str(e)}

# 批量查询服务器状态
server_ips = [f"10.0.0.{i}" for i in range(11, 31)]  # 20 台服务器

with ThreadPoolExecutor(max_workers=10) as executor:
    results = list(executor.map(get_server_status, server_ips))

# 输出报告
print(f"{'IP':<15} {'型号':<20} {'状态':<10} {'电源':<10} {'CPU温度':<10}")
print("-" * 70)
for r in results:
    if 'error' in r:
        print(f"{r['ip']:<15} {'连接失败':<20} {r['error'][:30]}")
    else:
        temp = f"{r['max_cpu_temp']}°C" if r['max_cpu_temp'] else "N/A"
        status_icon = "✅" if r['status'] == 'OK' else "❌"
        print(f"{r['ip']:<15} {r['model']:<20} {status_icon}{r['status']:<9} {r['power']:<10} {temp:<10}")

褚成志的云与计算笔记