Samba+CTDB4.2.4安装,测试ctdb使用,管理nfs,gluster的nfs挂载

本文档详细介绍了如何在CentOS系统上安装和配置CTDB4.2.4,用于实现Samba和GlusterFS的高可用。从关闭防火墙、安装相关组件,到配置CTDB、管理NFS和GlusterFS的nfs挂载,以及Samba的安装和测试,展示了CTDB在高可用集群中的作用。在过程中遇到了多个版本兼容性和配置问题,最终通过手动安装和配置实现了CTDB对Samba和NFS服务的管理。
摘要由CSDN通过智能技术生成

关于ctdb,有太多的想吐槽的地方了。。。我CentOS系统镜像版本 CentOS1908,应该是最后一版了。
然后 可以再直接安装的ctdb版本 是ctdb4.9 配置文件语法与之前差了好多,这个不重要的话,每次直接安装完成后,没有一次成功启动过。

然后根据官网指导,源码安装Samba 附带会安装ctdb。。。这能成也是好事啊。。。好不容易安装完毕。不能使用systemctl管理。好在有一个 ctdb.service 文件,修改一下后放在 /usr/lib/systemd/system/目录后 也能使用systemctl启停,但是,每次重启也会报错。 /usr/local/samba/var/lib/ctdb 目录 已存在一个db数据库。还要手动删除才行。。。这。。。

最后找到了 gluster 提供的Samba+ctdb的rpm包下载地址。尽管版本低了点 4.2.4 也是可以用的。。。满怀期待安装完成。
https://download.gluster.org/pub/gluster/glusterfs/samba/CentOS/
终于可以使用 systemctl 启停 ctdb了。。。好激动,然而,通过这个库安装的Samba启动又会失败了。。。emmm可能就是版本太低。。。不过 先不使用Samba了,可以试一下ctdb 实现gluster 用户态高可用。。。(如果想使用这个ctdb4.2,然后安装Samba4.9的话,安装时会自动帮你吧ctdb也升级一下。。。然后ctdb就也变成4.9再次启动失败。。。)

这可能只是我自己会遇到的问题(配置什么的可能设置错误了才导致这么坑爹,但是本博客主要是讲gluster+ctdb)

首先,安装ctdb

准备三个Centos主机,我使用的是虚拟机。。。ip分别是
192.168.199.71
192.168.199.72
192.168.199.73
确保三台主机之间可以相互ping 通

然后三个节点全部执行下面几步

关闭防火墙
设置 SELINUX为permissive模式

安装 wget

yum -y install wget

下载https://download.gluster.org/pub/gluster/glusterfs/samba/CentOS/glusterfs-samba-epel.repo 到 /etc/yum.repos.d/ 目录

 wget -O /etc/yum.repos.d/glusterfs-samba-epel.repo https://download.gluster.org/pub/gluster/glusterfs/samba/CentOS/glusterfs-samba-epel.repo

重新生成缓存

yum makecache

然后就可以安装 ctdb4.2.4了
4.2.4版本配置文件 是/etc/sysconfig/ctdb

yum -y install ctdb-4.2.4

测试ctdb 基本使用

同样是三个节点都执行

ctdb什么也不管理,单纯测试是否可用

创建并编辑 nodes文件和 public_address 文件,本来应该是使用gluster挂载一个共享卷,然后设置文件在相应位置建立软链接的,暂时没安装gluster,先使用本地文件

vim /etc/ctdb/nodes
192.168.199.71
192.168.199.72
192.168.199.73

vim /etc/ctdb/public_addresses
192.168.199.70/24       ens33

可以看做公共IP地址,是一个虚拟IP没有对应主机。

修改 ctdb 配置文件 /etc/sysconfig/ctdb

vim /etc/sysconfig/ctdb

把这两行注释掉 这个就是使用ctdb管理Samba,但是这个Samba是启动不了的。。。所以就不管理Samba了

#CTDB_MANAGES_SAMBA=yes
#CTDB_SAMBA_SKIP_SHARE_CHECK=yes

根据日志文件 创建一个目录 存放 锁文件

