IDC机房入住与迁移

节选自 《Netkiller 系列手札》

  • 5.3. 机房迁移
    • 5.3.1. 拓扑确立
    • 5.3.2. 存储规划
      • 5.3.2.1. RAID Disk Group 规划
      • 5.3.2.2. 文件系统规划
      • 5.3.2.3. 目录规划
    • 5.3.3. 设备上架
    • 5.3.4. 操作系统初始化
    • 5.3.5. 服务器及运行环境
    • 5.3.6. 部署应用程序
    • 5.3.7. 监控系统
    • 5.3.8. 日志中心
    • 5.3.9. 测试

5.3. 机房迁移

总结一下5年前的工作,再不写下来自己都快忘光了,工作关系现在已经不涉及运维这块的工作。

5.3.1. 拓扑确立

首先制定服务器拓扑图,拓扑图应该有两套,一套是物理拓扑图,另一套是基于业务的虚拟拓扑图。

物理拓扑图包含机柜,机位,例如防火墙,核心交换机,机柜交换机,服务器,存储等等他们之间的物理关系。如果是云主机也许标注出来。

接下来分配IP地址以及服务端口号

最后制定虚拟拓扑图,是各种服务间的关系图,由IP地址和端口组成,标住出他们之间的关系。

5.3.2. 存储规划

什么东西放在什么地方,怎么规划空间等等。

5.3.2.1. RAID Disk Group 规划

根据不同用途使用不同的RAID,这主要跟IO密集都与数据安全性有关。

Virtual Disk 技术很有用,我使用这种技术两RAID划分为两个设备,一个用来安装操作系统,另一个用于数据存储,方便系统重做。

SSD 机械故障为零,整体故障率低于传统硬盘。我通常做RAID0用与负载均衡场景。

5.3.2.2. 文件系统规划

我通常使用btrfs,LVM/EXT4已经过时。

/ 分区EXT4 安装操作系统,swap 分区不一定是内存2倍,因为现在的服务器都是8~16GB,OS很少能使用到交换分区,但是像Oracle这样强制交换分区为内存两倍。

其余所有空间分区格式化为btrfs mount 到 /srv 目录,在通过子卷(subvolume)分配给各个应用。

5.3.2.3. 目录规划

以Tomcat为例

Tomcat 的虚拟机功能基本没用,因为需要升级需要频繁启动,会影响其他业务,所以采用每个项目一个实例的方式。

			/srv/apache-tomcat/ 是Tomcat目录
/srv/apache-tomcat/www.netkiller.cn 每个实例一个目录
/srv/apache-tomcat/other.netkiller.cn			

以PHP为例

/srv/php-7.0.0
ln -s /srv/php-7.0.0 /srv/php			

通过 /srv/php 符号链接可以任意切换PHP版本

代码目录与服务器目录分开

			/www/netkiller.cn/www.netkiller.cn
/www/netkiller.cn/other.netkiller.cn			

5.3.3. 设备上架

按照物理图谱图,对应机位安装设备,链接网线,整理机柜。

注意强弱电分离,以免强电磁场干扰弱电。以Dell系列服务器为例,电源通常在右边,网口在中间左边,这样电源走机会右侧理线架,网线走左侧理线架。

我通常每个机柜放两台千兆交换机,一台放在机柜最顶端,通过10GB万兆以太网链接至核心交换机,走核心业务数据;另一台放在机柜最底端,负责其他次要业务,例如远程控制口,数据库备份等等。

上电,接通电源,开机。观察机柜的电压/电流变化。

5.3.4. 操作系统初始化

安装操作系统,系统裁剪,内核优化,时区设置,配置history格式(记录每条发出命令的时间点),TCP栈优化

安装自动化运维客户端,监控客户端

5.3.5. 服务器及运行环境

通过脚本或者自动化运维工具按照并配置。

安装各种服务器软件如 nginx, apache-httpd, apache-tomcat ......

软件运行环境,例如Java,PHP, Node.js, Ruby, Python ......

安装数据库,配置复制策略,备份计划

5.3.6. 部署应用程序

