1. 程式人生 > >Gluster原始碼閱讀2--啟動分析service glusterd start

Gluster原始碼閱讀2--啟動分析service glusterd start

修改/usr/lib/systemd/system/glusterd.service 裡的log級別到TRACE

Environment="LOG_LEVEL=TRACE"

可以檢視更多log

當安裝好gluster後,在/usr/sbin下面會有4個檔案與之相關

這4個檔案,其實你會發現其中3個是指向同一個檔案的glusterfsd,

還有一個gluster,它負責解析來自bash的配置,查詢命令,例如glustervolume info,start等

等,它是一個RPC的客戶端

 

圖1-1

當你呼叫service glusterd start,下面這個指令碼將啟動如下程序

 

如果你配置了volume將會啟動如下程序,同樣當呼叫gluster volume stop 這個程序也會被kill


如果你配置了多個volume,那麼將啟動多個這個程序,例如我們配置了2個volume,將啟動2個程序


另外伴隨著volume的啟動,有2個程序也會隨之啟動,但是無論你配置多少個volume,始終是這2個在負責

一個負責NFS(Networking File System)


另一個負責Self-Healing


而當我們mount一個volume時,啟動了如下程序

/usr/sbin/glusterfs--volfile-server=192.168.0.2 --volfile-id=export-gv1 /mnt-gluster-1

如何啟動的請參考/usr/sbin/mount.glusterfs 指令碼

相關推薦

Gluster原始碼閱讀2--啟動分析service glusterd start

修改/usr/lib/systemd/system/glusterd.service 裡的log級別到TRACE Environment="LOG_LEVEL=TRACE" 可以檢視更多log 當安裝好gluster後,在/usr/sbin下面會有4個檔案與之相關 這4個

springmvc原始碼閱讀2--dispatcherServlet及談如何找原始碼入口

