[FrontPage] [TitleIndex] [WordIndex

This is a read-only archived version of wiki.centos.org

目的

本文檔旨在提供首次安裝 GlusterFS 的逐步指引。在這個教程內,我們會假設你採用 CentOS(其它發行版本及方法已收錄在下列的新用戶指南)。我們亦不會詳細解釋每個步驟,此指南是要協助你儘快開始運作。當你按這些步驟完成 GlusterFS 的部署後,我們建議你閱讀 GlusterFS Admin Guide 學習如何管理 GlusterFS 及如何選取迎合你需要的磁區類型。有關下列步驟的深入解釋,請閱讀 GlusterFS New User Guide。我們盼望你能在最短時間內成功。

如果你需要更詳細的指引,包括不同的安裝方法(虛擬電腦、ECS2 及實體硬件)和針對不同發行版本的說明,請參閱 GlusterFS 的入門指南

1. 採用「儲存 SIG」的 Yum 軟件庫

如果你要採用「儲存 SIG」的 RPM,你必須安裝 centos-release-gluster RPM,因它提供了所需的 YUM 軟件庫檔。該 RPM 已收錄於 CentOS Extras 內。

範例(針對 CentOS 7/x86_64):

# yum install centos-release-gluster

Gluster 提供了不同發行版本:Long Term Maintenance(LTM 長期維護)及 Short Term Maintenance(STM 短期維護)。CentOS Extras 收錄了數個 centos-release-gluster 套件,而安裝 centos-release-gluster 時預設會選取 LTM 發行版本。有關不同 Gluster 發行版本的詳細資料已收錄於 發行時間表

2. 第一步 —— 準備最少兩個節點

* 名為 server1 及 server2 的兩個 CentOS 7 伺服器 * 有效的網絡連線 * 最少兩個虛擬碟盤,一個供操作系統用(sda),一個作為 GlusterFS 儲存器(sdb)。這個做法仿效現實世界的部署,把 GlusterFS 儲存器從操作系統中分割出來。

註:GlusterFS 在 /var/lib/glusterd 儲存它動態建立出來的設定檔,要是 GlusterFS 在任何時候無法寫入這些檔案,小則導致你的系統出現反常現象,大則導致系統完全癱瘓。因此我們建議為 /var/log 等目錄建立獨立分割區,確保以上情況不會出現。

3. 第二步 —— 格式化及掛載磚塊

(在兩個節點): 註:這些範例假設磚塊將會位於 /dev/sdb1

# mkfs.xfs -i size=512 /dev/sdb1
# mkdir -p /bricks/brick1
# vi /etc/fstab

加入以下內容:

/dev/sdb1 /bricks/brick1 xfs defaults 1 2

儲存檔案及離開

# mount -a && mount

你應該看見 sdb1 掛載在 /bricks/brick1

註:在 CentOS 6,你必須安裝 xfsprogs 套件才能格式化 XFS 檔案系統

# yum install xfsprogs

4. 第三步 —— 安裝 GlusterFS

(在兩個節點) 安裝所需軟件:

# yum install glusterfs-server

啟動管理 GlusterFS 的常駐程式(此範例採用 CentOS 7,在 CentOS 6,service 會有不同的輸出):

# systemctl enable glusterd
ln -s '/usr/lib/systemd/system/glusterd.service' '/etc/systemd/system/multi-user.target.wants/glusterd.service'
# systemctl start glusterd
# systemctl status glusterd
glusterd.service - GlusterFS, a clustered file-system server
   Loaded: loaded (/usr/lib/systemd/system/glusterd.service; enabled)
   Active: active (running) since Fri 2015-11-13 10:16:09 CET; 3s ago
  Process: 25972 ExecStart=/usr/sbin/glusterd -p /var/run/glusterd.pid --log-level $LOG_LEVEL $GLUSTERD_OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 25973 (glusterd)
   CGroup: /system.slice/glusterd.service
           └─25973 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO

儲存 SIG 亦為其它生態環境(例如 Samba)提供 Gluster 套件。套件的詳情已記錄在此處

5. 第四步 —— 設置 iptables

你可以通過 iptables 規則執行 gluster,但你須決定如何設置這些規則。根據預設值,glusterd 將會在 tcp/24007 上聆聽,但單單在 gluster 節點上開啟該連接埠並不足夠。 每次你加入一台新的機器,它將會開啟一個新的連接埠(你可以透過 gluster volume status 來查閱)

視乎你的設計,利用專屬的網絡卡來傳輸 gluster/儲存器的數據是較好的選擇,因此你可利用 netfilter 方案(CentOS 是 /etc/sysconfig/iptables 及 firewalld/firewall-cmd)來「信任」某網絡卡/子網/gluster 節點。

設置 iptables 的方法已超越此文檔的範疇,但你可以在 IPTables 的專屬 wiki 頁面讀取有用的資訊。

6. 第五步 —— 設定互信組別

在 server1 上

# gluster peer probe server2

註:採用主機名稱時,首台伺服器必須獲一台伺服器偵察才能設定主機名稱。

在 server2 上

# gluster peer probe server1

註:設立組別後,只有獲信任的成員才能偵察新伺服器加進組別。一台新的伺服器無法偵察組別,它必須由組別偵察出來。

7. 第六步 —— 設立 GlusterFS 磁區

在 server1 及 server2 上:

# mkdir /bricks/brick1/gv0

在任何一台伺服器上:

# gluster volume create gv0 replica 2 server1:/bricks/brick1/gv0 server2:/bricks/brick1/gv0
# gluster volume start gv0

確定磁區匯報 Started(已啟動):

# gluster volume info

註:要是磁區未能啟動,你可在其中一台或兩台伺服器的 /var/log/glusterfs 目錄下的日誌檔找尋有關錯誤的線索 —— 信息多數記錄在 etc-glusterfs-glusterd.vol.log

8. 第七步 —— 測試 GlusterFS 磁區

在此步驟,我們將會利用其中一台伺服器掛載磁區。一般來說,你應該在另一台電腦,稱為「客端」,進行此動作。但由於這個步驟涉及在客端電腦上安裝額外的套件,因此伺服器為我們的首輪測試提供了一個方便的測試點。

# mount -t glusterfs server1:/gv0 /mnt
# for i in `seq -w 1 100`; do cp -rp /var/log/messages /mnt/copy-test-$i; done

首先,檢查掛載點:

# ls -lA /mnt | wc -l

你應該看見 100 個檔案。 接著,檢查每台伺服器的 GlusterFS 掛載點:

# ls -lA /bricks/brick1/gv0

採用上述的測試方法,你應該在每台伺服器上看見 100 個檔案。在一個不複製、分佈式的磁區上(不會在此詳述),你應該在每台機器看見約 50 個檔案。

總結

就這樣了,這大概是最快速的方法。懇請你閱讀 Admin Guide 及 New User Guide 來取得更深入的理解,但這裡已經為測試提供了一個很好的起點。

此頁的靈感源自 Gluster 社群快速入門指南

詳情請參閱 Gluster 社群的文檔主頁

Translation of revision 28


2023-09-11 07:23