Category Archives: Others

再放一波招聘广告——阿里云系统组!

原来的淘宝内核组,都是大牛,都在做着很有挑战的工作,职位从实习生到p7都有,欢迎来骚扰! eguan # linux.alibaba.com

下边放一个参考的JD

团队介绍:

阿里云系统团队是由原淘宝内核组扩建而成,2013年淘宝内核组响应阿里巴巴集团的号召,整建制转入阿里云,开始为云计算底层系统构建完善的系统支持。 阿里云系统团队是由一群具有高度使命感和自我追求的内核开发人员组成,我们中的大多数人,都是活跃的社区内核开发人员。我们的工作领域主要涉及(但不限于)Linux内核的内存管理、文件系统、网络和内核维护构建,以及和内核相关联的用户态库和工具。我们努力推进让Linux系统在阿里内部的服务器系统上更稳定高效的运行,同时和开源社区合作,基于阿里丰富的应用业务在Linux内核的稳定性、性能、可扩展性等多方面持续改进Linux内核。加入我们,你不但有机会与我们共同打造世界上最具有竞争力的云计算系统,还能够与系统软件和云计算领域最优秀的人一起共事,快速成长,成为领域的专家。阿里云系统团队,期待您的加入。

块存储团队,(Aliyun Elastic Block Store)基于阿里的基础设施,致力于利用和创造业界最前沿的技术,打造最稳定,最智能,最安全的块存储平台。多年以来我们在技术上不断的开拓进取,超越对手,今天的块存储产品依然成为了业界的明灯,阿里云的基石,因为我们始终相信我们可以用我们的技术定义存储的未来!在这里我们拥有足智多谋的存储调度系统,巧夺天工的自研分布式存储系统,琳琅满目的世界顶级新鲜硬件,更重要的是我们拥有一支大牛云集的技术团队。在这里你可以接触到最广阔的应用场景,研究最新的技术方向,解决最难的分布式存储问题,舍你其谁,无需等待,加入我们,让你的青春谱写中国云计算的辉煌。
岗位描述:

候选人需要对 C/C++ , Linux 内核及系统编程,计算机体系结构,或系统性能调优等技术领域,有扎实的知识积累,以及相关的工作经验;候选人还需拥有快速解决问题的能力,积极进取,自我驱动,将系统软件研发的能力与业务场景相结合,通过不断完善系统 QOS 能力,提升云计算数据中心的效能。

工作职责:
1. 完善 Linux 系统资源隔离机制,满足不同业务的要求。
2. 深入理解Linux内核基础模块,并能够根据业务要求做相应的定制。
岗位要求:

1. 精通Linux内核资源隔离以及cgroup子系统相关原理,并有资源隔离相关的开发工作经验
2. 了解Linux内核其他模块如进程管理,内存管理,文件系统,存储等,并从事过其中某些子系统的开发工作
3. 对计算机体系结构有深入的理解和认识
4. 熟悉KVM,XEN等相关虚拟化技术优先

再发广告——招内核网络测试

很久没写新blog了,发了一个就是广告……之前发过几个招人广告,效果还不错,已经招到过3个人了。这次是一个内核网络测试的职位,无论是网卡驱动还是协议还是bonding/vlan之类的,只要你熟悉感兴趣都可以来尝试。

guaneryu#gmail.com

工作内容:
1. 调查网络功能和新特性,写测试计划
2. 编写、调试并改进测试用例,并执行测试和分析结果
3. 测试RHEL的kernel,验证bug
4. 调查软件缺陷,并根据需要编写相应工具

工作要求:
1. 三年或以上网络相关工作经验
2. 熟悉一下至少两个领域: NIC drivers, virtual LAN, bonding, bridge, ethernet, Open VSwitch, dpdk, route, tunnel, IPv6, IGMP, SCTP, IPsec, TCP and netfilter
3. 良好的Linux基础
4. 熟悉bash或者python或者C语言
5. 良好的分析解决问题的能力
6. 良好的与他人合作的能力,愿意帮助他人,能够用英语沟通(书面为主,听说为辅)

薪水范围在16w-24w,比不过互联网公司,但是肯定也没有互联网公司累,性价比很好。红帽工作环境很好,宽松自由,只要你把工作做好了。每周一天在家办公机会。适合热爱开源、自主能力强的同学。在红帽有机会跟开源社区各种大牛一起工作,自己发patch修bug是受到鼓励的。每周还有羽毛球足球篮球活动。

招聘信息原文
Job summary

The Red Hat Quality Engineering team is seeking a Quality Engineer to join us in Beijing, China. The Quality Engineering team serves as the last checkpoint before code is released to the public. In this role, you will focus on searching, analyzing, and tracking defects and verifying bug fixes for the Linux kernel. You’ll also identify testing gaps, improve kernel network function testing, and develop test cases.

