【⾯试试题】云计算运维⼯程师部分⾯试题(本⼈之前⾯试的
部分题⽬及⾃⼰的相关解答)
⽬录
1、x86 发⽣⽆法恢复的硬件故障之后,会触发中断通知操作系统,相关的中断类型有哪些?
答:分为外部中断和内部中断;其中外部中断分为⾮屏蔽终端NMI,可屏蔽中断INTR;内部中断分为微处理器内部中断,软件中断;
优先级:1(⾼):内部中断(除单步中断);2:NMI;3:INTR (IRQ0, ... , IRQ7);4(低):单步中断
2、ps 查看系统进程时,有⼀列 STAT,如果当前进程的 stat 为Ss 表⽰说明含义?如果为 Z 表⽰什么含义?
答:S表⽰正在休眠;s表⽰主进程;Z表⽰僵⼫进程。
3、说出下列虚拟机 XML ⽂件每⾏代表的含义,在语句后⾯注明即可。
<domain type='kvm'>
<name>win7-02</name>
<uuid>6ce14f21-33ac-dc79-5554-66ccc80ea17</uuid>
<title>This is my firest test kvm</title>
<momery unit='KiB'>2097152</momery>
<currentMemory unit='KiB'>2097152</currentMemory>
<vcpu placement='static'>1</vcpu>
<os>
<type arch='x86_64' machine='rhel6.5.0'>hvm</type>
<boot dev='cdrom' />
</os>
<features>
<acpi/>
<acpi/>
<pae/>
</features>
<cpu mode='host-passthrough'>
<topology sockets='1' cores='4' threads='1'/>
</cpu>
答:
//domain 是⼀个所有虚拟机都需要的根元素,它有两个属性,type定义使⽤哪个虚拟机管理程序,值可以是:xen、kvm、qemu、
lxc、kqemu,第⼆个参数是id,它唯⼀的标⽰⼀个运⾏的虚拟机,不活跃的客户端没有id。
<domain type='kvm'>
//name参数为虚拟机定义了⼀个简短的名字,必须唯⼀。
<name>win7-02</name>
//uuid为虚拟机定义了⼀个全球唯⼀的标⽰符,uuid的格式必须遵循RFC 4122指定的格式,当创建虚拟机没有指定uuid时会随机的⽣成⼀个uuid。
<uuid>6ce14f21-33ac-dc79-5554-66ccc80ea17</uuid>
//title参数提供⼀个对虚拟机简短的说明,它不能包含换⾏符。
<title>This is my firest test kvm</title>
///最⼤内存,单位:KB
<momery unit='KiB'>2097152</momery>
//可⽤内存,单位:KB
<currentMemory unit='KiB'>2097152</currentMemory>
//CPU的数量
<vcpu placement='static'>1</vcpu>
//系统引导设备配置,⽆需⼿动修改
<os>
//machine:宿主机的操作系统
<type arch='x86_64' machine='rhel6.5.0'>hvm</type>
怎么查自己的ip//boot:指定启动设备,可以重复多⾏,指定不同的值,作为⼀个启动设备列表。
<boot dev='cdrom' />
</os>
//以下处理器特性:Hypervisors允许特定的CPU/机器特性打开或关闭,所有的特性都在fearures元素中,以下介绍⼀些在全虚拟化中常⽤的标记:
//pae:扩展物理地址模式,使32位的客户端⽀持⼤于4GB的内存
//acpi:⽤于电源管理
//hap:Enable use of Hardware Assisted Paging if available in the hardware.
<features>
<acpi/>
<acpi/>
<pae/>
</features>
//以上处理器特性
//CPU配置,cpu mode可以写成'host-passthrough',意思是使⽤真机的CPU
<cpu mode='host-passthrough'>
//socket是指主板上能够放置的处理器芯⽚的个数:1;core其实可以是指物理的实际的core,也可以是虚拟的core:4核;每个core的硬件线程数,即超线程:1;
core的硬件线程数,即超线程:1;
<topology sockets='1' cores='4' threads='1'/>
</cpu>
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 port 80' > tcpdump.log
7、Linux 系统中病毒怎么解决?发现⼀个病毒⽂件你删除了你⼜⾃动创建怎么解决?
针对这种情况⼀般重点查看netstat连接的外⽹IP和端⼝。⽤lsof -p pid 可以查看到具体是那些进程,那些⽂件,经查勘发现/root下有相关的配置conf.n hhe两个可疑的⽂件,rm -rf后不到⼀分钟就⾃动⽣成了,由此推断是某个母进程产⽣的这些⽂件,所以到母进程就是到罪魁祸⾸了,查杀病毒最好断掉外⽹访问,还好是内⽹服务器,可以通过内⽹访问断了内⽹,病毒就失去外联的能⼒,杀掉它就容易的多,怎么到呢?
了半天也没有看到蛛丝马迹,没办法只有ps axu⼀个个排查,⽅法是查看可以的⽤户和和系统相似⽽⼜不 是的冒牌货,果然,看到了如下进程可疑,看不到图⽚是/usr/bin/.sshd,
8、如下样本⽂件a.txt:
192.168.0.1 (asd1.a)
192.168.0.1 (2asd.a)
192.168.0.1 (sd.a)
192.168.0.1 (sasdfd.a)
192.168.0.1 (ssdfd.a)
192.168.0.1 (sdasdf.b)
192.168.0.1 (asd.c)
192.168.0.1 (asd.F)
192.168.0.1 (sdf.G.c0m)
192.168.0.1 (sdfasd1.s)
如何统计括号内字符串出现的次数?
答:
9、谈谈之前维护过的云平台,有哪些功能模块?
答:资源模块,产品模块,订单模块,监控模块,账单模块,报表模块,配额模块,⾃服务模块,⼤屏展⽰模块。
10、磁盘RAID级别有⼏种,分别是哪⼏种?你了解或者使⽤过哪⼏种,请写出它们的⼤概描述和区别?
答:
RAID 0
将多个磁盘合并成⼀个⼤的磁盘,不具有冗余,并⾏,速度最快。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
两组以上的N个磁盘相互作,在⼀些多线程操作系统中能有很好的读取速度,理论上读取速度等于硬盘数量的倍数,另外写⼊速度有微⼩的降低。只要⼀个磁盘正常即可维持运作,可靠性最⾼。RAID 1就是镜像,其原理为在主硬盘上存放数据的同时也在镜像硬盘上写⼀样的数据。当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的⼯作。因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。但⽆论⽤多少磁盘做RAID 1,仅算⼀个磁盘的容量,是所有RAID中磁盘利⽤率最低的⼀个级别。
如果⽤两个不同⼤⼩的磁盘建RAID 1,可⽤空间为较⼩的那个磁盘,较⼤的磁盘多出来的空间也可以分区成⼀个区来使⽤,不会造成浪费。
RAID 5
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论