使用ctdb+samba+glusterfs搭建NAS集羣系統

1概述

本文介紹使用開源軟件ctdb+samba+gluster搭建NAS集羣系統。

1.1 使用的開源軟件介紹

一、glusterfs
glusterfs是一個開源的分佈式文件系統,只適用於大文件存儲,存儲海量小文件性能不好,不建議使用。html

二、samba
Samba爲選定的Unix目錄(包括全部子目錄)創建網絡共享。使Windows用戶能夠像訪問普通Windows下的文件夾那樣來經過網絡訪問這些Unix目錄。node

三、ctdb
ctdb是tdb的集羣實現,用來在集羣文件系統上使用samba或其餘共享項目(例如nfs)。linux

1.2 集羣環境說明

本文集羣由2臺服務器組成(能夠多臺),服務器IP爲 192.168.57.93,192.168.57.94,集羣VIP爲192.168.57.95。centos

2 安裝配置

注:下面安裝步驟以CENTOS6安裝爲例。服務器

2.1 安裝配置glusterfs

2.1.1安裝前準備

下載yum源配置文件
http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/gluste...網絡

2.1.2安裝

yum install glusterfs glusterfs-fuse glusterfs-serverapp

2.1.3 配置

一、建立glusterfs集羣
glusterd start ——啓動glusterfs服務,與版本不一樣。老版本服務名爲glusterfs-server。
gluster peer probe 192.168.57.94 ——加入集羣節點
gluster peer status ——查看集羣節點狀態分佈式

二、建立卷並掛載到主機
建立nas卷存儲數據,建立ctdb卷存儲ctdb相關配置文件。
gluster volume create nas replica 2 192.168.57.93:/app/nas 192.168.57.94:/app/nas
gluster volume create ctdb replica 2 192.168.57.93:/app/ctdb 192.168.57.94:/app/ctdb
掛載捲到主機,另外1臺主機也上也要進行相同操做。
mount -t glusterfs 192.168.57.93:/nas /data
mount -t glusterfs 192.168.57.93:/ctdb /lock性能

2.2安裝samba和ctdb

yum install samba samba-client samba-swat
注:samba-swat爲samba的WEB界面配置程序,能夠不裝。測試

yum install ctdb

2.3配置samba和ctdb

2.3.1配置samba

在CTDB lock捲上建立smb.conf,使用集羣中的主機能夠共享配置文件,內容以下。
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
log file = /var/log/samba/log.%m

clustering = yes  
idmap backend = tdb2  
private dir = /lock  
fileid:mapping = fsid  
use mmap = no  
nt acl support = yes  
ea support = yes  

security = user  
passdb backend = tdbsam

[public]
comment = CTDB NAS
path = /data
public = yes
writable = yes

建立符號連接,連接配置文件到samba默認目錄
ln -s /lock/smb.conf /etc/samba/smb.conf

2.3.2配置ctdb

將ctdb的配置文件/etc/sysconfig/ctdb, /etc/ctdb/public_addresses, /etc/ctdb/nodes也存放於lock捲上,併爲全部節點創建符號連接。
ln -s /lock/ctdb /etc/sysconfig/ctdb
ln -s /lock/public_addresses /etc/ctdb/public_addresses
ln -s /lock/nodes /etc/ctdb/nodes

配置文件內容以下。
一、ctdb文件
CTDB_RECOVERY_LOCK=/lock/lockfile
CTDB_PUBLIC_INTERFACE=eth0
CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses
CTDB_MANAGES_SAMBA=yes
CTDB_MANAGES_WINBIND=yes
CTDB_MANAGES_NFS=no
CTDB_NODES=/etc/ctdb/nodes

二、public_addresses文件
192.168.57.95/24 eth0
注,能夠配置多個IP,IP會隨機分配給node。

三、nodes文件
192.168.57.93
192.168.57.94
注:每一個IP一行,先後不能有空格,不然會報錯Failed to translate IP。

3 啓動服務及測試

3.1啓動服務

一、配置系統啓動項
chkconfig ctdb on
chkconfig smb off (CTDB自動管理smb服務)
chkconfig nfs off (CTDB自動管理nfs服務)

二、啓動服務
/etc/rc.d/init.d/ctdb start

三、查看服務狀態
ctdb status
ctdb ip
ctdb ping -n all

3.2測試

Windows CIFS訪問:
\192.168.57.95\public

注:認證的用戶和密碼爲samba的用戶密碼。

附:參考文檔

一、基於開源軟件構建高性能集羣NAS系統(劉愛貴CSDN博客)
http://blog.csdn.net/liuaigui/article/details/7163482

二、CentOS(RedHat) 6.2下Samba配置
http://www.storageonline.com.cn/storage/nas/samba-configuration-in-cen...

三、CentOS(RedHat) 6.2 下Samba+CTDB+GlusterFS詳細
http://linux.it.net.cn/CentOS/server/set/2015/0118/12213.html

相關文章
相關標籤/搜索