1概述
本文介绍使用开源软件ctdb+samba+gluster搭建NAS集群系统。
1.1 使用的开源软件介绍
1、glusterfs
glusterfs是一个开源的分布式文件系统,只适用于大文件存储,存储海量小文件性能很差,不建议使用。
2、samba
Samba为选定的Unix目录(包括所有子目录)建立网络共享。使Windows用户可以像访问普通Windows下的文件夹那样来通过网络访问这些Unix目录。
3、ctdb
ctdb是tdb的集群实现,用来在集群文件系统上使用samba或其他共享项目(例如nfs)。
1.2 集群环境说明
本文集群由2台服务器组成(可以多台),服务器IP为 192.168.57.93,192.168.57.94,集群VIP为192.168.57.95。
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-server
2.1.3 配置
1、创建glusterfs集群
glusterd start ——启动glusterfs服务,与版本不同。老版本服务名为glusterfs-server。
gluster peer probe 192.168.57.94 ——加入集群节点
gluster peer status ——查看集群节点状态
2、创建卷并挂载到主机
创建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
配置文件内容如下。
1、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
2、public_addresses文件
192.168.57.95/24 eth0
注,可以配置多个IP,IP会随机分配给node。
3、nodes文件
192.168.57.93
192.168.57.94
注:每个IP一行,前后不能有空格,否则会报错Failed to translate IP。
3 启动服务及测试
3.1启动服务
1、配置系统启动项
chkconfig ctdb on
chkconfig smb off (CTDB自动管理smb服务)
chkconfig nfs off (CTDB自动管理nfs服务)
2、启动服务
/etc/rc.d/init.d/ctdb start
3、查看服务状态
ctdb status
ctdb ip
ctdb ping -n all
3.2测试
Windows CIFS访问:
\192.168.57.95\public
注:认证的用户和密码为samba的用户密码。
附:参考文档
1、基于开源软件构建高性能集群NAS系统(刘爱贵CSDN博客)
http://blog.csdn.net/liuaigui/article/details/7163482
2、CentOS(RedHat) 6.2下Samba配置
http://www.storageonline.com.cn/storage/nas/samba-configuration-in-cen...
3、CentOS(RedHat) 6.2 下Samba+CTDB+GlusterFS详细
http://linux.it.net.cn/CentOS/server/set/2015/0118/12213.html
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。