mkdir -p /gluster/lock

启动ctdb服务

systemctl start ctdb

然后查看ctdb 状态 可要等一小会才会变OK,不过这个ctdb什么也不管理。

ctdb status

查看公共IP

ctdb ip

这时候,应该只有第一个启动的节点状态才会是 OK 锁文件不一致。。。这个,所以说要使用glusterfs挂载出一个卷。ctdb日志

2020/04/07 19:51:15.301292 [set_recmode: 8826]: ERROR: recovery lock file /gluster/lock/lockfile not locked when recovering!

由于暂时未安装设置glusterfs,但是由于没有共享锁,导致 几个节点的状态不OK,可以先使用 nfs 挂载出一个共享目录。做一下测试。

新建一个虚拟机 IP 192.168.199.95
安装完成后,新增一块硬盘,挂载上去作为共享目录

查看新挂载硬盘。 我的是 /dev/sdb

fidsk -l

格式化新硬盘,这里不给新硬盘做分区了。

mkfs.ext4 /dev/sdb

新建一个文件夹作为,硬盘挂载点,同时也作为nfs共享目录

mkdir  /nfs-share

挂载硬盘 sdb 到 /nfs-share 目录

echo "/dev/sdb  /nfs-share  ext4 defaults 0 0"  >> /etc/fstab
mount -a

/etc/fstab 目录是开机执行的文件挂载,mount -a 表示立即执行该文件的内容。

可以使用df命令查看一下成功与否

df -h

挂载成功
根据这几天学习情况,linux系统应该是自带nfs内核的,但是应该没有相应管理工具设置管理。

安装 nfs-utils

yum -y install nfs-utils

编辑 /etc/exports 文件

vim /etc/exports
/nfs-share *(rw,async,no_root_squash,no_subtree_check)

编辑nfs配置文件

vim /etc/sysconfig/nfs

可以在末尾添加, 也可以取消相应注释

LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020

这些设置的意思是固定nfs服务使用的端口号。除了两个默认的外,其它使用的端口号如果不指定,每次重启服务都是随机的。可以使用配置文件固定下来。。。这样做如果要使用防火墙添加端口也好添加,如果端口随机,防火墙开放端口也有点麻烦,,,不过我一般实验环境防火墙都是关闭状态。。。
启动nfs服务

systemctl enable rpcbind
systemctl start rpcbind
systemctl enable nfs
systemctl start nfs

至此,共享的nfs目录设置完毕,可以在其它三个节点测试一下。下面的也是三个节点都要执行

当然也要安装nfs-utils 只用安装,不用设置

yum -y install nfs-utils

查看 nfs 节点共享的目录

showmount -e 192.168.199.75

查看共享目录
挂载该共享目录到本地 /nfs-share

mkdir /nfs-share
mount -t nfs 192.168.199.75:/nfs-share /nfs-share

挂载nfs共享目录

三个节点都挂载完成后,
在某一个节点执行 比如192.168.199.71,下面几步一个节点执行就可以了,因为在共享目录下进行。
在共享目录挂载点创建两个文件夹,一个作为锁共享目录,一个作为数据共享目录

mkdir /nfs-share/lock
mkdir /nfs-share/data

然后在 锁共享目录中创建 ctdb 使用到的配置文件,然后再建立软链接,这样几个节点的配置文件就是一致的了。
创建 ctdb 文件,注(4.2.4的配置文件是/etc/sysconfig/ctdb之后版本的可能是 /etc/ctdb/ctdbd.conf)

vim /nfs-share/lock/ctdb
CTDB_RECOVERY_LOCK=/nfs-share/lock/lockfile
CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses

nodes 文件

vim /nfs-share/lock/nodes
192.168.199.71
192.168.199.72
192.168.199.73

创建public_addresses 文件,官方或者其他一些文档建议,公共IP不必一致,每个节点可以是独特的设置,这里并没有什么独特设置,就都设置成一样的了。 ens33 是网卡名,看个人的可能不一样

vim /nfs-share/lock/public_addresses
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值