本文介绍使用开源软件ctdb+samba+gluster搭建NAS集群系统。
一、glusterfs
glusterfs是一个开源的分布式文件系统,只适用于大文件存储,存储海量小文件性能不好,不建议使用。html
二、samba
Samba为选定的Unix目录(包括全部子目录)创建网络共享。使Windows用户能够像访问普通Windows下的文件夹那样来经过网络访问这些Unix目录。node
三、ctdb
ctdb是tdb的集群实现,用来在集群文件系统上使用samba或其余共享项目(例如nfs)。linux
本文集群由2台服务器组成(能够多台),服务器IP为 192.168.57.93,192.168.57.94,集群VIP为192.168.57.95。centos
注:下面安装步骤以CENTOS6安装为例。服务器
下载yum源配置文件
http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/gluste...网络
yum install glusterfs glusterfs-fuse glusterfs-serverapp
一、建立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性能
yum install samba samba-client samba-swat
注:samba-swat为samba的WEB界面配置程序,能够不装。测试
yum install ctdb
在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
将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。
一、配置系统启动项
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
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