Articles of lvm

Libvirt没有看到更新的LVM卷

所有虚拟机运行LVM池。 我调整了其中一个LVM卷来增加虚拟机驱动copacity。 像往常一样用lvextendresize。 一切都成功了, lvs显示了新的大小。 Libvirt虽然没有看到新的大小。 我尝试提神 – 没有运气。 它仍然显示旧容量。 在卷上运行virsh vol-info将显示容量条目中的旧大小和分配条目中的新大小。 这是为什么? 它从来没有像这样。 增加LVM卷会在刷新后传播并可见。 现在,让这个新的大小虚拟机的唯一方法是重新启动,这是不可能的。 我怎样才能使新的尺寸可见? 编辑 OS:Arch Libvirt:1.3.0 Qemu:2.4.1 重新启动libvirt服务也无济于事。 这个卷在libvirt中仍旧显示为旧的大小。 lvs … sswus00-vd0 vga -wi-a—– 200.00g … virsh vol-info –pool pool sswus00-vd0 Name: sswus00-vd0 Type: block Capacity: 100.00 GiB Allocation: 200.00 GiB 所以容量仍然是旧的,VM就是这样。 EDIT2 这真的很奇怪 lsblk显示这个lvm卷的旧磁盘大小 – 100G但lvs显示新的大小 – 200g 逻辑卷组的后端是iSCSI。 所以我想也许重新扫描scsi巴士会有所帮助。 […]

bcache,mdadm RAID和LVM可能的层次结构是什么?

假设我想使用bcache进行caching, mdadm用于RAID(1)和LVM进行分区(并且我不在意可能会有性能上的缺陷,这是由于引入了多个I / O级别和设备pipe理),那么将会是什么在物理设备之上的最佳层次? mdadm可以使用bcache设备,支持和caching设备的最终故障以及cachingtypes的变化(例如从写作到写回)? 对于bcache设备之上的LVM也是一样的问题。 我认为LVM应该在bcache或RAID之上,以便尽量减less磁盘故障后的再同步。 如果底层设备出现故障,我遇到了bcache设备消失的问题。 我不知道mdadm是否将此识别为设备故障,以及在设备故障后需要如何对设备进行逻辑处理,以便mdadm启动正确设备的重新同步并且不会根据脏caching写入失败设备的状态州。 具体的设置将包括2x1TB 2x4TB和2x5TB所有RAID1和一个512 GB SSD的操作系统(Ubuntu 15.10与Linux 4.2.5)和caching设备分区(比如100 GB的操作系统和其余的caching)。

是否可以扩展由设备映射器设置的精简configuration池的数据设备?

