我有一个 vmdk 附加到我的 Linux VM 实例(/dev/sda)。该磁盘共有2个分区,如下图所示:
Disk /dev/sda: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000a6648
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 33554431 15727616 8e Linux LVM
我尝试使用 dd 命令将两个分区复制到连接到虚拟机的相同大小的新硬盘上(/dev/sdb)。
我使用 fdisk 在 /dev/sdb 上创建了 2 个分区。第一个分区是启动分区 (/dev/sdb1),第二个分区是 LVM 根分区 (dev/sdb2)。我继续运行:
dd if=/dev/sda1 of=/dev/sdb1 bs=1M
并且没有任何错误地完成。
接下来运行 lvdisplay 查看 /dev/sda 上的逻辑卷:
--- Logical volume ---
LV Path /dev/centos/swap
LV Name swap
VG Name centos
LV UUID AQn0bI-7gb7-KjdG-v3ls-yO0I-nkjc-E7bfHP
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2018-10-01 15:06:59 -0400
LV Status available
# open 2
LV Size 1.60 GiB
Current LE 410
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/centos/root
LV Name root
VG Name centos
LV UUID rL4g8k-YYXo-0mi1-0Q2U-fNhF-8Izg-f6wd5C
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2018-10-01 15:06:59 -0400
LV Status available
# open 1
LV Size 13.39 GiB
Current LE 3429
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
然后我在 /dev/sdb2 上运行了 pvcreate,创建了一个新的卷组(centos-02),将 /dev/sdb2 添加到新卷组,然后创建逻辑分区(根-02, 和交换-02) 对于 /dev/sda2 上的根卷和交换卷具有完全相同的大小。
然后我运行了以下 dd 命令:
dd if=/dev/centos/swap of=/dev/centos-02/swap-02
dd if=/dev/centos/root of=/dev/centos-02/root-02
从 root 到 root2 的复制失败,并显示以下消息:
dd: writing to ‘/dev/centos-02/root-02’: No space left on device
28082177+0 records in
28082176+0 records out
14378074112 bytes (14 GB) copied, 632.803 s, 22.7 MB/s
有人能解释为什么 dd 会这样说吗?两个逻辑卷的大小完全相同,而且从旧交换卷到新交换卷的复制也有效。为什么根逻辑卷复制失败了?
提前感谢任何建议。