原创 使用Sheepdog體驗Openstack的彈性塊服務

Sheepdog[1]是開源的分佈式塊存儲項目,具有零配置、Thin-Provision、高可靠、智能節點管理、容量線性擴展、虛擬機感知(底層支持冷熱遷移和快照、克隆等)、支持計算與存儲混合架構的特點等,可擴展到上千級別的物理節點。 Ope

原创 大話Sheepdog 2 – 對象緩存

分佈式存儲系統的性能一直都是衆矢之的,主要是因爲數據甚至元數據的存取都添加了網絡層的開銷。對於多拷貝的對象存儲來說,甚至還有複雜的邏輯來保持各個拷貝的一致性。對於拷貝的讀寫,讀寫的優化通常是不可兼得。比如通過最終一致性(eventual c

原创 ulimit限制之nproc問題

前兩天微博上的@王關勝同學問了個問題: #ulimit問題# 關於nproc設置:centos6,內核版本是2.6.32. 默認情況下,ulimit -u的值爲1024,是/etc/security/limits.d/90-nproc.c

原创 libev ev_io源碼分析

最近用libev做項目,在使用libev時遇到了一些問題,最近看了libev的代碼,整理了一部分libev實現。 1. ev_watcher和ev_loop ev_watcher: libev中所有事件的基礎類型ev_watcher,所有的

原创 Tips of Linux C programming

1. 優雅地使用鏈表         鏈表是編程中經常要用到的數據結構,結構體描述時分爲數據域和指針域,本沒有什麼好講。但有沒有想過教科書上的這種方式有什麼問題?通過這種方式定義和使用鏈表,對於不同的鏈表類型,都要定義各自的鏈表結構,繁瑣的

原创 Transfer 2.0 介紹

       Transfer是一個主從多線程同步工具,直接patch在MySQL中。2011年開發完成。於去年的12.12上線,並撐住高峯期主從,保證從庫無延遲,使得應用能夠直接從從庫上讀數據。        對Transfer1.0

原创 Linux下如何知道文件被那個進程寫

晚上朔海同學問: 一個文件正在被進程寫 我想查看這個進程 文件一直在增大 找不到誰在寫 使用lsof也沒找到 這個問題挺有普遍性的,解決方法應該很多,這裏我給大家提個比較直觀的方法。 linux下每個文件都會在某個塊設備上存放,當然也都有相

原创 近期Imgsrc一處內存泄露問題的查找和解決

最近一直在查我們的imgsrc的內存泄露問題,事實上都是其所使用的ImageMagick庫的bug。前些天又查了一個bug,涉及面較廣,覺得有必要總結一下。 簡要說明一下,imgsrc上部署的是apache模塊,cdn通過其來訪問tfs,並

原创 大話Sheepdog 1 – 智能節點管理

Sheepdog是開源的分佈式塊存儲項目,具有零配置、Thin-Provision、高可靠、智能節點管理、容量線性擴展、虛擬機感知(底層支持冷熱遷移和快照、克隆等)、支持計算與存儲混合架構的特點等,可擴展到上千級別的物理節點。開源軟件如QE

原创 使用gdb調試運行時的程序小技巧

原創文章,歡迎轉載。轉載請註明:轉載自淘寶核心系統團隊博客,謝謝! 原文鏈接地址:使用gdb調試運行時的程序小技巧 下面介紹我調試時經常遇到的三種問題,如果大家也有類似的問題交流一下解決方法: 情景1:在不中止程序服務的情況下,怎麼調試正在