Инструменты пользователя

Инструменты сайта


centos_7_samba_cluster

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
centos_7_samba_cluster [2014/09/16 19:03]
metallic [Первоначальная настройка кластера]
centos_7_samba_cluster [2022/03/25 17:00] (текущий)
Строка 64: Строка 64:
 Устанавливаем необходимое ПО Устанавливаем необходимое ПО
   # yum groupinstall "High Availability"   # yum groupinstall "High Availability"
-  # yum install samba samba-client+  # yum install samba samba-client gfs2-utils ctdb
  
 ===== Первоначальная настройка кластера ===== ===== Первоначальная настройка кластера =====
Строка 159: Строка 159:
     pcsd: active/enabled     pcsd: active/enabled
  
-Как видно, оба узла онлайн, в качестве DC(Designated Co-ordinator) выбран узел samba_node1.+Как видно, оба узла онлайн, в качестве DC(Designated Co-ordinator) выбран узел samba_node1. Пока что наш кластер работает в холостую и не управляет никакими ресурсами(сервисами), этим мы займемся дальше. 
 + 
 +===== Подключение LVM к кластеру ===== 
 +Включаем cluster locking в конфиге LVM и включаем автозагрузку демона lvmetad, все это можно сделать одной командой: 
 + 
 +  # lvmconf --enable-cluster 
 +   
 +Проверяем, должно ровняться 3 
 + 
 +  # cat /etc/lvm/lvm.conf | grep "locking_type =" 
 +  locking_type = 3 
 + 
 +Теперь создаем два клонированных ресурса. Первый распределенный менеджер блокировок и второй - кластерный LVM(команды выполняются на любом узле) 
 + 
 +  # pcs resource create dlm ocf:pacemaker:controld op monitor interval=30s on-fail=fence clone interleave=true ordered=true 
 +  # pcs resource create clvmd ocf:heartbeat:clvm op monitor interval=30s on-fail=fence clone interleave=true ordered=true 
 + 
 +Настраиваем порядок запуска, dlm должен стартовать первым и оба демона должны выполняться на одном хосте 
 + 
 +  # pcs constraint order start dlm-clone then clvmd-clone 
 +  # pcs constraint colocation add clvmd-clone with dlm-clone 
 + 
 +Проверяем, что ресурсы успешно стартанули на обоих узлах 
 + 
 +  # pcs resource show 
 +   Clone Set: dlm-clone [dlm] 
 +       Started: [ samba_node1 samba_node2 ] 
 +   Clone Set: clvmd-clone [clvmd] 
 +       Started: [ samba_node1 samba_node2 ] 
 + 
 +Ну а теперь создаем LVM том как обычно, все дальнейшие команды ничем не отличаются от обычной, не кластерной LVM(предполагается, что общий диск у всех нод - /dev/sdb). Команды выполнять только на одном узле. 
 + 
 +  # pvcreate /dev/sdb 
 +  # vgcreate samba_cluster /dev/sdb 
 +  # lvcreate -n samba_cluster -l100%FREE samba_cluster 
 +   
 +Смотрим на обоих нодах(по-умолчанию тома должны быть видимы на всех нодах) 
 + 
 +  # ls /dev/samba_cluster/samba_cluster 
 + 
 +===== Создание кластерной ФС и подключение ее к кластеру ===== 
 + 
 +Создаем кластерную ФС GFS2 поверх только что созданного LVM тома. Кол-во журналов(-j 2) соответствует кол-ву нод кластера, протокол блокировки для кластера - lock_dlm 
 + 
 +  # mkfs.gfs2 -p lock_dlm -t samba_cluster:cluster_FS -j 2 /dev/samba_cluster/samba_cluster 
 +   
 +  /dev/samba_cluster/samba_cluster is a symbolic link to /dev/dm-2 
 +  This will destroy any data on /dev/dm-2 
 +  Are you sure you want to proceed? [y/n]y 
 +   
 +  Device:                    /dev/samba_cluster/samba_cluster 
 +  Block size:                4096 
 +  Device size:               10,00 GB (2620416 blocks) 
 +  Filesystem size:           10,00 GB (2620413 blocks) 
 +  Journals:                  2 
 +  Resource groups:           40 
 +  Locking protocol:          "lock_dlm" 
 +  Lock table:                "samba_cluster:cluster_FS" 
 +  UUID:                      a750c8de-b4bc-2b0b-90ef-0a609319a657   
 + 
 +После создания ФС можно попробовать ее примонтировать на обоих узлах 
 + 
 +  # mount /dev/samba_cluster/samba_cluster /mnt/ 
 + 
 +Не забываем отмонтировать и проверить, что ФС не прописана в fstab, ее монтировать будет кластер. 
 + 
 +Настаиваем кластер(все команды выполняются на одном узле). Задаем поведение, требуемое при отсутствии кворума(чтобы не пострадали данные в случаи split brain) 
 + 
 +  # pcs property set no-quorum-policy=freeze 
 + 
 +Создаем ресурс ФС, в случае необходимости к опциям можно добавить acl 
 + 
 +  # pcs resource create clusterfs Filesystem device="/dev/samba_cluster/samba_cluster" directory="/mnt" fstype="gfs2" "options=noatime" op monitor interval=10s on-fail=fence clone interleave=true 
 +   
 +И наконец настраиваем порядок запуска и зависимости, т.е. ФС должна монтироваться после готовности LVM 
 + 
 +  # pcs constraint order start clvmd-clone then clusterfs-clone 
 +  # pcs constraint colocation add clusterfs-clone with clvmd-clone 
 + 
 +Проверяем, что все работает 
 + 
 +  # pcs resource show 
 +   Clone Set: dlm-clone [dlm] 
 +       Started: [ samba_node1 samba_node2 ] 
 +   Clone Set: clvmd-clone [clvmd] 
 +       Started: [ samba_node1 samba_node2 ] 
 +   Clone Set: clusterfs-clone [clusterfs] 
 +       Started: [ samba_node1 samba_node2 ] 
 +   
 +  # df -h 
 +  /dev/mapper/samba_cluster-samba_cluster    10G         259M  9,8G            3% /mnt 
 + 
 +Как видим, ФС примонтирована и все ресурсы у кластера в рабочем состоянии. На этом настройка pacemaker закончена, переходим к заключительному этапу - настройка CTDB. 
 + 
 +===== Настройка CTDB ===== 
 + 
 +Создаем на кластерной ФС директорию для Samba и файлы nodes, public_addresses для CTDB 
 + 
 +  # mkdir /mnt/ctdb 
 +  # touch /etc/ctdb/nodes 
 +  # touch /etc/ctdb/public_addresses 
 + 
 +Редактируем конфиг /etc/sysconfig/ctdb 
 + 
 +  CTDB_RECOVERY_LOCK="/mnt/ctdb/.ctdb.lock" 
 +  CTDB_NODES=/etc/ctdb/nodes 
 +  CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses 
 +  CTDB_MANAGES_SAMBA=yes 
 +  CTDB_MANAGES_WINBIND=no 
 +  CTDB_MANAGES_NFS=no 
 +  CTDB_DEBUGLEVEL=NOTICE 
 +   
 +Если Samba интегрирована с Active Directory, то включаем еще опцию CTDB_MANAGES_WINBIND. 
 + 
 +В файле nodes перечислены IP-адреса всех узлов кластера, через которые взаимодействует ПО управления кластером - pacemaker и CTDB, эти адреса могут быть на отдельных интерфейсах, как уже упоминалось. 
 + 
 +  # cat /etc/ctdb/nodes 
 +  192.168.232.10 
 +  192.168.232.20 
 + 
 +Файл public_addresses содержит IP-адреса узлов через которые кластер обслуживает клиентов. Как упоминалось, этот файл нужен в случае если адресами управляет CTDB, он сам решит на какой узел какой адрес отдать. После адреса через пробел указывается сетевая карта, которой этот адрес присвоить, нужно перечислить все возможные варианты на всех узлах. 
 + 
 +  # cat /etc/ctdb/public_addresses 
 +  10.0.0.100/24 eth1 
 +  10.0.0.200/24 eth1 
 + 
 +И наконец редактируем конфиг Samba, он должен быть одинаков на всех узлах. 
 + 
 +  [global] 
 +          workgroup = COMPANY 
 +          server string = Samba Test Cluster 
 +          netbios name = MEGACLUSTER 
 +          max protocol = SMB2 
 +          log file = /var/log/samba/log.%m 
 +          max log size = 1000 
 +          security = user 
 +          domain master = no 
 +          domain logons = no 
 +          local master = no 
 +          os level = 33 
 +          preferred master = no 
 +          load printers = no 
 +   
 +  # ----------------------- Cluster Options ------------------------ 
 +          clustering = yes 
 +          # Две опции ниже важные, должны обязательно указывать на кластерную ФС, иначе можно 
 +          # получить странные глюки 
 +          private dir = /mnt/ctdb 
 +          lock directory = /mnt/ctdb 
 +          idmap backend = tdb2  
 +          passdb backend = tdbsam 
 +   
 +  #============================ Share Definitions ============================== 
 +   
 +  [test] 
 +          comment = Cluster Share 
 +          path = /mnt/share 
 +          browseable = yes 
 +          writable = yes 
 + 
 +Наконец включаем CTDB 
 + 
 +  # systemctl enable ctdb.service 
 +  # systemctl start ctdb.service 
 + 
 +После чего он должен распределить адреса по узлам и запустить Samba. Проверяем: 
 + 
 +  # ctdb status 
 +  Number of nodes:2 
 +  pnn:0 192.168.232.10   OK 
 +  pnn:1 192.168.232.20   OK (THIS NODE) 
 +  Generation:388325546 
 +  Size:2 
 +  hash:0 lmaster:0 
 +  hash:1 lmaster:1 
 +  Recovery mode:NORMAL (0) 
 +  Recovery master:0 
 +   
 +  # ctdb ip 
 +  Public IPs on node 1 
 +  10.0.0.100 0 
 +  10.0.0.200 1 
 +   
 +  # ip address show 
 +   
 +  3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 
 +      link/ether 00:0c:29:15:60:7b brd ff:ff:ff:ff:ff:ff 
 +      inet 10.0.0.100/24 brd 10.0.0.255 scope global eno33554976 
 +         valid_lft forever preferred_lft forever 
 +   
 +  # smbcontrol smbd ping 
 +  PONG from pid 1:5658 
 + 
 +Если Samba интегрирована с AD теперь можно попробовать подключиться со стороны клиента,  если нет, то создаем учетную запись пользователя.
  
centos_7_samba_cluster.1410879787.txt.gz · Последнее изменение: 2022/03/25 17:04 (внешнее изменение)