-
Linux和Mac系统默认的shell 都是bash,但是真正强大的shell应属于zsh,99%兼容bash,是shell中的终极杀手,有很多bash所没有的功能,但是zsh的初期配置太过繁琐,流行率一直不高,直到有个叫Robby Russell的家伙在github上开发了oh-my-zsh项目,使大家使用zsh的便捷性大大提高。由于在公司的电脑是windows,就折腾了下cygwin,并且安装
-
如图展示的是TCP的三个阶段.1,TCP三次握手. 2,TCP数据传输. 3,TCP的四次挥手.SYN:(同步序列编号,Synchronize Sequence Numbers)该标志仅在三次握手建立的时候有效。表示一个新的TCP连接请求。 ACK:(确认编号,Acknowledgement Number)是对TCP请求的确认标志,同事提示对端系统已经成功连接所有数据。 FIN
-
转载自网络
运维中关键技术点解剖:1 大量高并发网站的设计方案 ;2 高可靠、高可伸缩性网络架构设计;3 网站安全问题,如何避免被黑?4 南北互联问题,动态CDN解决方案;5 海量数据存储架构
一、什么是大型网站运维?
首先明确一下,全文所讲的”运维“是指:大型网站运维,与其它运维的区别还是蛮大的;然后我们再对大型网站与小型网站进行范围定义,此定义主要从运维复杂性角度
-
自今年4月份DC/OS开源以来,mesosphere公司的这款云数据中心内核的软件越来越受到大家的欢迎。这篇文章介绍一下GUI的方式在两台CentOS7上安装。目前DC/OS只能安装在RedHat 7以上的系统,还不支持Debian系统。我们使用的是IBM Bluemix提供的2台CentOS7系统,他是基于Softlayer之上的用Openstack搭建的IBM的PaaS平台。根据官方文档介绍,
-
我们很容易就用free命令看到系统的cache使用量,但是你知道是哪些程序的文件在消耗cache吗?虽然cache在严格意义上也是可以当做free的内存使用的,也可以通过 echo 3>/proc/sys/vm/drop_caches来主动释放,但是你真的确定运行这条命之后,cache的数据回写到磁盘不会造成你的系统IO飙升而出现其他问题吗?你确定当前系统是可以清理page cache的吗?
-
最近在Youtube看Docker视频的过程中不幸看到了Mesos的介绍,然后就有一种一见如故的感觉,最终根据mesosphere官网的文档在IBM的Bluemix虚拟机上搭建了基于ZooKeeper + Mesos + Marathon的平台。搭建之前先简单了解下各个组件是做什么的。(来自wikipedia及其他网络)ZooKeeper:Zookeeper 分布式服务框架是 Apach
-
今天早上打开Mesos平台,发现有一个Killed的任务,MESOS_TASK_ID=hyakuhei.a318e232-28d9-11e6-bc8f-96bed1f124a2,名字很奇怪,并不是我跑的呀,然后去Marathon看一下,没有这个任务的container在运行,可能已经被删,查看mesos日志,发现在两个slave节点跑过该任务,登录到slave docker ps -a一看,看到I
-
本文分两部分,第一部分是手动计划任务的方式构建Github上的Docker程序,第二部分是用Github webhook Trigger一个自动构建任务。Jenkins采用2.5版本Docker采用1.7.1代码托管使用的Github官网系统为IBM Bluemix提供的Cent6.7,服务器地址在美国南加州1.1 创建一个Freestyle Project, let's say jenkins-
-
最近一直在研究Mesos, Marathon跟Docker结合的容器云平台,Mesos 框架已经搭好,并且Marathon也可以实现简单的Docker应用管理了,然后今天尝试搭建一下mesosphere公司的DC/OS平台(https://dcos.io/),利用这个平台可以很容易实现基于容器的云计算平台的资源调度,管理,应用分配,负载均衡,动态扩展,故障转移等。DC/OS底层系统也是基于Dock
-
用Ansible也有两年多时间了,之前做初始化工作都是在kickstart的配置文件里加上自己的shell脚本来初始化系统环境,现在的运维环境不同,前期的系统安装工作交由IDC部门处理,我这边能做的就是用脚本自己初始化自己喜欢的运维环境。没用Ansible之前用shell也可以实现他的某些功能,比如用Ad-Hoc的场景下,基于生产环境的内网SSH Key 互信的环境,写个for循环也可以实现简单的
-
sysdig's chisels 是内置的脚本,供使用者来追踪系统调用或者查看系统的性能瓶颈,它是用强大而且高效的脚本语言Lua写的。今天来分享一下fdbytes_by的用法,该案例可以探测到系统的那个文件的I/O占用最高(不光是file,还可以是network I/O),而且可以查到哪个进程在读写该文件,并且可以查看到内核级的I/O活动明细。应用场景可以观察一下你的文件系统是否是在高效运转,或者
-
看到标题,大家可能会说直接用lsof呗,如果是这么简单我还何必写此文呢?某些应用场景下用lsof或者strace分析不出来某个特定进程访问过哪些文件,或者正在访问哪些文件,这时候就是sysdig出场来解决啦。之前的文章介绍过了sysdig的基本语法,今天来说说分析某个进程正在访问的文件都有哪些?抛砖引玉。比如我们拿登录Ubuntu系统时,显示系统信息这个事情,如果是CentOS系统,很容易就在/e
-
Sysdig绝对是可以跟SystemTap相媲美的工具,都是系统故障排查的利器,不论是开发人员还是运维人员都必须要掌握的一个工具。今天先介绍一下Sysdig的一些特性。官网上说Sysdig是Strace, Tcpdump, Lsof, Htop, Iftop等工具的合体,至于你信不信只有使用之后才能来惊叹我说的到底对不对。这里官网总结了sysdig命令对于strace, tcpdump, lsof
-
Balance是一款具有负载均衡和故障转移功能的TCP代理软件。支持IPV6地址的监听和转发,支持rr轮询和ip hash。某些功能可以替代iptables,比如讲来自本地的80端口转发到8080上:iptables是这样写的:iptables -t nat -A PREROUTING -d 192.168.1.1 -p&nbs
-
要想用Ansible操作复杂的任务,就必须要学会YAML语法的书写,不光是Ansible,连他的竞争对手saltstack也使用了YAML,下面来学习一下YAML语法的格式,省得到要你写个Playbook的时候手忙脚乱的要好。引用一下维基:YAML是"YAML Ain't a Markup Language"(YAML不是一种标记语言)的递回缩写。在开发的这种语言时,YAML 的意思其实
-
以前一直拿ethtool来判断网络的物理连接是否正常,其他功能都没仔细看过,但是ethtool绝不是单单看网卡是否linked这么简单的,今天来分享一下ethtool工具的简单用法。首先看一下命令帮助:Usage:
ethtool DEVNAME Display standard information about device
&nb
-
我在公众号上重新发表了一次,这里我添加了动图,看起来更方便一些。https://mp.weixin.qq.com/s?__biz=MzI0MzQ0MTE2Nw==&mid=2247483697&idx=1&sn=3fe98f1cbb554cd7a8a741d6000fc922&chksm=e96c4a51de1bc347532f0223990a39836725b65
-
nicstat是一款分析网卡流量信息的工具,原生于Solaris,后来被移植到Linux上,官网地址https://blogs.oracle.com/timc/entry/nicstat_the_solaris_and_linux。 以下摘自官网:nicstat is to network interfaces as "iostat" is to disks, or "prstat" is to
-
iperf是一款网络性能测试工具,不紧可以测试TCP, UDP,还包括检测网络带宽,自由设置MSS大小,tcp nodelay,tcp windows 大小,最新的iperf3.0版本甚至加上禁止tcp slow start的功能。一般系统默认安装的都是iperf的旧版本,最近版本请到官网下载:https://iperf.fr/iperf-download.php,由于我是ubuntu的系统,所以
-
netstat命令大家肯定已经很熟悉了,但是在2001年的时候netstat 1.42版本之后就没更新了,之后取代的工具是ss命令,是iproute2 package的一员。# rpm -ql iproute | grep ss
/usr/sbin/ss
/usr/share/man/man8/ss.8.gzss可以显示跟netstat类
-
我们线上的机器登录都是通过每5秒钟获取一次密码的方式登录的,今天要登录线上的一组机器,发现去不到root的password了,一直显示错误,后通过console进去获取到密码才得以登录进去,因为系统里用的是/usr/bin/mkpasswd的方式来生成密码的,手工执行mkpasswd root, 发现没有返回,也没有报错,打开文件看看源码是怎么写的,发现是一个shell脚本,是通过系统的passw
-
最近终于把Brendan Gregg大神的力作《Systems Performance: Enterprise and the Cloud》给看完了,前往系统调优的道路上还有很多路要走,最近打算写一个系列的性能调优的文章,算是一个读书笔记,跟工作上遇到的问题。思路就按照Brendan经常用的性能调优图片来写:
-
一、环境配置由于集群至少需要三台服务器,我就拿上次做的MongoDB Master, Slave, Arbiter环境来做Hadoop集群。服务器还是ibmcloud 免费提供的。其中Arbiter在这里做的也是slave的角色。HostnameIP Server TypeMaster192.168.0.28Centos6.2Slave192.168.0.29Ubuntu14.04Arb
-
发现有人抄袭我的文章,竟然不写出处,想想也挺开心的,还会被抄袭,以前上初中的时候都是抄袭别人的作业。这篇文章我都改动过好多次了,那哥们抄袭的还是之前有点bug的代码。望他看到后,重新抄一遍,免得误人子弟了。最近有一个新项目需要用到MongoDB的Master,Slave,Arbiter的架构,去官网翻了一下文档,写了一个简陋的脚本。脚本可以在我的github上找到https://github.co
-
今天给大家介绍一款分析MongoDB数据库表结构的软件 -- Varity.对于MongoDB这种Schema Free的数据库来说,用软件自带的查询collection中存储的数据情况很难一眼就看出具体的数据结构,Tomá Dvoák 作者写了一个Variety.js的脚本就很容易理解没个collection中的数据结构。作者将工具托管在github上,并且欢迎任何人来提供建议或者添加功能。以下
-
学习性能调优的过程中,翻译的一篇文章。在 GRUB 引导程序那一章中,我们提到了内核命令行的作用,以及如何在引导机器时修改这个命令行。既然已经讨论了红帽企业版Linux 的启动顺序,现在我们返回到这个话题上来。启动时,内核查看内核命令行,对任何识别出来的参数做出合适的响应。内核把没有识别出来的任何参数传递给第一个进程。如果未被识别的参数具有name=value 的形式,把它作为环境变量进行传递,否
-
最近一台游戏服务器的文件系统挂了,花好长时间才修复好,趁有时间把思路和命令整理一下,我在我的虚拟机里还原一下操作。文件系统挂了,大家首先想到的命令就是fsck了。fsck /dev/sda1查看 备份的superblockroot@Defcon:/tmp# dumpe2fs /dev/sda1|grep super
dumpe2fs 1.42&nb
-
转载自:http://www.361way.com/%E5%86%8D%E7%9C%8Bnf_conntrack-table-full%E9%97%AE%E9%A2%98/2404.html一年前,我写过一篇博文叫 ———— ip_conntrack: table full问题 ,当时是在squid应用主机上最先发现了该问题,也于当时,深刻了解到iptables的这个报错,会
-
这篇文章翻译自:https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-nginx-on-ubuntu-14-04 其中有一些错误,包括一些软件包已经不是原来的名字,在翻译的过程中已经改正,并且在我的机器上实际运行过,一下命令基本是从我history里面copy出来的。简介:WordPress是世
-
根据之前的文章整理出来的,首先找到适合自己路由器的固件,然后升级。openwrt-ar71xx-generic-tl-wdr4900-v2-squashfs-factory.bin 直接在路由器界面选择系统升级,选择这个bin文件,重启即可。用户名root,密码空opkg update opkg install block-mount 
shanker
分享到朋友圈
- 关注技术:python Mysql Linux
- 入住博客:2010-01-20 11.1年