【面试试题】云计算运维工程师部分面试题(本人之前面试的部分题目及自己的相关解答)

目录

1、x86 发生无法恢复的硬件故障之后,会触发中断通知操作系统,相关的中断类型有哪些?

答:分为外部中断和内部中断;其中外部中断分为非屏蔽终端NMI,可屏蔽中断INTR;内部中断分为微处理器内部中断,软件中断;

优先级:1(高):内部中断(除单步中断);2:NMI;3:INTR (IRQ0, ... , IRQ7);4(低):单步中断

原文链接:

2、ps 查看系统进程时,有一列 STAT,如果当前进程的 stat 为Ss 表示说明含义?如果为 Z 表示什么含义?

答:S表示正在休眠;s表示主进程;Z表示僵尸进程。

3、说出下列虚拟机 XML 文件每行代表的含义,在语句后面注明即可。

win7-02

6ce14f21-33ac-dc79-5554-66ccc80ea17

This is my firest test kvm

2097152

2097152

hvm

答:

//domain 是一个所有虚拟机都需要的根元素,它有两个属性,type定义使用哪个虚拟机管理程序,值可以是:xen、kvm、qemu、lxc、kqemu,第二个参数是id,它唯一的标示一个运行的虚拟机,不活跃的客户端没有id。

//name参数为虚拟机定义了一个简短的名字,必须唯一。

win7-02

//uuid为虚拟机定义了一个全球唯一的标示符,uuid的格式必须遵循RFC 4122指定的格式,当创建虚拟机没有指定uuid时会随机的生成一个uuid。

6ce14f21-33ac-dc79-5554-66ccc80ea17

//title参数提供一个对虚拟机简短的说明,它不能包含换行符。

This is my firest test kvm

///最大内存,单位:KB

2097152

//可用内存,单位:KB

2097152

//CPU的数量

//系统引导设备配置,无需手动修改

//machine:宿主机的操作系统

hvm

//boot:指定启动设备,可以重复多行,指定不同的值,作为一个启动设备列表。

//以下处理器特性:Hypervisors允许特定的CPU/机器特性打开或关闭,所有的特性都在fearures元素中,以下介绍一些在全虚拟化中常用的标记:

//pae:扩展物理地址模式,使32位的客户端支持大于4GB的内存

//acpi:用于电源管理

//hap:Enable use of Hardware Assisted Paging if available in the hardware.

//以上处理器特性

//CPU配置,cpumode可以写成'host-passthrough',意思是使用真机的CPU

//socket是指主板上能够放置的处理器芯片的个数:1;core其实可以是指物理的实际的core,也可以是虚拟的core:4核;每个core的硬件线程数,即超线程:1;

相关链接:

4、如何查看 kvm 虚拟机的 xml 配置文件?

答:使用 KVM 创建虚拟机后,会在 /etc/libvirt/qemu/ 路径下生成该虚拟机的 xml 配置文件

5、分析一下 Xen、KVM、Qemu 间的关系和区别?

答:

关于qemu

Qemu是一个独立的虚拟化解决方案,通过intel-VT 或AMD SVM实现全虚拟化,安装qemu的系统,可以直接模拟出另一个完全不同的系统环境,虚拟机的创建通过qemu-image既可完成。QEMU本身可以不依赖于KVM,但是如果有KVM的存在并且硬件(处理器)支持比如Intel VT功能,那么QEMU在对处理器虚拟化这一块可以利用KVM提供的功能来提升性能。

关于KVM

KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(IntelVT或AMD-V)的Linux的全虚拟化解决方案。它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。准确来说,KVM是Linuxkernel的一个模块。可以用命令modprobe去加载KVM模块。加载了模块后,才能进一步通过其他工具创建虚拟机。但仅有KVM模块是远远不够的,因为用户无法直接控制内核模块去作事情,你还必须有一个运行在用户空间的工具才行。这个用户空间的工具,kvm开发者选择了已经成型的开源虚拟化软件QEMU。说起来QEMU也是一个虚拟化软件。它的特点是可虚拟不同的CPU。比如说在x86的CPU上可虚拟一个Power的CPU,并可利用它编译出可运行在Power上的程序。KVM使用了QEMU的一部分,并稍加改造,就成了可控制KVM的用户空间工具了。所以你会看到,官方提供的KVM下载有两大部分(qemu和kvm)三个文件(KVM模块、QEMU工具以及二者的合集)。也就是说,你可以只升级KVM模块,也可以只升级QEMU工具。这就是KVM和QEMU的关系。

关于Xen

