在使用Samba CTDB搭建群集时,推荐使用如下图所示的结构,在Samba CTDB的节点后面使用GPFS、GFS2、GlusterFS、Lustre之类的集群存储系统。在本文中假设后端的集群存储系统已搭建完成,现在开始配置Samba CTDB(参考:http://wiki.samba.org/index.php/CTDB_Setup#Clustering_Model)。
 
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
一、配置环境。
1、Srv5.example.zqin
²  OS:Debian 5.07
²  FQDN:srv5.exampel.zqin
²  IP:192.168.0.205
²  GW:192.168.0.1
²  DNS:202.103.24.68
2、Srv8.example.zqin
²  OS:Debian 5.07
²  FQDN:srv5.exampel.zqin
²  IP:192.168.0.208
²  GW:192.168.0.1
²  DNS:202.103.24.68
3、Srv9.example.zqin
²  OS:Debian 5.07
²  FQDN:srv5.exampel.zqin
²  IP:192.168.0.209
²  GW:192.168.0.1
²  DNS:202.103.24.68
二、配置Samba CTDB。
1、在三个节点上使用如下命令安装Samba、CTDB。
Srv5:~# apt-get upgrade
Srv5:~# apt-get install samba ctdb
2、在三个节点的/etc/services文件中增加如下内容。
ctdb  9999/tcp
3、在三个节点在修改/etc/samba/smb.conf文件为如下内容,其中/smbcluster是后端集群存储系统的挂载点,/smbcluster/public为用户最后通过Samba访问到的目录。
[global]
clustering = yes
idmap backend = tdb2
private dir=/smbcluster/ctdb
fileid:mapping = fsname
use mmap = no
nt acl support = yes
ea support = yes
[public]
comment = public share
path = /smbcluster/public
public = yes
writeable = yes
4、在三个节点在修改/etc/default/ctdb文件的如下内容。
CTDB_RECOVERY_LOCK="/smbcluster/ctdb/lock"
CTDB_PUBLIC_INTERFACE=eth0
CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses
CTDB_MANAGES_SAMBA=yes
ulimit -n 10000
CTDB_NODES=/etc/ctdb/nodes
CTDB_LOGFILE=/var/log/ctdb.log
CTDB_DEBUGLEVEL=2
CTDB_PUBLIC_NETWORK="192.168.0.0/24"
CTDB_PUBLIC_GATEWAY="192.168.0.1"
5、在三个节点在修改/etc/ctdb/public_addresses文件中增加如下内容,该文件记录Samba CTDB集群提供给客户访问的虚拟IP地址。
192.168.0.10/24
192.168.0.11/24
192.168.0.12/24
6、在三个节点上修改/etc/ctdb/nodes文件中增加如下内容,该文件记录Samba CTDB集群节点的IP地址。
192.168.0.205
192.168.0.208
192.168.0.209
7、在三个节点上修改/etc/ctdb/events.d/11.route文件中增加如下内容。
#!/bin/sh
. /etc/ctdb/functions
loadconfig ctdb
cmd="$1"
shift
case $cmd in
takeip)
# we ignore errors from this, as the route might be up already when we're grabbing
# a 2nd IP on this interface
/sbin/ip route add $CTDB_PUBLIC_NETWORK via $CTDB_PUBLIC_GATEWAY dev $1 2> /dev/null
;;
esac
exit 0
8、在三个节点上执行如下命令。
Srv5:~# chmod +x /etc/ctdb/events.d/11.route
Srv5:~# /etc/init.d/ctdb restart
Srv5:~# /etc/init.d/samba restart
9、可以通过以下命令查看Samba CTDB集群的情况。
Srv5:~# ctdb status
Number of nodes:3
pnn:0 192.168.0.205    OK
pnn:1 192.168.0.208    OK (THIS NODE)
pnn:2 192.168.0.209    OK
Generation:1228536155
Size:3
hash:0 lmaster:0
hash:1 lmaster:1
hash:2 lmaster:2
Recovery mode:NORMAL (0)
Recovery master:1
Srv5:~# ctdb ip
Public IPs on node 1
192.168.0.10 0
192.168.0.11 0
192.168.0.12 2
完成上述步骤后,Samba CTDB集群就搭建完成了,客户端可以通过在/etc/ctdb/public_addresses文件中记录的IP地址进行访问。

转载于:https://blog.51cto.com/onlyzq/593940

