我有两个处于主要/次要状态的 CentOS7 虚拟机。
我的目标是增加 DRBD 块大小。
为此,我执行了以下步骤:
1. 添加新的高清。
2. 创建新分区fdisk
- 格式为 LVM ( /dev/sdc1
)
3. 将新分区添加到 vg:
vgextend vg_DRBD /dev/sdc1
4. 增加 lv:
lvresize -l +2559 /dev/vg_DRBD/lv_DRBD /dev/sdc1
[root@localhost]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 vg_DRBD lvm2 a-- 10.00g 0
/dev/sdc1 vg_DRBD lvm2 a-- 10.00g 0
[root@localhost admin]# lvdisplay
--- Logical volume ---
LV Path /dev/vg_DRBD/lv_DRBD
LV Name lv_DRBD
VG Name vg_DRBD
LV Write Access read/write
LV Creation host, time localhost, 2017-02-26 15:49:05 +0000
LV Status available
# open 2
LV Size 19.99 GiB
Current LE 5118
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
在我确认 LV 确实增长后,我继续说道。
5.在一个节点上调整drbd块的大小:
drbdadm resize r0
[root@localhost admin]# drbd-overview
0:r0/0 Connected Primary/Secondary UpToDate/UpToDate /drbd_data ext4 9.9G 338M 9.0G 4%
从这个输出中我意识到 DRBD 块没有增长。
所以我尝试更新文件系统:
6.更新文件系统,在主节点上运行:
[root@localhost admin]# resize2fs /dev/vg_DRBD/lv_DRBD
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Device or resource busy while trying to open /dev/vg_DRBD/lv_DRBD
Couldn't find valid filesystem superblock.
我收到上面的错误,表示资源正忙。
所以我在辅助节点上运行它并得到相同的错误。但没什么用处!
我读到如果文件系统存在错误,有时会发生此问题,我尝试修复它并销毁文件系统(例如将权限更改为???),所以我返回了快照。
我想增加在线块而不丢失任何数据,你知道我做错了什么吗?
谢谢你,
酒吧
答案1
解决了!
我有使用 drbd 来存储数据的服务。
我的第一个目标是增加 drbd 的大小,同时保持此服务的活力。
不幸的是,我需要停止这项服务,然后在我的问题中执行了上述操作,同时更改/dev/vg_DRBD/lv_DRBD
为/dev/drbd0.
@马特·凯雷兹曼谢谢你!!
答案2
首先:您永远不应该接触 DRBD 设备的后备磁盘(也就是说,不要在后备 LVM 上增加文件系统,只在 /dev/drbd0 上增加文件系统)。否则,您将对未复制到对等方的数据进行更改,这肯定会反过来给您带来麻烦。
要纠正可能已经造成的损害,您可以运行:# drbdadm verify r0
。有关详细信息,请参阅 DRBD 用户指南。
https://docs.linbit.com/doc/users-guide-84/s-use-online-verify/
第二:请尝试从主要角色的节点扩展您的设备。另外,请观察执行此操作时生成的日志(/var/log/messages),以获取有关其失败原因的任何线索,但是您应该看到它开始重新同步新的 10G。
然后运行你resize2fs
的/dev/drbd0
.