天天看點

GlusterFS鎖的總結與實踐

1 理論部分

1.1 鎖的作用

分布式存儲的鎖類似于MySQL的行鎖和表鎖,可防止多個用戶端同時編輯對資料造成損壞,故本章解決資料寫入沖突問題。

1.2 文法格式

1

<code>gluster volume </code><code>set</code> <code>&lt;VOLNAME&gt; locks.mandatory-locking &lt;off / </code><code>file</code> <code>/ forced / optimal&gt;</code>

off - 為指定的卷禁用強制鎖

file - 啟用Linux核心風格的強制鎖語義和位模式的幫助(沒有充分測試)

forced - 為卷檢查位元組範圍鎖定每個資料編輯操作

optimal - 混合模式下在POSIX用戶端可以與咨詢鎖共存;在類似于SMB的其他用戶端,語義将仍然尊重取得強制鎖。

注意:以上指令适用于含gluster-3.8及以上版本

2 實踐部分

2.1 環境配置

2.2 開啟強制鎖

<code>gluster volume </code><code>set</code> <code>gv0 locks.mandatory-locking optimal</code>

2.3 檢查

<code>gluster volume info</code>

顯示如下:

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

<code>Volume Name: gv0</code>

<code>Type: Distributed-Replicate</code>

<code>Volume ID: 96b06e32-deb5-487a-aa00-afd6624dcb97</code>

<code>Status: Started</code>

<code>Snapshot Count: 0</code>

<code>Number of Bricks: 2 x 2 = 4</code>

<code>Transport-</code><code>type</code><code>: tcp</code>

<code>Bricks:</code>

<code>Brick1: DN2GlusterH01.sae.com.hk:</code><code>/data/brick1/gv0</code>

<code>Brick2: DN2GlusterH02.sae.com.hk:</code><code>/data/brick1/gv0</code>

<code>Brick3: DN2GlusterH03.sae.com.hk:</code><code>/data/brick1/gv0</code>

<code>Brick4: DN2GlusterH04.sae.com.hk:</code><code>/data/brick1/gv0</code>

<code>Options Reconfigured:</code>

<code>locks.mandatory-locking: optimal</code>

<code>performance.readdir-ahead: on</code>

<code>features.</code><code>quota</code><code>: on</code>

<code>features.inode-</code><code>quota</code><code>: on</code>

<code>features.</code><code>quota</code><code>-deem-statfs: on</code>

<code>cluster.entry-self-heal: on</code>

注意:第14行表示強制鎖已經開啟并且模式是“optimal”

本文轉自 tanzhenchao 51CTO部落格,原文連結:http://blog.51cto.com/cmdschool/1858776,如需轉載請自行聯系原作者

繼續閱讀