在Gluster上使用CTDB和Samba-创新互联

      单独的使用Samba挂载gluster volume并不能实现High Availability,有了CTDB就可以解决这个问题了.

成都创新互联基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业电信内江机房报价,主机托管价格性价比高,为金融证券行业服务器托管,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。

1 准备环境

我已经提前准备好了一个gluster环境,创建好了一个volume repvol,并且此volume已经配置为可使用samba client挂载,有关详细配置请参考我前面的博文。

[root@node02 /]# gluster pool list
UUID                                    Hostname                State
e967c77f-ff39-4927-9645-606294d42751    node01.lab.example.com  Connected 
98ef6fd9-9fa1-4005-b8ec-5480d6c04f46    localhost               Connected
[root@node02 /]# gluster volume list
repvol
[root@node02 ~]# smbclient -L node01.lab.example.com -U%

Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]

       Sharename       Type      Comment
        ---------       ----      -------
        print$          Disk      Printer Drivers
        gluster-repvol  Disk      For samba share of volume repvol
        IPC$            IPC       IPC Service (Samba 4.4.4)
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]

       Server               Comment
        ---------            -------

       Workgroup            Master
        ---------            -------

[root@node02 mnt]# mount -t cifs -o username=smbuser,password=redhat //node01.lab.example.com/gluster-repvol /mnt/samba-test/
[root@node02 /]# df -h | grep samba
//node01.lab.example.com/gluster-repvol  2.0G   33M  2.0G   2% /mnt/samba-test

从上面可以看到,我这里有两个gluster server,依次为

192.168.133.144  node01.lab.example.com
192.168.133.149  node02.lab.example.com

而挂载的时候,我使用的是//node01.lab.example.com/gluster-repvol,这样有一个问题,虽然我这里的gluster volume repvol是一个2副本的复制卷,但一旦node01.lab.example.com出现故障,虽然node02.lab.example.com上还保留一份数据在,但是却不能直接被client使用,不能够实现自动切换。

2 在两台gluster server上安装配置ctdb

2.1使用yum安装ctdb

[root@node01 ~]# yum install -y ctdb

为ctdb放开防火墙限制

[root@node01 ~]# firewall-cmd --add-port=4379/tcp

2.2更新volume设置

[root@node01 ~]# gluster volume stop repvol
[root@node01 post]# cd /var/lib/glusterd/hooks/1/start/post
[root@node01 post]# vi S29CTDBsetup.sh

META="all"  修改前
META="ctdbmeta"  修改后

2.3更新Samba配置

编辑/etc/samba/smb.conf文件,并在[global]选项下添加 clustering=yes

[root@node01 post]# cat /etc/samba/smb.conf
...
[global]        clustering = yes
....

2.4start volume,此时会发现volume 会自动挂载到server的/gluster/lock 下

[root@node01 post]# gluster volume start repvol
volume start: repvol: success
[root@node01 post]# df -h | grep repvol
node01.lab.example.com:/repvol.tcp  2.0G   33M  2.0G   2% /gluster/lock

2.5添加/etc/ctdb/nodes 和 /etc/ctdb/public_address文件

[root@node01 post]# vi /etc/ctdb/nodes 
192.168.133.144
192.168.133.149

###这里的ip为gluster server节点的ip

[root@node01 post]# vi /etc/ctdb/public_addresses 
192.168.133.100/24 ens33

###这里的ip是浮动ip, ens33为interface name

2.6启动并验证ctdb service

[root@node01 post]# systemctl start ctdb
[root@node01 post]# ctdb pnn
PNN:0
[root@node01 post]# ctdb ping -n all
response from 0 time=0.000049 sec  (2 clients)
response from 1 time=0.008014 sec  (1 clients)
[root@node01 post]# ctdb status
Number of nodes:2
pnn:0 192.168.133.144  OK (THIS NODE)
pnn:1 192.168.133.149  OK
Generation:2009096591
Size:2
hash:0 lmaster:0
hash:1 lmaster:1
Recovery mode:RECOVERY (1)
Recovery master:1
[root@node01 post]# ctdb ip
Public IPs on node 0
192.168.133.100 0
[root@node01 post]# ctdb ip info 192.168.133.100
Public IPs on node 0
192.168.133.100 0

2.7使用浮动ip挂载gluster volume

[root@node02 post]# mount -t cifs -o username=smbuser,password=redhat //192.168.133.100/gluster-repvol /mnt/samba-test/

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享题目:在Gluster上使用CTDB和Samba-创新互联
文章转载:http://scjbc.cn/article/gedic.html

其他资讯