8.3. 配置 Samba 集群资源
在双节点高可用性集群的两个节点上配置 Samba 服务后,请为集群配置 Samba 集群资源。
先决条件
- 使用 GFS2 文件系统配置的双节点红帽高可用性集群,如在 为高可用性集群中的 Samba 服务配置一个 GFS2 文件系统 中所述。
- Samba 服务已在两个集群节点上配置了,如 在高可用性集群中配置 Samba 中所述。
步骤
在集群的一个节点上配置 Samba 集群资源:
在组
samba-group
中创建 CTDB 资源。CTDB 资源代理使用pcs
命令指定的ctdb_*
选项来创建 CTDB 配置文件。将资源创建为禁用,以便其在配置必要的顺序约束前不自动启动。[root@z1 ~]# pcs resource create --disabled ctdb --group samba-group ocf:heartbeat:CTDB ctdb_recovery_lock=/mnt/ctdb/ctdb.lock ctdb_dbdir=/var/lib/ctdb ctdb_logfile=/var/log/ctdb.log op monitor interval=10 timeout=30 op start timeout=90 op stop timeout=100
克隆
samba-group
资源组。[root@z1 ~]# pcs resource clone samba-group
创建排序约束,以确保所有
Filesystem
资源都在samba-group
中的资源之前运行。[root@z1 ~]# pcs constraint order start ctdb_fs-clone then samba-group-clone [root@z1 ~]# pcs constraint order start csmb_fs1-clone then samba-group-clone
在资源组
samba-group
中创建samba
资源。这会根据它们添加的顺序在 CTDB 和 Samba 之间创建一个隐式排序约束。[root@z1 ~]# pcs resource create samba --group samba-group systemd:smb
启用
ctdb
和samba
资源。[root@z1 ~]# pcs resource enable ctdb samba
检查是否所有服务都已成功启动。
注意可能需要几分钟 CTDB 才能启动 Samba、导出共享并稳定下来。如果在此过程完成前检查集群状态,您可能会看到
samba
服务还没有运行。[root@z1 ~]# pcs status ... Full List of Resources: * fence-z1 (stonith:fence_xvm): Started z1.example.com * fence-z2 (stonith:fence_xvm): Started z2.example.com * Clone Set: locking-clone [locking]: * Started: [ z1.example.com z2.example.com ] * Clone Set: shared_vg-clone [shared_vg]: * Started: [ z1.example.com z2.example.com ] * Clone Set: ctdb_fs-clone [ctdb_fs]: * Started: [ z1.example.com z2.example.com ] * Clone Set: csmb_fs1-clone [csmb_fs1]: * Started: [ z1.example.com z2.example.com ] * Clone Set: samba-group-clone [samba-group]: * Started: [ z1.example.com z2.example.com ]
在集群的两个节点上,为 test 共享目录添加本地用户。
添加用户。
# useradd -M -s /sbin/nologin example_user
设置用户的密码。
# passwd example_user
为用户设置 SMB 密码。
# smbpasswd -a example_user New SMB password: Retype new SMB password: Added user example_user
激活 Samba 数据库中的用户。
# smbpasswd -e example_user
为 Samba 用户更新 GFS2 共享的文件所有者和权限。
# chown example_user:users /srv/samba/share1/ # chmod 755 /srv/samba/share1/