面试Linux运维,回来的总结,慢慢成长!

好久没面试了,最近也总是在玩,面试前总是很紧张,忐忑的去了,途中在地铁里,人事打来电话不知道什么事,上了下邮件看面试约的时间是3:30估计到那也就不到3点。

去了首先开始做题

几个比较有价值的问题

1.从下面图中,你可以看到那些信息

当时面试官纠正我犯的一个错误就是:

我把10.0.0.1认为是当前用户的ip地址,这一条应该是上一个用户登录的地址。

但回来后我发现其实从w 输出的内容里,我们是可以看到当前用户的登录地址即为10.0.0.1,有很多时候,基础不扎实,就容易像我这样。

从下面的w输出的内容,我们也可以看到8time这个用户的登录时间为19:49

查看到的信息

1当前的登录用户为8time.

2.系统运行时间,登录的用户数

3.系统的负载

4.上一个用户登录的ip

2.数据库问题

1.有一个数据库有60列5000万行,请从锁的角度来说明,会不会影响数据库的性能,如果影响应该怎样解决。(偏题了)

1.首先可以协调程序,对数据库进行水平切分或垂直切分,然后分别存放在不同的数据库里。

2.使用mysql的主从的架构,采用读写分离的方式(读从库,写主库)。对多个从库采用集群的方式,来提高读的性能。

2.Mysql锁的一些知识总结:(未完成)

mysql锁是一个线程阻止其他线程去更新数据的一种方式

A对一个数据进行修改则B只能等待A修改完才能对数据进行修改。

锁的种类:

读锁:A发起一个test表发起一个读锁,则B也可以读到test的内容,但C想写则不能写;简单理解为排他写,(一个读锁后,其他的用户不可以写);读锁可以理解为一个表加了个门,其他人可以看见里面的内容,但不能进去修改,香港虚拟主机,只能看.

写锁:A发起一个test的写锁,则其他的用户则既不能读,也不能写。写锁相当于为一个表加一个保险柜,既不能看,又不能修改。

死锁:A对表test1发起一个写锁,B也对表test2发起一个写锁,如果此时,A需要访问test2表,则只能等待;如果此时B也要对test1进行操作,香港空间,则也只能等待;双方都在等待对方,则就产生了死锁

本地锁:A对test1表发起一个本地锁lcoktablestest1readlocal则B用户则只能在test1表的尾部进行数据的添加。

写的请求大于读的请求,如果同样都是在等待,那写锁则优先于读锁。

在日常的数据库管理中,不建议给普通用户lcok权限。

表锁:锁定一个表大多数引擎都支持

行锁:innodb支持

查看innodb行锁的状态的信息

S-shared共享锁允许对事务进行读

X-exclusive派他所允许对事务进行更新改变一个值

IS有意向S锁

IX有意向X锁

3.lvs+keepalived的一些细节

1.问题一:

当我们查看lvs+keepalived架构中,后端一台真实的web服务器上没有负载,通常你会从那些角度去排查呢。

1首先可以在lvs主上面查看使用ipvsadm-L-n–stat查看下lvs上面后端RS的状态,如果此时我们在RS里看不到后端那台真实的web服务器,其他的却正常,我们应该检查下keepalived的配置文件,比如端口是不是写错了、检查的方式是不是有问题、其他配置是不是有问题等。

3.检查后端web服务器的80端口是否正常开放。

4.如果上述都正常,那可能就是网络有问题了。解决方法暂时没遇到不好说。

问题二:

Lvs+keepalived中各自的功能是什么?

global_defs{

notification_email{

}

notification_email_fromAlexandre.Cassen@firewall.loc

smtp_connect_timeout30

}

vrrp_instanceVI_1{

authentication{

auth_pass8090

}

virtual_ipaddress{

}

}

connect_timeout10连接超时的时间

}

}

real_server10.0.10.5480{

weight100

TCP_CHECK{

connect_timeout10

nb_get_retry3

delay_before_retry3

connect_port80

}

}

}

浅析lvs跟keepalived的功能

为什么不是?

所以lvs+keepalived对后端RS的检测应该是keepalived的,有时间我会实验下。

谈一谈进程

什么是进程?

进程系统资源的集合?What?

Apache里有设置user跟group

当我们启动apache的时候,美国服务器,apache会使用root产生一个父进程,然后以apache里设置的user、group的用户去产生子进程。

这样做的原因是

在系统里小于1024的端口,只能由root打开,所以apache就采用这种一个父进程去打开这个80端口接受请求,然后将请求丢给apache的子进程去处理。

安全性上:php程序可以直接调用Linux的shell命令,夸张点来说,在网页里如果是root那用户,则直接可以通过相关的代码执行一个useradd命令。

Work模式跟perfork模式

没有什么可留恋,只有抑制不住的梦想,

面试Linux运维,回来的总结,慢慢成长!

相关文章:

你感兴趣的文章:

标签云: