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 条评论
登录 后参与评论

相关文章

来自专栏CaiRui

linux开机流程

1.加载BIOS 当你打开计算机电源,计算机首先会加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始找到它。这是因为BIOS中包含了CPU的...

1707
来自专栏CBS云硬盘

腾讯云CBS云硬盘使用上的几个小技巧

541
来自专栏编程

前端性能优化指南——网络篇

网络,在我们开发的页面的访问过程中,是最开始的一个环节,同时,也是一个非常重要的环节。 当我们在提及网络优化的时候,我们都会说些什么呢。 事实上来讲,如果可以话...

1899
来自专栏逸鹏说道

项目分布式部署那些事(1):ONS消息队列、基于Redis的Session共享,开源共享

因业务发展需要现在的系统不足以支撑现在的用户量,于是我们在一周之前着手项目的性能优化与分布式部署的相关动作。 概况 现在的系统是基于RabbitHub(一套开源...

2716
来自专栏微服务

微服务实践分享与探讨

服务调用关系 ? API网关优缺点 简化沟通方式 API网关对所有微服务提供单一的访问点 安全性 对客户端隐藏了服务发现和服务版本 阻止大规模攻击,包括S...

3157
来自专栏程序猿

设计一个Nginx集群,当其中一台机器故障时候迅速调整并自动恢复?多Master部署情况下应该怎样进行?

先说一下Nginx的特点 Nginx能作为HTTP服务器,有下面几个特性: 处理静态文件,索引文件以及自动索引。 打开文件描述缓冲符 无缓存的反向代理加速,简...

2995
来自专栏大魏分享(微信公众号:david-share)

上酒桌,今儿咱保证把容器SDN的这事一把唠清楚!

容器的SDN 很多人都说2017将是容器年,大卫也这么认为。但在很长一点时间里,容器与虚拟化都是相互依存,相互补充的问题。 之前笔者发表过一篇文章,放开眼界,看...

2655
来自专栏瓜大三哥

块RAM的Verilog HDL调用

(1)单端口RAM 模式 单端口RAM的模型如图所示,只有一个时钟源CLK,WE为写使能信号,EN为单口RAM使能信号,SSR为清零信号,ADDR为地址信号,D...

2628
来自专栏zhangdd.com

ntp服务器查看状态命令ntpstat及ntpq -p 说明及差别详解

NTP服务器【Network Time Protocol(NTP)】是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)...

522
来自专栏WindCoder

Python日志记录:一个深入的教程

随着应用程序变得越来越复杂,拥有良好的日志将会非常有用,不仅在调试时,而且为应用程序/性能问题提供数据分析的洞察力。

182

扫描关注云+社区