这里讨论的是我对线上的Linux机器的需求,所以只讨论稳定发行版,且是比较保守的版本。比如CentOS 7的xfs不予讨论,并不是说xfs不好,而是以目前我的Linux水平需要更新很多xfs的知识,驾驭需要时间。CentOS 7将ifconfig,netstat等原来常用的命令也干掉了。下面我们以CentOS 6作为基础,谈一谈我对Linux的基本需求。 1.1 最小化安装 CentOS有一个minimal版本,相对于标准版去掉了很多Service,比如Network Manger,安装最小版本以后的网络配置是需要admin进行全手工配置文件配置的。我个人认为这样是比较好的,因为可以更好的理解Linux内核是如何看待这些配置文件的,那些是内核真正需要的,那些是修改以后可以直接改动到内核的性能。对于一些必要的监控工具,完全可以通过yum install来完成。标准版更加适合平时的练习,作为线上机器,还是最小化安装,做到能不开的服务就不开,能关掉的端口就关掉,这样既能将宝贵的硬件资源留下来给应用程序,也能够做到更加的安全,因为攻击的入口就是通过网络。 1.2 足够安全 除了将能关的端口关掉,能不用的服务关掉以外,安全还需要做到特定的服务只能访问特定的内容。哪怕是root账户,不能访问的文件和文件夹还是不能访问,更加不能操作。因为极有可能攻击者获取到root权限,这个时候就基本是无所欲为了。开启SELinux以后,能够做到在不修改SELinux的情况下,指定的服务只能访问指定的资源。 1.3 资源按需调度 我们经常会遇到这样一个问题,假设将磁盘sda挂载到/var目录,但是由于log太多或者上传的文件等等其他因素将硬盘吃光了,再创建一块sdb磁盘就无法挂载到/var目录了,其实Linux自带的lvm已经解决了这个问题,并且CentOS默认就是用lvm来管理磁盘的。我们需要学会如何格式化一块硬盘为lvm,然后挂载到对应目录,在空间被吃光前能够添加一块硬盘就自动扩容。 1.4 网络监控 说白了就是在Linux本地利用好iptables,来规划服务哪些网络流量,抛弃哪些网络流量。以及在进行组网的时候需要用router来进行网关的创建,在遇到网络问题的时候通过netstat来查看网络访问异常。网络这块内容很多很杂,各种参数,TCP/IP协议栈等等,但是往往问题还就是出在网络这块,所以要给与高度的关注。 许倩闻 TG:@cdncloud236
|