linux 系统迁移到lvm分区

对于普通分区磁盘空间不够,而采用lvm分区,原来系统进行迁移或者备份还原。

dd命令用于将整个硬盘进行备份,包括uuid,适用于对对整个物理盘的备份

tar 备份可以对整个系统进行归档压缩,这个需要在启动盘环境下进行备份

dump这个也是备份,还原的工具

rsync 这个备份工具可以在系统运行下进行备份

对于lvm迁移的 步骤可以去自己搜索一下,无非就是 备份还原。

下面要说的就是引导启动问题了 :新添加的硬盘做lvm分区后,备份系统到分区,但是grub需要重新安装,grub制作一个initramfs-$(uame -r).img启动镜像 包含lvm的模块,这样才可以正确引导到系统

=================================================================================================================================================

对于如何备份系统和还原系统到 lvm分区这里就不多说

这里说明还原了系统不能启动的问题

注意一下几点:

1.boot分区不支持ext4 ,支持ext2,3或者xfs;最好是普通分区,这样grub配置文件就不用insmod lvm了

2.内核命令行 需要这样写:root=/dev/mapper/cl-root rd.lvm.lv=/cl/root quit (命令行可以参照原来grub.cfg 添加命令)

3.initramfs初始加载系统(有的是initrd) ,这个文件必须要支持lvm模块和ext4模块,(如果你的分区文件类型是ext4;默认支持xfs),如果没有lvm模块的话 挂载不了sysroot,

因为备份还原系统到 lvm分区,这个是没有问题的,但是之前的启动项是没有加载lvm 模块,开始 search root 不能识别lvm 分区,不能挂载lvm 分区到 root ;需要使用dracurt工具来添加上面需要的lvm和ext4模块,重新生成一个initramfs 文件系统

dracut -f -k “lib/modules/$(uname -r)/kernel/” –add-drivers ext4 –add lvm

在/boot文件覆盖原来的 initramfs-$(uname -r).img

之后参照还原部署 把initramfs文件替换掉,如果还原的系统文件没问题是可以支持启动的

dracut –list-modules 可以查看dracut 支持的模块有哪些

dracut -f initramfs 这个是覆盖之前的文件

dracut -k 指定内核模块的位置

dracut –add-driver 这个是添加内核模块到 initramfs

dracut -add “lvm” 这个是从 dracut –list-modules 添加模块到initramfs

dracut -m “lvm” 从/usr/dracut/modules.d 加载模块到initramfs

只有是 -add 的选项 添加模块,-m -d 这个是 构建模块时候从不同的模块集合构建 initramfs

================================================================================================================================================

以上是踩坑总结语言组织欠佳,如果在迁移的时候遇到问题可以参考 redhat 、centos是dracut ;ubuntu 用得 mkinitcpio 这个可以了解下

Original: https://www.cnblogs.com/isFinite-rs/p/15915278.html
Author: caibird_bg
Title: linux 系统迁移到lvm分区

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/609671/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • linux ssh连接自动断开问题

    场景描述:云上的虚拟机使用public ip连接ssh时,一直提示已经连接,但是就会自动关闭 通过正常虚拟机作为跳板,能够连接到目标机子上,检查发现进程正常,但是就一直连接不上 发…

    Linux 2023年6月7日
    0104
  • linux系统编码修改

    查看当前系统默认采用的字符集locale 查看系统当前编码echo $LANG如果输出为:en_US.UTF-8 英文zh_CN.UTF-8 中文 查看系统是否安装中文字符集loc…

    Linux 2023年6月6日
    0111
  • wait() 进程控制函数实现伪代码

    wait()的实现 父进程调用 wait() wait() { 进入系统调用 sys_wait() sys_wait () { for { x = true for (循环所有就绪…

    Linux 2023年6月7日
    0129
  • Linux系统编程之进程控制(进程创建、终止、等待及替换)

    进程创建 在上一节讲解进程概念时,我们提到fork函数是从已经存在的进程中创建一个新进程。那么,系统是如何创建一个新进程的呢?这就需要我们更深入的剖析fork函数。 1.1 for…

    Linux 2023年6月8日
    0129
  • Linux编译安装、压缩打包与定时任务服务

    一、编译安装 即使用源代码编译安装的方式,编译打包软件。特点: 可以自定制软件; 可以按需构建软件; 编译安装案例 1、下载源代码包(这里以Nginx软件包源代码为例) wget …

    Linux 2023年5月27日
    0111
  • cgroup-v1在android中的应用实现浅析

    本文档内容主要是分析android设备中cgroup v1实现了哪些控制器,他们有哪些子控制器以及如何配置这些控制器的。 我是使用红米Note4Plus的开发版本来调研分析的,手机…

    Linux 2023年6月7日
    0130
  • 三少玩Linux之LinuxMint, win7共存安装与简单配置

    先安装win7, 这里就不说了;再安装Mint, 这个是视频:https://www.bilibili.com/video/BV1AE411P7Cz; 这里关键就是LinuxMin…

    Linux 2023年6月14日
    0130
  • bash 中 echo & printf

    首先列一下今天收获的消息 sh是: Bourne Shell(/usr/bin/sh或/bin/sh) bash是: Bourne Again Shell(/bin/bash) p…

    Linux 2023年6月6日
    0120
  • opencv

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月14日
    0131
  • [转帖]shell学习之shell执行方式及排错

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年5月28日
    0111
  • 翻车!误删/usr/lib/引发的血案,从棺材边成功抢救的过程分享。

    写在开篇 血案:本地开发机是CentOS 7,本想删除在/usr/lib/下的一个软链,如:/usr/lib/xxx。当正想删除时,突然被别的事情打扰了一下,回过神之后莫名奇妙的执…

    Linux 2023年6月7日
    0121
  • 2020年12月-第01阶段-前端基础-HTML CSS 项目阶段(二)

    品优购项目(二) 1. 品优购首页布局 命名集合:名称 说明 快捷导航栏 shortcut 头部 header 标志 logo 购物车 shopcar 搜索 search 热点词 …

    Linux 2023年6月8日
    0119
  • 统计每个月兔子的总数—牛客网

    统计每个月兔子的总数_牛客题霸_牛客网 (nowcoder.com) #include using namespace std; int main() { //1 1 2 3 5 …

    Linux 2023年6月13日
    0113
  • 嵌入式软件架构设计-程序分层

    1 前言 在嵌入式MCU软件开发过程中,程序分层设计也是重中之重,关系到整个软件开发过程中的协同开发,降低系统软件的复杂度(复杂问题分解)和依赖关系、同时有利于标准化,便于管理各层…

    Linux 2023年6月7日
    0168
  • 海思3559 FFMPEG移植

    具体参考下面这篇帖子http://bbs.ebaina.com/forum.php?mod=viewthread&tid=79863&pid=156755&…

    Linux 2023年6月13日
    0111
  • Linux(进阶篇)

    一、进程 1 进程和内存管理 1.1 进程和线程的区别 线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位 一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路…

    Linux 2023年6月7日
    0108
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球