TL; DR: 如果我不是直接使用LVM,而是直接使用设备映射器,那么如何扩展精简池? 详细版本: 据我所知,当我们通过dmsetup创build一个精简池时,我们可以设置一个low_water_mark; 一旦达到水印,就会发送一个dmevent,守卫守护进程可以立即扩展池。 但是,我无法find办法,以微不足道的方式执行这样的任务; 我不知道如何实现。 此外,我深入研究了dm-thin.c并发现了一个名为maybe_resize_data_dev的函数r = dm_pool_resize_data_dev(pool->pmd, data_size)如果剩余空间不足,将会通过r = dm_pool_resize_data_dev(pool->pmd, data_size)放大数据设备。 然而与此同时,Device Mapper本身阻止你通过validation数据设备的状态来做到这一点: if (le32_to_cpu(disk_super->data_block_size) != pmd->data_block_size) { /* Verify the data block size hasn't changed */ if (le32_to_cpu(disk_super->data_block_size) != pmd->data_block_size) { DMERR("changing the data block size (from %u to %llu) is not supported", le32_to_cpu(disk_super->data_block_size), (unsigned long long)pmd->data_block_size); r = -EINVAL; […]

无法删除LV(卷由另一个设备使用)

我们有一台在CentOS 6.7服务器上运行的KVM机器,然后删除了虚拟机。 但是,分配给虚拟机的逻辑卷仍保留在系统上,我无法find删除它的方法。 我已经尝试了所有明显的命令,没有运气,例如: [root@server ~]# lvremove /dev/vg/test Logical volume vg/test is used by another device. [root@server ~]# lvchange -an -f /dev/vg/test Logical volume vg/test is used by another device. [root@server ~]# lvscan | grep /dev/vg/test ACTIVE '/dev/vg/test' [10.00 GiB] inherit [root@server ~]# dmsetup remove vg-test device-mapper: remove ioctl on vg-test failed: Device or resource […]

如何删除重复的blkid条目

我创build了一个lvm,然后用ext3格式化分区/ dev / vg1 / lvm1。 但是,不小心我格式化了分区,但是这次我使用了设备/ dev / mapper / vg1-lvm1。 这两个文件都是同一个设备(/ dev / dm-7)的sym-links。 当我执行命令'blkid'我看到两个相同的UUID块设备。 /dev/mapper/vg1-lvm1: UUID="3cfe6a6e-2770-4a9d-90f7-a33eef80e6b7" SEC_TYPE="ext2" TYPE="ext3" /dev/vg1/lvm1: UUID="3cfe6a6e-2770-4a9d-90f7-a33eef80e6b7" SEC_TYPE="ext2" TYPE="ext3" 这可能是一个问题吗? 我如何删除其中的一个条目?

使用相同的LVM卷devicemapper和一个绑定安装的卷

我正在运行带有512GB EBS装载的Amazon EC2机器。 我的计划是将EBS分成两部分 – 一个由Docker 1.11用于映像(通过devicemapper),另一个用于绑定到docker VM(用于永久存储大量数据) admin@ip-172:~/docker-setup$ sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert data direct-lvm twi-a-tz– 230.39g 4.19 10.06 homedata direct-lvm -wi-a—– 256.00g metadata direct-lvm -wi-a—– 12.00g admin@ip-172:~/docker-setup$ sudo pvs PV VG Fmt Attr PSize PFree /dev/xvdg1 direct-lvm lvm2 a– 512.00g 13.38g admin@ip-172:~/docker-setup$ sudo dmsetup […]

如何不使用configuration文件恢复lvm分区?

今天我更新了我的Ubuntu服务器。 设备结构如下图所示 1) sda1 # new os 2) sdb1 # origin /boot partition 3) sdb2 # origin swap partition 4) sdb3 # origin lvm 5) sdc1 # origin lvm 6) sdd1 # origin lvm 而且我在分区时发生了很大的错误,那就是我删除了原始lvmconfiguration。 我期望起源lvm元备份是在sdb3,所以我不能访问原始元备份文件。 而且,我重新configuration手动(pvcreate,vgcreate,lvcreate等),但我无法挂载错误( VFS: Can't find ext4 filesystem ) 我怎么能恢复该lvm分区? 或者,我怎样才能不使用lvm来访问原始文件? 请帮忙谢谢! (我没有格式化,我只是在configuration中删除)

LVM卷的数据百分比大于100%

我的一个LVM卷显示有372.6%的数据。 这怎么可能发生? 请注意,音量已经从更大的尺寸重新缩小,但文件系统似乎工作正常。 它实际上影响了游泳池的可用空间。 基本上,甚至文件系统和LVN都被调整为较小的尺寸,空间不被释放。 问题是,如何使任何未使用的空间可用? # lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert lv1 vg1 Vwi-aot— 820.00g tp1 372.60 lv2 vg1 Vwi-aot— 1000.00g tp1 1.60 LVM树形结构如下所示: # dmsetup ls –tree vg1-tp1 (253:6) └─vg1-tp1-tpool (253:5) ├─vg1-tp1_tmeta (253:1) │ └─ (147:1) ├─vg1-tp1_tierdata_2 (253:4) │ └─ (147:1) ├─vg1-tp1_tierdata_1 (253:3) └─vg1-tp1_tierdata_0 (253:2) ce_cachedev2 […]

重新启动后,LUN不会挂载

在RHEL 6系统上更改LUN(增长)的大小后,LUN / LV(卷组的一部分)不再在重新引导后挂载。 我必须执行 vgchange -ay 之后,我可以正常安装LUN。 这是正常的吗? 我需要改变fstab中的东西吗?

由于设备繁忙,无法减less逻辑卷

[root@lab7-mongo-7 /]# lvdisplay /dev/vg_lab7mongo7/lv_home — Logical volume — LV Name /dev/vg_lab7mongo7/lv_home VG Name vg_lab7mongo7 LV UUID s4Cwkh-w7MX-uHRF-sA3f-T96e-AzZ3-8t8WtJ LV Write Access read/write LV Status available # open 1 LV Size 783.61 GiB Current LE 200603 Segments 1 Allocation inherit Read ahead sectors auto – currently set to 256 Block device 253:2 [root@lab7-mongo-7 /]# df -hP /home […]