Primary job responsibilities

Investigate network functions and features and design test plans
Write, debug, and improve test cases
Execute test cases and analyze results
Test network bugs and test case automation
Debug software problems and create tools as needed

Required skills

3+ years of network-related work experience
Knowledge of 2+ areas in NIC drivers, virtual LAN, bonding, bridge, ethernet, Open VSwitch, dpdk, route, tunnel, IPv6, IGMP, SCTP, IPsec, TCP and netfilter
Solid Linux skills
Familiarity with Bash, Python, or C programming
Diligent and motivated with creative problem-solving skills
Passion and desire for testing and examining how things work internally
Willingness to coordinate and help others
English communication skills
Experience with kernels is a plus

避免在wifi断线重连时vpnc的dns server被NetworkManager重写

用vpnc连公司的网络的时候有个问题,就是如果wifi短暂断开重新连接之后vpnc设置的dns会被覆盖成wifi默认的地址,而不是公司的dns地址,这时候公司的网络还是通的,但dns就不能用了。两种方法可以解决,一是断开vpnc重新连接,二是用 vpnc –local-port 0 重连。但这两种方法都麻烦,想个办法让NetworkManager不覆盖 /etc/resolv.conf是比较理想的办法。

看了下 /etc/vpnc/vpnc-script 是如何写 /etc/resolv.conf 的,又看了下 /etc/NetworkManager/dispatcher.d/pre-up.d/ 里的脚本,觉得可以在 vpnc-script 里保存一份resolv.conf,当NetworkManager运行pre-up.d的时候看看vpnc是否在运行并且vpnc保存的resolv.conf副本也存在,就用这个副本再次覆盖/etc/resolv.conf

最后就是改了下 /etc/vpnc/vpnc-script

--- /etc/vpnc/vpnc-script.orig  2015-11-29 15:40:36.673524008 +0800
+++ /etc/vpnc/vpnc-script       2015-11-29 15:39:52.895101651 +0800
@@ -80,6 +80,7 @@
 HOOKS_DIR=/etc/vpnc
 DEFAULT_ROUTE_FILE=/var/run/vpnc/defaultroute
 RESOLV_CONF_BACKUP=/var/run/vpnc/resolv.conf-backup
+RESOLV_CONF_VPNC=/var/run/vpnc/resolv.conf-vpnc
 SCRIPTNAME=`basename $0`
 
 # some systems, eg. Darwin & FreeBSD, prune /var/run on boot
@@ -413,6 +414,8 @@
 search $CISCO_DEF_DOMAIN"
        fi
        echo "$NEW_RESOLVCONF" > /etc/resolv.conf
+       # save another copy for NetworkManager use
+       echo "$NEW_RESOLVCONF" > $RESOLV_CONF_VPNC
 
        if [ "$OS" = "Darwin" ]; then
                case "`uname -r`" in
@@ -474,6 +477,7 @@
        fi
        grep '^#@VPNC_GENERATED@' /etc/resolv.conf > /dev/null 2>&1 && cat "$RESOLV_CONF_BACKUP" > /etc/resolv.conf
        rm -f -- "$RESOLV_CONF_BACKUP"
+       rm -f -- "$RESOLV_CONF_VPNC"
 
        if [ "$OS" = "Darwin" ]; then
                case "`uname -r`" in

然后给NetworkManager添加一个pre-up.d脚本

$ cat /etc/NetworkManager/dispatcher.d/99-vpnc-dns 
#!/bin/bash
RESOLV_CONF_VPNC=/var/run/vpnc/resolv.conf-vpnc

if pgrep vpnc && [ -f $RESOLV_CONF_VPNC ]; then
        cat $RESOLV_CONF_VPNC >/etc/resolv.conf
fi

$ cd /etc/NetworkManager/pre-up.d/
$ sudo ln -s ../99-vpnc-dns .

这样生活稍微美好了一点儿。

记两个跟颜色相关的事情,mutt里patch语法高亮和彩色的manpage

1. 让mutt对patch进行语法高亮

看patch的时候没有语法高亮看光秃秃的patch很难看,想着怎么能高亮一下。搜索到有人说设置mailcap,纯文本文件用view(也就是 vim -R)来显示,间接的用到了vim的语法高亮,比如在 ~/.mailcap 中设置

text/plain; vim -R -- %s ; needsterminal

并且在 ~/.muttrc 中设置

set allow_ansi

但在我的Fedora23系统上不管用,问题是vim识别不出来mail的filetype,也就无法用diff.vim来进行高亮。也许再继续折腾下vim这个方法应该还是能走通的。但我没继续这么折腾。

