我目前正在试图通过XEN模拟环境。 我已经安装了这样的FS布局的两个debian系统:
cltest1:/ etc#df -h 使用的文件系统大小可用使用% / dev / xvda2 6.0G 417M 5.2G 8%/ tmpfs 257M 0 257M 0%/ lib / init / rw udev 10M 16K 10M 1%/ dev tmpfs 257M 4.0K 257M 1%/ dev / shm
主机cltest2是相同的。
这是我的drbd.conf
全球{
小数1;
}
资源mysql {
协议C;
syncer {
率10M; #10兆字节
}
在cltest1 {
设备/ dev / drbd0;
磁盘/ dev / xvda2;
地址192.168.1.186:7789;
元磁盘内部;
}
在cltest2 {
设备/ dev / drbd0;
磁盘/ dev / xvda2;
地址192.168.1.187:7789;
元磁盘内部;
}
}
我没有在drbd0上创build文件系统
通过init.d脚本启动DRBD出错:
启动DRBD资源:[d(mysql)/ dev / drbd0:失败:(114)较低的设备已被声明。 这通常意味着它被安装。 [mysql] cmd / sbin / drbdsetup / dev / drbd0磁盘/ dev / xvda2 / dev / xvda2 internal --set-defaults --create-device失败 - 继续!
运行:drbdadm create-md mysql给出:
cltest1:/ etc#drbdadm create-md mysql
md_offset 6442446848
al_offset 6442414080
bm_offset 6442217472
find使用6291456 kB的ext3文件系统
当前configuration留下可用6291228 kB
设备大小将被截断,哪个
会破坏数据并导致
“访问超出设备末端”的错误。
你也需要
*使用外部元数据(推荐)
*首先缩小文件系统
*清零设备(销毁文件系统)
操作被拒绝。
命令'drbdmeta / dev / drbd0 v08 / dev / xvda2 internal create-md'以退出代码40结尾
drbdadm中止
据我所知,我所有的问题是因为我没有xvda2上的未分配的磁盘空间。
除了缩小FS和连接单独的物理磁盘外 ,我还有哪些select? 元数据不能存储在本地文件系统的文件中吗?
drbd有时可以在现有的文件系统上运行,即使没有系统在系统上。 你可以用dd if=/dev/zero of=/dev/xvda2 (和几秒钟后的control-C)来清除可以保存文件系统的分区。
你不能以任何文件系统格式安装磁盘; 在Ubuntu中,使用gparted将/ dev / xvda2指定为“Cleared”分区。 并运行相同的命令将删除上述错误。
1)记下womble的评论
2)DRBD元数据选项(全部必须是块设备AFAIK)
A)内部 – 适用于从未使用的设备(不是您的情况)
B)“外部” – 一个单独的分区/驱动器,这也可能是一个Ramdisk,但您的元数据将消失在电源周期
所以你可以
A)用不同的分区重build系统,并在数据分区上从头开始使用drbd
B)使用在重新启动之间消失的Ramdisk
C)为metatdata添加一个驱动器(USB,eSATA,内部等)。
祝你好运 – DRBD是一件好事。
我不'抓住你想做的事情。 cltest1和cltest2永远不会并发运行?
为什么要在这两个系统之间镜像根文件系统?
你在同一个硬件上运行cltest1和cltest2吗?
对于drbd-meta-device:把它放在它自己的LV上。 在LV使用索引。 例如
meta-disk / dev / VG / drbd_meta [1]; 下一个drbd可以在同一个LV上使用索引2。 这样你可以使用一个1GB的LV用于许多DRBD设备。