首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >克隆LVM分区

克隆LVM分区
EN

Server Fault用户
提问于 2015-07-01 22:29:51
回答 3查看 29.2K关注 0票数 5

我需要从使用LVM分区的1TB磁盘上克隆一个CentOS安装到几台相同的机器上。磁盘大部分是空的,因为只安装和配置了操作系统和一些软件。

在没有LVM的情况下,我将复制整个分区表,然后使用partclone逐个克隆分区:

代码语言:javascript
复制
sfdisk -d /dev/sda | sed -e 's/sda/sdb/' | sfdisk /dev/sdb
partclone.ext4 -c -s /dev/sda# -o - | partclone.ext4 -r -s - -o /dev/sdb#

但是,我认为它将不适用于LVM。

当然,我可以使用dd克隆整个磁盘:

代码语言:javascript
复制
dd if=/dev/sda of=/dev/sdb

但这比半克隆要花费太多的时间。

有没有一种更快地克隆LVM分区的方法?我认为一种可能的解决方案是使用dd将LVM分区克隆到另一个磁盘中的常规分区,然后使用partCl续将新磁盘克隆到其他机器上。但我不知道这样的事情会不会奏效:

代码语言:javascript
复制
dd if=/dev/mapper/vg_node07-lv_root of=/dev/sdb1

它能起作用吗?你能告诉我其他的解决方案吗?

EN

回答 3

Server Fault用户

发布于 2021-11-07 04:58:47

您可以使用losetup使用--partscan选项回送LVM逻辑卷:

代码语言:javascript
复制
losetup --partscan --read-only --show --find /path/to/my/lv

这将返回LVM逻辑卷绑定到的回送设备的路径(类似于/dev/loop0)。由于有了--partscan选项,分区也可以访问(即/dev/loop0p1/dev/loop0p2、.)。你可以直接克隆那些。

完成后,可以使用以下方法释放循环设备:

代码语言:javascript
复制
losetup -d /dev/loop0

一定要指定第一个对losetup的调用返回的相同的循环设备(它可能是一个不同于0的数字)。

票数 1
EN

Server Fault用户

发布于 2016-02-02 14:36:24

您可以做与VMware p2v软件几乎相同的事情。它所做的就是按照您希望的那样在新系统上创建新的文件系统,然后将文件系统的tar跨到另一个服务器。通过这种方式,您可以获得完全相同的所有内容,并且只复制当前正在使用的文件和空间。然后,您必须执行grub操作,以确保其可启动。

票数 0
EN

Server Fault用户

发布于 2015-07-01 23:23:12

LVM做了很多比简单的磁盘更复杂的事情.正因为如此..。克隆是一个复杂得多的过程。

实际上,您最好手动创建LVM卷(或脚本),然后简单地使用sfdisk/part克隆进程将实际数据克隆到新的lvm。

这也将使您能够在更多磁盘上将RAID-1系统克隆到RAID-5安装程序.因为分区不受影响。

票数 -2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/702971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档