一、云环境如何选择Linux发行版
1.1、Linux在各个领域的发展
序号 | Linux发展领域 | 说明 |
1 | Linux在服务器领域的发展 | 目前Linux在服务器领域已经占据95%的市场份额,同时Linux在服务器市场的迅速崛起,已经引起全球IT产业的高度关注,并以强劲的势头成为服务器操作系统领域中的中坚力量。 |
2 | Linux在移动嵌入式领域的发展 | 目前Linux已广泛应用于手机、平板电脑、路由器、电视和电子游戏机等领域。在移动设备上广泛使用的。 Android操作系统就是创建在Linux内核之上的。目前Android已经成为全球最流行的智能手机操作系统。且目前国内较为火热的Hormary OS也是基于Linux开发的。 |
3 | Linux在云计算/大数据领域的发展 | 云计算、大数据作为一个基于开源软件的平台, Linux占据了核心优势;据Linux基金会的研究, 96%的企业已经使用Linux操作系统进行云计算、大数据平台的构建。 |
1.2、常用的Linux发行版本
目前市面上流行的发行版本是非常多的,谁也不敢保证给出一个准确的Linux发行版本详情,但可以肯定的是Linux正在变得越来越流行。面对这么多的Linux系统版本,大家不免会有疑惑(我到底该如何学习Linux?学哪些版本?如何才能学好Linux?),因此我们在这里做一个抛砖引玉,指明一个方向,希望能够启发你选择到合适的Linux。
序号 | 常用的Linux发行版本 | 说明 |
1 | Red Hat Enterprise Linux (简称 RHEL) | 是红帽企业发行版,红帽现在主要做的就是对企业版本Linux进行开发,他在版本上注重性能与稳定性以及对硬件的支持,由于企业版的操作系统开发周期比较长,注重性能与稳定性以及对服务端的支持,因此更新速度的比较慢的。 红帽的企业版Linux大概每三年发布一个版本(如红帽7.1企业版是2015年发布的,最新的版本是红帽10);是商业版本,专供Linux服务器,需要购买授权使用。 |
2 | Centos Linux | 是社区企业操作系统,特点是开源、免费使用;它是根据红帽企业版本开放源代码的规定,对红帽开放的源代码进行编译产生的版本; 与红帽企业版的区别是:不包含闭源软件。 |
3 | SuSE Linux | 是德国著名的Linux发行版本,在欧洲占据大约80%的市场份额;是商业化版本; 若我们想要使用免费版本可以使用Open Suse。 |
4 | Ubuntu Linux | 主打桌面版的Linux,主要是为用户提供最新、稳定且由自由软件构成的桌面操作系统,它的社区十分火热,用户可以很方便的从它的社区获取帮助; 也有服务器版本。 |
其它Linux的发行版本还有很多,比较常见的还有Debian、GNU/Linux、 Gentoo等,以及国产深度deepin Linux和中标麒麟 |
1.3、Linux发行版选择
序号 | Linux发行版选择 | 说明 |
1 | 初学者入门首选——Centos系列 | CentOS现在拥有庞大的网络用户群体,网络Linux资源基本80%都是基于CentOS发行版的,如果在学习过程中遇到任何问题,在网络中可以较容易地搜索到解决方案。鉴于目前Centos已经不支持,但是可以找到其的代替系列(如:AlmaLinux、Rocky Linux) |
2 | 开发平台首选——Ubuntu Linux | Ubuntu的安装非常人性化,只需按照提示一步一步进行。 Ubuntu被誉为对硬件支持最好最全面的Linux发行版之一。 |
3 | 企业级应用首选——RHEL/Centos系列 | 企业级的应用追求的是可靠性和稳定性,这就要求构建企业级应用的系统平台具有高可靠性和高稳定性。企业级Linux的发行版本就是解决的这个问题。 |
二、云主机操作系统
2.1、如何选择云主机操作系统
Linux和Windows是目前云主机提供的两大操作系统,一般来说,如果你需要asp、asp.net+SQLServer 架构,则应该使用Windows系统;如果是PHP+MySQL架构,云服务器使用Linux系统比较好。
Linux系统拥有大量的发行版可用,每个发行版都提供了一个完整的服务器操作系统和一个管理器,常用的发行版(如:CentOS、Ubuntu和Debian)。云主机的系统决定于你的用途是什么,是需要根据你的使用情况去选择的。
2.2、云主机的快照功能
快照是一种基于时间点的数据拷贝技术,是数据备份领域的一个重要的概念,理解好快照,并且有效的管理快照,是磁盘管理中的重要一课。
快照的目的【在于能够记录出某一个时刻的数据信息并将其保存,如果之后发生某些故障需要数据恢复的时候,可以通过快照来将数据恢复到之前时间点的状态,而该时间点之后的数据都会丢失】。备份系统是快照技术的主要应用领域之一,当备份软件需要备份某些不能停止运行的关键业务的时候,利用快照技术可以将某时间点的所有数据信息保存并备份,不会影响到业务的正常运行。
2.3、云主机的快照与镜像
序号 | 云主机快照与镜像的区别 |
1 | 镜像是可以直接用来创建云主机实例的(只要导入镜像就可以运行起来)。 快照则不可以(快照只是某一时刻的数据备份)。 |
2 | 镜像一定是包含云主机实例系统盘的数据。 快照可以是云主机实例系统盘或数据盘的数据备份。 |
3 | 镜像可以应用与当前主机实例、其他主机实例更换系统盘或者创建新的云主机实例。 快照只可以应用于当前云主机实例磁盘的数据恢复。 |
4 | 如果我们需要在其他地域恢复实例数据,可以使用自定义镜像。 快照不可以跨地域去使用。 |
5 | 应用场景不同:我们只能使用自定义镜像去备份数据。 |
序号 | 快照与镜像 | 说明 |
1 | 快照和自定义镜像的关系 | 《1》自定义镜像必须通过已经创建成功的快照来创建;同时快照被用来创建自定义镜像前不能被删除。 《2》自定义镜像的适用范围仅限于【系统盘】;快照的适用范围是【系统盘】【数据盘】。 《3》自定义镜像在云主机或云服务器释放后,只要不删除,创建的CD镜像会一直保留存在;快照只要云主机或云服务器被释放后也会被自动删除。 |
2 | 快照适用场景 | 《1》定期数据备份(按照设置的周期【每日、每周、每月】自动执行快照策略,对数据进行备份)。 《2》临时数据备份(由系统更新、应用发布,为防止操作失误,在执行变更前手工执行快照,对系统进行备份)。 《3》系统盘扩充前创建快照来备份数据。 《4》磁盘数据迁移(为磁盘创建一个快照,将磁盘作为另一个磁盘的基础数据区使用)。 |
3 | 自定义镜像适用场景 | 《1》备份短期内不会改变的系统(如:已经完成更新、发布的应用系统)。 《2》使用已经完成的系统或应用模板,创建新的云主机实例(如:批量部署应用)。 《3》系统级数据的迁移(如:将经典网络的云主机迁移到VPC下)。 《4》跨可用区和地域的系统还原。 |
4 | 快照和镜像的关系 | 使用实例创建自定义镜像时,云主机会为实例的每个磁盘都创建快照及自定义镜像包含(云主机实例和所有磁盘的快照)。 |
对于我们日常是使用云服务器的过程中,建议创建自定义快照策略,来定时对云服务器的文件进行备份,避免因误操作导致的数据丢失 |
三、云主机选型
随着云计算技术的发展,让云主机成为很多企业部署网络业务的首选,面对市场上各种各样的云产品服务、云主机产品,我们在进行选择的时候具体该如何来选择呢?
3.1、 从云主机配置进行选型
云主机配置主要是指云主机的CPU、内存、操作系统、硬盘、带宽网络、地域等方面进行综合考量:
序号 | 云主机的配置 | 说明 |
1 | 主机带宽 | 在带宽这里我们需要结合应用的【类型】【结构】【访问量】等指标来选择: 《1》若是一个新的一般的网站,在图片不多,且做了处理的情况下,带宽在2M-5M左右就可以满足要求了,不够的话随时在增加即可,这样比较稳妥;若是普通的网站(如:图片、文字网站、论坛等)占用的带宽也是比较小的,参照这个即可。 《2》根据网站访问量(如:一天小于1万访问),则带宽在5M-10M左右也就足够了。 《3》若是视频下载为主的这些应用,且同时有几百人同时在线的话,此时我们的带宽则必须在10M以上。 |
2 | 服务器CPU | 服务器CPU代表的是云服务器的运算能力,主要根据我们的【业务类型】【业务访问量】指标来选择: 《1》一般Web类型的业务系统,建议两核以上的CPU。 《2》若网站或APP的流量比较大,或者动态请求页面较多的情况下,建议CPU的核心在四核及其以上。 《3》若云主机跑的是数据库服务,也是比较消耗CPU,建议CPU的核心在四核及其以上。 |
3 | 操作系统 | 主要是根据每个人对操作系统的熟悉程度、软件开发环境指标来选择: 《1》若自己熟悉Windows那么首选就是Windows;若熟悉Linux首选就是Linux。 《2》考虑软件开发的环境(若:我们的应用程序是使用.NET开发的,则正常情况是放在Windows系统上。若我们的应用程序是使用Java、python、PHP等开发的则Linux系统就是首选了)。 建议:云主机操作系统选择Linux,因为它占用的资源更少,更加稳定,整体上来说更加节省成本。 |
4 | 内存大小 | 内存是数据的中转站,也是决定应用程序响应的一个重要因素,主机选用的内存越大,那么它可以使用的缓存就越多,那么运行速度就会越快,因此内存主要根据【应用类型】来选择: 《1》如果是一般的个人博客、企业偏向展示类的网站,内存一般在4G足够。 《2》如果是商城类应用、数据类的应用,内存在8G-16G左右也就足够了。 《3》如果是纯内存的数据库(如:redis等)建议是16G及其以上的内存。 |
5 | 存储硬盘 | 硬盘主要是用来存储数据的,硬盘的大小根据网站的大小来决定;还需考虑【硬盘的剩余空间】【硬盘的IO读取速度】: 《1》常规应用我们使用一般的机械硬盘即可。 《2》如果是一些特殊的应用(如:对读写要求比较高的应用),则建议选择固态硬盘(SSD)。 |
6 | 机房线路 | 《1》如果是针对本地的用户,则可以选择单线路的云主机(如:我们的应用是面向某个区域的电信用户,则我们只用选择电信这条线路就可以了)。 《2》但是现在我们的很多用户都是不固定的,所以多线路的网络质量会更好;对于一个城市来说,带宽会有电信、联通、移动等多个网络运营商,云服务所在的地区,最好选择离你的目标用户所在区域内最近的。 《3》若你的用户是比较分散,在全国各个地方,这个时候建议选择BGP机房的网络,BGP机房的网络可以在不同运营商之间打开的速度会快很多。 |
3.2、基于应用场景选型云主机
序号 | 基于应用场景选型云主机 | 说明 |
1 | X86普通计算场景 | 《1》针对Web服务(如:Nginx、Apache等,主要是做计算处理)推荐使用一般计算型云主机即可,CPU与内存的配比一般为1:2。 《2》对于spring cloud、MQ这类中间件属于计算和存储都有的需求场景,推荐使用通用型配置CPU与内存的配比是1:4。 《3》对于redis、Memcached这类缓存应用对内存的要求比较高,推荐使用内存型的云主机,CPU与内存的配比是1:8。 《4》关系型数据库直接使用内存型云主机,对CPU、内存、硬盘的要求都比较高,建议选择多核、高频的CPU、内存在16G及其以上,硬盘选择固态硬盘SSD。 《5》Nosql建议使用本地的固态硬盘SSD,大内存云主机(如:4核32G)。 《6》大数据应用场景(如:ADFS、Spark等类型应用)需要专门的大数据型云主机,这类主机的特点是CPU的性能一定要好,内存足够大,硬盘一般即可,但存储空间要足够大. 《7》最底层的机器学习来说(如:MXNet这种训练框架)会有这种专门针对GPU计算的主机。 |
2 | GPU实例选型推荐 | GPU的使用场景主要分为两大类: 《1》人工智能或者叫做机器学习,在这个场景里面还会分为【训练】【推理】两个场景: 大数据场景(如:Spark、hadoop这类大数据集群)搭建的时候,如果是我们自己手动搭建的, 会把过程分为三大模块【集群的管理节点】对应的实例规格选型(直接选择通用型云主机即可满足要求)【集群的计算节点】的选型(主要是偏向于正常业务负载,可以把通用型云主机作为主要选择,搭配上SSD云盘)【集群的数据节点】的选型(主要是对数据和网络的吞吐有较高的要求,所以推荐大数据型云主机,搭配到本地的SSD云盘)。在大数据场景里面,不同的业务不有不同的特征,会选择不同的实例规格。 《2》图形图像的处理 |
3 | 数据库场景实例选型 | 《1》对于普通业务(负载比较轻的数据库)推荐使用通用型系列的云主机或者内存型搭配高效云盘或SSD云盘就可以处理了,这样搭配的性价比会比较高。 《2》对于业务负载较高的集群,推荐使用本地SSD或者SSD云盘实现,这种存储可以实现较高的IOPF和低延时,能够满足重载数据库的性能需求。 |
3.3、云主机选型总结
第一个法则:相同大小的企业级的实例比入门级的实例性能更稳定,但是入门级的实例性价比更高,因为企业级的实例它是独占了vCPU,不存在一个资源的争抢,有性能的保障。
第二个法则:在相同的实例规格下,新一代的实例规格比老一代的实例规格性价比更高。
第三个法则:选型时不仅仅要选择合适的实例规格,而且还需要搭载合适的块存储,才能够让云上的应用达到预期的性能。
3.4、上云选型四步走
第一步:对自己的业务特征做一些分析,包括对性能的要求,对网络的要求,形成一个基本的判断。
第二步:针对业务特征来选择对应的ECS实例规格。
第三步:选择对应的一个付费方式,只有选择最合适的付费方式,才能够实现云上的成本最优。
第四步:选择合适的交付方式,帮我们省时省力地完成资源的交付。