浏览分类:随笔

SaltStack设置PATH环境变量遇到的坑

あぁ、絶望の目つき

今天用Salt更改minion的PATH环境变量发现了一个坑,首先,salt命令行获取minion的PATH,如下图

随后,ssh去到其中一台minion查看PATH,如下图

嗯,这很不对。根据上篇提到的distccd启动问题,立马去看了下salt-minion启动脚本,估计是里面定义了额外的PATH。

果然,如下图 阅读全文

distcc+ccache+dmucs构建分布式编译环境

PS: distcc3.1+之后的pump模式足可以取代dmucs,因此,此文几乎没有什么作用,看看就好 ^_^(20170322)

因公司内部服务器环境发生变化,需进行迁移工作,重新配置开发编译环境。发觉了distcc+ccache这个分布式编译的东东,研究了一阵子,并参考网上资料,加入了dmucs,使得整体编译效率会有所提高,以下为例子演示:
参考链接:

 

Distcc的工作原理为:
GCC 编译C/C++构建一个execualble分为四个阶段:
1,cpp(C预处理器):.c 到.i,  由cc完成汇编
2,ccl(C编译器):.i到.s ,由cc完成  由cc完成编译
3,as(汇编器):.s到.o,由as完成
4,链接:.o 到可执行文件,由collect2完成
其中第三阶段是效率瓶颈
因此,distcc此时作为编译器驱动器,负责把gcc -c预处理输出分布到指定的服务器进行处理,
对应的服务器的distccd进程接收到任务,交给本地的distcc进而编译,最终把.o文件返回给客户端
客户端再链接成可执行文件,完成编译过程
阅读全文

CentOS 7下的xfs文件系统数据备份与恢复

很不幸,公司内网的一台机器硬盘发生故障,报错如下,最后决定进行更换硬盘。由于系统是CentOS 7,所以,在文件系统是xfs的先天优势下,这个备份与恢复过程就相当简单和快捷了!

处理过程:

1,准备好新硬盘,关服务器,插进新硬盘

2,开机把新硬盘分区格式,必须是xfs文件系统格式

3,把新硬盘挂载到/mnt目录

4,备份与恢复,大概25G左右的数据,不用5分钟就完成备份到恢复,之后的收尾工作就不叙述了,指令如下

阅读全文

ntfsfix+superRecovery挽救数据

很不幸,笔记本的机械硬盘坏了,重要的资料分区系统一直提示要格式化。唉,可以,windows这点很强势。后面把硬盘放进了虚拟机里面的centos7尝试挂载资料分区,结果是失败的。一直提示:
Buffer I/O error on device xxxx
...
blk_update_request:I/O error
... 阅读全文

从Arch中认识的Btrfs

"生活中曾各大门户、微博、博客逛来逛去,合上电脑,闭上眼睡觉什么都没留下,唯有总结才能有收获。",曾经在某个博客那里看到的一句话,挺有道理的~这也是写这篇文章的动力,为了了解Btrfs,看了很多资料和收藏了很多好的博主见解链接,本来只想默默地放在浏览器里,等哪天忘了再去翻出来看看,但正因为那句话,最终还是决定自己整理一个文档出来,做做搬运工,随便加上自己的一些见解~那么,下面就开始说说我从Arch中认识的Btrfs~

折腾了一个星期的Archlinux,学到的东西挺多的,特别是Arch其包管理的工具pacman,真的很赞,还有Arch的wiki和bbs,其上面的文档教程很完善详细,可以说得上样样俱全~额,等等,这好像和Btrfs没半毛钱关系啊。不不不,少侠,别急,下面就讲讲Btrfs。

唠叨几句:折腾Arch为什么要讲Btrfs呢?这得从头说起呀,很久很久以前,在一片幽邃的森林里,住着一位森之守护神——…Stop!这是什么和什么?23333,好,请原谅我的中二,来个正式的: 阅读全文