仮想ボックスでcentoOS6.3を使用してdrbdを学習しようとしていますが、node1とnode2の2つのvmが構成されています。ファイルを、node1の/ dev/drbd0であるマウントポイント/ dataにコピーしますが、 node2の/ data
これが設定です
# You can find an example in /usr/share/doc/drbd.../drbd.conf.example
#include "drbd.d/global_common.conf";
#include "drbd.d/*.res";
global {
# do not participate in online usage survey
usage-count no;
}
resource data {
# write IO is reported as completed if it has reached both local
# and remote disk
protocol C;
net {
# set up peer authentication
cram-hmac-alg sha1;
shared-secret "s3cr3tp@ss";
# default value 32 - increase as required
max-buffers 512;
# highest number of data blocks between two write barriers
max-Epoch-size 512;
# size of the TCP socket send buffer - can Tweak or set to 0 to
# allow kernel to autotune
sndbuf-size 0;
}
startup {
# wait for connection timeout - boot process blocked
# until DRBD resources are connected
wfc-timeout 30;
# WFC timeout if peer was outdated
outdated-wfc-timeout 20;
# WFC timeout if this node was in a degraded cluster (i.e. only had one
# node left)
degr-wfc-timeout 30;
}
disk {
# the next two are for safety - detach on I/O error
# and set up fencing - resource-only will attempt to
# reach the other node and fence via the fence-peer
# handler
#on-io-error detach;
#fencing resource-only;
# no-disk-flushes; # if we had battery-backed RAID
# no-md-flushes; # if we had battery-backed RAID
# ramp up the resync rate
# resync-rate 10M;
}
handlers {
# specify the two fencing handlers
# see: http://www.drbd.org/users-guide-8.4/s-pacemaker-fencing.html
fence-peer "/usr/lib/drbd/crm-fence-peer.sh";
after-resync-target "/usr/lib/drbd/crm-unfence-peer.sh";
}
# first node
on node1 {
# DRBD device
device /dev/drbd0;
# backing store device
disk /dev/sdb;
# IP address of node, and port to listen on
address 192.168.1.101:7789;
# use internal meta data (don't create a filesystem before
# you create metadata!)
meta-disk internal;
}
# second node
on node2 {
# DRBD debice
device /dev/drbd0;
# backing store device
disk /dev/sdb;
# IP address of node, and port to listen on
address 192.168.1.102:7789;
# use internal meta data (don't create a filesystem before
# you create metadata!)
meta-disk internal;
}
}
これが猫/ proc/drbdです
cat: /proc/data: No such file or directory
[root@node1 /]# cat /proc/drbd
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2013-09-27 16:00:43
0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r-----
ns:543648 nr:0 dw:265088 dr:280613 al:107 bm:25 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:7848864
[>...................] sync'ed: 6.5% (7664/8188)M
finish: 7:47:11 speed: 272 (524) K/sec
ノード1の/ dataにファイルをコピーしましたが、ノード2の/ dateにファイルが見つかりません。誰か助けてくれますか?
node1のdrbdステータス
[root@node1 /]# service drbd status
drbd driver loaded OK; device status:
version: 8.3.16 (api:88/proto:86-97)
GIT-hash: a798fa7e274428a357657fb52f0ecf40192c1985 build by phil@Build64R6, 2013-09-27 16:00:43
m:res cs ro ds p mounted fstype
0:data SyncSource Primary/Secondary UpToDate/Inconsistent C /data ext3
... sync'ed: 8.1% (7536/8188)M
間違っていることを証明してください。ただし、IIRCでは、ノードの1つに同時にマウントできるのはFSのみです。ノードを同期させ、/ dataをアンマウントします。切り替えて、node2にマウントします。すべてのデータが表示されます。
DRBDは、Distributed Replicated BlockDeviceを意味します。ファイルシステムではありません。
プライマリノードにファイルを書き込むと、ファイルシステムは書き込み操作を発行します。すぐ下のレイヤーで、DRBDはこれらの書き込みがセカンダリノードに複製されることを確認します。セカンダリノードの場合、これらの書き込みはデータブロックとして表示されます。ファイルを表示するには、通常、パーティションをプライマリノードでアンマウントし、セカンダリノードにマウントする必要があります。
しかし、あなたが達成したいことに対する解決策があります。このためには、クラスターファイルシステムが必要になります。このようなファイルシステムを使用すると、パーティションを2つのノードに同時にマウントできます。 ext4などの一般的に使用されるファイルシステムでは、これは不可能です。
DRBD上で機能するこのようなクラスターファイルシステムの例は、OCFS2です。このファイルシステムを使用し、パーティションを両方のサーバーに同時にマウントするには、DRBDリソースをデュアルプライマリモードで構成する必要があります。これは、プライマリノードがないことを意味します。両方のノードが同時にリソースに書き込むことができます。クラスタファイルシステムは、書き込まれるデータに一貫性があることを確認します。