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

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


centos_7_samba_cluster

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
centos_7_samba_cluster [2014/09/24 17:43]
metallic [Подключение LVM к кластеру]
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
  
 ===== Первоначальная настройка кластера ===== ===== Первоначальная настройка кластера =====
Строка 200: Строка 200:
  
 ===== Создание кластерной ФС и подключение ее к кластеру ===== ===== Создание кластерной ФС и подключение ее к кластеру =====
 +
 +Создаем кластерную ФС 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.1411566183.txt.gz · Последнее изменение: 2022/03/25 17:03 (внешнее изменение)