尝试设置 DRBD 的主节点时出现以下错误。
'node1' not defined in your config (for this host).
我知道这与 DNS/主机名/主机和配置 clusterdb.res 有关。我知道这一点是因为如果 node1 未正确解析,我最初在尝试启动 clusterdb.res 时收到错误。所以让我困惑的是,如果使用以下任一方法,我可以启动 clusterdb.res:
我在主机上使用过这个命令
hostnamectl set-hostname $(uname -n | sed s/\\..*//)
使主机名解析为node1而不是node1.localdomain
或者将 node1.localdomain 添加到配置中,都可以。但我已经尝试了所有组合,但似乎无法执行此命令:
drbdadm primary --force node1 && cat /proc/drbd
我的配置
/etc/drbd.d/clusterdb.res
resource clusterdb{
protocol C;
meta-disk internal;
device /dev/drbd0;
startup {
wfc-timeout 30;
outdated-wfc-timeout 20;
degr-wfc-timeout 30;
}
net {
cram-hmac-alg sha1;
shared-secret sync_disk;
}
syncer {
rate 10M;
al-extents 257;
on-no-data-accessible io-error;
verify-alg sha1;
}
on node1 {
disk /dev/sda3;
address 192.168.1.216:7788;
}
on node2 {
disk /dev/sda3;
address 192.168.1.217:7788;
}
}
/etc/主机:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.216 node1
192.168.1.217 node2
/etc/主机名
node#
编辑:
[root@node1 ~]# hostname
node1
[root@node1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.1.1 node1
192.168.1.216 node1
192.168.1.217 node2
[root@node1 ~]#
更新:我已经让它与 LVM 一起使用,如下本指南确切地说,所以我认为我的问题实际上在于以下代码行。但现在我想我会坚持使用 LVM,因为它有效,除非其他人真的想从事这个工作。(我的工作 LVM 文章)
device /dev/drbd0;
或者
device /dev/drbd0;
我这么说的原因是,我使用了相同的主机/主机名/短名称/ip_addr,但 LVM 并且它有效,但也许我第一次错过了一些东西,我在新的 VM 模板中修复了(我从头开始构建 LVM)
答案1
您没有drbdadm
正确使用该命令。它需要资源名称,您可以在其中为其指定节点名称。
试试这个(来自node1):
drbdadm up clusterdb
drbdadm primary --force clusterdb
附带说明一下,DRBD 希望其配置中的主机名与uname -n
.