Linux 系统云服务器配置怎么选
从应用负载推算 CPU、内存、存储与带宽,留出增长空间。
操作步骤与验证
- 记录峰值而非平均值:统计高峰并发、请求耗时、CPU 使用率和内存工作集。数据库、缓存及运行时应分别估算,避免只按网站数量选套餐。
- 检查磁盘与传输预算:把数据库、媒体、日志、快照与增长量纳入容量。10Mbps 的理论上限为 1.25MB/s,实际吞吐还受协议开销及路径影响。
- 用接近真实流量的请求做压测,观察 p95 延迟、交换分区和磁盘等待。先处理慢查询与缓存问题,再决定扩容 CPU、内存或带宽。
- 为预算建立一张资源表:分别记录当前峰值、预计增长、可接受延迟和扩容条件。例如图片网站优先核对存储增长与出站流量,交易数据库则更关注内存命中率和同步写入延迟;相同访问量不代表相同配置。
检查命令
free -h
df -h
vmstat 1 5
在对应环境执行;命令中的 YOUR_* 为占位符,请替换为实际值,并确认所需工具已安装。
网络与访问线路与延迟:如何验证双向路由
用相同端点、运营商与时段比较 CN2 GIA、CMI、PCCW 或国际 BGP。
操作步骤与验证
- 向支持获取所选产品的测试地址,记录用户所在地、运营商、时间和测试协议。公共地区参考 IP 不能证明实际实例使用同一线路。
- 从用户网络采集去程 MTR,再从服务器或对应 Looking Glass 采集回程。AS4809 与 59.43 跳点可作线索,但单个跳点不能证明完整双向 CN2 GIA。
- 比较高峰与非高峰的端到端丢包、抖动和实际 HTTPS 请求耗时。中间路由器可能限制 ICMP 响应;只有中间跳点丢包而最终目标正常时,不应直接判定业务丢包。
- 把测试结果按运营商、时间和方向保存,并同时记录应用实际请求耗时。路由会随互联策略与故障切换改变,购买前的一次 traceroute 不能代替持续监控,也不能据此推断所有用户的体验。
检查命令
mtr --report --report-cycles 20 YOUR_TEST_IP
在对应环境执行;命令中的 YOUR_* 为占位符,请替换为实际值,并确认所需工具已安装。
硬件与虚拟化虚拟化宿主机容量规划
同时计算内存、存储 IOPS、CPU 与网络,避免只按虚拟机数量估算。
操作步骤与验证
- 为宿主系统、文件系统缓存和管理服务预留内存。合计各虚拟机的峰值工作集,避免将所有物理内存直接出售给租户。
- 按业务衡量 CPU 超分比例,并观察宿主负载、guest steal time 和调度延迟。低负载 Web 与数据库、实时游戏负载不应使用同一超分假设。
- 把随机 IOPS、同步写入和备份窗口纳入磁盘预算。为容量耗尽、薄置备增长与网卡拥塞设置告警,升级前完成迁移或回滚计划。
- 容量表应包含故障维护时的迁移余量,而不仅是正常运行时的利用率。若计划在宿主机维护期间迁走虚拟机,需要提前确认目标主机的 CPU 兼容、内存、存储访问及网络一致性,单机备份不能替代可用的迁移容量。
GPU 与模型GPU 显存与模型选型
模型权重只是起点,还需计算 KV Cache、运行时与训练状态。
操作步骤与验证
- 先确认推理、LoRA 或全量训练任务。7B 参数在 FP16 下仅权重约需 14GB(十进制),实际加载还需要框架与运行时开销,不能据此断言能在 16GB 显卡稳定运行。
- 推理需为上下文长度、并发与 KV Cache 留空间;训练还需梯度、优化器状态与激活内存。量化可减少权重占用,但要验证模型质量及算子兼容。
- 多卡显存通常不会自动合并成一个大显存池。先确认模型并行方案、PCIe/NVLink 拓扑及框架支持,再用目标 batch size 验证峰值显存和吞吐。
- 为每次试跑保存输入长度、并发、精度和峰值显存。若使用量化权重,模型加载过程仍可能产生临时内存峰值;对训练任务还应验证保存检查点和恢复训练的过程,避免长时间运行后才发现空间不足。
检查命令
nvidia-smi
nvidia-smi topo -m
在对应环境执行;命令中的 YOUR_* 为占位符,请替换为实际值,并确认所需工具已安装。
GPU 与模型CUDA 与 PyTorch 环境验证
先验证驱动,再安装匹配的运行时并测试 GPU 运算。
操作步骤与验证
- 运行 nvidia-smi 检查 GPU、驱动版本与占用进程。其显示的 CUDA 版本是驱动可支持的版本信息,不一定代表已经安装对应 CUDA Toolkit。
- 根据 PyTorch 官方安装说明选择匹配驱动的构建,在独立虚拟环境中安装。容器还需 NVIDIA Container Toolkit 与正确设备授权,不要混用不明来源驱动。
- 确认 torch.cuda.is_available()、设备名称与一个小型张量运算成功后,再安装模型依赖。记录驱动、PyTorch、CUDA 运行时与模型版本,方便复现和回滚。
- GPU 可被框架识别后,还应执行实际模型的小批量推理或训练并保存输出。出现算子或动态库错误时,先检查虚拟环境与依赖版本,避免在同一环境中反复覆盖安装;可用环境应导出依赖清单并固定容器镜像。
检查命令
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'No CUDA device')"
在对应环境执行;命令中的 YOUR_* 为占位符,请替换为实际值,并确认所需工具已安装。
数据库与备份备份、恢复与上线检查
以可恢复的数据和明确的恢复时间为目标,而不是只看备份成功提示。
操作步骤与验证
- 定义可接受的数据丢失时间范围(RPO)和服务恢复时间(RTO)。数据库使用应用一致性备份或受支持的快照流程,不要直接复制正在写入的数据目录。
- 将加密备份存到独立设备或区域,设置保留周期与最小权限。记录密钥保存位置,并检查备份失败、存储空间与过期告警。
- 在隔离环境恢复最近一次备份,验证记录数量、文件、权限与应用流程;记录实际恢复耗时。上线前确认监控、证书续期、联系人和回滚步骤。
- 将恢复演练结果与目标比较:备份间隔是否满足 RPO,下载、解密、导入和业务验证的总时间是否满足 RTO。恢复验证应覆盖数据库与上传文件的对应关系;只检查压缩包能解压,不能证明业务可以恢复。
安全与运维SSH 密钥登录与失联排查
建立可验证的远程管理入口,分清超时、拒绝连接与认证失败。
操作步骤与验证
- 在自己的电脑生成带口令的 SSH 密钥,将公钥添加到服务器账户的 authorized_keys。私钥保留在本机,不要上传到工单、聊天或服务器公共目录;不同管理员使用各自的密钥。
- 首次连接前,通过控制台或可信交付渠道核对主机指纹。如果重装后指纹变化,先确认重装记录;不要为了消除提示直接关闭主机验证。
- 保持当前管理会话,在第二个终端测试新账户和密钥,并确认所需 sudo 权限可用。只有验证成功且控制台恢复入口可用后,再按业务要求限制密码登录。
- 连接超时先检查实例状态、目标 IP、端口、安全组和本机出口;立即提示 Connection refused 通常需要检查 SSH 服务是否监听正确端口。认证失败则核对用户名、公钥、文件权限和服务日志。
- 修改 SSH 配置后先使用 sshd -t 验证语法,再按系统服务管理方式重载。保留旧会话,重新建立连接测试;若失败,通过控制台恢复配置,避免反复重启扩大问题。
检查命令
ssh -vv YOUR_USER@YOUR_SERVER_IP
在对应环境执行;命令中的 YOUR_* 为占位符,请替换为实际值,并确认所需工具已安装。
网络与访问域名解析与 HTTPS 故障排查
按 DNS、连接、证书、应用四层定位网站无法访问的原因。
操作步骤与验证
- 先记录完整域名、故障时间、访问网络和浏览器错误。比较根域名与 www 子域名,它们可能使用不同记录;不要只凭控制面板显示的记录判断解析已生效。
- 分别查询 A、AAAA 和 CNAME。若 IPv4 正常而部分用户失败,重点核对 AAAA 对应的 IPv6 服务;删除或修改记录后仍要等待递归缓存按 TTL 过期。
- 确认域名指向预期源站或 CDN。CDN 开启代理时,DNS 返回边缘地址属于正常现象;源站检查应使用保留正确 Host 与 SNI 的方式,不要直接用 IP 判断证书是否正确。
- HTTPS 证书须覆盖实际访问域名,并检查有效期、系统时间和完整中间证书链。HTTP 到 HTTPS 的重定向应与应用、反向代理配置一致,避免两端互相跳转。
- 出现 502/504 时检查上游服务监听、反向代理日志和应用耗时;出现 403 时检查访问控制与站点权限。修复后从不同网络验证首页、登录与静态资源,并检查自动续期任务。
检查命令
dig YOUR_DOMAIN A
dig YOUR_DOMAIN AAAA
curl -I https://YOUR_DOMAIN
在对应环境执行;命令中的 YOUR_* 为占位符,请替换为实际值,并确认所需工具已安装。
安全与运维网站迁移、DNS 切换与回滚
在可控维护窗口完成数据同步,避免新旧站点同时写入。
操作步骤与验证
- 列出域名、数据库、上传文件、定时任务、邮件、第三方回调和白名单。记录旧服务器的系统与运行时版本,先确认新环境支持应用依赖,避免迁移时同时进行多项大版本升级。
- 提前降低 DNS TTL,并等待原 TTL 周期经过后再安排切换。降低 TTL 不会立即清除已缓存的旧记录;确认 CDN、代理和应用缓存也纳入计划。
- 在新环境恢复初始备份,通过测试域名或本机 hosts 验证页面与后台。阻止测试环境执行正式支付、邮件、队列消费者和重复定时任务,防止产生真实副作用。
- 维护窗口内暂停写入,完成数据库一致性备份与文件最终增量同步。核对关键数据、权限和证书后切换入口;只改变 DNS 而不处理写入,可能产生订单或文件分叉。
- 保留旧环境与备份,观察访问日志、错误率和业务流程。若切换后新站已经写入,回滚前必须处理新增数据,不能直接把 DNS 指回旧站;达到验收条件后再退役旧资源。
GPU 与模型GPU 显存不足与推理性能排查
用可复现的小负载定位显存峰值、并发与数据读取问题。
操作步骤与验证
- 记录模型、精度、上下文长度、batch size、并发数和完整错误。先以单请求、较短上下文复现,再逐步增加一个变量;不要只用模型文件大小估计运行显存。
- 使用 nvidia-smi 核对同卡其他进程和显存占用,结合框架的 allocated、reserved 与峰值统计判断。框架缓存可能保留显存,但释放缓存不能让本来放不下的活跃张量自动变小。
- 推理可先降低并发、batch 或上下文上限,再评估量化与 KV Cache 策略;训练可评估梯度累积和激活检查点。每次调整都应复核输出质量、吞吐及延迟,避免只追求不报错。
- GPU 利用率低时检查 CPU 预处理、磁盘读取、数据加载与主机到设备传输。首次请求可能包含模型加载或编译,应区分冷启动、预热后首 token 延迟和持续生成速度。
- 用代表性输入持续测试并观察 p95 延迟、峰值显存和错误率。多卡场景还需验证任务是否真正分布到各卡,检查拓扑和通信等待;保存配置与软件版本作为稳定基线。
检查命令
nvidia-smi
nvidia-smi topo -m
在对应环境执行;命令中的 YOUR_* 为占位符,请替换为实际值,并确认所需工具已安装。