为什么不能在 CentOS 7 上为 DRBD 创建资源?
Why can't create resource for DRBD on CentOS 7?
按照本指南在 CentOS 7.3 上安装 DRBD:
http://www.learnitguide.net/2016/07/how-to-install-and-configure-drbd-on-linux.html
这一步之后:
resource testdata1 {
protocol C;
on node1 {
device /dev/drbd0;
disk /dev/sdb;
address 172.16.2.61:7788;
meta-disk internal;
}
on node2 {
device /dev/drbd0;
disk /dev/sdb;
address 172.16.2.62:7788;
meta-disk internal;
}
}
当运行时:
drbdadm create-md testdata1
收到消息:
'testdata1' not defined in your config (for this host).
/etc/hosts
是:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.2.61 node1.clusterbr.int node1
172.16.2.62 node2.clusterbr.int node2
172.16.2.60 dbip.clusterbr.int node1
/etc/drbd.conf
配置是:
# You can find an example in /usr/share/doc/drbd.../drbd.conf.example
include "drbd.d/global_common.conf";
include "drbd.d/*.res";
问题的原因是什么?
原因是没有在 drbd 配置文件中设置正确的主机名。
使用uname -a
可以看到主机名。将其设置为配置。
多亏了这个:
https://newbiedba.wordpress.com/2015/09/21/drbd-not-defined-in-your-config-for-this-host/
解决这个问题
注意:/etc/drbd.d/*.res
下两台主机上存在相同的配置文件
首先允许在端口7788
上进行通信
然后检查节点 # hostname
的主机名并验证 #vi /etc/sysconfig/network
包含相同的主机名
最后但并非最不重要的
# vi /etc/hosts
<IP1> node1.abc.com node1
<IP2> node2.abc.com node2
...保存然后
#drbdadm create-md testdata1
祝你好运
在教程编辑时"etc/drbd.d/testdata1.res"
在节点 1
在节点 2
这两个是机器的名字。
你需要用你的替换那些。
例子 :
在机器 1 上
在机器 2
resource testdata1 {
protocol C;
on node1 { <<<<<<<<<<<< put your host name by useing CMD "hostname" istead of node1
device /dev/drbd0;
disk /dev/sdb;
address 172.16.2.61:7788;
meta-disk internal;
}
on node2 { <<<<<<< put your host name by useing CMD "hostname" istead of node2
device /dev/drbd0;
disk /dev/sdb;
address 172.16.2.62:7788;
meta-disk internal;
}
}
按照本指南在 CentOS 7.3 上安装 DRBD:
http://www.learnitguide.net/2016/07/how-to-install-and-configure-drbd-on-linux.html
这一步之后:
resource testdata1 {
protocol C;
on node1 {
device /dev/drbd0;
disk /dev/sdb;
address 172.16.2.61:7788;
meta-disk internal;
}
on node2 {
device /dev/drbd0;
disk /dev/sdb;
address 172.16.2.62:7788;
meta-disk internal;
}
}
当运行时:
drbdadm create-md testdata1
收到消息:
'testdata1' not defined in your config (for this host).
/etc/hosts
是:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.2.61 node1.clusterbr.int node1
172.16.2.62 node2.clusterbr.int node2
172.16.2.60 dbip.clusterbr.int node1
/etc/drbd.conf
配置是:
# You can find an example in /usr/share/doc/drbd.../drbd.conf.example
include "drbd.d/global_common.conf";
include "drbd.d/*.res";
问题的原因是什么?
原因是没有在 drbd 配置文件中设置正确的主机名。
使用uname -a
可以看到主机名。将其设置为配置。
多亏了这个:
https://newbiedba.wordpress.com/2015/09/21/drbd-not-defined-in-your-config-for-this-host/
解决这个问题
注意:/etc/drbd.d/*.res
首先允许在端口
7788
上进行通信
然后检查节点
# hostname
的主机名并验证#vi /etc/sysconfig/network
包含相同的主机名最后但并非最不重要的
# vi /etc/hosts
<IP1> node1.abc.com node1
<IP2> node2.abc.com node2
...保存然后
#drbdadm create-md testdata1
祝你好运
在教程编辑时"etc/drbd.d/testdata1.res" 在节点 1 在节点 2
这两个是机器的名字。 你需要用你的替换那些。 例子 : 在机器 1 上 在机器 2
resource testdata1 {
protocol C;
on node1 { <<<<<<<<<<<< put your host name by useing CMD "hostname" istead of node1
device /dev/drbd0;
disk /dev/sdb;
address 172.16.2.61:7788;
meta-disk internal;
}
on node2 { <<<<<<< put your host name by useing CMD "hostname" istead of node2
device /dev/drbd0;
disk /dev/sdb;
address 172.16.2.62:7788;
meta-disk internal;
}
}