Monthly Archives: June 2015

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

感兴趣的同学可以发信到 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. 有虚拟化相关知识加分

Linux下恢复误删文件

周五篮球群里有人问误删文件了怎么恢复,得知是ext4文件系统之后我推荐了ext4magic这个工具,然后又有人提到了xfs的话怎么办,正好前几天看到Dave Chinner在邮件列表里提到了这个问题,他推荐的工具是xfs_irecover。这里就稍微总结一下Linux下误删文件如何恢复。

1. 当发现误删了文件之后,立即把文件系统卸载掉,或者remount成ro状态,就是不要再写了,让数据不要被其他数据覆盖。因为大部分文件系统在删除文件的时候只是把这个文件标记成删除,把文件所使用的数据块标记成可用,但是上边的数据还没有被清除,数据还是在的。那么这个时候不再写硬盘也就保证了数据块不会被其他数据覆盖掉,也就还有希望找回来。

2. 这一步是可选的。最好把要恢复的分区做一个镜像,dd if=/dev/sda5 of=/path/to/image/file bs=4k,这样在恢复的时候在镜像上尽兴,就算恢复出错数据被毁掉了,那也是镜像。

3. 根据不同的文件系统,选用不同的工具来找回删除的文件。ext3推荐用ext3grep,ext4用ext4magic,其实ext4magic是基于ext3grep的,而且ext4magic也能处理ext2/3文件系统;xfs用xfs_irecover,xfs_irecover的manpage在这里

4. 至于能够恢复多少数据出来,那就看人品了

这里用ext4做个例子

# create ext4 fs and copy some files there
fallocate -l 16m ext4.img
losetup -f --show ext4.img
mkfs -t ext4 /dev/loop0
mount /dev/loop0 /mnt/ext4
cp  /mnt/ext4/
sync

# delete some files
rm /mnt/ext4/*

# umount the ext4 fs, this is important!
umount /dev/loop0
# make a copy of the fs
dd if=/dev/loop0 of=ext4-copy.img bs=4k
# run ext4magic on the image
ext4magic -m -d outputdir ext4-copy.img
# some sample output from the command
eguan@localhost:~/workspace/src/kernel$ sudo /home/eguan/bin/ext4magic -m ext4.img -d testdir
Warning: Activate magic-scan or disaster-recovery function, may be some command line options ignored
"testdir"  accept for recoverdir
Filesystem in use: ext4.img

Using  internal Journal at Inode 8
Activ Time after  : Sun Jun  7 22:43:54 2015
Activ Time before : Sun Jun  7 23:02:18 2015
Inode 2 is allocated
Unknown code ext2 45 #0 for block bitmap for ext4.img
Warning: error-NR 2133571363 can not found file: /
MAGIC-1 : start lost directory search
MAGIC-2 : start lost file search
--------        testdir/MAGIC-2/image/jpeg/I_0000000012.jpg
--------        testdir/MAGIC-2/image/jpeg/I_0000000013.jpg
--------        testdir/MAGIC-2/image/jpeg/I_0000000014.jpg
MAGIC-2 : start lost in journal search
MAGIC-3 : start ext4-magic-scan search
ext4magic : EXIT_SUCCESS

更多使用方法看ext4magic的manpage吧,就在源码包里。

Monthly Pic 2015 05

IMG_20150505_120931
五月老板来了,去了金山岭长城

IMG_20150509_112045
然后是公司的活动,去的哪忘了,就是酒店挺有特色的

IMG_20150530_160851
前两天又回了一趟学校看看,感受了下高大上的校内咖啡厅,到教三上了个厕所……