1 理論部分
1.1 鎖的作用
分布式存儲的鎖類似于MySQL的行鎖和表鎖,可防止多個用戶端同時編輯對資料造成損壞,故本章解決資料寫入沖突問題。
1.2 文法格式
1
<code>gluster volume </code><code>set</code> <code><VOLNAME> locks.mandatory-locking <off / </code><code>file</code> <code>/ forced / optimal></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,如需轉載請自行聯系原作者