Debian下搭建Samba CTDB集群。相关推荐

  1. Linux下搭建Lotus Domino集群

    Linux下搭建Lotus Domino 集群 本文内容是Linux平台下Lotus Domino服务器部署案例(http://chenguang.blog.51cto.com/350944/1334 ...

  2. 在CentOS7.6下搭建Oracle19c RAC集群

    在CentOS7.6下搭建Oracle19c RAC集群 1.准备阶段 1.1 虚拟环境准备 1.2 Oracle版本包准备 2.服务器配置阶段 2.1.配置IP 2.2.停止不相关服务 2.3.配置 ...

  3. Docker下搭建Redis分片集群

    分片集群结构 同一台虚拟机中开启6个redis实例,模拟分片集群 IP  PORT 角色 192.168.19.128 7001 master 192.168.19.128 7002 master 1 ...

  4. Windows下搭建Redis Cluster集群

    搭建准备:首先到 https://github.com/MSOpenTech/redis/releases 下载Redis-Windows版本:下载好后解压,解压之后可看到这些文件: 进入到解压目录, ...

  5. Linux: CentOS 7下搭建高可用集群

    转载: http://linux.cn/article-3963-1.html 本文以两台机器实现双集热备高可用集群,主机名node1的IP为192.168.122.168 ,主机名node2的IP为 ...

  6. MongoDB--Linux下搭建的副本集集群(踩过的坑,血和泪的教训)

    MongoDB–Linux下搭建的副本集集群(踩过的坑,血和泪的教训) 文章目录 MongoDB--Linux下搭建的副本集集群(踩过的坑,血和泪的教训) 一:环境准备 二:安装步骤 三:启动 1.关 ...

  7. Docker下Redis Cluster分片集群的搭建、基本操作、集群扩容和集群故障转移(非关系型数据库技术课程 第九周)

    文章目录 Docker 下Redis Cluster 分片集群搭建 1. Cluster 分片集群 1.1 Cluster 集群的结构和作用 1.2 Cluster 分片集群 的作用 1.3哈希槽(h ...

  8. Mac M1 搭建虚拟机节点集群过程及软件分享

    前言 推荐软件 搭建虚拟机 安装教程 静态 IP 配置 虚拟机克隆 Termius 使用 总结 前言 自从使用了 Mac M1 系统搭载的芯片进行使用时,很多软件都不能够兼容进行使用,对于热爱分布式. ...

  9. 学习Docker容器网络模型 - 搭建分布式Zookeeper集群

    ZooKeeper是一个流行的分布式协调服务.它提供了两种不同的部署方式:单机模式和分布式模式.其中单机模式的部署非常简单,网上也有很多资料,我们今天会利用Docker搭建分布式Zookeeper集群 ...

最新文章

  1. 大数据凉了?No,流式计算浪潮才刚刚开始!
  2. 趣说API HTTP 状态码的使用
  3. 初读设计模式-----《design pattern explained》读后感
  4. Jquery 禁用元素的所有属性
  5. .net core redis的全套操作
  6. python控制流教程_Python入门教程之运算符与控制流
  7. [Postman使用]请求与响应
  8. 日常摄影练习时,有什么技巧能提高照片品质?
  9. linux shell常用函数,ps
  10. Zookeeper C API 指南三(回调函数)
  11. Mac 从零搭建Android开发环境记录以及提高效率软件推荐
  12. 桌面快捷方式自动消失
  13. H3CNE实验(一)静态路由
  14. 写给前端程序员的英文学习指南
  15. light动名词_英语中什么叫动名词?加ING的就是吗?
  16. AI仿生:人类进化新可能
  17. 敏感性分析—Sobol
  18. 温湿度记录仪——存储易燃易爆化学危险品和危化品
  19. HDU 1846 Brave Game 巴士博弈
  20. NFT/Web3/区块链项目孵化包装策划,到底该自建运营还是专业外包孵化?

热门文章

  1. ECharts - 饼状图隐藏标示线和标示文字
  2. Jeecg-Boot前后端分离,针对敏感数据,加密传递方案
  3. 内置函数---filter和map
  4. Python 学习笔记(2)字典默认值和集合的操作
  5. ConfigParser 模块
  6. Spring Boot (1) 构建第一个Spring Boot工程
  7. 垃圾回收算法简单介绍——JVM读书笔记lt;二gt;
  8. 【转】从哈希存储到Bloom Filter
  9. ellipsis省略号表示多余内容
  10. (七)传输加载优化(前沿技术解决高访问量网站性能优化问题)