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

4.3. 机房迁移

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

4.3.1. 拓扑确立

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

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

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

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

4.3.2. 存储规划

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

4.3.2.1. RAID Disk Group 规划

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

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

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

4.3.2.2. 文件系统规划

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

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

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

4.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			

4.3.3. 设备上架

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

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

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

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

4.3.4. 操作系统初始化

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

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

4.3.5. 服务器及运行环境

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

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

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

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

4.3.6. 部署应用程序

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

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

4.3.7. 监控系统

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

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

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

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

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

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

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

4.3.8. 日志中心

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

4.3.9. 测试

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

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

压力与性能测试

业务功能测试

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

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

Redis数据库安全手册

Redis是一个高性能的key-value数据库,这两年可谓火的不行。而Redis的流行也带来一系列安全问题,不少攻击者都通过Redis发起攻击。本文将讲解这方...

1786
来自专栏smy

xampp中Apache 和 Mysql 那点经验!!

wrong path xampp\apache\bin\httpd.exe   这些问题,有时还有端口80问题,先不用急着找各种问题的解决方案,先试试用“管理员...

38113
来自专栏LinXunFeng的专栏

iOS - 给高仿微信添加直播聊天功能

1593
来自专栏FreeBuf

DNS Tunneling及相关实现

*本文原创作者:novsec,本文属FreeBuf原创奖励计划,未经许可禁止转载 ? DNS Tunneling,是隐蔽信道的一种,通过将其他协议封装在DNS协...

3947
来自专栏运维前线

Gitlab安装使用及汉化配置

一、GitLab简介 GitHub是2008年由Ruby on Rails编写而成,与业界闻名的Github类似;但要将代码上传到GitHub上面,而且将项目设...

1.3K5
来自专栏散尽浮华

Redis+TwemProxy(nutcracker)集群方案部署记录

Twemproxy 又称nutcracker ,是一个memcache、Redis协议的轻量级代理,一个用于sharding 的中间件。有了Twemproxy,...

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

MySQL root用户登录的几个小问题(r12笔记第67天)

今天和同事聊了聊技术的事情,聊到BAT里面的一些高大上的系统和设计,相比总是会有些差距,不过像那样体量的公司知识沉淀很深,所以能够做好我们力所能及的事情,把...

2864
来自专栏张高兴的博客

张高兴的 Xamarin.Android 学习笔记:(一)环境配置

3346
来自专栏北京马哥教育

Linux 基础快速入门教程:全栈必备基础知识

Linux 几乎无处不在,不论是服务器构建,还是客户端开发,操作系统的基础技能对全栈来说都是必备的。

930
来自专栏魏豪的专栏

Squid 代理服务器详解

Squid是一个支持HTTP,HTTPS,FTP等服务的Web缓存代理软件,它可以通过缓存页面来提高服务器的相应速度并降低带宽占用。并且,Squid还具有强大的...

1.5K0

扫码关注云+社区