Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does drbd support initializing disks with mounted file systems? #96

Open
willzhang opened this issue Aug 4, 2024 · 0 comments
Open

Comments

@willzhang
Copy link

willzhang commented Aug 4, 2024

If i have a disk used for a long time, so it have data and mounted.

mkfs.xfs /dev/sdb
mount /dev/sdb /var/lib/docker
echo data > /var/lib/docker/test.txt

is it possible setup a drbd replication for /dev/sdb, i have test, but it failed.

version info

root@node51:~# drbdadm --version
DRBDADM_BUILDTAG=GIT-hash:\ ba2ce9037989b6141222c7901d1219cf852949f1\ build\ by\ buildd@lcy02-amd64-093\,\ 2024-05-06\ 09:10:38
DRBDADM_API_VERSION=1
DRBD_KERNEL_VERSION_CODE=0x08040b
DRBDADM_VERSION_CODE=0x091c00
DRBDADM_VERSION=9.28.0
root@node51:~# 
root@node51:~# 
root@node51:~# modinfo drbd
filename:       /lib/modules/5.15.0-117-generic/kernel/drivers/block/drbd/drbd.ko
alias:          block-major-147-*
license:        GPL
version:        8.4.11
description:    drbd - Distributed Replicated Block Device v8.4.11
author:         Philipp Reisner <[email protected]>, Lars Ellenberg <[email protected]>
srcversion:     C7B8F7076B8D6DB066D84D9
depends:        lru_cache,libcrc32c
retpoline:      Y
intree:         Y
name:           drbd
vermagic:       5.15.0-117-generic SMP mod_unload modversions 
sig_id:         PKCS#7
signer:         Build time autogenerated kernel key
sig_key:        45:00:3B:43:A0:87:2F:E9:C1:F9:9B:0C:A2:C6:3D:78:F7:15:94:98
sig_hashalgo:   sha512
signature:      53:9B:04:91:AB:26:31:88:E9:71:53:0F:F3:68:5D:CA:98:94:BF:8B:
                1A:8D:79:11:3E:A3:55:22:31:77:47:FE:69:A6:A7:D2:10:53:26:B4:
                1D:AB:42:F4:E0:99:08:BE:16:AD:5C:AF:93:2C:83:97:AD:D9:10:C7:
                76:43:31:78:F5:A3:BB:63:17:30:23:95:5B:1A:A6:F6:4E:5F:B0:A2:
                49:83:3E:79:84:6F:68:5A:BD:01:16:CD:51:21:F8:99:63:B2:90:D3:
                AA:D8:35:1F:FA:43:FD:8D:14:56:42:C3:5A:C2:86:2D:7C:AD:B6:58:
                6F:FE:0A:52:38:E5:09:5F:3A:60:B5:92:A0:DE:34:73:F2:3F:4B:5C:
                A3:AD:33:31:4A:CE:AB:32:26:40:EE:33:59:74:D4:00:30:01:1E:3A:
                D8:C0:B0:72:2C:82:65:72:AF:1B:F2:0A:F9:B0:8D:40:99:2A:1F:82:
                C8:A2:10:04:AB:A0:19:2C:F9:A2:F6:8E:9B:FA:AD:21:97:A3:E7:22:
                14:C1:F7:B3:06:8E:08:42:EF:1A:76:90:F4:2A:5B:13:BF:C9:C0:64:
                75:21:03:68:49:AD:CB:0A:F1:93:AA:A6:12:D3:7D:18:0A:4E:43:32:
                2C:5D:1B:2E:DB:62:6E:6B:7C:8E:85:8D:6B:50:78:B7:2D:B1:5A:0E:
                AC:8D:D2:76:46:26:E6:23:0C:AD:BE:BB:53:DC:1D:5D:AB:93:BA:00:
                9B:DB:FF:36:98:7A:41:86:04:78:1F:BF:B1:84:F5:9E:FD:2C:80:4E:
                05:0C:C7:50:FD:70:76:8C:B1:5A:2C:E9:EE:23:ED:4C:93:44:E5:1C:
                A5:33:AD:D7:26:F6:52:A2:63:FB:C3:F7:F9:97:2B:C7:23:31:20:6B:
                68:A2:28:1C:38:A8:C3:5B:0B:43:05:9A:DF:03:D4:11:98:E5:4E:00:
                FE:BE:B1:74:9E:99:FE:22:EC:CB:40:C7:88:5E:2C:6C:0E:89:1D:B1:
                8B:A2:C0:0F:4B:80:37:1D:B0:7F:F7:DA:5A:1D:AB:8D:35:44:05:82:
                0B:59:3C:FB:DA:62:E0:28:FD:A2:95:72:B4:24:42:40:B0:F8:1D:49:
                73:41:D9:49:C3:58:03:4C:23:EA:D8:E9:FD:0D:04:27:DB:93:B6:A9:
                7E:44:F0:27:13:B0:B5:00:95:40:65:1E:94:88:EE:9D:0D:88:97:F2:
                10:24:97:94:A2:95:70:CB:33:C1:CD:68:C3:D6:DF:0A:C8:3F:46:86:
                85:52:7D:18:B9:4B:8B:D3:52:CF:78:CD:84:DB:E1:25:AE:FF:E9:34:
                86:E4:DD:A0:98:5D:CB:6C:80:C7:FC:81
