精华内容
下载资源
问答
  • 系统运维面试题

    2020-05-21 22:06:56
    外话:raid5 VS raid10 只看盘的数量的话,raid5的写性能不逊于raid10. 4盘的情况下,raid10提供2盘的写性能,raid5提供3盘 但,raid5的校检体质,导致额外的I0和CPU使用。 所以都可以做 数据冗余是指? 解析:...

    基础

    选择

    1. 6块1T硬盘做完raid50后,可供使用内存有多大?
      解析: raid50备份方案为两组RAID5组成RAID0,做raid 5阵列所有磁盘容量必须一样大,当容量不同时,会以最小的容量为准。 最好硬盘转速一样,否则会影响性能,而且可用空间=磁盘数n-1,Raid 5 没有独立的奇偶校验盘,所有校验信息分散放在所有磁盘上, 只占用一个磁盘的容量。两组RAID5会牺牲两块盘的空间,所以容量是N-2
      在这里插入图片描述
      所以是4T。
    2. 4块1T硬盘哪种RAID级别做不了?
      A. RAID5 B.RAID6 C.RAID10 D.RAID1
      解析:
      Raid 0:一块硬盘或者以上就可做raid0
      优势:数据读取写入最快,最大优势提高硬盘容量,比如3快80G的硬盘做raid0 可用总容量为240G。速度是一样。
      缺点:无冗余能力,一块硬盘损坏,数据全无。
      建议:做raid0 可以提供更好的容量以及性能,推荐对数据安全性要求不高的使用。

    Raid 1:至少2块硬盘可做raid1
    优势:镜像,数据安全强,2快硬盘做raid一块正常运行,另外一块镜像备份数据,保障数据的安全。一块坏了,另外一块硬盘也有完整的数据,保障运行。
    缺点:性能提示不明显,做raid1之后硬盘使用率为50%.
    建议:对数据安全性比较看重,性能没有太高要求的人使用。

    Raid5:至少需要3块硬盘raid5
    优势:以上优势,raid5兼顾。任意N-1快硬盘都有完整的数据。
    缺点:只允许单盘故障,一盘出现故障得尽快处理。有盘坏情况下,raid5 IO/CPU性能狂跌,此时性能烂到无以复加。
    建议:盘不多,对数据安全性和性能提示都有要求,raid5是个不错选择,鉴于出问题的性能,盘多可考虑riad10

    Raid6:至少需要4块硬盘做raid6
    优势:raid6是再raid5的基础上为了加强数据保护而设计的。可允许损坏2块硬盘。
    可用容量:C=(N-2)×D C=可用容量 N=磁盘数量 D=单个磁盘容量。
    比如4块1T硬盘做raid6可用容量是:(4-2)×1000GB=2000GB=2T
    缺点:性能提升方面不明显
    建议:对数据安全性要求高,性能要求不高的可选择。

    Raid10:至少需要4块硬盘。raid10是2组硬盘组成raid1,2组raid1组成raid0,所以必须需要4块硬盘。
    优势:兼顾安全性和速度。基础4盘的情况下,raid10允许对柜盘2块故障,随着硬盘数量的提示,容错量也会相对应提升。这是raid5无法做到的。
    缺点:对盘的数量要求稍高,磁盘使用率为一半。
    建议:硬盘数量足够的情况,建议riad10.

    题外话:raid5 VS raid10
    只看盘的数量的话,raid5的写性能不逊于raid10.
    4盘的情况下,raid10提供2盘的写性能,raid5提供3盘
    但,raid5的校检体质,导致额外的I0和CPU使用。

    所以都可以做

    1. 数据冗余是指?
      解析:存在重复的数据

    填空

    1. 在常用的各种RAID级别中,空间利用率最低,但安全性最大的是(RAID10)RAID 1在这里就是一个冗余的备份阵列,而RAID 0则负责数据的读写阵列,损失一半空间
    2. RAID磁盘阵列中不具有容错技术的是(RAID0)
    3. 说明下列RAID技术至少需要几块盘
      RAID0 (一块)
      RAID1 (两块)
      RAID5 (三块)
      RAID10(四块)

    简答

    RAID的核心技术是什么?

    镜像,将数据复制到多个磁盘,一方面可以提高可靠性,另一方面可并发从两个或多个副本读取数据来提高读性能。显而易见,镜像的写性能要稍低, 确保数据正确地写到多个磁盘需要更多的时间消耗。
    数据条带,将数据分片保存在多个不同的磁盘,多个数据分片共同组成一个完整数据副本,这与镜像的多个副本是不同的,它通常用于性能考虑。数据条带具有更高的并发粒度,当访问数据时,可以同时对位于不同磁盘上数据进行读写操作, 从而获得非常可观的 I/O 性能提升 。
    数据校验,利用冗余数据进行数据错误检测和修复,冗余数据通常采用海明码、异或操作等算法来计算获得。利用校验功能,可以很大程度上提高磁盘阵列的可靠性、鲁棒性(https://baike.baidu.com/item/%E9%B2%81%E6%A3%92%E6%80%A7/832302?fr=aladdin)和容错能力。不过,数据校验需要从多处读取数据并进行计算和对比,会影响系统性能。 不同等级的 RAID 采用一个或多个以上的三种技术,来获得不同的数据可靠性、可用性和 I/O 性能。

    作者:王奥(OX)
    链接:https://www.zhihu.com/question/20131784/answer/90235520
    来源:知乎

    1. 磁盘的种类有哪些,请简要说明?
      按磁盘材质分:
      SSD固态硬盘(Solid State Drive):
      用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯
      片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品
      外形和尺寸上也完全与普通硬盘一致。被广泛应用于军事、车载、工控、视频监控、网络监
      控、网络终端、电力、医疗、航空、导航设备等领域。
      优点:读写速度快;防震抗摔性;低功耗;无噪音;工作温度范围大;轻便
      缺点:容量小;寿命有限;售价高

    HHD混合硬盘(hybrid harddrive,HHD): 是既包含传统硬盘又有闪存(flashmemory)模块
    的大容量存储设备。闪存处理存储中写入或恢复最频繁的数据。很多公司开始提供这项技术的
    变体,他们期望它会在高端系统中受到追捧,尤其是在笔记本电脑和个人数字助理中。

    相比传统硬盘,混合硬盘(hybrid hard drive,HHD)有很多优点,包括:
    应用中的数据存储与恢复更快,如文字处理机
    系统启动时间减少
    功耗降低
    生成热量减少
    硬盘寿命延长
    笔记本和PAD的电池寿命延长
    工作噪声级别降低
    混合硬盘(hybrid hard drive,HHD)的不足包括:
    硬盘中数据的寻道时间更长
    硬盘的自旋变化更频繁
    闪存模块处理失败,不可能进行其中的数据恢复
    系统的硬件总成本更高(现在应用不多,基本淘汰,属于SSD和HDD的中间过渡产物)

    传统硬盘(HDD,Hard Disk Drive的缩写):
    即硬盘驱动器的英文名。最基本的电脑存储器,我们电脑中常说的电脑硬盘
    C盘、D盘为磁盘分区都属于硬盘驱动器。目前硬盘一般常见的磁盘容量为80G、128G、
    160G、256G、320G、500G、750G、1TB、2TB等等。硬盘按体积大小可分为3.5寸、2.5
    寸、1.8寸等;按转数可分为5400rpm/7200rpm/10000rpm等;
    按接口分:
    从整体的角度上,硬盘接口分为IDE、SATA、SCSI、SAS和光纤通道五种,IDE接口硬盘多用于家用产品中,也部分应用于服务器,SCSI接口的硬盘则主要应用于服务器市场而光纤通道只用于高端服务器上,价格昂贵。SATA主要应用于家用市场,有SATA、SATAⅡ、SATAⅢ,是现在的主流
    性能与价格都是升序排布。

    1. 服务器结构类型有哪些,请简要说明?
      目前按照外形结构划分,服务器可分为塔式、机架式、刀片式三种类型
    2. 重装系统需要注意的事情有哪些?
      1、服务器重装最重要的事情当然是备份数据,一定要将数据完整的备份好并确认无误再进行重装。
      2、然后是驱动,最好提前下载好官方原版的驱动程序。
      3、记录服务器原有的设置,比如IP分配方式等。
      4、重装有两种,一种是只重装系统盘,装完后要首先进行全盘杀毒,然后再安装软件,另外一种是全盘重装,可能会重新分区格式化,建议能修复优化的前提下最好不要重装服务器,因为涉及到的软件及系统组件可能会很多!
    3. linux启动过程
      在这里插入图片描述
      在这里插入图片描述
    4. 个位数RAID的特点 略
    5. 32位操作系统最大可使用(4G)内存。寻址空间有限
    6. 一块新买的硬盘如何才能在服务器上使用?
      最简回答:格式化硬盘、挂载
      https://jingyan.baidu.com/article/c1465413fec6810bfdfc4c55.html
    7. 主板上的电池作用:
      电池的作用是在电脑关闭以后,继续为主板上的BIOS模块供电以保存BIOS设置信息
    8. 磁盘的四个部分:()
      四个部分组成,分别为引导块、专用块、i节点表块和数据存储块。
      Linux系统中的每个文件都被赋予一个唯一的数值,这个数值称做索引节点。索引节点存储在一个称作索引节点表<inodetable>中,该表在磁盘格式化时被分配。每个实际的磁盘或分区都有其自己的索引节点表。一个索引节点包含文件的所有信息,包括磁盘上数据的地址和文件类型。文件类型包括如普通文件、目录和特殊文件这样的信息。
      linux硬盘组织方式为:引导区、超级块(superblock),索引结点(inode),数据块(datablock),目录块(diredtoryblock)。其中超级块中包含了关于该硬盘或分区上的文件系统的整体信息,如文件系统的大小等;超级块后面的数据结构是索引结点,它包含了针对某一个具体文件的几乎全部信息,如文件的存取权限、所有者、大小、建立时间以及对应的目录块和数据块等;数据块是真正存储文件内容的位置。但是索引结点中不包括文件的名字,文件名是放在目录块里的。目录块里包含有文件的名字以及此文件的索引结点编号。
    9. 系统交换分区是作为系统(虚拟存储器)的一块区域。
    10. 多核CPU与单核cpu的优缺点,是不是所有程序在多核CPU上运行都快?为什么?
      不是的,操作系统调度只管线程,没有进程的调度
    11. 服务器主要有哪些部分组成?
      内存:数据临时存储的位置
      硬盘:数据永久存储的位置
      电源:供电
      CPU:进行数据运算
      风扇:提供散热
    12. 说一说以前工作中的服务器品牌和型号
      服务器型号介绍以DELL服务器为例
      2010以前:1U的:1850、1950
      2U的:2850、2950
      2010~2013年:1U :R410、R610
      2U:R710
      2014~2016年:1U:R420/430 、R620/630
      2U:R70/R730
      第一位是字母:代表此服务器的型号
      R:Rack,机架式服务器
      T:Tower,塔式服务器
      M:Modular,模块化的意思,实际上就是刀片服务器
      C:比较特别的一个系列,为数据中心解决方案部门提出的高密度服务器,也称之为微服务 器,命名方式也与其它系列不同。
      第二位是数字:代表此服务器在整个产品线中的位置。6说明是主流机型,其它包括:

    1和2系列是基础入门级的单路CPU服务器,是小型企业首台服务器的理想之选;
    3、4、5系列为中高端的单路CPU和入门级的双路CPU服务器,可选的高级系统管理功能,能满足一般业务的需求,适合远程站点和较大公司部门使用,也可作为中小型企业的核心业务应用程序服务器;
    6、7、8系列是主流的双路CPU和入门级的四路CPU服务器,拥有强大的性能,能够满足大部分企业级应用需求,适合需要卓越的虚拟化、系统管理能源效率的服务器机房、企业数据中心和远程站点使用;
    9系列是最高端的四路CPU服务器。拥有强大的计算能力,支持超大内存。适合需要最高性能、可靠性和I/O可扩展性的关键任务应用程序。至于8路CPU的服务器,戴尔曾经在第4代PowerEdge服务器中推出过对应产品。后续由于处理器超线程以及多核技术在服务器产品上的普及,戴尔逐步将其8路服务器产品线过渡到4路多核服务器上,因此不再开发新的8路服务器产品。
    第三位是数字:代表此服务器是第几代的服务器。

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    编辑/etc/sysconfig/i18n这个文件,
    不管你装的是中文版,还是英文版.删掉原来的设置,把下面的拷贝过去
    LANG=“zh_CN.GB18030”
    SUPPORTED=“zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en”
    SYSFONT=“latarcyrheb-sun16”
    保存,重起.OK了
    这时候,linux控制台下就可以显示中文了,
    在RHEL5中对应的文件是/usr/lib/locale/zh_CN.gb18030

    /etc/sysconfig/i18n 这里存放的是系统的区域语言设置
    第一行 表明你当前系统的语言环境变量设置 ,这里是 zh_CN.GB18030
    第二行 表明系统预置了那些语言支持 ,不在项目中的语言不能正常显示
    第三行 定义控制台终端字体,你文本登录的时候显示的字体就是这个 latarcyrheb-sun16
    注:
    I18N 是 internationalization 的缩写形式,意即在 i 和 n 之间有 18 个字母,本意是指软件的“国际化”.
    I18N支持多种语言,不过同一时间只能是英文和一种选定的语言,例如英文+中文、英文+德文、英文+韩文等等;
    原来的:
    LANG=“zh_CN.UTF-8”
    SUPPORTED=“zh_CN.UTF-8:zh_CN:zh”
    SYSFONT=“latarcyrheb-sun16”
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    展开全文
  • 最新Linux系统运维面试题(共四十页附答案)
  • 最新Linux系统运维面试题(附答案),真的很好,测试下大家
  • 此文档是系统运维面试题总结1(过程、原理、作用等),涉及dns、dhcp、PXE、系统启动过程、ftp的工作模式等
  • 这里给大家整理了一些Linux系统运维相关的面试题,有些问题没有标准答案,希望要去参加Linux运维面试的朋友,可以先思考下这些问题。 1、Linux如何挂载windows下的共享目录? ...

    这里给大家整理了一些Linux系统运维相关的面试题,有些问题没有标准答案,希望要去参加Linux运维面试的朋友,可以先思考下这些问题。

    1、Linux如何挂载windows下的共享目录?

    mount.cifs  //IP地址/server /mnt/server -o user=administrator,password=123456

    linux 下的server需要自己手动建一个 后面的user与pass 是windows主机的账号和密码 注意空格 和逗号

    2、如何查看http的并发请求数与其TCP连接状态?

    netstat -n | awk ‘/^tcp/ {++b[$NF]}’ END {for(a in b) print a,b[a]}’

    还有ulimit -n 查看linux系统打开最大的文件描述符,这里默认1024,不修改这里web服务器修改再大也没用。若要用就修改很几个办法,这里说其中一个:

    修改/etc/security/limits.conf

    * soft nofile 10240

    * hard nofile 10240

    重启后生效

    3、如何用tcpdump嗅探80端口的访问看看谁最高?

    tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F”.” ‘{print $1″.”$2″.”$3″.”$4″.”}’ | sort |uniq -c | sort -nr | head-5

    4、如何查看/var/log目录下的文件数?

    ls /var/log/ -1R | grep “-” | wc -l

    5、如何查看Linux系统每个ip的连接数?

    netstat -n | awk ‘/^tcp/ {print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -rn

    6、shell下生成32位随机密码?

    cat /dev/urandom | head -1 | md5sum | head -c 32 >> /pass

    7、统计出apache的access.log中访问量最多的5个ip?

    cat access.log | awk ‘{print $1}’ | sort | uniq -c | sort -n -r | head -5

    8、如何查看二进制文件的内容?

    我们一般通过hexdump命令 来查看二进制文件的内容。

    hexdump -C XXX(文件名) -C是参数 不同的参数有不同的意义

    -C 是比较规范的 十六进制和ASCII码显示

    -c 是单字节字符显示

    -b 单字节八进制显示

    -o 是双字节八进制显示

    -d 是双字节十进制显示

    -x 是双字节十六进制显示

    9、ps aux 中的VSZ代表什么意思,RSS代表什么意思?

    VSZ: 虚拟内存集,进程占用的虚拟内存空间。

    RSS: 物理内存集,进程战用实际物理内存空间。

    10、如何检测并修复/dev/hda5?

    fsck用来检查和维护不一致的文件系统。若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。

    11、介绍下Linux系统的开机启动顺序?

    加载BIOS–>读取MBR–>Boot Loader–>加载内核–>用户层init一句inittab文件来设定系统运行的等级(一般3或者5,3是多用户命令行,5是界面)–>init进程执行rc.syninit–>启动内核模块–>执行不同级别运行的脚本程序–>执行/etc/rc.d/rc.local(本地运行服务)–>执行/bin/login,就可以登录了。

    12、符号链接与硬链接的区别?

    我们可以把符号链接,也就是软连接,当做是 Windows系统里的快捷方式。

    硬链接 就好像是 又复制了一份,举例说明:

    ln 3.txt 4.txt 这是硬链接,相当于复制,不可以跨分区,但修改3,4会跟着变,若删除3,4不受任何影响。

    ln -s 3.txt 4.txt 这是软连接,相当于快捷方式。修改4,3也会跟着变,若删除3,4就坏掉了,不可以用了。

    13、保存当前磁盘分区的分区表?

    dd if=/dev/sda of=./mbr.txt bs=1 count=512

    14、如何在文本里面进行复制、粘贴,删除行,删除全部,按行查找和按字母查找?

    以下操作全部在命令行状态操作,不要在编辑状态操作。

    在文本里移动到想要复制的行 按 yy 想复制到哪就移动到哪,然后按 P 就粘贴了。

    删除行 移动到改行 按dd。

    删除全部 dG 这里注意G一定要大写。

    按行查找:90 这样就是找到第90行。

    按字母查找 /path 这样就是 找到path这个单词所在的位置,文本里可能存在多个,多次查找会显示在不同的位置。

    15、手动安装grub?

    grub-install /dev/sda

    16、修改内核参数?

    vi /etc/sysctl.conf 这里修改参数

    sysctl -p 刷新后可用

    17、在1-39内取随机数?

    expr $[RANDOM%39] +1

    RANDOM随机数

    %39取余数范围0-38

    18、限制apache每秒新建连接数为1,峰值为3?

    每秒新建连接数一般都是由防火墙来做,apache本身好像无法设置每秒新建连接数,只能设置最大连接:

    iptables -A INPUT -d 172.16.100.1 -p tcp –dport 80 -m limit –limit 1/second -j ACCEPT

    19、FTP的主动模式和被动模式

    FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。

    PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用 PORT 命令告诉服务器:“我打开了XX端口,你过来连接我”。于是服务器从20端口向客户端的 XX 端口发送连接请求,建立一条数据链路来传送数据。

    PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用 PASV 命令告诉客户端:“我打开了XX端口,你过来连接我”。于是客户端向服务器的 XX 端口发送连接请求,建立一条数据链路来传送数据。

    从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。

    20、显示/etc/inittab中以#开头,且后面跟了一个或者多个空白字符,而后又跟了任意非空白字符的行?

    grep “^ #{1,}[^]” /etc/inittab

    21、显示/etc/inittab中包含了:一个数字:(即两个冒号中间一个数字)的行?

    grep “:[0-9]{1}:” /etc/inittab

    22、怎么把脚本添加到系统服务里,即用service来调用?

    在脚本里加入:

    #!/bin/bash

    # chkconfig: 345 85 15

    # description: httpd

    然后保存,chkconfig httpd –add 创建系统服务,现在就可以使用service 来 start or restart。

    23、写一个脚本,实现批量添加20个用户,用户名为user01-20,密码为user后面跟5个随机字符?

    #!/bin/bash

    #description: useradd

    for i in `seq -f”%02g” 1 20`;do

    useradd user$i

    echo “user$i-`echo $RANDOM|md5sum|cut -c 1-5`”|passwd –stdinuser$i >/dev/null 2>&1

    done

    24、写一个脚本,实现判断192.168.1.0/24网络里,当前在线的IP有哪些,能ping通则认为在线?

    #!/bin/bash

    for ip in `seq 1 255`

    do

    ping -c 1 192.168.1.$ip > /dev/null 2>&1

    if [ $? -eq 0 ]; then

    echo 192.168.1.$ip UP

    else

    echo 192.168.1.$ip DOWN

    fi

    }&

    done

    wait

    25、写一个脚本,判断一个指定的脚本是否是语法错误;如果有错误,则提醒用户键入Q或者q无视错误并退出其它任何键可以通过vim打开这个指定的脚本?

    [root@localhost tmp] # cat checksh.sh

    #!/bin/bash

    read -p “please input check script-> ” file

    if [ -f $file ]; then

    sh -n $file > /dev/null 2>&1

    if [ $? -ne 0 ]; then

    read -p “You input $file syntax error,[Type q to exit or Type vim to edit]” answer

    case $answer in

    q | Q)

    exit 0

    ;;

    vim )

    vim $file

    ;;

    *)

    exit 0

    ;;

    esac

    fi

    else

    echo “$file not exist”

    exit 1

    fi

    26、写一个脚本,要求如何?

    创建一个函数,能接受两个参数:

    1)第一个参数为URL,即可下载的文件;第二个参数为目录,即下载后保存的位置;

    2)如果用户给的目录不存在,则提示用户是否创建;如果创建就继续执行,否则,函数返回一个51的错误值给调用脚本;

    3)如果给的目录存在,则下载文件;下载命令执行结束后测试文件下载成功与否;如果成功,则返回0给调用脚本,否则,返回52给调用脚本。

    37965d528fde4f6cbeed92ac5ec18bd6.jpeg

    另外再给大家分享一份试题,不妨自己试着做一下:

    一、Linux操作系统知识

    1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块?

    2.Linux开机启动流程详细步骤是什么?系统安装完,忘记密码如何破解?

    3.企业中Linux服务器系统分区标准是什么?(以硬盘为300G,内存16G为例)

    4.某一天突然发现Linux系统文件只读,该怎么办呢?完整操作步骤。

    5.安装一台系统使用DVD光盘安装,如何安装50台Linux系统如何安装呢?思考一下。

    6.用虚拟机安装了一台Linux系统,突然想一台服务器,后发现无法上网,如何解决?

    7.Linux网卡配置文件路径是什么?要使服务器上外网,必须满足的条件有哪些?需要配置什么?

    8.一般可以使用什么软件远程linux服务器?通过什么上传文件和下载文件?

    9./mnt目录主要用于什么?/root目录跟root用户有什么关系?/根目录与/boot目录有什么联系?

    10.某一天误操作,执行了rm -rf * ,会有哪些情况发生?请举例。

    二、Linux命令及文件操作

    1.在/tmp/目录下创建test.txt文件,内容为: Hello,World! ,用一个命令写出来。

    2.给test.txt文件除所有者之外增加执行权限,最终以数字写出文件的权限。

    3.用vi命令编辑test.txt,如何跳转到末行,首行,行首、行末,如何在光标行下一行插入,如何复制5行,删除10行,查找jingfeng的字符、把jingfeng替换为jfedu.net

    4.查找linux系统下以txt结尾,30天没有修改的文件大小大于20K同时具有执行权限的文件并备份到/data/backup/目录下。

    5.当前test.txt所属的用户为root,组为abc,请将test.txt使拥有者为abc,组为root,写出命令。

    6.如何修改Linux启动级别为字符模式并永久生效,如何临时、永久关闭selinux及防火墙,请分别写出操作方法。

    7.每次开机在/tmp目录下创建一个当天的日期文件夹(提示:当前日期表示的方法为:`date +%Y%m%d`)

    8.如何查看文件内容,命令有哪些?查看文件第1行到3行,查看文件最后一行。

    9.查看linux服务器IP的命令,同时只显示包含ip所在的行打印出来。

    10.将普通用户test加入root组的命令是?

    三、Linux磁盘及软件管理操作

    1.如何添加一块新的50G硬盘到linux服务器系统作为单独的分区,并正在使用?需要哪些操作步骤?

    2.有个金士顿U盘,需要往服务器/var/www/html/目录下上传一个index.html文件,如何操作并完成。

    3.有一块移动硬盘,上面有300G数据,如何快速cp到linux服务器?

    4.光盘里面有一个httpd-2.2.15.xx.rpm包,如何挂载并安装呢?

    5.使用rpm命令安装、卸载、删除、更新ntp-0.7.12.x86_64.rpm这个软包。

    6./var/www/html/是网站的发布目录,如何每天凌晨0点30对其进行自动备份,写出操作步骤?

    7.使用tar命令打包并压缩/root目录,然后移动到/tmp下,将其权限设置其他人只读。

    8.Yum命令与rpm命令的区别?如何使用rpm安装一个有依赖的包?

    9.在这个月内,每天的早上 6 点到 12 点中,每隔 2 小时创建一个test.txt文件,内容为ok,如何实现?

    10.将/usr/local/test目录下大于100K 的文件转移到/tmp 目录下。

    11.简述 raid0 raid1 raid5三种工作模式的工作原理及特点。

    12.如何查看占用端口 8080 的进程。

    四、Linux服务配置及管理

    1.请写出 apache2.X 版本的两种工作模式,以及各自工作原理。如何查看apache 当前所支持的模块,并且查看是工作在哪种模式下?

    2.Linux下nfs在客户端无法挂载,请写出排查步骤?

    3.Linux下已经部署了dhcp服务器,客户端无法获取的IP,如何解决?

    4.常见的FTP软件有哪些?Linux最常用的是?如何共享一个资源让他人使用用户名和密码访问?

    5.如何禁止FTP使用匿名用户登录?命令行如何访问ftp服务器?

    6.ApacheWEB服务器的发布目录在哪里?

    7.ApacheWEB服务器有几种工作模式,每种模式的简单区别?

    8.MySQL服务器的用途是?Apache和mysql可以安装在一台机器吗?如何查看apache和mysql端口和进程?

    9.如何在虚拟机上面部署4个网站,访问的域名分别为www.a1.com test.a1.com www.a2.com test.a2.com?

    10.假设 Apache 产生的日志文件名为access_log,在 apache 正在运行时,执行命令 mv access_log access_log.bak,执行完后,请问新的 apache的日志会打印到哪里,为什么?

    11.我们都知道 FTP 协议有两种工作模式,说说它们的大概的一个工作流程?

    12.Linux内核引导时,从哪个文件中读取要加载的文件系统。

    13.写出下面服务的常用端口ftp http dns snmp pop3、dhcp、nfs、mysql、samba等服务。

    14.Mysql创建数据库的命令,创建表的命令,插入语句的命令?

    15.Mysql备份命令?Mysql如何给root用户对jfedu授权访问,密码为jfedu.net,请写出命令?

    16.Mysql忘记密码该如何操作呢?

    17.Linux运维工程师都需要具备哪些技能和职业品质?


    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69916964/viewspace-2642188/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/69916964/viewspace-2642188/

    展开全文
  • 2013年最新Linux系统运维面试题(附答案)
  • 系统运维面试题总结1(过程、原理、作用等) 1、 系统启动过程 Linux系统启动过程首先进行开机自检,选择启动设备,引导装载程序,加载内核,然后初始化系统环境进程,确定运行级别(Linux七种启动级别0-6),...

    Linux系统运维面试题总结1(过程、原理、作用等)

     1、 系统启动过程

    Linux系统启动过程首先进行开机自检,选择启动设备,引导装载程序,加载内核,然后初始化系统环境进程,确定运行级别(Linux七种启动级别0-6),然后开始加载启动开机自启程序,linux用户登录。

    2、 web工作原理

    客户端web浏览器通过互联网TCP/IP协议与服务器建立TCP连接。web浏览器向服务器发送HTTP协议web页面请求包,请求服务器里的web资源。如果web服务器收到了HTTP协议web页面的请求后,就会向web浏览器里发送HTTP协议应答包。如果请求的资源包含有动态语言的内容,那么web服务器会调用动态语言的解释器处理“动态内容”,并将处理得到的web数据返回给web浏览器浏览。如果请求的文件不存在,则web服务器会返回相应的错误代码给web浏览器浏览,当web浏览器浏览完成后,就会断开服务器的连接。

    3、 dhcp工作原理

    (1)dhcp Client发现阶段:dhcp客户端寻找dhcp服务端的过程,对客户端发送dhcp Discover广播。
    (2)dhcp Server 提供阶段:dhcp服务器在网络中接收到dhcp Discover发现信息后做出响应,从尚未出租的IP地址中挑选一个分配给dhcp客户端,向dhcp客户端发送一个包含出租的IP地址的dhcp offer。
    (3)dhcp Client 确认阶段:如果有多台dhcp服务器向客户端发来dhcp offer,则客户端只接受第一个收到的dhcp offer,然后它就以广播方式回答一个dhcp request 。
    (4)dhcp Server确认阶段:当dhcp服务器收到客户端的dhcp request之后,它便向客户端发送dhcp ack确认信息.
    (5)DHCP Client重新登录网络:当dhcp Client重新登录后,就不需要再发送DHCP discover.
    (6)DHCP Client更新租约:dhcp获取到的IP有租约,租约过期后,dhcp  Server将回收该IP地址,如果dhcp Client想继续使用该IP地址,则必须更新租约。则会发送dhcp Renew报文来续约租期。

     

    4、 dns解析原理 

    当客户端要访问一个域名网站的时候,首先检测本地hosts文件有没有对应关系,如果有直接调用对应关系完成解析,如果没有,则提交域名解析请求,并将该请求发送给本地dns域名服务器(递归查询)。当本地dns域名服务器收到请求后,就先查询本地dns服务器里的缓存。如果查询到dns信息有记录,则直接返回查询的结果给客户端完成解析。如果没有,则本地dns域名服务器就把请求发给根域名服务器。根域名服务器查询后再返回给本地dns域名服务器一个所查询域的顶级域名服务器的地址。然后本地dns服务器再向返回的域名服务器地址发送请求。接收到该查询请求的dns顶级域名服务器查询其缓存和记录,如果有相关信息则返回客户端完成解析,否则返回客户端下级的dns域名服务器的地址。本地dns域名服务器将查询请求发送给返回的下级的dns服务器。下级dns域名服务器返回本地dns服务器查询结果。如果查询不到重复操作直到查询到,返回结果给客户端,完成解析。

    5、 nfs的作用

    nfs是网络文件系统。nfs允许一个系统在网络上与他人共享目录和文件。通过使用nfs,用户和程序可以像访问本地文件一样访问远端系统上的文件.nsf模式为c/s模式。

    6、 ftp的主动模式和被动模式

    主动模式:

    客户端连接到ftp服务器的21端口,发送用户名和密码,客户端随机开放一个端口(1024以上),发送port命令到ftp服务器,告诉服务器客户端采用主动模式并开放端口,ftp服务器收到port主动模式命令和端口后,通过服务器的20端口和客户端开放的端口连接,发送数据,默认ftp服务器端使用的主动连接端口就是port 20。(注:无论是主动还是被动模式,首先控制通道都是先建立起来,只是在数据传输模式上的区别)

    被动模式:

    客户端连接到ftp服务器所监听的21端口,发送用户名和密码,发送pasv命令到ftp服务器,ftp服务器在本地随机开放一个端口(1024以上),然后把开放的端口告诉客户端,然后客户端再连接到ftp服务器开放的端口进行数据传输。(注:客户端通过命令通道发送pasv命令发出被动连接请求)

     7、 pxe+kickstart安装系统原理

    (1)PXE严格来说并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC)。
    (2)kickstart的工作原理是通过设置的安装过程中所需人工干预填写的各种参数,并生成一个名为 ks.cfg的文件。在其的安装过程中,如果出现填写参数的情况时,安装程序会首先去查找 Kickstart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。

     

    展开全文
  • 企业常见系统运维面试题

    千次阅读 2017-07-23 15:18:51
    1、请描述下linux 系统的开机启动过程 开机加电BIOS自检----------->MBR引导----------->grub引导菜单----------->加载内核----------->启动init进程----------->读取inittab文件----------->启动mingetty进程----...

    1、请描述下linux 系统的开机启动过程

    开机加电BIOS自检----------->MBR引导----------->grub引导菜单----------->加载内核----------->启动init进程----------->读取inittab文件----------->启动mingetty进程----------->登录系统

     

    2、权威DNS和递归DNS含义,智能DNS的实现原理

    权威DNS

                 是经上一级授权对域名进行解析的DNS服务器,同时它可以把解析授权转授给其他服务器,

    递归DNS

                  负责接受用户对任何域名的查询,并返回结果给用户,它可以缓存结果避免用户再向上查询

    智能DNS

                  就是将对用户发起的查询进行判断出是哪个运营商的用户查询,然后将请求转发给相应的运营商IP处理,减少跨运营访问的时间,提高访问速度

     

    3、通过APACHE访问日志access.log统计IP和每个地址访问的次数,列出访问量前10名的IP地址,写出具体命令

          awk '{print $1}' access.log|uniq -c|sort -rn |head -10

     

    4、编写脚本实现将/usr/local/test目录下大于100K文件,将它拷贝到/tmp目录下

    #!/bin/bash

    for file in `ls /usr/local/test`

    do

    if [ -f $file ];then

        if [ `ls -l $file`|awk '{print $5}' -gt 10000];then

           mv $file /tmp/

        fi

    fi

    done

     

    5、将本地的80端口的请求转发到8080端口,本机地址10.0.0.254,写出命令

    iptables -t nat -A PRETOUTING -d 10.0.0.254 -p tcp --dprot 80 -j NDAT --to-destination 10.0.0.254:8080

     

    6、如何实现nginx代理的节点访问日志记录的是真实访客的IP,不是代理的IP

    配置nginx.conf配置文件增加下同的标记内容

    server{

                       listen 80;

                       server_name blog.text.com;

                       location / {

                       proxy_pass http://test_servers;

                       proxy_set_header Host $host;

                       proxy_set_headerX-Forwarded-For $remote_addr;

                }

    修改完成后,重新加载nginx即可,/application/nginx/sbin/nginx -s reload

     

    7、MYSQL 一主多从,主库宕机,如何合理切换到从库,其它从库如何处理?

     1:登陆所有从库查看post信息,使用POST最大的做为新的主库,然后将从为提升为新的主库,登陆从库(新的主库)执行stop slave,

    2:修改my.cnf配置文件,开启log-bin并重新启动数据库服务,登陆数据库执行restet master ,show master status\G;查看主库信息,最后创建授权同步用户与权限和网站使用数据库的用户与权限,同步所有机器的/etc/hosts文件(这时就体现了之前全网用域名则不是用IP的作用了,不然还得修改网站程序切换到新主库服务器IP上,否则无法连接到数据库)

      2:登陆其它从库,执行change master操作,查看同步状态

     

    8、误操作drop语句导致数据库数据破坏,请给出恢复的实际大体步骤

         所有数据恢复的基础都在于备份,必须要有完整的备份,否则恢复无从谈起

    误操作导致的数据库破坏需要使用增量恢复的方法进行恢复数据库,具体步骤如下

    1、查看备份与binlog文件

    2、刷新并备份binlog文件

           mysqladmin -uroot -pmysql123 -S /data/mysql.sockflush-logs

    3、将binlog文件恢复成sql语句

           mysqlbinlog --no-defaults mysql-bin.000061 mysql-bin.000062 >bin.sql

    4、将其中误操作的语句删除(就是drop的动作)

    5、解压全备文件,恢复全备文件

       gzip -d mysql_backup_2016-10-12.sql.gz

       mysql -uroot -pmysql123 -S/data/3306/mysql.sock < mysql_backup_2016-10-12.sql

    如果有对表的操作,恢复数据时需要接表名

    6、恢复误操作前的binlog文件记录的sql语句

       mysql -uroot -pmysql123 -S/data/3306/mysql.sock < bin.sql

    最后登陆数据库,查看数据是否恢复成功,如果有确定的误操作时间,就直接恢复这段时间的数据即可

     

    9、列举一个实际生产的例子,网站访问速度慢是因为数据库访问慢导致的

    问题情况描述:

    突然有一天,有同事反应,网站访问速度很慢,有时候会出现打不开网站的情况,刷新等待好长时间后又正常打开

    解决步骤:

    登陆数据库执行show full processlist 看到有很多相同的查询动作且征对同一张表,因此确定网站打不开的原因是这个,故将此IP禁止访问。日常工作中避免此类问题发生解决方法如下:可以将数据库读写分离;安装数据缓存服务器,尽量将大部分的请求不直接对接数据库;

     

    10、一个shell 脚本手工可以执行,放入定时任务后不能执行,可能的原因?

    手工可以执行,表明脚本本身不存在逻辑上的问题,可能原因有以下几点

    1:定时任务书写有错误导致,执行的脚本没有写绝对路径,找不到脚本

    2:环境变量问题导致

     

    11、利用shell开发rsync服务启动、停止脚本,并通过chkconfig 进行开关机管理

    [root@mysql-1 download]# vi RSstart.sh

    #!/bin/sh

    ##create by mingongge at 2017-01-10

    . /etc/init.d/functions

    case "$1" in

    start)

          rsync --daemon

          if [ $? -eq 0 ];then

            action "rsync is started" /bin/true

         else

            action "rsync is started" /bin/false

         fi

    ;;

    stop)

         pkill rsync

         sleep 2

         if [ `ps -ef|grep rsync|grep -v grep |wc -l` -eq 0 ];then

             action "rsync is stoped " /bin/true

         else

             action "rsync is stoped " /bin/false

         fi

    ;;

    restart)

        pkill rsync

        sleep 2     

        if [ `ps -ef|grep rsync|grep -v grep |wc -l` -eq 0 ];then

           rsync --daemon

           if [ $? -eq 0 ];then

              action "rsync is restarted" /bin/true

           fi

        fi

    ;;

    *)

       echo "USAGE :{start|stop|restart}"

    ;;

    esac                                                                                                                                 

     

    “RSstart.sh" [New] 36L, 731C written

    [root@mysql-1 download]# chmod +x RSstart.sh

    [root@mysql-1 download]# sh RSstart.sh

    USAGE :{start|stop|restart}

    [root@mysql-1 download]# sh RSstart.sh  start

    rsync is started                                           [  OK  ]

    [root@mysql-1 download]# ps -ef|grep rsync

    root       1088      1  0 Jan09 ?        00:00:00 rsync --daemon

    root       3527   2869  0 03:54 pts/0    00:00:00 grep rsync

    [root@mysql-1 download]# sh RSstart.sh  stop

    rsync is stoped                                            [  OK  ]

    [root@mysql-1 download]# ps -ef|grep rsync  

    root       3540   2869  0 03:54 pts/0    00:00:00 grep rsync

    [root@mysql-1 download]# sh RSstart.sh  start

    rsync is started                                           [  OK  ]

    [root@mysql-1 download]# sh RSstart.sh  restart

    rsync is restarted                                         [  OK  ]

    [root@mysql-1 download]# ps -ef|grep rsync     

    root       3558      1  0 03:54 ?        00:00:00 rsync --daemon

    root       3564   2869  0 03:55 pts/0    00:00:00 grep rsync

    配置开关机管理

    然后在脚本最前面加上以下内容

    # chkconfig: 2345 21 99

    # description: chkconfig rsync service

    具体自己测试下,也有可能这个启动,关闭序号有冲突,需要修改

     

    12、请描述OSI7层模型各层名字及功能,并举例在不同层对应的协议

    第一层:物理层,利用传输介质为数据提供物理连接, 对应的协议:ARP

    第二层:数据链路层:建立和管理各节点间的链接链路  对应的协议:PPTP、CDP

    第三层:网络层,是控制数据链路层与上传输层之间的信息转发、建立与维持对应的协议:IP、路由协议

    第四层:传输层,提供会话传输服务,确保数据正确传送对应的协议:TCP UDP

    第五层:会话层,提供建立会话管理,支持数据交换

    第六层:表示层,处理数据(数据格式、编码、加密等),按一定的格式传送至会话层

    第七层:应用层,为用户提供各类应用服务(文件、打印、邮件等服务)对应协议:HTTP、FTP、SMTP、POP3

     

    13、linux系统环境下如何查看系统运行了多长时间

    [root@mysql-1 download]#uptime

     02:05:22 up 2:32,  2 users,  load average: 0.00, 0.00, 0.00

    [root@mysql-1 download]#top

    top -02:07:34 up  2:34,  2 users, load average: 0.00, 0.00, 0.00

    Tasks:  73total,   1 running,  72 sleeping,  0 stopped,   0 zombie

    Cpu(s): 0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa, 0.0%hi,  0.0%si,  0.0%st

    Mem:   486284k total,  174664kused,  311620k free,   6424k buffers

    Swap: 1048568k total,   0kused,  1048568k free,    63548k cached

    02:05:22 up  2:32, 2 users,  load average: 0.00,0.00, 0.00

    服务器运行多长时间  登陆用户数   上一分钟、5分钟、15分钟的负载

     

    14、linux系统中添加路由的方法

    主机路由

    route add -host 192.168.197.100 dev eth0

    网关路由

    route add default gw 192.168.197.1

    网络路由

    route ad -net 192.168.1.0 netmask 255.255.255.0 deveth1

    route ad -net 192.168.1.0 netmask 255.255.255.0 gw192.168.197.1

     

    15、已知test.txt文件内容如下,请取出文件的5-15行内容

    [root@i ~]# cat test.txt 

    1

    2

    3

    4

    5bbb

    6xxxxxxxxxxx  

    7123i4i44

    8

    9

    10

    11

    12

    13ffffff

    14fffff

    15bbbbbb

    16

    17nnnnnn

    方法一:[root@i ~]# grep 15bbbbbb -B 10 test.txt        

    5bbb

    6xxxxxxxxxxx  

    7123i4i44

    8

    9

    10

    11

    12

    13ffffff

    14fffff

    15bbbbbb

    方法二:[root@i ~]# sed -n '5,15p' test.txt 

    5bbb

    6xxxxxxxxxxx  

    7123i4i44

    8

    9

    10

    11

    12

    13ffffff

    14fffff

    15bbbbbb

    方法三:[root@i~]# awk '{if(NR<16 && NR>4) print $1}' test.txt 

    5bbb

    6xxxxxxxxxxx

    7123i4i44

    8

    9

    10

    11

    12

    13ffffff

    14fffff

    15bbbbbb

     

     

    /var/log/messages日志出现kernel:nf_conntrack:tablefull,dropping packet,请问是什么原因导致的,如何解决?

    此报错为iptables报错信息,连接跟踪表已满,开始丢包,可能的原因是由于频繁的连接、关闭,或者网络的一些TCP的连接导致的

    解决方法:

    1、加大跟踪表的大小 

    2、禁用一些不必跟踪的连接状态 

    3、禁用模块 ip_vs nf_conntect

    2

    linux系统nginx与Php环境,发现PHP-FPM进程高,请说出可能的原因以及如何解决

      1:php的插件程序与现有的PHP版本存在不兼容情况,解决方法从php.ini中禁止相关插件

      2:软件本身存在问题,需要开发协同运维一同处理,查找原因

      3:php程序存在死循环现象,使用服务器负载过高,解决方法使用top命令查看

    3

    磁盘报错:nospace left on device,但是df-h查看空间没有满,为什么?

    原因:系统inode满了,因为所有的文件的文件名信息都是存放在inode里面的,文件内容是存放在block里面

    可以使用df -i 来查看inode的使用情况

    [root@mysql-1 download]# df -i

    Filesystem     Inodes  IUsed   IFree IUse% Mounted on

    /dev/sda2     1234576 138303 1096273   12% /

    tmpfs           60785      1   60784   1% /dev/shm

    /dev/sda1       51200     38   51162   1% /boot

     

    4

     磁盘空间满了,删除一部分nginx日志后,但是磁盘空间还是满的,为什么?

    删除的日志信息,一部分可能还是被进程调用,因此,需要重启nginx服务来释放进程;或者实际生产环境中使用>/log/access.log清空文件

    5

    查看apache进程数

    perfork模式

    ps -ef|grep http|grep -v grep|wc -l

    worker模式

    pstree -a|grep httpd|wc -l

    6

    提取文件test.log中FAILD与SUCCESSFUL的字符但不包括DONE的行,然后以:为隔符,提取第三列

    [root@mysql-1]# cat test.log

    FAILD:SUCCESSFUL:DONE:CRITICAL

    FAILD:SUCCESSFUL:NO:GOOD

    FAILD:NO:DO:QINGYUN

    SUCCESSFUL:DONE:CRITICAL::CRITICAL

    方法一:

    [root@mysql-1]# egrep "FAILD|SUCCESSFUL"test.log |grep -v DONE|awk -F ':' '{print $3}'

    NO

    DO

    方法二:

    [root@mysql-1]# egrep "FAILD|SUCCESSFUL"test.log |grep -v DONE|cut -d: -f3

    NO

    DO

    7

    公司机房的服务器接近254台了,请你设计一个解决方案,如何划分网段,并实现业务平滑迁移。

     第一种方案:变长子网掩码的方法,加大IP地址的可使用范围,全网分发/etc/hosts文件

    第二种方案:增加核心交换机,在核心交换机划分VLAN,将新增的服务器加入新的VLAN中,全网分发/etc/hosts文件

    8

    Nginx反向代理如何实现代理RS节点上的不同虚拟主机,请说出原理和配置方法或思路。

    客户端向反向代理发送请求,反向代理按一定的规则转发至目标服务器,并将返回的内容返回给客户端,可分为以下两种:

    配置内部不同服务器转发:

        upstream app1 {

               server 192.168.1.10:80 weight=5;

              server 192.168.1.11:80 weight=5;

              }

         upstream app2 {

               server 192.168.1.20:80 weight=5;

              server 192.168.1.21:80 weight=5;

              }

         配置server

            server{

              listern 80;

              server_name app.abc.com

               }

    配置匹配转发规则

         location /app1/ {

           proxy_pass http://example.com/app1;

    proxy_set_header Host $host;

         }

        location/app2/ {

          proxy_passhttp://example.com/app2;

    proxy_set_header Host $host;

         }

    做为负载均衡

    配置负载均衡服务器池,也就是调度规则

     upstream test_servers {

            server 192.168.1.2:80 weight=5;

            server 192.168.1.4:80 weight=5;

            server 192.168.1.6:82 weight=15;

           }

      然后配置server标签,

     server {

             listen 80;

             server_name www.abc.com;

             proxy_pass http://test_servers;

             proxy_set_header Host $host

             }

          配置完成后,重新加载nginx服务

    9

    说出netstat -an命令结果中最后一列status对应的不同网络连接状态含义

     [root@ ~]# netstat -an

    Active Internet connections (servers andestablished)

    Proto Recv-Q Send-Q Local Address               Foreign Address         State     

    tcp       0      0 0.0.0.0:22                  0.0.0.0:*             LISTEN     

    tcp       0      0 139.24.65.45:54296       10.11.68.13:80           ESTABLISHED

    tcp       0     52 39.24.65.145:22          36.32.8.85:546           ESTABLISHED

    tcp       0      0 139.24.165.45:586       10.11.8.13:80             CLOSE_WAIT

    listen              服务启动后首先处于的状态(监听状态)

    established    建立连接,表示建立连接的两端可以正常通信了

    close_wait     对方主动关闭连接或网络异常而中断,因此状态会变成

    time_wait       主动断开连接,收到对方确认后的状态,相当于释放资源,可以设置些种状态的参数,也就是主动断开后,下一次再连接的时间间隔

    syn_sent         请求连接的状态,需要访问其它机器时首先发出的同步信号

    10

    binlog是什么?binlog记录的是什么?有几种模式及优缺点,企业中选择哪种模式做同步?

     bInlog:是用于记录所有更新了数据的操作语句,语句以事件的形式保存,它描述数据的更改过程

    作用:用于实时备份数据,数据库的主从复制

    log_bin 打开记录binlog功能

    binlog的查看

    mysqlbinlog /home/mysql/binlog/binlog.000003

    binlog的删除:可分为自动与手动删除

    自动删除

    能过binlog参数expire_logs_days来实现

    show binary logs;

    show variables like "expire_logs_days;"

    set gloable expire_logs_days=3;

    手工删除

    reset master   删除主的binlog

    reset slave    删除从的中继日志

    三种模式:

    Row level模式 :日志会记录每一行数据被修改的形式,然后在从端对相同的数据进行修改

    优点:可以不记录执行SQL语句上下文相关的信息,只记录哪一条数据被修改,修改成什么样了

    缺点:所有执行的语句都当记录到日志文件中,而且都会以每行记录的修改来记录,会产生大量的日志内容

    statement模式:每一条修改数据的SQL都会记录master的bin-log中,slave在复制的时候SQL进程会解析成和原来master端执行过的相同的SQL来执行

    优点:解决了上row level模式的缺点,不需要记录每一行数据的变化,减少日志量,可以得高性能

    缺点:由于记录的是执行语句,在此模式下会有主从无法复制的问题出现

    mixed自动模式:MYSQL会根据执行的每一条具体SQL语句来区分对待记录的日志格式,

    企业使用场景:

    1、如果不会用到mysql特殊的功能,基本都是默认的模式statement模式

    2、如果会到mysql的一些特殊功能,基本都是会使用row level模式

    11

     请详细描述http协议原理

     http协议:是客户端与服务端之间通信传输数据的基础,HTTP协议是基于TCP/IP协议之上的协议

    原理包括四个过程:

    连接:浏览器与服务器建立连接,打开一个socket的虚拟文件,表明连接建立成功

    请求:浏览器通过socket向服务器提交请求(一般是GET或POST请示命令)

    应答:浏览器请求提交后,通过HTTP协议传送给服务器,服务器收到后进行处理将结果又通过HTTP回传给客户端,从而在客户端显示出所请求的页面

    关闭连接:当应答结束后,浏览器与服务器之间就断开连接 

    12

    请详细描述MySQL主从复制原理。

     原理:主库开启binlog功能并授权从库连接主库同步的用户权限 ,将数据库的修改或变化生成bin-log日志,从库通过change mster的语句得到主库的相关信息,从库开启slave并连接主加进行相关验证,验证通过后,主库的IO线程根据从库的请求将相关位置点信息,与最新的blnlog信息发送给从库的IO线程,从库的IO线程将SQL语句的信息放在relay-log中,最后从库的SQL线程将relay-log中的SQL语句应用到从库中,实现主库与从库之间的数据同步,然后不断重新上述动作

    13

    用一条命令将除了sshd、crond、network、rsyslog几个服务之外的服务全部关闭(无需开机自动)

    方法一:

    [root@centos6~]# for name in `chkconfig --list|grep 3:on|awk '{print $1}'|grep -Ev "sshd|crond|rsyslog|network"`;dochkconfig $name off;done

    [root@centos6~]# chkconfig --list|grep 3:on

    crond       0:off  1:off   2:on    3:on   4:on    5:on    6:off

    network     0:off  1:off   2:on    3:on   4:on    5:on    6:off

    rsyslog     0:off  1:off   2:on    3:on   4:on    5:on    6:off

    sshd    0:off  1:off   2:on    3:on   4:on    5:on    6:off

    方法二:

    [root@centos6 ~]# chkconfig--list|grep 3:on|awk '{print $1}'|grep -Ev"sshd|crond|rsyslog|network"|sed -r "s#(.*)#chkconfig \1off#g"|bash

    [root@centos6~]# chkconfig --list|grep 3:on

    crond       0:off  1:off   2:on    3:on   4:on    5:on    6:off

    network     0:off  1:off   2:on    3:on   4:on    5:on    6:off

    rsyslog     0:off  1:off   2:on    3:on   4:on    5:on    6:off

    sshd        0:off  1:off   2:on    3:on   4:on    5:on    6:off

    14

    说明系统/etc/inittab中各个启动级别的含意

    [root@centos6~]# tail /etc/inittab

    #Default runlevel. The runlevels used are:

    #   0 - halt (Do NOT set initdefault to this) 关机

    #   1 - Single user mode        单用户模式

    #   2 - Multiuser, without NFS (The same as 3,if you do not have networking)                          多用户,没有NFS

    #   3 - Full multiuser mode  完整多用户模式

    #   4 - unused

    #   5 - X11                            桌面模式

    #   6 - reboot (Do NOT set initdefault to this) 重启

    #

    id:3:initdefault:   默认

     

     

     

    01

    写一个sed命令,修改/tmp/input.txt文件的内容,要求:(1) 删除所有空行;(2) 一行中,如果包含"11111",则在"11111"前面插入"AAA",在"11111"后面插入"BBB",比如:将内容为0000111112222的一行改为:0000AAA11111BBB2222

    [root@~]# cat -n /tmp/input.txt

         1  000011111222

         2

         3  000011111222222

         4  11111000000222

         5

         6

         7  111111111111122222222222

         8  2211111111

         9  112222222

        10  1122

        11

    删除所有空行命令

    [root@~]# sed '/^$/d' /tmp/input.txt

    000011111222

    000011111222222

    11111000000222

    111111111111122222222222

    2211111111

    112222222

    1122

    插入指定的字符

    [root@~]# sed 's#\(11111\)#AAA\1BBB#g' /tmp/input.txt

    0000AAA11111BBB222

    0000AAA11111BBB222222

    AAA11111BBB000000222

    AAA11111BBBAAA11111BBB11122222222222

    22AAA11111BBB111

    112222222

    1122                                                                                     

    02每周一下午三点将/tmp/logs目录下面的后缀为*.log的所有文件rsync同步到备份服务器192.168.1.100中同样的目录下面,crontab配置项该如何写:

     00 15 * * 1 rsync -avzP /tmp/logs/*.log root@192.168.1.100:/tmp/logs

    03找到/tmp/目录下面的所有名称以"_s1.jpg"结尾的普通文件,如果其修改日期在一天内,则将其打包到/tmp/back.tar.gz文件中

    find /tmp -type f -name ".*_sj.jpg" -mtime 1|xarges tar zxf /tmp/back.tar.gz

    04写出如何给apache增加virtualhost,让访问http://www.test.com和http://www.test.cn的时候,都打开/var/www/html目录下面的文件:

     <VirtualHost *:80>

        ServerAdmin admini@abc.com

        DocumentRoot "/var/www/html"

        ServerName www.test.com

        ServerAlias  test.cn

        ErrorLog "logs/bbs-error_log"

        CustomLog "logs/bbs-access_log" common

    </VirtualHost>

    06配置mysql服务器的时候,配置了auto_increment_increment=3,请问这里的3意味着什么?

    auto_increment是用于主键自动增长的,从3开始增长,3表示自增的起始值

    07用一条命令显示本机eth0网卡的IP地址,不显示其它字符

    方法一:

    [root@apache ~]# ifconfig eth0|grep "inet addr"|awk -F '[ :]+' '{print $4}' 

    192.168.1.22

    方法二:

    [root@apache ~]# ifconfig eth0|awk -F '[ :]+' 'NR==2 {print $4}' 

    192.168.1.22

    方法三:

    [root@apache ~]# ifconfig eth0|sed -n '2p'|sed 's#^.*addr:##g'|sed 's# Bc.*$##g'

    192.168.1.22 

    方法四:

    [root@apache ~]# ifconfig eth0|sed -n '2p'|sed -r 's#^.*addr:(.*)  Bc.*$#\1#g'

    192.168.1.22

    08请详细说明keepalived的故障切换工作原理

    这种故障切换是通过VRRP协议来实现的,主节点会按一定的时间间隔发送心跳信息的广播包,告诉备节点自己的存活状态信息,当主节点发生故障时,备节点在一段时间内就收到广播包,从而判断主节点出现故障,因此会调用自身的接管程序来接管主节点的IP资源及服务,当主节点恢复时,备节点会主动释放资源,恢复到接管前的状态,从而来实现主备故障切换

    09写出一个curl命令,访问指定服务器61.135.169.121上的如下URL:http://www.baidu.com/s?wd=test,访问的超时时间是20秒:

    curl --connect-timeout 20 http://61.135.169.121/s?wd=test

    10netstat命令配合其他shell命令,按照源IP统计所有到80端口的ESTABLISHED状态链接的个数,输出结果类似(第一列为连接数,第二列为IP):

    [root@~]# netstat -an|grep ESTABLISHED

    tcp        0     52 139.224.199.85:22           101.47.33.86:51763          ESTABLISHED 

    tcp        0      0 139.224.199.85:45368        106.11.68.13:80             ESTABLISHED 

    [root@ ~]# netstat -an|grep ESTABLISHED|grep ":80"

    tcp        0      0 139.224.199.85:45368        106.11.68.13:80             ESTABLISHED 

    [root@ ~]# netstat -an|grep ESTABLISHED|grep ":80"|awk 'BEGIN{FS="[[:space:]:]+"}{print $4}'

    139.224.199.85

    说明:FS 是字段分隔符

    如果需要进行整理并排序的话,完整命令如下

    [root@ ~]# netstat -an|grep ESTABLISHED|grep ":80"|awk 'BEGIN{FS="[[:space:]:]+"}{print $4}'|sort|uniq -c|sort -nr

     

     

    Google招聘Linux工程师的20个面试问题及答案

    1.如何查看当前的Linux服务器的运行级别?

    : 'who -r' 和 'runlevel' 命令可以用来查看当前的Linux服务器的运行级别。

    2.如何查看Linux的默认网关?

    : 用 "route -n" 和 "netstat -nr" 命令,我们可以查看默认网关。

    除了默认的网关信息,这两个命令还可以显示当前的路由表。

    3.如何在Linux上重建初始化内存盘镜像文件?

    : 在CentOS 5.X / RHEL 5.X中,可以用mkinitrd命令来创建初始化内存盘文件。

    举例如下:

    如果你想要给特定的内核版本创建初始化内存盘,你就用所需的内核名替换掉 'uname -r' 。

    CentOS 6.X / RHEL 6.X中,则用dracut命令来创建初始化内存盘文件,举例如下:

    给特定的内核版本重建初始化内存盘文件则使用以下命令:

    4.cpio命令是什么?

    : cpio就是复制入和复制出的意思。

    cpio可以向一个归档文件(或单个文件)复制文件、列表,还可以从中提取文件。

    5.patch命令是什么?如何使用?

    : 顾名思义,patch命令就是用来将修改(或补丁)写进文本文件里。

    patch命令通常是接收diff的输出并把文件的旧版本转换为新版本。

    举个例子,Linux内核源代码由百万行代码文件构成,所以无论何时,任何代码贡献者贡献出代码,只需发送改动的部分而不是整个源代码,然后接收者用patch命令将改动写进原始的源代码里。

    创建一个diff文件给patch使用,

    旧文件和新文件要么都是单个的文件要么都是包含文件的目录,-r参数支持目录树递归。

    一旦diff文件创建好,我们就能在旧的文件上打上补丁,把它变成新文件:

    6.aspell有什么用 ?

    : 顾名思义,aspell就是Linux操作系统上的一款交互式拼写检查器。

    aspell命令继任了更早的一个名为ispell的程序,并且作为一款免费替代品 ,最重要的是它非常好用。

    aspell程序主要被其它一些需要拼写检查能力的程序所使用的时候,在命令行中作为一个独立运行的工具的它也能十分有效。

    7.如何从命令行查看域SPF记录?

    : 我们可以用dig命令来查看域SPF记录。举例如下:

    8.如何识别Linux系统中指定文件(/etc/fstab)的关联包?

    以上命令能列出提供"/etc/fstab"这个文件的包。

    9.哪条命令用来查看bond0的状态?

    10.Linux系统中的/proc文件系统有什么用?

    : /proc文件系统是一个基于内存的文件系统,其维护着关于当前正在运行的内核状态信息,其中包括CPU、内存、分区划分、I/O地址、直接内存访问通道和正在运行的进程。

    这个文件系统所代表的并不是各种实际存储信息的文件,它们指向的是内存里的信息。/proc文件系统是由系统自动维护的。

    11.如何在/usr目录下找出大小超过10MB的文件?

    12.如何在/home目录下找出120天之前被修改过的文件?

    13.如何在/var目录下找出90天之内未被访问过的文件?

    14.在整个目录树下查找文件"core",如发现则无需提示直接删除它们。

    :

    15.strings命令有什么作用?

    : strings命令用来提取和显示非文本文件中的文本字符串。

    当用来分析你系统上莫名其妙出现的二进制程序时,可以从中找到可疑的文件访问,对于追查入侵有用处。

    16.tee 过滤器有什么作用 ?

    : tee 过滤器用来向多个目标发送输出内容。

    如果用于管道的话,它可以将输出复制一份到一个文件,并复制另外一份到屏幕上(或一些其它程序)。

    在以上例子中,从ll输出可以捕获到 /tmp/ll.out 文件中,并且同样在屏幕上显示了出来。

    17.export PS1 = "$LOGNAME@hostname:\$PWD:" 这条命令是在做什么?

    : 这条export命令会更改登录提示符来显示用户名、本机名和当前工作目录。

    18.ll | awk '{print $3,"owns",$9}' 这条命令是在做什么?

    : 这条ll命令会显示这些文件的文件名和它们的拥有者。

    19.Linux中的at命令有什么用?

    : at命令用来安排一个程序在未来的做一次一次性执行。

    所有提交的任务都被放在 /var/spool/at 目录下并且到了执行时间的时候通过atd守护进程来执行。

    20.linux中lspci命令的作用是什么?

    : lspci命令用来显示你的系统上PCI总线和附加设备的信息。

    指定-v,-vv或-vvv来获取越来越详细的输出,加上-r参数的话,命令的输出则会更具有易读性。

    展开全文
  • 具体下载目录在 /2018年资料/9月/27日/Linux系统运维相关的面试题 (问答题)/ 下载方法见  http://www.linuxidc.com/Linux/2013-07/87684.htm https://www.linuxprobe.com/linux-yunwei-question.html ...
  • 1 服务器的linux系统是什么版2 linux你做过那些优化 3 在linux上部署过那些服务4 你怎样用nagios做的监控,监控什么? 5 用cacti怎样对网络进行监控?以前公司的情况(问具体的数字? 6 你怎样查看日志?查什么内容? 7 ...
  • linux运维面试题汇总

    2018-07-11 19:47:47
    linux运维面试题汇总,包括计算机网络,linux系统常见命令,常用系统服务,集群搭建等当面
  • 这些我都不会还敢来面试吗? ansible篇: 吐槽: 问给你50台linux服务器怎么管理?这个时候千万不要回答用shell脚本会显得很low,即使你不用ansible puppet saltstack也要说在用其中的一个 问ansible你熟不熟我TM...
  • 本课程主要讲运维高频面试题及面试技巧,面试题均出自学员的面试亲身经历及合作工作的企业内训。 适合人群:所有想要面试系统运维及自动运维的求职者,转岗运维人员以及devops运维从业者
  • 运维面试题

    万次阅读 多人点赞 2019-10-09 17:00:22
    下面是一名资深Linux运维求职数十家公司总结的Linux运维面试精华,助力大家年后跳槽找个高薪好工作。 1、什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线...
  • 运维面试题(面前准备)

    万次阅读 多人点赞 2019-07-21 23:13:13
    前段时间一直在面试,也没怎么写博客,现在找到实习工作了,也有时间去写了。在这里分享一下我面试之前做的一些准备。 (以下内容是我从网上查找整理得到的...红色标注为面试提及的,但不一定是我整理的内容) ...
  • 运维面试题(每日一题)

    万次阅读 多人点赞 2020-09-13 12:55:41
    这段时间在准备面试,顺便也总结一下。
  • 网易运维面试题

    2019-02-23 20:56:05
    2015年的,想进运维的可以看一看,职位要求: 1. 负责公司运维体系的建设,组织在线移动APP和业务系统以及自建私有云的监控、维护,推进自动化运维; 2. 建立和完善公司的运维监控体系和事件处理机制,确保业务的...
  • 看大企业的面试题,是非常重要的一件事,这样你能看到大神运维的一个情况,今天小编收集的第二个是百度,这个企业有非常多的人想进去,但是不容易进去,以下为百度面试题实录,内容从网络收集整理的,仅供大家学习...
  • 运维面试题整理

    2020-01-03 16:24:44
    运维面试题整理 Linux 基础 1、linux启动过程是怎么样的 首先是通电,接通电源时候加载服务器bios信息,读取磁盘的磁盘的MBR引导扇区,找到启动分区/boot之后,从grub2配置中加载kernel,选择默认的启动界别,...
  • 常见Linux运维面试题分享 1、如何添加一块新的50G硬盘到Linux服务器系统作为单独的分区,并正在使用?需要哪些操作步骤?  a、把硬盘放进服务器并连接 b、建立硬盘分区(fdisk命令) c、格式化分区 d、挂载分区(可写入...
  • 运维面试题(数据库)

    万次阅读 2019-06-13 12:25:01
    运维面试题(数据库) 数据库 (1)查询年龄在20-30之间的用户 A: select *from 表 where datediff(year,出生日期,getdate())<20 20岁以下的 select *from 表 where adtediff(year,出生日期,getdate()) between ...
  • Linux运维面试题

    2017-11-09 20:35:00
    Linux运维面试题 1)Linux启动大致过程? *BIOS自检 *运行系统内核并检测硬件从硬盘启动并运行系统的第一个进程init(LILO和GRUB模式) *init读取系统引导配置文件/etc/inittab,并根据运行级别配置服务/etc/rc.d/rc....
  • Java运维面试题

    万次阅读 2017-10-10 20:53:07
    面试题是it运维工程师求职者敲开职场大门的关键一砖。下面是由答.案.网 ZqNf.Com小编整理而成的it运维工程师面试题,谢谢你的阅读。  it运维工程师面试题(一)  1、 磁盘raid级别有几种,分别是哪几种?你了解...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,369
精华内容 6,147
关键字:

系统运维面试题