ctdb+samba+cephfs高可用

環境:兩臺ubuntu16.04主機或虛擬機,samba:4.3.11,ctdb:4.3.11,ceph客戶端:10.2.9 ,ceph集羣:10.2.3html

配置前準備:node

    可用的ceph集羣,配置了cephfs文件系統。ubuntu

    ceph集羣mon節點ip:10.33.0.51windows

    ubuntu16.04節點1:10.33.0.37網絡

    ubuntu16.04節點2:10.33.0.48app

1、在兩個ubuntu16.04節點安裝samba,ctdbtcp

    apt-get install sambathis

    apt-get install ctdbspa

    apt-get install ceph-common.net

2、在兩個ubuntu16.04節點上掛載cephfs,執行:

mount -t ceph 10.33.0.51:6789:/ /mnt/cephfstest -o name=admin,secret=AQATSKdNjkliwlasUe==

配置開機自動掛載cephfs,參考:http://docs.ceph.com/docs/master/cephfs/fstab/

3、首先在兩臺節點上配置samba。

  在兩臺節點上編輯/etc/samba/smb.conf

    [root]    #在windows中能夠共享的目錄名字
    comment = share file root
    browseable = yes
    path = /mnt/cephfstest/public    #要共享的目錄,在/mnt/cephfstest/下建立public文件夾.
    create mask = 0777
    directory mask = 0777
    public = yes
    writable = yes
    guest ok = yes

  使能samba服務,在兩臺節點上執行:

    systemctl enable smbd.service nmbd.service

    chmod 777 /mnt/cephfstest

  在windows系統上鍊接samba服務

  參考:http://blog.csdn.net/zy_whatafuck/article/details/52242241

兩臺均可以鏈接成功,samba服務配置正確,若是samba服務不正常,能夠查看/var/log下的samba日誌。

4、配置samba集羣模式和ctdb

    samba若是要使用ctdb作高可用,就要把samba配置成集羣模式,在兩臺節點上執行:

    編輯/etc/samba/smb.conf

    在global部分中加入                 

    [global]
        clustering = yes
        idmap backend = tdb2
        private dir=/mnt/cephfstest/ctdb

        fileid:mapping = fsname
        use mmap = no
        nt acl support = yes
        ea support = yes

在兩臺節點上,編輯/etc/default/ctdb文件,在文件最後加入

    CTDB_RECOVERY_LOCK=/mnt/cephfstest/ctdb/lock    #此文件ctdb會自動建立

    CTDB_PUBLIC_INTERFACE=ens160          #網卡名字

    CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses

    CTDB_MANAGES_SAMBA=yes

    CTDB_NODES=/etc/ctdb/nodes

    CTDB_LOGFILE=/var/log/ctdb.log

    CTDB_DEBUGLEVEL=2

    CTDB_PUBLIC_NETWORK=」10.33.0.0/24″     #網絡段

    CTDB_PUBLIC_GATEWAY=」10.33.0.254″    #網關

  編輯/etc/services文件,添加

    ctdb            9999/tcp

  在兩臺節點上建立/etc/ctdb/nodes文件

    添加兩個節點的ip如:

    10.33.0.148
    10.33.0.37

  在兩臺節點上建立/etc/ctdb/public_addresses 文件,添加對外虛擬的ip:

    10.33.0.149/24

  在兩臺節點上建立/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

在兩個節點上執行

    chmod +x /etc/ctdb/events.d/11.route

在兩臺節點使能ctdb:systemctl enable ctdb.service

啓動ctdb:systemctl start ctdb.service

5、檢查

    ctdb status

Number of nodes:2
pnn:0 10.33.0.148      OK
pnn:1 10.33.0.37       OK (THIS NODE)
Generation:1694897827
Size:2
hash:0 lmaster:0
hash:1 lmaster:1
Recovery mode:NORMAL (0)
Recovery master:1

在windows系統中用虛擬ip10.33.0.149掛載,當samba一個節點宕機後,驗證samba服務是否還能夠掛載。

   

參考:http://www.178pt.com/111.html

相關文章
相關標籤/搜索