parm:           allow_oos:DONT USE! (bool)
parm:           disable_sendpage:bool
parm:           proc_details:int
parm:           minor_count:Approximate number of drbd devices (1-255) (uint)
parm:           usermode_helper:string
root@node51:~# cat /etc/os-release 
PRETTY_NAME="Ubuntu 22.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.2 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
root@node51:~# 

disk info

root@node51:~# lsblk
NAME                 MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0                  7:0    0  63.9M  1 loop /snap/core20/2318
loop1                  7:1    0  63.3M  1 loop /snap/core20/1822
loop2                  7:2    0    87M  1 loop /snap/lxd/29351
loop3                  7:3    0 111.9M  1 loop /snap/lxd/24322
loop4                  7:4    0  49.8M  1 loop /snap/snapd/18357
loop5                  7:5    0  38.8M  1 loop /snap/snapd/21759
loop10                 7:10   0   200M  0 loop 
sda                    8:0    0   100G  0 disk 
├─sda1                 8:1    0     1G  0 part /boot/efi
├─sda2                 8:2    0     2G  0 part /boot
└─sda3                 8:3    0  96.9G  0 part 
  └─ubuntu--vg-lv--0 253:0    0  96.9G  0 lvm  /
sdb                    8:16   0    20G  0 disk 
sdc                    8:32   0     1G  0 disk 
sr0                   11:0    1  1024M  0 rom  

drbd config

root@node51:~# cat /etc/drbd.d/r0.res 
resource "r0" {
  device minor 1;
  disk "/dev/sdb";
  meta-disk /dev/sdc;
  on "node51" {
    address   192.168.72.51:7789;
  }
  on "node52" {
    address   192.168.72.52:7789;
  }
}

It will failed for drbdadm up r0 command,if i mount /dev/sdb to /var/lib/docker

root@node51:~# drbdadm create-md r0
initializing activity log
initializing bitmap (32 KB) to all zero
Writing meta data...
New drbd meta data block successfully created.
success
root@node51:~# 
root@node51:~# drbdadm up r0 
1: Failure: (104) Can not open backing device.
Command 'drbdsetup-84 attach 1 /dev/sdb /dev/sdc flexible' terminated with exit code 10
root@node51:~# 

but if i umount /var/lib/docker,it will success

root@node51:~# umount /var/lib/docker
root@node51:~# 
root@node51:~# 
root@node51:~# drbdadm up r0 
root@node51:~# 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant