面试(1)

面试总结

第一章 问答

1.1centos你都做过哪些优化

1、创建一个root权限的用户,禁止root远程登录,通过sudo 授权管理
2、修改ssh的默认连接端口,禁止root远程登录
3、优化ssh延迟,关闭dns反解析,定时自动更新服务时间。
4、使用本地yum源,配置国内yum源
5、关闭selinux,加大文件描述符的数量
6、给一些重要的文件添加权限
7、内核参数优化
8、更改字符集、支持中文、但还是建议英文,防止出现乱码
9、锁定关键系统文件

1.2NFS/glusterFS/mooseFS 的区别以及应用场景

NFS网络文件系统主要功能是通过网络使不同的主机系统间可以共享文件或目录。
NFS的优点:
1.节约磁盘的使用空间,客户端经常使用的数据放在一台机器上,并使用NFS在内网挂载使用,有单点故障
2.节约硬件资源,轻量级,软件包小,只需要安装rpcbind和nfs-utils
3.拥有权限设定

NFS的缺点
1.局限性,容易发生单点故障,即server服务宕机所有的客户端都不可以访问
2、性能
在网站高并发的情况下,NFS处理效率有限,要想提高性能,必须优化。
3、安全性
客户端的数据都是通过明文传送,客户端没有用户认证机制,安全性能一般,所以建议在局域网内使用,避免暴露在外网
4、数据完整性
NFS服务器的传输数据都是采用明文方式进行传输的,对数据没有什么验证机制,对数据完整性较高的业务不建议使用
5、维护
NFS服务器都是多台客户端挂载一台server端,对于共享服务器的连接管理维护都是一件比较繁琐的事情
NFS单点故障的解决办法
keepalived+NFS备份节点挂载目录到NFS的主节点
数据量太少,小文件少的业务可以使用

GLusterFS的优点
1、Gluster集群可以根据业务需求灵活的增加或缩减数据存储以及增删存储池中的资源,而不会中断系统的运行
2、Gluster集群可以通过增加存储节点来提升整个系统的容量
3、Gluster集群通过自动复制与自动修复来保证数据的可用性(利用EXT3/ZFS等磁盘文件系统日志)

GLusterFS的缺点
1、由于有副本,占用更多的存储空间
2、副本多了写数据会受到影响


在网络环境里,多个服务器通过NFS方式共享一个服务器的存储空间,可能使得NFS服务器不堪重负。一般情况下,当NFS客户端数目较小的时候,NFS性能不会出现问题;一旦NFS客户端数目过多,并且是那种读写都比较频繁的操作,所得到的结果就不是我们所期待的,比如NFS服务超时。

这种架构除了性能问题之外,还存在单点故障,一旦这个NFS服务器发生故障,所有依靠共享提供数据的应用就不再可用。尽管用rsync方式同步数据到另外一个服务器上做NFS服务的备份,但对提高整个系统的性能毫无帮助。基于这样一种需求,我们需要对NFS服务器进行优化或采取别的解决方案。然而优化并不能应对日益增多的客户端的性能要求,因此唯一的选择只能是采取别的解决方案了。

通过调研,分布式文件系统是一个比较合适的选择。采用分布式文件系统后,服务器之间的数据访问不再是一对多的关系(一个NFS服务器,多个NFS客户端),而是多对多的关系,这样一来,性能大幅提升将毫无问题。

MooseFS是一个具备冗余容错功能的分布式网络文件系统,它将数据分别存放在多个物理服务器或单独磁盘或分区上,确保一份数据有多个备份副本。对于访问的客户端或者用户来说,整个分布式网络文件系统集群看起来就像一个资源一样。从其对文件操作的情况看,MooseFS就相当于一个类UNIX文件系统
谈及MooseFS的应用场景,其实就是去谈分布式文件系统的应用场景。

1、大规模高并发的数据存储及访问(小文件、大文件),TFS适合小文件(<1M)

2、大规模的数据处理,如日志分析

1.3rsync有三种模式?常用参数?rsync在传输几百G的数据,会很慢,有什么好的解决思路?

本地命令类似于cp
局域网跨主机传输
守护进程模式
常用参数:
-z 允许压缩
-v 显示详细信息
-r 递归
-a archive存档,默认rsync不同步时间戳
-delete 无差异化同步
-password-file指定密码文件,免交互式同步
--bwlimit=rate (bandwidth)限制带宽传输


解决办法1 :rsync忽略校验,直接传输覆盖,rsync --help  可以看到有这么个参数: -W, --whole-file                copy files whole (without delta-xfer algorithm) 使用该参数。

该参数的优点节省时间不进行校验,直接覆盖本地或者远程文件。缺点,比较消耗带宽。

解决办法2 : 使用 nc 或者其他的传输方式,跳过校验。具体如何操作,参见。。 行我简单写一个吧:源: #nc -l 1.1.1.1 999 < bigfile  目的: #nc 1.1.1.1 999 > bigfile
posted @   老王教你学Linux  阅读(148)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示