具有现有文件系统的磁盘上的 DRBD 占据了所有位置

Kar*_* T. 4 linux xen drbd

我目前正在尝试通过 XEN 模拟环境。我已经安装了两个具有这种 FS 布局的 debian 系统:

cltest1:/etc# df -h
已使用的文件系统大小 Avail Use% Mounted on
/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;

  同步器{
    速率10M;# 10 兆字节
  }

  在 cltest1 {
    设备 /dev/drbd0;
    磁盘 /dev/xvda2;
    地址 192.168.1.186:7789;
    元磁盘内部;
  }

  在 cltest2 {
    设备 /dev/drbd0;
    磁盘 /dev/xvda2;
    地址 192.168.1.187:7789;
    元磁盘内部;
  }
}

我没有在 drbd0 上创建文件系统

通过 init.d 脚本启动 DRBD 时出错:

启动 DRBD 资源:[ d(mysql) /dev/drbd0: Failure: (114) 较低的设备已被声明。这通常意味着它已安装。

[mysql] cmd /sbin/drbdsetup /dev/drbd0 磁盘 /dev/xvda2 /dev/xvda2 内部 --set-defaults --create-device 失败 - 继续!

运行:drbdadm create-md mysql 给出:

cltest1:/etc# drbdadm create-md mysql
md_offset 6442446848
al_offset 6442414080
bm_offset 6442217472

找到使用 6291456 kB 的 ext3 文件系统
当前配置可用 6291228 kB

设备大小将被截断,这
会损坏数据并导致
“超出设备末端的访问”错误。
你需要要么
   * 使用外部元数据(推荐)
   * 首先缩小该文件系统
   * 将设备清零(销毁文件系统)
操作拒绝。

命令“drbdmeta /dev/drbd0 v08 /dev/xvda2 internal create-md”以退出代码 40 终止
drbdadm 中止

据我了解,我所有的问题都是因为我在 xvda2 上没有未分配的磁盘空间。

除了缩小 FS 和连接单独的物理磁盘,我还有什么选择?元数据不能存储在本地文件系统中的文件中吗?

小智 7

drbd 有时可以拾取“现有”文件系统,即使系统中没有一个。您可以dd if=/dev/zero of=/dev/xvda2(并在几秒钟后使用 control-C),它将清除之前可以保存文件系统的分区。