dyok 发表于 2017-6-25 06:21:18

Linux天天见

一、Linux基础篇
1. 发行版本
  redhat/centos/suse/debian/
2. 目录结构
  /bin
  /boot -> grub
  /dev
  /etc ->init.d sysconfig
  /home -> dmtsai Iccnet
  /lib -> modules
  /mnt
  /opt/
  /proc
  /root
  /sbin 做磁盘/网络的配置
  /src
  /sys
  /tmp 所有用户都可以存放的目录,系统管理员一般会定期清除/tmp目录
  /usr ->bin ->X11R6 ->share -> local
  /var ->log ->lib ->spool ->run   日志文件
  /usr
  /var
3. 基础服务及组件
  FW:防火墙
  LB:负载均衡
  FTP:
  NFS:NFS(Network File System)即网络文件系统。其他参考GFS 
  MAIL:
  DHCP:分配IP
  NTP:时间服务器
  DNS:
  GW: 网关(网络设备,交换机),跨网段服务器之前交换
4. 远程登录
  1)远程登录Linux-SSH
  (1)口令登录
  用户->登录请求->主机
  用户<-主机公钥<-主机
  用户->公钥加密密码->主机
  用户<-主机私钥解密,密码ok允许登录<-主机
  用户<-密码ERROR,拒绝登录<-主机
  (2)公钥登录
  用户->登录请求->主机(存有用户公钥)
  用户<-随机字符串<-主机(存有用户公钥)
  用户->用户私钥加密字符串->主机(存有用户公钥)
  2)Security CRT
  定时发送空格,这样security crt就可以一直保持登录。(注意可能更改服务器里的文件)
  buffer调大
  Appearance 字体设置UTF-8

5. 运维提供的工具及介绍
  开发日志访问规则,里面有脚本,可批量跑脚本
  查看,下载,批量命令
6. 异常排查
  系统错误日志: /var/log.{message,cron,boot.log}
  应用日志
  性能数据:cpu、内存、io
  JVM状态
  实时性能工具:
  top:综合,偏cpu,内存
  1 多核
  b 高亮
  x 选择列
  shift + 箭头
  dstat:综合、磁盘
  dstat -lcms --top-cpu
  iostat:
  pidstat: pidstat -d
  iftop:网络、实时刷新(类似工具还有nload,ifstat)
  nethogs
  ss
  free
  Netstat、ss
  内存:
  free -m
  dstat -lcms --top-mem
  IO:
  iostat -x 1
  dstat -lcmd --top-mem
  pidstat
  网络
  ss -nap
  历史性能数据:
  sar(每10分钟记录一次)
  sar -f saNUM
  zabbix
  CAT
  二、 JVM性能分析
  1. Java CPU消耗过多问题排序
  top查看java消耗CPU
  开启top的线程模式,找出消耗CPU最多的java线程ID
  thread-id转为十六进制
  jstack javapid > /tmp/jstatck.log
  从jstack.log,查看该线程的运行情况
  2. Java内存消耗过多问题排查
  -XX:+HeapDumpOnOutOfMemoryError
  -XX:HeapDumpPath
  OR jmap -dump:format=b,file=xxx.hprof<pid>
  MAT
  jmap -histo:live pid查看类的示例
  jstat -gcutil pid 200 200 查看GC情况
  三、运维篇
  1. 运维的类别: 应用运维,系统运维,DBA
  2. 真实的运维
  (1)Dev和Ops的相互能力传递
  (2)工具可视化
  (3)价值观
  客户第一、效率优先、持续优化、责任共担、紧密合作
  3. 典型的网站拓扑
  Fire Wall
  负载均衡
  应用系统
  DB/缓存
  4. 万级别系统管理
  (1)大批量物理机装机
  (2)怎样提高物理资源的使用率
  (3)虚拟化:KVM
  (4)怎样定制各种操作系统需求
  (5)资产怎样管理
  (6)服务器和应用的关联:CMDB
  (7)。。。
  5. 大规模应用管理
  (1)可持续的稳定性保障
  (2)变更
  灰度,窗口,风险意识(敬畏产线变更)
  (3)不同/相同应用集群差异化的管理
  配置文件
  入库配置
  可运维性、可拓展性
  (4)应用交付(发布)管理
  效率(灵活)
  风险(灰度),发布包的正确性,变更内容风险
  (5)应用系统容量评估
  (6)关键组件(中间件等)管理
  (7)日常事务管理
  N研发 VS 1运维
  6. 高可用方案
  (1)远程调用框架
  (2)集群化及消除单点
  (3)缓存
  (4)静态化
  (5)降级
  F5降级
  Nginx降级
  Client降级
  (6)容灾
  渠道备份:
  短信
  银行
  第三方支付
  运营商线路
  IDC容灾机房
  切换:
  自动化切换
  半自动化切换
  7. 监控
  (1)应用监控
  异常
  调用耗时,失败率等
页: [1]
查看完整版本: Linux天天见