Некоторое время назад я создал свою первую GFS2 для проведения тестов:
mkfs.gfs2 -t cluster-test:gfs-vol1 -p lock_dlm -j 3 /dev/vg2/gfs-vol1
Из mkfs.gfs2 (8) man
:
-t имя кластера: lockspace
Пара «таблица блокировки», используемая для однозначной идентификации этой файловой системы в кластер. Сегмент имени кластера (максимум 32 символа) должен соответствовать имя, данное вашему кластеру в его конфигурации; только члены этому кластеру разрешено использовать эту файловую систему. Замковое пространство сегмент (максимум 30 символов) - это уникальное имя используемой файловой системы отличить эту файловую систему gfs2. Допустимые имена кластеров и замковые пространства может содержать только буквенно-цифровые символы, дефисы (-) и подчеркивания (_).
После тестирования я хочу изменить имя кластера с cluster-test на cluster-prod. Сначала я изменил конфигурацию totem (cluster_name) в corosync.conf, но после этого монтирование не удалось.
mount: /gfs/gfs-vol1: mount(2) system call failed: Invalid request descriptor.
В dmesg:
kernel: gfs2: fsid=cluster-test:gfs-vol1: Trying to join cluster "lock_dlm", "cluster-test:gfs-vol1"
kernel: dlm: Using TCP for communications
kernel: dlm: dlm cluster name 'cluster-prod' does not match the application cluster name 'cluster-test'
kernel: gfs2: fsid=cluster-test:gfs-vol1: dlm_new_lockspace error -53
Как изменить имя кластера GFS2 в файловой системе, чтобы оно соответствовало dlm / corosync?
Изменить легко (если вы уже знаете, где искать; не в моем случае). Два разных способа:
Hardway (мое первое предположение):
gfs2_edit -p sb field sb_locktable cluster-prod:gfs-vol1 /dev/vg2/gfs-vol1
Easyway (хотя и не очень очевидный/интуитивно понятный, если вы не знаете команду tunegfs2 и связь между "locktable name" и "filesystem label"):
tunegfs2 -L cluster-prod:gfs-vol1 /dev/vg2/gfs-vol1
Это также полезно, если вы хотите изменить "lockproto"