从一开始接触的就是Xen虚拟机,关于Xen的使用和开发都做了,也算是熟悉。Xen的编译安装是第一个要掌握的东西,首先你需要下载Xen的源码,然后执行configure、make 、make install。当然你也可以选择性的安装make install-xen,这种方法仅限于第二次使用Xen,并对源码做了更改后,可以不去编译安装tools文件夹下的东西,直接编译安装xen即可。那么tools下有什么东西呢?实际tools除了实现xl 、xm命令之外,还有很重要的一部分,也就是qemu-xen,qemu-xen-traditional等一些与qemu有关的程序。这也就是我们今天要解释的xen中是如何使用qemu的。

总结

Qemu是一套独立的虚拟化解决方案,KVM是另一套虚拟化解决方案,不过因为这个方案实际上只实现了内核中对处理器(Intel VT, AMDSVM)虚拟化特性的支持,换言之,它缺乏设备虚拟化以及相应的用户空间管理虚拟机的工具,所以它借用了QEMU的代码并加以精简,连同KVM一起构成了另一个独立的虚拟化解决方案,不妨称之为:KVM+QEMU.。Xen是另一套独立的虚拟化解决方案,最初的Xen只支持半虚拟化,Intel VT技术出现后,添加了全虚拟化功能,这个全虚拟化功能也是借助了qemu实现,但不是完全依赖qemu。

原文链接:

6、使用 tcpdump 监听主机为 192.168.1.1,tcp 端口为 80 的数据,同时将输出结果保存输出到 tcpdump.log

答:tcpdump 'host 192.168.1.1 and port80' > tcpdump.log

7、Linux 系统中病毒怎么解决?发现一个病毒文件你删除了你又自动创建怎么解决?

针对这种情况一般重点查看netstat连接的外网IP和端口。用lsof -p pid 可以查看到具体是那些进程,那些文件,经查勘发现/root下有相关的配置conf.n hhe两个可疑的文件,rm -rf后不到一分钟就自动生成了,由此推断是某个母进程产生的这些文件,所以找到母进程就是找到罪魁祸首了,查杀病毒最好断掉外网访问,还好是内网服务器,可以通过内网访问断了内网,病毒就失去外联的能力,杀掉它就容易的多,怎么找到呢?

找了半天也没有看到蛛丝马迹,没办法只有ps axu一个个排查,方法是查看可以的用户和和系统相似而又不 是的冒牌货,果然,看到了如下进程可疑,看不到图片是/usr/bin/.sshd,

于是我杀掉 所有**.sshd相关的进程**,然后直接删掉.sshd这个可执行文件,然后才删掉了文章开头提到 的自动复活的文件 总结一下,遇到这种问题,如果不是太严重,尽量不要重装系统 一般就是先断外网,然后利用iftop,ps,netstat,chattr,lsof,pstree这些工具顺藤摸瓜 一般 都能找到元凶。但是如果遇到诸如此类的问**/boot/efifi/EFI/redhat/grub.efifi:** Heuristics.Broken.Executable FOUND,个人觉得就要重装系统了

原文链接:

8、如下样本文件a.txt:

192.168.0.1 (asd1.a.com)

192.168.0.1 (2asd.a.com)

192.168.0.1 (sd.a.com)

192.168.0.1 (sasdfd.a.com)

192.168.0.1 (ssdfd.a.com)

192.168.0.1 (sdasdf.b.com)

192.168.0.1 (asd.c.com)

192.168.0.1 (asd.F.net)

192.168.0.1 (sdf.G.c0m)

192.168.0.1 (sdfasd1.s.com.cn)

如何统计括号内字符串出现的次数?

答:

9、谈谈之前维护过的云平台,有哪些功能模块?

答:资源模块,产品模块,订单模块,监控模块,账单模块,报表模块,配额模块,自服务模块,大屏展示模块。

10、磁盘RAID级别有几种,分别是哪几种?你了解或者使用过哪几种,请写出它们的大概描述和区别?

答:

RAID 0

图片[1]-【面试试题】云计算运维工程师部分面试题(本人之前面试的部分题目及自己的相关解答)-JieYingAI捷鹰AI

将多个磁盘合并成一个大的磁盘,不具有冗余,并行I/O,速度最快。RAID 0亦称为带区集。它是将多个磁盘并列起来,成为一个大磁盘。在存放数据时,其将数据按磁盘的个数来进行分段,然后同时将这些数据写进这些盘中,所以在所有的级别中,RAID 0的速度是最快的。但是RAID 0没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都会丢失,危险程度与JBOD相当。

理论上越多的磁盘性能就等于“单一磁盘性能”ד磁盘数”,但实际上受限于总线I/O瓶颈及其它因素的影响,RAID性能会随边际递减,也就是说,假设一个磁盘的性能是50MB每秒,两个磁盘的RAID 0性能约96MB每秒,三个磁盘的RAID 0也许是130MB每秒而不是150MB每秒,所以两个磁盘的RAID 0最能明显感受到性能的提升。

