网传Linux运维面试题解答(三)
题目来源:http://2358205.blog.51cto.com/2348205/1688449
十多年的皮山网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销的优势是能够根据用户设备显示端的尺寸不同,自动调整皮山建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“皮山网站设计”,“皮山网站推广”以来,每个客户项目都认真落实执行。
http://mofansheng.blog.51cto.com/8792265/1627702
大部分都自己做的,部分参考了原帖博主的答案
1、DNS使用的端口号和协议,简单描述一下DNS正向解析和反向解析的工作原理和作用还有应用场景?
DNS使用
DNS使用的端口号是53,封装协议udp。正向解析是指域名到IP地址的解析过程。反向解析是从IP地址到域名的解析过程,它的作用就是通过查询IP地址的PTR记录来得到该IP地址指向的域名。PTR (Pointer Record),指针记录,是电子邮件系统中的一种数据类型,被互联网标准文件RFC1035所定义。与其相对应的是A记录、地址记录。二者组成邮件交换记录。A记录解析名字到地址,而PTR记录解析地址到名字,地址是指一个客户端的IP地址,名字是指一个客户的完全合格域名。PTR记录被用于电子邮件发送过程中的反向地址解析。使用了域名反向解析后,就可以大大降低垃圾邮件的数量。
2.编写IPTABLES使用内网某台机器的80端口可以在公网访问,假设公网IP为10.10.1.1 ,实现192.168.1.0/24段的NAT.
iptables -A INPUT -p tcp --dport 80 -j ACCEPT #允许80端口访问
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 10.10.1.1
3.举出三个以上的主流WEB服务器,并简述他们的特性和优缺点不限操作系统?
Apache、Nginx、IIS、tomcat、lighttpd等
特点没啥好说的,PHP和静态用Nginx,JAVE用tomcat
4,举出两个主流代理服务器,简述工作模式和优缺点?
Nginx、Squid
5,举出两个负载均衡的软件,并简述工作模式和优缺点?
Nginx、LVS、HAproxy
6,IE,FF,chrome浏览器最大并发请求数是多少?
当我们在浏览网页的时候,对浏览速度有一个重要的影响因素,就是浏览器的并发数量。并发数量简单通俗的讲就是,当浏览器网页的时候同时工作的进行数量。 如果同时只有2个并发连接数数量,那网页打开的时候只能依赖于这2条线程,前面如果有打开慢的内容,就会直接影响到后面的内容打开。但是如果同时有更多的并发连接数,这样就会大大的提高网页加载速度。IE11、FF、chrome默认都为6,并发连接数也可以自己修改的。
参考文章:http://www.iefans.net/liulanqi-zuida-bingfa-lianjieshu/
7,MySQL数据库备份种类有哪些,依据数据库的状态可分为哪些备份,备份工具有哪些,部署一个高可用mysql应用 环境,并说明他的高可用性?
按照要备份的数据集合的范围可分为完全备份、部分备份、增量备份、差异备份
按照数据备份方式可分为物理备份和逻辑备份,物理备份一般就是通过tar,cp等命令直接打包复制数据库的数据文件达到备份的效果,逻辑备份一般就是通过特定工具从数据库中导出数据并另存备份(逻辑备份会丢失数据精度)
按照数据库的状态可分为热备份、温备份、冷备份
热备份指的是当数据库进行备份时,数据库的读写操作均不是受影响
温备份指的是当数据库进行备份时,数据库的读操作可以执行, 但是不能执行写操作
冷备份指的是当数据库进行备份时,数据库不能进行读写操作, 即数据库要下线
MySQL备份工具:mysqldump、mysqlhotcopy 、kvm快照备份、tar工具备份、xtrabackup工具备份(只支持InnoDB存储引擎)等
MySQL的高可用方案,我们公司现在采用的是Heartbeat+DRBD的方案,也有推荐使用mycat的,还没有用过,这里就不展开说了。
8,什么是裸设备,他的好处是什么?,mysql支持裸设备吗?
裸设备:也叫裸分区(原始分区),是一种没有经过格式化,不被Unix/Linux通过文件系统来读取的特殊字符设备。裸设备可以绑定一个分区,也可以绑定一个磁盘。
好处:因为使用裸设备避免了再经过操作系统这一层,数据直接从Disk到数据库进行传输,所以使用裸设备对于读写频繁的数据库应用来说,可以极大地提高数据库系统的性能。当然,这是以磁盘的 I/O 非常大,磁盘I/O已经成为系统瓶颈的情况下才成立。如果磁盘读写确实非常频繁,以至于磁盘读写成为系统瓶颈的情况成立,那么采用裸设备确实可以大大提高性能,最大甚至可以提高至40%,非常明显。
mysql支持裸设备
9,如果给你一个100g的INNODB类型数据库,你会用什么备份方案来做备份。
Xtrabackup
1,Xtrabackup是什么
Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。
Xtrabackup有两个主要的工具:xtrabackup、innobackupex
1、xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表
2、innobackupex是参考了InnoDB Hotbackup的innoback脚本修改而来的.innobackupex是一个perl脚本封装,封装了xtrabackup。主要是为了方便的同时备份InnoDB和MyISAM引擎的表,但在处理myisam时需要加一个读锁,并且加入了一些使用的选项,如slave-info可以记录备份恢复后,作为slave需要的一些信息,根据这些信息,可以很方便的利用备份来重做slave。
2,Xtrabackup可以做什么 :
在线(热)备份整个库的InnoDB、 XtraDB表
在xtrabackup的上一次整库备份基础上做增量备份(innodb only)
以流的形式产生备份,可以直接保存到远程机器上(本机硬盘空间不足时很有用)
MySQL数据库本身提供的工具并不支持真正的增量备份,二进制日志恢复是point-in-time(时间点)的恢复而不是增量备份。
Xtrabackup工具支持对InnoDB存储引擎的增量备份,工作原理如下:
(1)首先完成一个完全备份,并记录下此时检查点的LSN(Log Sequence Number)。
(2)在进程增量备份时,比较表空间中每个页的LSN是否大于上次备份时的LSN,如果是,则备份该页,同时记录当前检查点的LSN。
首 先,在logfile中找到并记录最后一个checkpoint(“last checkpoint LSN”),然后开始从LSN的位置开始拷贝InnoDB的logfile到xtrabackup_logfile;接着,开始拷贝全部的数据文件.ibd;在拷贝全部数据文件结束之后,才停止拷贝logfile。
因为logfile里面记录全部的数据修改情况,所以,即时在备份过程中数据文件被修改过了,恢复时仍然能够通过解析xtrabackup_logfile保持数据的一致。
10,写一个简单的shell脚本,脚本运行时让CTRL+C无法中断的该shell脚本?
在脚本里加入trap "" SIGINT 或 trap "" 2 以忽略SIGINT信号
11、具体说说cacti/nagios 的安装过程?cacti如何监控mysql?
我在日常工作中都是使用脚本一键安装,以下引用原帖答案:
cacti安装步骤:首先安装好lamp环境(建议都使用编译安装)和snmp服务,rrdtool工具安装,然后建立cacti库和登录mysql账号,并赋权;其次下载并解压cacti到web server的htdocs或html目录下,确保敲入http://IP:port/cacti能被访问到,进而在web上安装cacti,修改web页面上的snmp团体字,确保跟snmpd.conf的团体字一致,然后再手动执行php poller.php看看能否在rra目录下生成.rrd文件,默认只监控本机资源,将php.poller.php命令写入到crontab中,每5分钟执行一次,如果需要监控远程主机,需要在对方主机安装snmp服务,并且保证snmp的团体字与监控主机上的snmp团体字是一致的;最后,添加其他监控主机,添加模板,安装插件等一系列工作。
nagios安装步骤:首先同样安装好lamp环境(建议使用编译安装),然后下载并安装nagios和nagios-plugin,整合apache和naigos,并创建web登录账号验证,确保敲入http://IP:port/nagios能正常访问并登录,远程主机安装nrpe或NClient++;最后添加配置远程主机信息,报警功能实现,添加所需的监控指标等工作。
cacti监控mysql:首先到cacti的论坛上下载cacti监控mysql的模板,然后导入到cacti中,然后添加主机,选择应用模板,最后等待5分钟,看看是否监控正常。
12、sed和awk命令的区别?
awk适合按列(域)操作,sed适合按行操作
awk适合对文件的抽取整理,sed适合对文件的编辑
如果文件是格式化的,即由分隔符分为多个域的,优先使用awk
awk更为强大,支持数组、循环等,甚至可以看作是一门编程语言,内部语法类似C语言
sed是一个流编辑器,它的强大之处在于可以以行的方式来脚本化处理文本,并且语法相对awk来说更为简单,它的功能就是增删改查,但它毕竟不是编程语言,没有循环、数组等逻辑,所以,sed通常和awk一起使用,它们刚好互补,一起使用构成了文本处理的两个利器
13、如何更改linux主机名?
编辑配置文件 /etc/sysconfig/network
更改HOSTSNAME,保存退出后重启生效;
14、登录linux,我们除了使用密码验证,还可以使用哪种方式?简述配置过程。
使用密钥登录,客户端生成公钥和私钥,客户端保存私钥,公钥复制到远程linux主机,登录时使用密钥登录,配置过程略
15、如何给grub加密码(明文、密文),密文加密又分成哪几种?
grub明文加密和密文加密唯一的区别在于password 加不加--md5参数,明文则不加,如果是密文,要加,而且需要先用命令grub-md5-crypt计算密码的md5值,用这个md5值代替明文的密码,编辑/etc/grub.conf
1) 单纯对GRUB界面加密,而不对被引导的系统加密 在timeout一行下面加一行: password --md5 PASSWORD
2) 对GRUB界面加密,同时对被引导的系统加密 在timeout一行下面加一行: password --md5 PASSWORD ,在title一行下面加一行: lock
3) 同时存在多个被引导系统,针对特定的系统实例分别加密(未对GRUB操作界面加密) 在title一行下面加一行: lock ,在lock一行下面紧贴着再加一行: password --d5 PASSWORD 注:lock不能单独使用。
16、如何用yum安装/删除一个软件包?如何查看某个软件包是否已经安装
yum install
yum localinstall 安装本地rpm包
yum remove
rpm -qa 软件包名 或 rpm -qa | grep
17、如何查看系统版本?(3个方法)
查看系统或内核版本:
cat /etc/redhat-release 或 cat /etc/centos-release
lsb_release -a
uname -a
cat /etc/issue
cat /proc/version
18、find 找出 当前目录下的 目录和普通文件? 找出当前目录下10天没有改变,大小大于4K的普通文件或目录
find . -type d -o -type f
find . -type d -o -type f -size +4k -mtime +10
19、在当前目录下创建一个名字为1的目录 的命令? 创建级联目录 ./2/3/的命令? 一条命令创建级联目录 ./1/2/3和./1/2/4?
mkdir 1
mkdir -p ./2/3/
mkdir -p ./1/2/{3,4}
20、cp一个目录中的文件需要什么权限,mv呢?touch呢?rm呢?
cp一个目录中的文件,需要对这个目录有x权限,对这个文件有r权限
mv、touch、rm,都需要对这个目录有w和x权限,对文件权限没有要求
21、用cat如何向文件里重定向字符串
cat >> test.txt << EOF (以EOF为结束符,可以换成别的)
>1111111111
>2222222222
>EOF
22、建立一个公共目录/opt/public,要求每个用户都可以创建文件和目录,但只能自己本人和root可以删除;
mkdir /opt/public
chmod 1777 /opt/public
本文题目:网传Linux运维面试题解答(三)
文章转载:http://scyanting.com/article/peedcj.html