我看到diff的语法高亮也挺简单的,就想用mutt的color指令自己实现高亮,经过摸索还真成了。其实也就是在 ~/.muttrc 中添加如下设置,颜色可以自己改

# coloring patch
# diff --git
color body brightgreen default "^diff --git a/.*$"
# removed
color body brightred default "^-.*$"
# added
color body brightcyan default "^[+].*$"
# --- a/
color body brightgreen default "^--- a/.*$"
# +++ b/
color body brightgreen default "^[+]{3} b/.*$"
# @@ -111,3... @@
color body brightyellow default "^@@.*@@"
# ---
color body brightyellow default "^---$"
# --
color body yellow default "^--$"

一点小问题就是,只要是以 +/- 开头的行都会高亮,不管这个邮件到底是不是patch。其实问题不大。

2. 彩色的manpage

这个在网上搜一下很多,但基本都是指向ArchWiki上的文档。我在Fedora19的时候这么做还是管用的,好像从20开始就不工作了。奇怪的是RHEL6/7这个方法同样管用。现在升级到了23终于不能忍了。

经过搜索(千辛万苦啊),找到了fedora user list上的一个thread,最终解决了我的问题。

解决方法很简单,在ArchWiki的设置基础上,再

export GROFF_NO_SGR=yes

彩色manpage就又工作了。什么原理我不知道,也不想继续找了,反正是跟termcap和groff有关的。

还是广告——文件系统测试招人!

Red Hat内核测试组招文件系统测试工程师。这个职位主要测btrfs overlayfs和以后的一些新feature,比如DAX之类,都是当前比较热门的方向。如果对其他文件系统感兴趣,比如NFS/CIFS/autofs,也是可以的。

工作内容:
1. 写测试计划(可能需要跟开发者反复沟通交流),按照测试计划写自动化测试用例
2. 执行测试用例并报告bug,或者修改测试用例
3. 测试RHEL的kernel,验证bug
4. 扩大测试覆盖
5. 鼓励参与上游测试和参与社区

工作要求:
1. 对Linux很熟悉,最好是Linux爱好者,喜欢折腾的那种
2. 会bash脚本或者其他脚本语言(主要用shell),对C语言有比较深刻的理解
3. 工作认真负责,能够举一反三,从一个测试点出发覆盖一个测试面
4. 英语读写好,听说不做太高要求,能说出来就好
4. 熟悉开源社区工作流程,参与过开源社区的优先

薪水肯定比不过互联网公司,但按照传统IT和红帽的工作量来说还不错了。而且很多人反映红帽的工作环境非常好,而且每周有一天的在家办公机会,每周有足球篮球羽毛球乒乓球活动,都是在工作时间(但活动时间需要补回来的)。

同时还招实习生,也是要求对Linux熟悉,有开源社区经验的优先。

感兴趣的同学给我发信 guaneryu # gmail

继续发招聘广告——内核测试

感兴趣的同学可以发信到 guaneryu at gmail.com

职位1:
职位名称: 网络协议测试工程师
薪水范围: 16万 – 24万
工作职责:
1. 测试网络协议栈,如tcp ipv6 igmp route sctp netfilter netlink编写、调试并改进测试用例
2. 执行测试用例并分析结果
3. 重现/验证bug并且写bug的reproducer写成regression case
职位要求:
1. 深厚的Linux基础和背景
2. 深入理解网络3层、4层协议
3. 熟悉shell/python/Perl脚本语言,熟悉C语言
4. 良好的调试、分析问题能力

职位2:
职位名称: 网卡测试工程师
薪水范围: 16万 – 24万
工作职责:
1. 测试RHEL的1G/10G/40G网卡驱动
2. 测试验证网卡驱动bug并写自动化测试用例
3. 编写、改进并维护测试计划
4. 执行测试并分析结果
职位要求:
1. 深厚的Linux基础和背景
2. 深入理解网卡驱动和以太网
3. 良好的调试和分析问题能力
4. 良好的沟通合作能力
5. 了解内核实现加分

职位3:
职位名称:网络vlan/bridge测试工程师
薪水范围:16万 – 24万
工作职责:
1. 测试vlan/bridge并编写、改进测试用例
2. 在各种网卡上执行vlan/bonding/bridge的测试并分析结果
3. 验证vlan/bonding/bridge的bug并把reproducer写成自动化测试用例
职位要求:深入理解vlan/bonding/bridge,其他要求同上

职位4:
职位名称:内核测试工程师 (mm/process management/power management/other general kernel bugs)
薪水范围:同上
工作职责:
1. 分析和测试内核bug
2. 针对bug编写测试用例,避免regression
3. 发现并填补测试空白
4. 改进整体的kernel功能测试
5. 和其他组合作测试kernel
职位要求:
1. 有很好的Linux基础
2. 深入理解以下知识之一: kernel infrastructure, kernel debug tool, filesystem, network, memory, scheduler, storage
3. 良好的英语沟通能力
4. 有虚拟化相关知识加分