配置管理员通过虚拟拓扑提供的IP地址,端口号以及运维提供的账号密码配置应用程序。

然后部署应用程序到远程服务器

5.3.7. 监控系统

应用程序部署完毕后不要急着测试,可能很多IP地址以及端口不通,这时候测试只能是频繁报BUG。

我们先让将监控系统建立起来,监控所有服务器IP地址与端口,以及各种应用服务监控。

硬件监控: 温度监控,风扇监控,RAID卡监控,内存监控,PCI设备监控...

操作监控:负载,CPU,内存,用户登陆监控,磁盘空间监控,网络流量监控,TCP/IP状态监控,进程数量,线程监控,僵尸进程,进程退出...

服务器监控:连接数,线程数,进程数,内存开销,节点状态...

日志监控:如果监控到日志中出现某些关键次,发出警报。

服务监控:HTTP,SMTP,POP,AJAX/JSON,XML

5.3.8. 日志中心

所有的日志应该实时同步到日志中心,便于开发与测试人员实时观察服务器的状态

5.3.9. 测试

当我们看到监控系统报表中的各种服务器都畅通无阻时就可以进行验收测试,测试的时候需要关注监控系统的图标,与日志中心的日志变化。

安全测试:硬件防火墙规则,服务器防火墙规则,SSL证书,服务器版本号隐藏,操作系统权限检查

压力与性能测试

业务功能测试

原文发布于微信公众号 - Netkiller(netkiller-ebook)

原文发表时间:2017-02-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构师进阶

浅谈Nginx负载均衡与F5的区别

笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道“墙”,将请求分发到web服务器后,web服务器上的Ng...

1001
来自专栏张戈的专栏

禁止百度转码和百度快照缓存的META声明

今天手机 site 中国博客联盟时,发现网被转码了,虽然这个网站没做移动站,但是我也不希望被百度转码,因为这相当于拦截了所有来自手机的流量。下面说一下禁止百度转...

3544
来自专栏码神联盟

架构 | 大型网站分布式高并发架构设计汇总

本文多数内容为小编精心总结,呕心沥血完成,切勿抄袭沿用。 参考文献《架构知识》、《深入理解java》 ---- 章节目录: 前言 前端架构 应用层架构 服务层架...

49810
来自专栏即时通讯技术

开源轻量级IM框架MobileIMSDK v3.0发布!

本次更新为主版本更新,更新内容包含了简化了消息发送目标的方式、支持Web版与APP版互通、优化了Protocal协议结构等主要升级,详细更新内容见“版本更新说明...

1511
来自专栏Java架构师进阶

java架构师之用Redis轻松实现秒杀系统

曾经被问过好多次怎样实现秒杀系统的问题。昨天又在CSDN架构师微信群被问到了。因此这里把我设想的实现秒杀系统的价格设计分享出来。供大家参考。

3902
来自专栏Android 开发者

针对现代 Android 更新游戏 API 等级

我们已在去年宣布:自 2018 年 8 月起, Google Play 要求所有新上线的应用和游戏都必须针对新的 Android API 等级进行开发 —— ...

1473
来自专栏Netkiller

怎样入住IDC机房或迁移IDC机房

4.3. 机房迁移 总结一下5年前的工作,在不写下来自己都快忘光了,工作关系现在已经不涉及运维这块的工作。 4.3.1. 拓扑确立 首先制定服务器拓扑图,拓扑...

3835
来自专栏酷玩时刻

银联支付-初次接触

银联开发平台 https://open.unionpay.com 平台分为三个角色

1366
来自专栏云飞学编程

用Python抓取百度翻译内容并打造自己的翻译脚本!

英文不好一直是我的一个短板,尤其是在学习代码的阶段,经常需要查询各种错误,很是苦逼,一直就想自己做个翻译的脚本,省去打开网页的时间,但是查询之后发现网上的教程都...

3001
来自专栏杨建荣的学习笔记

运维中的接入管理梳理

数据库层的接入可以提炼出DAO层,通过工厂模式来提供灵活的配置接入,这会是一个通用的接口,同时其他数据库的接入也可以通过这种方式带来接入,提炼的结果就是...

842

扫码关注云+社区