但如果是以软件方式来实现RAID,则磁盘的空间则不见得受限于此(例如Linux Software RAID),通过软件实现可以经由不同的组合而善用所有的磁盘空间。

RAID 1

图片[2]-【面试试题】云计算运维工程师部分面试题(本人之前面试的部分题目及自己的相关解答)-JieYingAI捷鹰AI

两组以上的N个磁盘相互作镜像,在一些多线程操作系统中能有很好的读取速度,理论上读取速度等于硬盘数量的倍数,另外写入速度有微小的降低。只要一个磁盘正常即可维持运作,可靠性最高。RAID 1就是镜像,其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。但无论用多少磁盘做RAID 1,仅算一个磁盘的容量,是所有RAID中磁盘利用率最低的一个级别。

如果用两个不同大小的磁盘建RAID 1,可用空间为较小的那个磁盘,较大的磁盘多出来的空间也可以分区成一个区来使用,不会造成浪费。

RAID 5

图片[3]-【面试试题】云计算运维工程师部分面试题(本人之前面试的部分题目及自己的相关解答)-JieYingAI捷鹰AI

RAID Level 5是一种储存性能、数据安全和存储成本兼顾的存储解决方案。它使用的是Disk Striping(硬盘分区)技术。RAID 5至少需要三颗硬盘,RAID 5不是对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,可以利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比镜像低而磁盘空间利用率要比镜像高。RAID 5具有和RAID 0相近似的数据读取速度,只是因为多了一个奇偶校验信息,写入数据的速度相对单独写入一块硬盘的速度略慢,若使用“回写高速缓存”可以让性能改善不少。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较便宜。

图片[3]-【面试试题】云计算运维工程师部分面试题(本人之前面试的部分题目及自己的相关解答)-JieYingAI捷鹰AI

RAID 10 / RAID 01

图片[5]-【面试试题】云计算运维工程师部分面试题(本人之前面试的部分题目及自己的相关解答)-JieYingAI捷鹰AI

图片[6]-【面试试题】云计算运维工程师部分面试题(本人之前面试的部分题目及自己的相关解答)-JieYingAI捷鹰AI

RAID 10是先镜射再分区数据,再将所有硬盘分为两组,视为是RAID 0的最低组合,然后将这两组各自视为RAID 1运作。

RAID 01则是跟RAID 10的程序相反,是先分区再将数据镜射到两组硬盘。它将所有的硬盘分为两组,变成RAID 1的最低组合,而将两组硬盘各自视为RAID 0运作。

当RAID 10有一个硬盘受损,其余硬盘会继续运作。RAID 01只要有一个硬盘受损,同组RAID 0的所有硬盘都会停止运作,只剩下其他组的硬盘运作,可靠性较低。如果以六个硬盘建RAID 01,镜射再用三个建RAID 0,那么坏一个硬盘便会有三个硬盘脱机。因此,RAID 10远较RAID 01常用,零售主板绝大部份支持RAID 0/1/5/10,但不支持RAID 01。

最后说说为什么RAID10比RAID 01好且靠谱:

RAID0+1是先做两个RAID0,然后再做RAID1,因此RAID0+1允许坏多个盘,但只能在坏在同一个RAID0中,不允许两个RAID0都有坏盘。

RAID1+0是先做RAID1,然后再做RAID0,因此RAID1+0允许坏多个盘,只要不是一对磁盘坏就可以啦。

因此说RAID1+0比RAID0+1安全得多,因为在同一对磁盘中,两块磁盘都坏掉的概率很低。

RAID 0和RAID 1分别用于增强存储性能(RAID 0 条带)和数据安全性(RAID 1 镜像),而RAID 0+1和RAID 10兼顾了RAID 0和RAID 1的优点,它在提供RAID 1一样的数据安全保证的同时,也提供了与RAID 0近似的存储性能。虽然RAID 0+1和RAID 10基本原理相近,都是RAID0和RAID1的结合,不过还是有些区别。

在MySQL数据库中,通常我们选用RAID 10。

原文链接:

11、云网络架构和负载均衡及方案有哪些?或者接触过哪些型号的相关设备?

答:

12、云平台运维工程师都需要具备哪些技能和职业品质?

答:

1、扎实的计算机基础知识,包括计算机系统架构,操作系统,网络技术等;

2、数据分析能力:能够整理、分析系统运行的各项数据,从中发现问题及找到解决方向;

3、综合利用工具和平台的能力;

4、丰富的系统知识,包括系统工具、典型系统架构、常见的平台选型等;

5、时间管理能力,特别是碎片化时间的处理能力;

6、沟通能力、团队协作,运维工作跨部门、跨工种工作很多,需善于沟通、并且团队协作能力要强;

7、主动性、执行力,能够主动学习国际国内的运维技术,并引入到工作中,提高运维的质量和效率。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
来说点什么吧!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容