Monthly Pic 2015 03

IMG_20150305_133731
终于下定决心买了一个双肩羽毛球包,能放拍子衣服和鞋,还能放个电脑,装鞋和拍子方便多了

IMG_20150313_163843
在北大操场打球,很久没在室外打球了,而且北京难得的好天气

红帽招内核测试——文件系统方向

最近招人被逼的很紧,发BYR一个招聘帖子,也转这里吧,谁能翻墙过来看到这个说明还是挺符合我们的要求的:)

发信人: GMoto (Gery), 信区: Linux
标 题: 红帽招内核测试——文件系统方向
发信站: 北邮人论坛 (Wed Nov 5 20:56:09 2014), 站内

工作职责:
-检查文件系统执行及其新功能,编写并更新测试计划,主要偏向网络文件系统,比如
NFS/CIFS,和相应的用户态工具
-根据测试计划编写测试用例
-执行测试用例并分析结果
-评估测试错误
-与开发者或客户沟通测试漏洞,并提出解决方案
职位要求:
-扎实的Linux学习或项目背景
-熟练使用Shell和C语言
-熟悉开源社区和开发模式
-熟悉文件系统执行理论和方法
-工作认真负责,能适应快速的工作环境,为人灵活,热爱挑战
-具有打补丁和报告错误经验者优先

虽然是社招职位,但是也欢迎优秀的应届生。

这个职位对内核没有很高要求(但至少自己要折腾过内核,比如配置/编译),但是对
Linux基础要求相对较高,希望你是一个热爱开源,喜欢折腾的同学。

感兴趣的学弟学妹可以给我发简历 guaneryu at gmail.com

2014-11-06 更新:

基本工作内容就是写测试计划,根据计划写case,然后
跑case,并检查结果、报bug或者修改case,还有验证bug。大体上是这样。

case可以用你喜欢的语言写,但现在bash占绝大多数。

我个人觉得对员工的好处是有一个和Linux紧密接触的工作环境,可以跟社区大牛开发者近
距离(不是指物理上的距离)交流,鼓励参与开源项目。对喜欢Linux,喜欢开源文化的同
学我觉得是个吸引。

工作地点在融科资讯C座,工作环境个人感觉很不错,曾受到过IBM/EMC同学的赞赏。

这个位置的待遇说实话对社招来说只能算一般,没办法,前人留下的坑就这么大。但是对校
招来说还算不错了。当然,红帽还是不能跟互联网公司拼待遇,但也没互联网那么累就是了

广告: Red Hat 招聘内核测试

Red Hat 招聘内核测试

职位1:
职位名称: 测试工程师
薪水范围: 13万 – 20万
工作内容:测试kernel bug,如果有兴趣,还可以加上存储方面的bug的测试,像iSCSI,
FC, FCoE, RAID等领域的bug。

职位2:
职位名称: 资深网络测试工程师
薪水范围: 20万 – 30万
工作内容: 测试kernel中的网络协议,vlan, bridge, bonding, tunnel和网卡驱动。

有意者,请联系我 guaneryu#gmail.com

告别google reader

之前Google宣布今年7月1号正式关闭google reader服务,然后不久就出现了好多接管难民的服务。当时没怎么注意,感觉7.1还远着呢,现在不知不觉已经到了greader寿终正寝的日子,也该好好选一个接管的服务了。

之前看LinuxToy上介绍了newszeit.com。试用了一下发现各种不适应。服务经常刷不出内容,很不稳定,而且免费用户只有65个(貌似是)订阅源可以使用,限制很多。今天突然想到在公司内部邮件列表里有人发起了一个thread,就是讨论greader替代品的,赶紧过去看看。这里列出几个内部推荐的服务

feedly.com 推荐的人最多
theoldreader.com 最像google reader
feedmug.com
digg.com

最后我迁移到了feedly.com和digg.com,为了保险起见。目前感觉这两个都不错。

Qura上还有一个thread专门讨论这个问题的 http://www.quora.com/Google-Reader-Shut-Down-March-2013/What-is-a-good-substitute-for-Google-Reader

Google reader最开始有分享和评论功能的时候是最活跃也是我最喜欢用的时候。好多资讯都是从朋友的分享得来,从朋友的评论当中也学到了很多知识。后来没了分享和评论功能看google reader的频率就少了很多,毕竟一个人的订阅不可能全面,质量也参差不齐,而朋友的分享都是经过筛选的高质量文章。

拜拜了google reader。