刚开始接触linux运维开发,希望有个自己的博客,能够记录自己生活学习的点点滴滴,能够记录自己的成长,学过的东西,学过的技术,说忘就忘。同时希望以后入行后有个地方能够分享自己的工作经验,这大概就是我的申请理由,希望这个博客能够实现为这个小小的运维人员的需求,谢谢
分类: LINUX
2017-11-03 11:36:44
- DELL(大多数公司,常用)
- HP
- IBM(百度在用)
常见服务器品牌
加上盖子
DELL R620
1U 3550/m3 3550/m5
2U 3650
4U 3850
8U 3950
仅作了解,质量好,但价格贵,互联网公司不太常用
IOE(IBM oracle emc)
DL380G7/G8(2u)
相当于人体的心脏,保障电源供应,要选择质量好的电源。生产中一般单个服务器核心业务最好使用双电源AB线路。如果集群(一堆机器做一件事情)的情况可以不用双电源。
相当于人体的大脑,负责计算机的运算和控制,是服务器性能效率的最核心部件。 常见品牌:Intel,AMD
- 一般的企业里的服务器,CPU颗数2-4颗,单颗CPU是4核。内存总量一般是16-256G(32G,64G)
- 做虚拟化的宿主机(eg:安装vmware的主机),CPU颗数4-8颗,内存总量一般是48-128G,6-10个虚拟机。
CPU和磁盘之间的缓冲设备,是临时存储器(存放数据),断电数据丢失。 一般程序运行的时候会被调度到内存中执行,服务器关闭或程序关闭之后,数据自动从内存中释放掉。
程序:c/php/java,代码文件,静态的,放在磁盘里的数据。
进程:正在运行着的程序,进程运行就是系统把程序放在内存里执行
守护进程(daemon):持续保持运行着的程序。
程序和进程的区别:
从开发角度对守护进程的解释:
运行或者执行任何服务都脱离不开计算机的底层协议TCP/IP协议,而想要操作TCP/IP协议就需要用到计算机的底层语言C语言,但是C语言用起来很麻烦,通常要实现一个很小的功能都需要写上好几十甚至上百行代码,太繁琐。于是就有人想到,将一些可以实现某个功能的C语言代码封装起来,然后起一个新的名词,那么用这个新的名词来告诉计算机自动执行封装的那么一大堆C代码,这样就方便多了。于是,慢慢的这类型的新词汇多了以后,渐渐组成了现在我们常见的编程语言,比如:java,python,C#。而我们知道如果我们利用xshell来远程服务器的时候,需要通过ssh协议并访问服务器的22端口。之所以,能够联通,是因为服务器端始终有一个叫做sshd服务的进程在监听着22端口,这个服务就是通过python等类似语言继续封装出来的程序,由于它不断的在服务器的后台运行,始终守护且监听着服务器的22端口,所以我们就叫它们为守护进程。
磁盘就是永久存放数据的存储器,磁盘上也是有缓存的(芯片)。
常用的磁盘(硬盘)都是3.5英寸的(ide,sas,sata),常规的机械硬盘,读取(性能不高)性能比内存差很多,所以,在企业工作中,我们才会把大量的数据缓存到内存,写入到缓冲区,这是当今互联网网站的解决网站访问速度慢的方案。
磁盘接口或类型:IDE,SCSI,SAS,SATA,SSD(电子的),IDE,SCSI退出历史舞台。
性能与价格:SSD(固态)>SAS>SATA
磁盘的大小
1byte=8bit 1K=1024byte 1M=1024K
1G=1024M 1T=1024G 1PB=1024T
字节(byte):8个二进制位为一个字节(B)
市面上卖硬盘的都是按1000计算,号称500G硬盘=5001000B1000KB*1000MB
企业案例:提升用户体验的网站解决方案 看具体需求,然后选择方案
1,门户(大网站)极端案例:
大并发写入案例(抢红包,微博)
高并发,大数据量,写数据会把数据写到内存,积累一定的量后,然后再定时或者定量的写到磁盘(减少磁盘IO Input/Output 磁盘读写),最终还是会把数据加载到内存中再对外提供访问。
特点:
a,优点:写数据到内存,性能高速度块(微博,微信,SNS,秒杀)
b,缺点:可能会丢失一部分在内存中还没有来得及存入磁盘的数据。
解决数据不丢的方法:
a,服务器主板上安装蓄电池,在断电瞬间把内存数据回写磁盘
b,UPS(一组蓄电池)不间断供电(持续供电10分钟,IDC数据IPS 1小时)。UPS (Uninterruptible Power
System/Uninterruptible Power
Supply),即不间断电源,是将蓄电池(多为铅酸免维护蓄电池)与主机相连接,通过主机逆变器等模块电路将直流电转换成市电的系统设备。
c,选双路电的机房,使用双电源,分别接不同路的电,服务器要放到不同的机柜,地区。
2,中小企业案例
对于并发不是很大,数据也不是特别大的网站,读多写少的业务,会先把数据写入到磁盘,然后再通过程序把写到磁盘的数据读入到内存里,再对外通过读内存提供访问服务。
小结:
门户极端案例:高并发,大数据
先把数据写到内存,然后再定时或定量写到磁盘,最终还是会加载到内存
特点:
a,高并发写入性能高
b,可能会丢失一部分在内存中还没来得及存入磁盘的数据
中小企业案例:
并发时很大的网站会先把数据存到磁盘,然后再通过程序把数据读入到内存里,在对外提供访问服务
温馨提示:
网站优化的核心就是想办法把数据放入内存提供服务,或者让用户写数据写到内存(这样最快)
3,企业面试题:buffer和cache什么区别?
看视频===>buffering把视频数据缓存到磁盘===>写数据到磁盘上或者写数据到内存中
cache===>从磁盘或者内存读取数据
简单解答:
写入数据到内存里,这个数据的内存空间称为缓冲区(buffer),写入缓冲区。
从内存读取数据,这个存数据的内存空间称为缓存区(cache),读取缓存区。
由于99%的网站都是以读取为主,写入为辅,读写比例至少10:1,所以并发写入一般不是问题。
提醒: 这里提到的内存和磁盘,是由多台机器组成的集群架构环境memcached(纯内存)/redis(内存加磁盘)
1,常规正式工作场景(线上的生产环境)主选SAS(结合SATA和15000转/分,机械磁盘转数高的性能好)
2,比较核心的业务SAS
生产环境===>已经对外提供服务的环境
3,不对外提供访问的服务器,例如,线下的数据备份,可选SATA(7200-10000转/分)
SATA特点:容量大,价格便宜,但是速度比较慢。
4,高并发访问,小数据量,可以选择SSD
问:既然SSD最好,那是不是都选SSD?
淘宝网企业案例:
服务器会把sata和ssd结合起来用,热点存储,程序动态调度。
热点存储的思路非常好,在学习磁盘组成和原理的内容时,有关热点数据的内容,必须要仔细体会。现如今看来,对很多中小型公司还是很新颖的存储方式。顺便说下,大公司无论做什么都要考虑性价比问题,而不光是要把问题解决,因为,设备的奇数太大,做一点点就会节省非常多的成本。阿里,联想的大规模云计算其实归根结底都在解决性价比问题,否则,就无法推向市场,真正的应用到商业市场中。
记住一句话:缓存无处不在,电脑硬件,网站集群!
这里做个了解即可
ns 纳秒 1s = 10^9 ns
us 微妙 1s = 10^6 us
ms 毫秒 1s = 1000ms
基本作用:
你有很多土地。
单独管理不方便。
整合,然后管理。
- 冗余从好到坏:raid1,raid10,raid5,raid0
- 性能从好到坏:raid0,raid10,raid5,raid1
- 成本从低到高:raid0,raid5,raid1,raid10
不同RAID级别的企业应用举例:
根据数据的存储和访问的需求,去匹配对应的RAID级别。====>适用于互联网公司
- 单台服务器,很重要,盘不多,系统盘raid1
- 数据库/存储服务器,主库raid10,从库raid5/raid0(为了维护成本,raid10)
- web服务器,如果没有太多数据的话,raid5,raid0(单盘)
- 有多台,监控/应用服务器,raid0,raid5.
速度最快,但安全性最低,一块磁盘出了问题,所有的数据都会损坏且无法修复
安全性最高,但磁盘利用率最低,只有50%。
数据读取比较快,但是写入速度一般。磁盘利用率高于Raid1
Raid10是Raid0和Raid1的组合体。Raid1这里就是一个冗余的备份阵列,而Raid0则负责数据的读写阵列。拥有极高的读写效率和数据安全保护。但是磁盘利用率低,价格比较贵。
当下主要作用装系统
企业应用:
建议淘汰光驱,为老板省钱
U盘安装系统,网络安装(ftp,http),无人值守批量安装系统(pxe+kickstart)
标签===>标记出每根线的用途
专业布线:什么是专业的,请看图
企业面试题
1,你用过的服务器型号有哪些?配置如何?
2,程序和进程(守护进程)的区别?
3,提升用户体验的网站解决方案
4,buffer与cache的区别?
5,描述Raid0 1的特点?