一、Linux 系统日常运维九大技能
1、安装部署
方式:U盘,光盘和网络安装
其中网络安装已经成为了目前批量部署的首选方式:主要工具有Cobbler和PXE+kickstart
可以参考如下链接内容:
http://www.cnblogs.com/mchina/p/centos-pxe-kickstart-auto-install-os.html
2、初始化配置
禁用服务
禁用SeLinux
配置YUM源配置
可以配置为光盘,内部YUM源或EPEL等
常用软件安装
安装xwindows
配置ntp
Crontab 添加如上记录,指定内部ntp服务器
SSH 登录设置
修改ssh 禁用DNS 选项:
添加允许指定用户登录:
上传扫描工具
网络上有该脚本,下载自行使用
修改历史记录格式
3、安全加固
本次安全加固内容主要参考的是Redhat和Centos系列版本系统:
参考链接
http://www.centoscn.com/CentosSecurity/CentosSafe/2015/0315/4881.html
注释掉系统不需要的用户和用户组
注意:不建议直接删除,当你需要某个用户时,自己重新添加会很麻烦。
关闭系统不需要的服务
给下面的文件加上不可更改属性,从而防止非授权用户获得权限
限制不同文件的权限
禁止使用Ctrl+Alt+Del快捷键重启服务器
使用yum update更新系统时不升级内核,只更新软件包
注意:由于系统与硬件的兼容性问题,有可能升级内核后导致服务器不能正常启动,这是非常可怕的,没有特别的需要,建议不要随意升级内核。
关闭Centos自动更新
关闭多余的虚拟控制台
我们知道从控制台切换到 X 窗口,一般采用 Alt-F7 ,为什么呢?因为系统默认定义了 6 个虚拟控制台,
所以 X 就成了第7个。实际上,很多人一般不会需要这么多虚拟控制台的,修改/etc/inittab ,注释掉那些你不需要的。
修改history命令记录
隐藏服务器系统信息
在缺省情况下,当你登陆到linux系统,它会告诉你该linux发行版的名称、版本、内核版本、服务器的名称。
为了不让这些默认的信息泄露出来,我们要进行下面的操作,让它只显示一个"login:"提示符。
删除/etc/issue和/etc/issue.net这两个文件,或者把这2个文件改名,效果是一样的。
优化Linux内核参数
系统优化
服务器禁止ping
检查口令策略设置是否符合复杂度要求
检查登录提示-是否设置登录成功后警告Banner
修改文件/etc/motd的内容,如没有该文件,则创建它。
检查是否设置登录超时
执行备份:
修改/etc/csh.cshrc文件,添加如下行:
改变这项设置后,重新登录才能有效
5、多路径设置
随着X86 环境的普及化,Linux 的市场占有率也越来越高,为了方便后续的设备管理我们和Linux 自带多路径软件的成熟化,我们在日常的设备多路径软件选择方面经常会首先考虑使用DM 软件,本次多路径设置主要是结合REDHAT和CENTOS自带软件DM--- Multipath
参考:
Linux 操作系统层面Multipath 配置使用技巧及注意事项(点击标题可读)
6、系统异常性能指标获取
CPU占用最高的10个进程
内存占用最高的10个进程
虚拟内存使用最多的前10个进程
查看系统负载
统计当前连接数
当前连接数最多的10个进程
6、LVM日常使用
LVM在日常运维工作当中占据着很大的比重,在此我列举LVM常见的日常操作及步骤。
1. 添加一个磁盘到OS,格式化文件系统使用,参考如下:
扫描磁盘
这个其中每个步骤就不在做详细解释,有兴趣的可以独自搜索
2.文件系统的扩容和缩小(根文件系统缩小要相当的慎重)
在线扩容文件系统:
缩小文件系统:
3. 在线删除一个共享磁盘LUN
例如:
删除一个不用的lun
删除环节:
7、Linux 运维命令掌握
Linux 下面日常运维使用的命令有太多了,可以根据个人的情况进行适当的记忆。
系统负载:top ,nmon,dstat 等
网络:ss,netstat,route,diag,ping,ip,lsof 等
io:dd,iostat,fio,nmon,dstat,pvs,lvs,vgs 等
内存:free,dstat等
进程:ps,lsof 等
配置:lscpu,lspci,dmidecode,lsscsi,udev 等
设备识别:echo '---' ,rescan-scsi-bus.sh 等
诊断:strace,ltrace等
比如还有find 如何结合xargs ,tree的使用,lsblk 等等,还有很多很多,需要长期的积累,当然主要使用还是配置查看,LVM设置,网络
还有很多成熟的开源和商业产品进行管理,在此不一一列举,感觉可自行百度和google。
目前主流的python,ruby这些语言工具可以根据自身情况选择一个掌握。
8、诊断工具
在日常的运维过程当中,不免要进行所谓的性能或者故障方面问题的诊断,工具和手段包罗万象,在此列举一些日常使用的工具用于参考。
这里附上一幅Linux 开机流程图,这样很多人就可以更加清楚的了解了Linux在启动的整个流程,便于此类问题的解决。
9、网络必杀技
Netcat,SSH 几种隧道转发模式 ,lsof,dstat ,ethtool,iptraf,iperf,diag,route 和多个网卡路由及双网卡绑定技术值得了解,这些都是os层面运维网络方面经常会使用到的几个方面
在日常较为常用的操作就是进行双网卡的绑定,下面分享一个绑定的具体流程:
1、cp /etc/sysconfig/network/ifcfg-eth0 /etc/sysconfig/network/ifcfg-eth0.bak
cp /etc/sysconfig/network/ifcfg-eth0 /etc/sysconfig/network/ifcfg-bond0
2、vi /etc/sysconfig/network/ifcfg-eth0,注释所有(除以下两行内容),并将值修改如下:
BOOTPROTO='none'
STARTMODE='off'
3、cp /etc/sysconfig/network/ifcfg-eth0 /etc/sysconfig/network/ifcfg-eth1
4、vi /etc/sysconfig/network/ifcfg-bond0,增加或更新如下内容,其他内容可注释:
说明:以上配置mode=0为负载均衡模式,如果需要配置成主备模式,BONDING_MODULE_OPTS配置如下:
BONDING_MODULE_OPTS='mode=1 miimon=100 use_carrier=0 primary=eth0'
5、rcnetwork restart,重启网络服务生效,并进行测试。
6、cat /proc/net/bonding/bond0 可以查看bonding的状态。