CentOS(RedHat) 6.2 下Samba+CTDB+GlusterFS详细配置
时间:2015-01-18 02:39 来源:storageonline.com.cn 作者:IT
为了实现《基于开源软件构建高性能集群NAS系统》中提到的全部用开源软件实现一个高性能集群NAS系统,趁着这几天有点时间,打算全部用VMware的虚拟机机来搭一个实验环境。全程参考RedHat官网与Samba官网以及Gluster官网的Gluster_CTDB_setup.v1。
1. GlusterFS配置
1.1创建卷
使用GlusterFS集群文件系统为所有节点提供共享存储空间,并为CTDB提供lock和status等共享存储空间。CTDB卷和NAS卷都采用stripe volume,可以根据实际需求选择distribute, stripe, replica及复合卷。如下创建两个卷。
请参考《GlusterFS学习之CentOS 6.2 Striped Volumes简单负载均衡 》来完成GlusterFS StripeVolume的配置。
1.2 挂载卷
在2个节点上同时mount以上创建的nas和ctdb卷:
至此,存储空间已经准备完毕.</>
2. Samba配置
参考《CentOS(RedHat) 6.2下Samba配置》与《CentOS(RedHat) 6.2 Samba share权限拒绝访问 》。smb.conf文件默认位于/etc/samba/smb.conf,我们把smb.conf放在CTDB lock卷上,并为所有节点建立符号链接至/etc/samba/smb.conf。
smb.conf配置内容如下:
3. CTDB配置
CTDB是一种轻量级的集群数据库实现,基于它可以实现很多应用集群,目前CTDB支持Samba, NFS, HTTPD, VSFTPD, ISCSI, WINBIND应用,集群共享数据存储支持GPFS,GFS(2),Glusterfs, Luster, OCFS(2)。CTDB本身不是HA解决方案,但与集群文件系统相结合,它可以提供一种简便高效的HA集群解决方案。
集群配置两组IP,Private IP用于heartbeat和集群内部通信,Public IP用于提供外部服务访问。Public IP动态在所有集群节点上分配,当有节点发生故障,CTDB将调度其他可用节点接管其原先分配的Public IP,故障节点恢复后,漂移的Public IP会重新被接管。这个过程对客户端是透明的,保证应用不会中断,也就是我们这里所说的高可用HA。
高可用集群NAS的安装配置详细过程如下:
3.1 前提条件
• 升级Gluster
• 安装CTDB
• 配置GlusterFS并在所有节点加载用于CTDB的卷:A Gluster replicated volume for the CTDB lock file. The lock file is only required for CIFS. The best practice is to have a volume dedicated to the lock file.
• 安装并配置好
• Port 4379 open between the Gluster servers
3.2 CTDB设置
配置还是比较简单的,所有节点必须把samba服务停掉,因为以后就由CTDB控制。然后配置所有节点的3个文件,确保一致。当然最好是共享存储。这里我们将/etc/sysconfig/ctdb, /etc/ctdb/public_addresses, /etc/ctdb/nodes存放于CTDB lock卷上,并为所有节点建立符号链接。
3.2.1 把samba服务停掉
service smb stop
chkconfig smb off (CTDB自动管理smb服务)
3.2.2 修改Samba配置文件smb.conf
Add the following lines to the [global] section of your Samba configuration
3.2.3 ctdb配置内容如下
3.2.4 public_addresses配置内容如下
这里要注意的是:public_addresses不能是系统中已存在的IP,否则只要你启动CTDB服务,你会得到意料不到的结果。
3.2.5 nodes配置内容如下
3.3 启动服务并查看状态
从CTDB日志我们可以看到:
3.4 访问测试
Windows CIFS访问:
\\192.168.142.100
\\192.168.142.101
拷贝一65MB的电影:
文件能均衡分布在2个节点上存储:
注意:配置了CTDB后,就不能再使用各个节点本身的IP去访问Samba服务了,会直接报错:
3.5 负载均衡
CTDB本身不能做到负载均衡,客户访问CIFS/NFS时需要指定IP。显而易见,这个高可用集群NAS不具备自动负载均衡(load balance)的功能,很容易导致集群NAS机头负载不均衡的情况发生,这对大规模高并发访问或数据密集型应用是非常不利的。
我们可以基于源IP来做到负载均衡。最简单的方法是采用DNS/WINS轮询。它为同一个主机名配置多个IP地址,在应答DNS查询时根据Round Robin算法返回不同的IP地址,客户端使用返回的IP连接主机,从而实现负载均衡的目的。当然前提条件是CIFS 客户端是通过我们前面配置的netbios name = MYSERVER来访问的。
RR-DNS的问题是无法感知集群节点负载状态并进行调度,对故障节点也会进行调度,可能造成额外的网络负载,不够均衡,容错反应时间长。
另外一种最为常用的负载均衡技术是LVS(Linux Virtual Server),我们后续再聊。
(责任编辑:IT)
为了实现《基于开源软件构建高性能集群NAS系统》中提到的全部用开源软件实现一个高性能集群NAS系统,趁着这几天有点时间,打算全部用VMware的虚拟机机来搭一个实验环境。全程参考RedHat官网与Samba官网以及Gluster官网的Gluster_CTDB_setup.v1。 1. GlusterFS配置1.1创建卷使用GlusterFS集群文件系统为所有节点提供共享存储空间,并为CTDB提供lock和status等共享存储空间。CTDB卷和NAS卷都采用stripe volume,可以根据实际需求选择distribute, stripe, replica及复合卷。如下创建两个卷。 请参考《GlusterFS学习之CentOS 6.2 Striped Volumes简单负载均衡 》来完成GlusterFS StripeVolume的配置。 1.2 挂载卷在2个节点上同时mount以上创建的nas和ctdb卷: 至此,存储空间已经准备完毕.</> 2. Samba配置参考《CentOS(RedHat) 6.2下Samba配置》与《CentOS(RedHat) 6.2 Samba share权限拒绝访问 》。smb.conf文件默认位于/etc/samba/smb.conf,我们把smb.conf放在CTDB lock卷上,并为所有节点建立符号链接至/etc/samba/smb.conf。 smb.conf配置内容如下: 3. CTDB配置CTDB是一种轻量级的集群数据库实现,基于它可以实现很多应用集群,目前CTDB支持Samba, NFS, HTTPD, VSFTPD, ISCSI, WINBIND应用,集群共享数据存储支持GPFS,GFS(2),Glusterfs, Luster, OCFS(2)。CTDB本身不是HA解决方案,但与集群文件系统相结合,它可以提供一种简便高效的HA集群解决方案。 集群配置两组IP,Private IP用于heartbeat和集群内部通信,Public IP用于提供外部服务访问。Public IP动态在所有集群节点上分配,当有节点发生故障,CTDB将调度其他可用节点接管其原先分配的Public IP,故障节点恢复后,漂移的Public IP会重新被接管。这个过程对客户端是透明的,保证应用不会中断,也就是我们这里所说的高可用HA。 高可用集群NAS的安装配置详细过程如下: 3.1 前提条件• 升级Gluster • 安装CTDB • 配置GlusterFS并在所有节点加载用于CTDB的卷:A Gluster replicated volume for the CTDB lock file. The lock file is only required for CIFS. The best practice is to have a volume dedicated to the lock file. • 安装并配置好 • Port 4379 open between the Gluster servers 3.2 CTDB设置配置还是比较简单的,所有节点必须把samba服务停掉,因为以后就由CTDB控制。然后配置所有节点的3个文件,确保一致。当然最好是共享存储。这里我们将/etc/sysconfig/ctdb, /etc/ctdb/public_addresses, /etc/ctdb/nodes存放于CTDB lock卷上,并为所有节点建立符号链接。 3.2.1 把samba服务停掉service smb stop chkconfig smb off (CTDB自动管理smb服务) 3.2.2 修改Samba配置文件smb.confAdd the following lines to the [global] section of your Samba configuration 3.2.3 ctdb配置内容如下3.2.4 public_addresses配置内容如下这里要注意的是:public_addresses不能是系统中已存在的IP,否则只要你启动CTDB服务,你会得到意料不到的结果。 3.2.5 nodes配置内容如下3.3 启动服务并查看状态从CTDB日志我们可以看到: 3.4 访问测试Windows CIFS访问: \\192.168.142.100 \\192.168.142.101
拷贝一65MB的电影: 文件能均衡分布在2个节点上存储: 注意:配置了CTDB后,就不能再使用各个节点本身的IP去访问Samba服务了,会直接报错: 3.5 负载均衡CTDB本身不能做到负载均衡,客户访问CIFS/NFS时需要指定IP。显而易见,这个高可用集群NAS不具备自动负载均衡(load balance)的功能,很容易导致集群NAS机头负载不均衡的情况发生,这对大规模高并发访问或数据密集型应用是非常不利的。 我们可以基于源IP来做到负载均衡。最简单的方法是采用DNS/WINS轮询。它为同一个主机名配置多个IP地址,在应答DNS查询时根据Round Robin算法返回不同的IP地址,客户端使用返回的IP连接主机,从而实现负载均衡的目的。当然前提条件是CIFS 客户端是通过我们前面配置的netbios name = MYSERVER来访问的。 RR-DNS的问题是无法感知集群节点负载状态并进行调度,对故障节点也会进行调度,可能造成额外的网络负载,不够均衡,容错反应时间长。 另外一种最为常用的负载均衡技术是LVS(Linux Virtual Server),我们后续再聊。 (责任编辑:IT) |