一、先找到入口: 1、先說找發: 根據配置檔案找 這個是最常見的搞法,在原始階段大多數都會使用一些配置檔案來啟動這些框架,但是隨著springboot類似的搞法的流行,這個技巧有點不在那麼起作用,其實原理還是這個。 依據j2ee的規範來找: 首先我們要搞明白兩個規範(也

spring framework 4 原始碼閱讀(2)---從ClassPathXmlApplicationContext開始

Application初始化日誌 15:23:12.790 [main] DEBUG o.s.core.env.StandardEnvironment - Adding [systemProperties] PropertySource with lowest searc

Cartographer原始碼閱讀(2):Node和MapBuilder物件

  上文提到特別注意map_builder_bridge_.AddTrajectory(x,x),檢視其中的程式碼。兩點:   首先是map_builder_.AddTrajectoryBuilder(...),呼叫了map_builder_物件的方法。其次是sensor_bridges_鍵值對的賦值。

Ethzasl MSF原始碼閱讀(2):百川匯海

這裡有個感覺,就是百川匯海。即IMU資料和相機的訊息資料都彙集到msf_core進行處理。接上一篇, 1. 檢視IMUHandler_ROS::IMUCallback和IMUHandler_ROS::StateCallback回撥函式。  MUHandler_ROS::IMUCallback,傳入的訊息s

php laravel 原始碼閱讀2(入口檔案)

先總體說下入口檔案程式碼,然後在深入一個一個說。 這是5.5的原始碼。 咱們一行一行的看。 首先是: 第十行: define('LARAVEL_START', microtime(true)); 頂一個一個常量,開始的時間戳,以微妙計算 第二十四行: requi

tcmalloc原始碼閱讀(三)---ThreadCache分析之執行緒區域性快取

執行緒區域性快取 tcmalloc採用執行緒區域性儲存技術為每一個執行緒建立一個ThreadCache,所有這些ThreadCache通過連結串列串起來。 執行緒區域性快取有兩種實現: 1. 靜態區域性快取,通過__thread關鍵字定義一個靜態變數。 2.

JDK原始碼閱讀之Collection分析

Collection介面是所有集合類的父介面,其提供了一些通用的方法,但未提供任何具體的實現,提供此類是為了能統一的以介面的方式使用一些方法,下面我們看看其提供了哪些方法。 //繼承了迭代器的介面,

spark原始碼閱讀--shuffle過程分析

ShuffleManager(一) 本篇,我們來看一下spark核心中另一個重要的模組,Shuffle管理器ShuffleManager。shuffle可以說是分散式計算中最重要的一個概念了,資料的join,聚合去重等操作都需要這個步驟。另一方面,spark之所以比mapReduce的效能高其中一個主要的原因

uboot啟動分析第一階段(start.S)

前面分析了啟動指令碼、Makefile、mkconfig,接下來就是uboot的start.S這個啟動程式碼了,下面是本章的平臺介紹: 單板:迅為4412開發板(Exynos 4412) SDRAM:1G EMMC:4G Exynos 4412的啟動

2.uboot和系統移植-第6部分-2.6.uboot原始碼分析2-啟動第二階段》

《2.uboot和系統移植-第6部分-2.6.uboot原始碼分析2-啟動第二階段》 第一部分、章節目錄 2.6.1.start_armboot函式簡介 2.6.2.start_armboot解析1 2.6.3.記憶體使用排布 2.6.4.start_armboot解析2 2.6.5.s

Spark2.2.2原始碼解析: 2.啟動master節點流程分析

本文主要說明在啟動master節點的時候,程式碼的流程走向。   授予檔案執行許可權 chmod755  兩個目錄裡的檔案: /workspace/spark-2.2.2/bin  --所有檔案 /workspace/spark-2.2.2/sb

七.linux開發之uboot移植(七)——uboot原始碼分析2-啟動第二階段之start_armboot函式分析1

一.uboot啟動第二階段之start_armboot函式簡介 1.start_armboot函式簡介 (1)這個函式在uboot/lib_arm/board.c的第444行開始到908行結束。 (2)、即一個函式組成uboot第二階段 2、

netty4原始碼閱讀分析----服務端啟動過程

本文是基於4.1.24-final版本,首先我們編寫個測試例子,然後根據例子一步步debug過程中閱讀原始碼。EventLoopGroup bossGroup=new NioEventLoopGroup(1); EventLoopGroup workerGro

linux-2.6.22.6內核啟動分析之Makefile文件

all pts machine bootp ipc 找到 當前目錄 比較 查找 學習目標 分析Makefile文件,了解內核中的哪些文件被編譯,如何被編譯,連接時順序如何確定! Linux內核源碼中包含很多的Makefile文件,這些Makefile文件又包含其它

linux-2.6.22.6內核啟動分析之head.S引導段代碼

common begin ber 字節數 static smd 我們 ovs pro 學習目標: 了解arch/arm/kernel/head.S作為內核啟動的第一個文件所實現的功能! 前面通過對內核Makefile的分析,可以知道arch/arm/kernel/head

ASP.NET Core2.2 源碼閱讀筆記---啟動過程說明

services 器) ons enter pro quest core ice 應用 1、引言   ASP.NET Core應用程序擁有一個內置的Self-Hosted(自托管)的Web Server(Web服務器),用來處理外部請求。在ASP.NET Core應用中

XSStrike原始碼閱讀2)——四種模式

1.bruteforcer模式 功能介紹 根據使用者提供的payloads檔案去暴力測試每一個引數,以此來確定是否存在xss漏洞(說起來也就是一個兩層迴圈)。 具體實現 XSStrike3.0 bruteforcer.py原始碼如下: import copy from

2.Golang的Http原始碼閱讀(Handler註冊)

先貼一段程式碼 package main import ( "net/http" "fmt" "log" ) func hello(w http.ResponseWriter, r *http.Request) { r.ParseForm()

netty原始碼閱讀之解碼值基於固定長度解碼器分析

固定長度解碼器FixedLengthFrameDecoder比較簡單,我們看下它類的註釋: /** * A decoder that splits the received {@link ByteBuf}s by the fixed number * of bytes.