其实服务器部署方案的问题并不复杂,但是又很多的朋友都不太了解生产环境部署本地还是服务器,因此呢,今天小编就来为大家分享服务器部署方案的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
一、服务器数量比较少,怎么运维比较好
运维人员的工作每天基本上都是在检查问题,枯燥但又重要,要是你的某一个环节出现问题并没有及时发现问题,对于企业来说损失可能非常大,基本上运维人每天的工作我罗列了下,有这几种:
1、负责服务器的硬件配置、软件安装、机房上下架等技术维护工作
2、负责虚拟化技术产品物理机配置、管理和日常运行监控和维护
3、负责独立主机或虚拟应用产品的开通使用、日常维护、故障诊断和排除
4、提供独立主机或虚拟应用客户产品操作和应用方面的技术支持
5、监视分管的服务器,及时发现问题,并积极解决问题
现在信息化数字时代,单靠人工去检查出现错误几率会很大,而且有的运维人还不只管理两台服务器,像我们公司的运维每人至少要管理30台服务器,这样子单靠人工运维耗费的人工成本和时间是非常大的,所以还是推荐你用运维工具吧,比如云帮手()
1.支持跨云商批量管理服务器
2.兼容*强大,兼容市面基本所有的云商云主机,兼容操作系统;
3.操作简单,可视化界面预览资源、一键修复、一键部署;
4.可以远程登录云主机FTP桌面,处理云主机上的文件;
5.监控和资源还有告警功能,这个是挺好的,不用盯着看;
6.系统修复功能,这个是挺实用也比较必须的;
7.免费使用。总得来说功能还是挺全的,不存在需要又要另外找软件的尴尬。
你好,很高兴回答你这个问题。从运维的角度来讲,服务器的数量少并不意味着我们的运维工作就非常轻松,相反我们更应该重视此阶段的工作。
我们可以从以下几方面来开展我们的运维工作:
1.应用服务器
我们可以从当前服务器中找出至少2个节点装Vsphere虚拟化,建立一个数据中心、集群;如果你的服务器有多网卡和SCSI,还可以做一些更高级的应用,如vmotion、负载均衡、高可用等。当虚拟机或服务器故障,可以实现故障自动转移,有效的避免了单节点的故障,提供服务器的容错率。
我们可以在新建的虚拟机部署Web、API等各种应用,而且虚拟机可以在vCenter图形化界面下统一管理。这一般是中小公司的在服务器方面的解决方案。
当然,我们对docker比较熟悉,可以使用一套docker解决方案,这比Vsphere更能节省一部分资源。当然这个需要的技能要求也比较高,需要我们不断积累。
2.数据库服务器
数据库服务器在此我们单独拿出来,是因为数据库对服务器*能、磁盘IO要求比较高,不太建议使用虚拟机,当然这需要根据业务的实际情况来做选择。数据库我们需要通过一主一从、一主二从的方式实现高可用,来避免数据库单点问题,我们还可以选择合适的proxy来进行读写分离、读负载均衡等。另外还要考虑数据的本地备份、异地备份,来确保数据可恢复。
3.系统监控
当我们在应用服务器和数据库服务器上线一套系统后,我们需要通过监控掌握从服务器硬件、基础状态、应用、数据库等从下到上的运行状态,以便我们能够对告警及时做出响应。考虑到*的及时*,我们需要监控接入多种*渠道,如、钉钉、邮件、短信等。监控的目的是发现问题、解决访问,因此我们需要踏实的做好这一步,才能为我们的业务保驾护航。
好了,其实不管服务器多少,我们都需要扎实的把基础打好,这样才能以不变应万变面对各种情形。希望我的回答能够帮到你。
题主没有详细说明具体应用系统的功能,比如是否单一的Web服务?有没有微服务、分布式、集群化扩展的潜在需求?
通常来说,建议使用云服务自动化运维。云服务已经成为IT技术的核心基础设施,充分利用云服务带来的弹*和分布式优势,赋能自动化运维。
一,自动构建系统
如果需要构建应用,那么就建议配置使用CI/CD持续化集成和自动化部署,比如常用的Jenkins,配置Git代码提交时触发构建,然后自动部署。
二,日志收集处理系统
1,ELK是常见的日志收集管理系统,包括ElasticSearch, LogStash, Kibana三个服务,架构示意图如下:
2,在ELK系统中,Kibana是一个图形化展示工具,配置查询条件,运维人员随时可以搜索指定日志信息,分析处理故障。
三,服务监控
1,云监控CloudMonitor
主流云服务商都将监控功能集成到了基础架构中,以阿里云为例,云监控提供了多种配置,多维度全方位监控。
比如配置CPU使用率到达80%时,自动触发动作,增加服务器实例,同时邮件通知运维人员。
2,应用监控
以监控宝为例,配置服务,选择分布在不同地区和运营商的监测点。当监测点不能正常调用配置的服务时,将收到警告信息,可以选择邮件、短信、电话等通知方式。
四,潜在的系统扩展需求
1,是否集群化部署?需要AutoScaling自动伸缩吗?
小型化和集群化并不冲突。如果采用集群化部署,可以配置触发条件,满足时自动增加或者释放服务器资源。比如当CPU使用率达到75%或者内存占用率达到75%时,根据配置好的服务器和数量,自动触发。
2,是否使用Docker容器技术?
Docker将应用以及依赖打包到一个可移植的镜像中,可以实现虚拟化,有助于快捷高效的交付应用,结合Docker-pose资源编排,快速实现自动部署更新,不再需要常用的Jenkins构建服务器。
机器数比较小的话,你可以用云的服务器,这样可以节省好多钱。找一个专门的运维,还不如让开发自己来搞,因为机器少运维他也应付得过来。现在都在搞云计算了,把你的机器放上阿里云或者腾讯云,你自己维护好很多,包括网络贷款都很容易扩容。上面这个我说到的只是说建议你如果你已经是自己的机器了。我建议你从我下面所说的来搞。
认为的整个过程的话一般分为三个阶段,第一的话是手工阶段,什么东西都是手工搞。
第2个阶段就是脚本阶段了,本来手工搞的东西全部脚本化。
第3个阶段就是平台化了,平台化了之后,所有东西都在页面上完成系统完成,不需要人工来干预,甚至不用运维来搞。
有一些人说既然认为就是最后的一个阶段,但是这个很不成熟。所以我就不说了。
针对你这个机器数少的,你可以手工认为,或者说用脚本认为都没问题。
在合适的阶段做合适的事情就是最好的。所以我建议你手工运维或者脚本运维。
我们项目用的 wgcloud运维监控系统,它前身是开源项目,后来推出的商业版,也有免费版
wgcloud运行很稳定,*能很好,部署和上手容易
wgcloud支持主机各种指标监控(cpu状态/温度,内存状态,磁盘容量/IO,硬盘smart监控,系统负载,网卡流量,硬件系统信息等),数据可视化,进程应用监控,大屏可视化,服务接口检测,DOCKER监控,自动生成网络拓扑图,端口监控,日志文件监控,web SSH(堡垒机),指令下发执行,告警信息推送(邮件钉钉短信等)
可以装虚拟机代替,在同一个局域网情况下
找服务商外包服务,或者网上托管也不贵收费
服务器数量比较少,比如10台服务器,基本可以不设置运维岗位了,后端开发人员或者架构师就能搞定。
我就是那种曾经在创业的小公司待过的开发人员,开发,运维我都干了。
但是想想如何更科学更高效的运维还是很有必要的。
运维的目的
软件系统的运行时环境:即公司的业务产线,靠它创造业务价值,这个是最核心的功能诉求。
实时监控系统:任何时候都要对当前公司的产线的压力一清二楚,有问题功能随时解决,有*能问题及时扩容或者回收资源
降低服务器成本:在业务萎缩的情况下,准确评估哪些资源可以回收,降低服务器的支出
这个是当时我认为的运维的三个主要目的。
运维方案
开发半路出家,当时采用的是shell+python+ansible+jekins+elk的方式
首先,我会及时的更新业务产线的物理架构图,根据架构图来规划服务器的资源使用。
比如多少个web服务,数据库多少,zk,kafka,redis集群怎么分布。
集群部署一般是放在多个服务器上的,这个时候ansible就派上用场了。
jekins主要用来自动发布更新程序已经做定时回收磁盘的任务。
elk主要用来做应用的日志系统和监控告警;可以通过看板随时知道产线的请求数量和并发数量;
以上的运维方案适用于小公司。运维工程师看到了可以补充
搞个zabbix刷
数量少。如果配置好可以虚拟化。然后跑容器
二、生产环境部署本地还是服务器
应该在生产环境部署服务器,而不是本地。
原因如下:
1.*能:生产环境通常需要处理大量的请求和数据,这需要高*能的服务器来保证稳定的运行。如果在本地部署,很难满足生产环境的高*能要求。
2.安全:在生产环境中,安全*是至关重要的。部署在本地的应用程序容易受到本地网络攻击的威胁。而在服务器上运行,可以采取多种安全措施来保护应用程序和数据的安全。
3.扩展*:如果需要扩展应用程序的规模,部署在服务器上要比本地更方便。可以通过增加服务器数量来扩展应用程序的规模和*能,而不需要重新配置和安装应用程序。
因此,为了保证生产环境的高*能、安全*和扩展*,我们应该将应用程序部署在服务器上。
在部署到服务器上时,可以采取以下措施来确保应用程序的稳定*和安全*:
1.使用安全的连接:在服务器和客户端之间建立安全的连接,如 SSL/TLS,可以保护数据的传输安全。
2.备份和恢复:定期备份应用程序和数据,并确保可以在需要时恢复到之前的状态。
3.监控和警报:实时监控应用程序的运行状态,并设置警报机制,以便及时处理问题。
4.定期维护:定期维护服务器和应用程序,更新软件和系统版本,确保安全*和*能。
三、如何部署服务器级别的存储虚拟化
主机级别的方案中通常只是虚拟化直连主机的存储,当然也有一些可以部署在一个SAN环境中的多台存储子系统上。
早先的存储虚拟化产品常用于简化内部磁盘驱动器和服务器外部直连存储的空间分配,以及支持应用集群。Veritas Volume Manager和Foundation Suite就是首批这类解决方案,这类方案使得存储扩展,以及为应用程序和文件服务器提供空间更为简单快速。
随着存储需求的增长远远超过直连存储所能提供的范围,存储虚拟化逐渐成为存储阵列中的一种容量提供方式。而容量持续增长以及诸如iSCSI等小型IT组织负担得起的共享存储技术的出现又使得存储虚拟化技术也融合进基于网络的设备和运行在通用硬件的软件里。
不过现今的服务器和桌面虚拟化技术兴起给存储虚拟化技术带来了新的生机,而基于主机的存储虚拟化技术正在逐渐回归。服务器虚拟化平台必需要基于共享存储体系架构来实现一些关键特*,比如VMware的vMotion和Distributed Resource Schedule(DRS)。通过传统的SAN架构自然可以实现这种共享存储体系架构,不过越来越多的IT组织开始寻求更简单的方式来实现共享存储。基于主机的虚拟化技术就是方式之一。
诸如VMware之类的服务器虚拟化供应商认为存储是妨碍虚拟化技术大规模普及的瓶颈之一。这些Hypervisor供应商已经实现了处理器和内存资源的抽象,实现更好的控制并提高资源利用率,他们自然而然也会希望这样控制存储。不过将存储控制功能整合到主机服务器端,称之为“存储Hypervisor”时会带来一些潜在的问题。处理一些在虚拟服务器和虚拟桌面环境中至关重要的存储服务,诸如快照、克隆和自动精简配置时,会严重影响主机服务器的*能。
Virsto的解决方案
Virsto开发出了一款软件解决方案,安装在每台主机服务器上(无论是一台虚拟机或Hypervisor上的过滤驱动器)并在主存储上创建一个虚拟化层,称为Virsto存储池。其同时创建一个高*能磁盘或者固态存储区域,成为“vLog”。读操作会指向主存储,不过写操作会通过vLog进行,这会给请求的虚拟机或应用程序发回一个确认。然后vLog将这些写操作异步地分布写入主存储,从而减少对写*能的影响。该存储池可以容纳多至4层的存储方式,包括固态存储和各类型的磁盘驱动器。
和缓存的工作方式类似,vLog通过在存储前端降低耦合度改善了存储*能,降低了后端存储的延迟。其同时将前端主机的随机写操作变为顺序方式,实现后端存储的最佳*能。基于Virsto主机的存储虚拟化软件实现了以上这些功能。
虚拟存储设备
基于主机的存储虚拟化的另一项应用实例是虚拟存储设备(VSA)
VSA是运行在虚拟机上的存储控制器,其虚拟化统一集群中的主机所连接的存储。VSA提供一个主机使用的简易的存储共享体系架构,并支持高可用*、虚拟机迁移,并改善存储提供方式。对于很多企业,这种方式可以替代原本需要建立并管理传统SAN或NAS来支持虚拟服务器和桌面的体系架构。
vSphere Storage Appliance。VMware的vSphere Storage Appliance以一个虚拟机的方式运行,从在2个或3个节点集群中,每个ESX/ESXi主机所直连的DAS存储中,创建一个共享存储池。VMware VSA提供每个节点的RAID保护,并在同一集群的各个节点之间提供镜像保护。虽然从技术角度上看,VMware VSA是一个基于文件的体系架构,不过其亦为集群中每台主机提供数据块级别的存储虚拟化,并用户可以从这种部署方式中获取和基于数据块的共享存储一样的收益。
HP的LeftHand Virtual SAN Appliance。虽然和VMware VSA的功能类似,P0 VSA软件可以支持每台主机直连DAS以外的方式。其还允许使用iSCSI或FC SAN等外部存储来创建共享存储池。这就意味着可以将如何可用的存储,本地存储或用于容灾的异地存储,转变为LeftHand存储节点。P0t提供快照和自动精简配置,并且支持Hyper-V和VMware。
DataCore的SANsymphony-V。DataCore的解决方案是通过在一个虚拟机中部署其SANsymphony软件来整合其它各个VMware,Hyper-V或XEN主机的直连存储,形成共享存储池。SANsymphony-V可以和HP的解决方案那样虚拟化外部的网络存储,并且该软件可以在迁移到传统的共享存储体系架构时部署在外部服务器上。SANsymphony-V同时提供各类存储服务,譬如快照、自动精简配置、自动化分层和远程复制。
FalconStor的NSS Virtual Appliance。FalconStor的Network Storage Server Virtual Appliance(NSSVA)是该公司NASS硬件产品中唯一支持的VMware版本,用网络上其它主机的直连存储创建一个虚拟存储池。和DataCore和LeftHand的解决方案类似,该存储池可以扩展到网络上任何可用的iSCSI存储上。该NSS Virtual Appliance包括快照、自动精简配置、读/写缓存、远程复制和卷分层等存储功能。
基于主机的存储虚拟化解决方案是目前大多使用在虚拟化服务器和虚拟化桌面环境中,用以实现环境的高可用*特*,以及改善存储*能、利用率和管理效率。