文档章节

如何将 Linux 系统转移至 LVM 卷

暖夏未眠丶
 暖夏未眠丶
发布于 2017/06/21 15:06
字数 869
阅读 17
收藏 0

摘要: 一、预备知识 了解什么是 dd 以及什么是 dump? dd 命令用于复制一个设备/分区,原样输出到另外一个文件/设备/分区。 dump 命令用于备份 ext2 或者 ext3 文件系统。可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。

一、预备知识

了解什么是 dd 以及什么是 dump

dd 命令用于复制一个设备/分区,原样输出到另外一个文件/设备/分区。

dump 命令用于备份 ext2 或者 ext3 文件系统。可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。 

备份好了用什么恢复?

restore 命令是 dump 命令的逆过程,用于还原 dump 命令生成的备份文件。 

二、环境模拟

首先要求有一个可以正常启动的分区,然后要有剩余空间!(这里有两种情况:一个是某分区,一个是新磁盘。两者类似,为了方便本文使用的是新磁盘的方式。)

使用虚拟机模拟了服务器的真实情况:/dev/sda1 是正常系统启动分区、/dev/sdb1 是新的磁盘分区。(必须注意 /dev/sdb1 的容量大于 /dev/sda1

虚拟机设置及分区情况:

 

 

三、实战部分

 

1、首先备份 MBR 主引导记录

 
  1. dd if=/dev/sda1 of=/mnt/lvm/mbr.bin bs=512 count=1

 

2、创建 LVM 卷

首先卸载 /dev/sdb1,然后在其上用 pvcreate 创建物理卷和 vgcreate 创建卷组 vgtest:

 
  1. umount /dev/sdb1
    pvcreate /dev/sdb1
  2. vgcreate vgtest /dev/sdb1

 

卷组创建好之后,可以用 vgs 命令查看卷组。

用 lvs 命令查看逻辑卷,这个时候我们还没有任何逻辑卷。开始创建逻辑卷和文件系统:

 
  1. lvcreate -L 25G -n lvtest vgtest
  2. mkfs.ext4 /dev/mapper/vgtest-lvtest

 

3、备份 / 目录和 /boot 目录

首先备份 / 目录。在 dump 命令前后输入的 date 命令是为了查看备份使用的时长。

 
  1. date && dump -0f /mnt/lvm/rootfs-20160824.bak / && date

 

保险起见我们也备份一下 /boot 目录:

 
  1. date && dump -0f /mnt/lvm/boot-20160824.bak /boot && date

 

4、尝试恢复

 
  1. restore -rf rootfs-20160828.bak boot-20160824.bak

5、修改启动文件

注意:这里根分区(启动分区)需要更改成实际要启动的磁盘。否则不更改的话系统会出现应该使用/dev/sdb1 LVM ,却使用了原来的 /dev/sda1 的情况! 

首先通过 blkid 查看分区的 UUID:

 
  1. blkid

然后修改 /mnt/lvm/etc/fstab 文件(切换了跟分区之后将变成 /etc/fstab)中的根分区指向:

 
  1. vim /mnt/lvm/etc/fstab

chroot 到新的分区里面,然后检查相应的分区设置。

 
  1. chroot /mnt/lvm

注意:要 chroot 进入目录查看是否正确!并且确定防火墙 SELinux 等的设置,最最最重要的是 OpenSSH 要打开的!  

6、恢复 MBR 主引导记录

 
  1. dd if=./mbr.bin of=/dev/mapper/vgtest-lvtest 

7、修正 GRUB 引导

这样可以让新磁盘可以脱离源磁盘的引导。

chroot 进入新磁盘。并重建 /boot 目录:

 
  1. chroot /mnt/lvm
    ls /boot/
    rm -rf /boot/*
    yum install grub -y

 

然后输入:

 
  1. root (hd1,0)
  2. setup (hd1)
  3. quit

这样就将 GRUB 引导指向了新的磁盘。

重启可以看看是否有问题。

原文发布时间为:2016-08-26

本文来自云栖社区合作伙伴“Linux中国”

用云栖社区APP,舒服~

原文链接

本文转载自:

暖夏未眠丶
粉丝 0
博文 250
码字总数 427
作品 0
太原
私信 提问
通用线程: 学习 Linux LVM

通用线程: 学习 Linux LVM “逻辑卷管理”为存储器管理带来的魔力 Daniel Robbins (drobbins@gentoo.org), 总裁兼 CEO, Gentoo Technologies, Inc. 简介: 在本文中,Daniel 向您介绍了 Linu...

Start-up
2012/05/28
147
0
Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载)

Linux LVM逻辑卷配置过程详解 许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份、删除相...

13965606725
2017/06/15
0
0
如何在 Linux 中使用 LVM 创建和扩展交换分区

我们使用 LVM 进行灵活的卷管理,为什么我们不能将 LVM 用于交换分区呢? 这可以让用户在需要时增加交换分区。如果你升级系统中的内存,则需要添加更多交换空间。这有助于你管理运行需要大量...

作者: Ramya Nuvvula
2018/04/26
0
0
虚拟机linux下扩充硬盘的方法

扩大硬盘的方法有二: 1 新增一个虚拟硬盘 2 扩大原有硬盘 第一: 新增硬盘并将其格式化为lvm格式 第二: 扩大硬盘并利用分区工具,将扩大的部分添加到原有的分区中,再将该分区转为lvm格式 ...

Start-up
2012/05/28
2.1K
0
linux LVM的创建和管理

LVM是Logical Volume Manager(逻辑卷管理器)的简写,它为主机提供了更高层次的磁盘存储管理能力。LVM可以帮助系统管理员为应用与用户方便地分配存储空间。在LVM管理下的逻辑卷可以按需改变大...

神勇小白鼠
2011/11/18
244
0

没有更多内容

加载失败,请刷新页面

加载更多

3_数组

3_数组

行者终成事
今天
7
0
经典系统设计面试题解析:如何设计TinyURL(二)

原文链接:https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
今天
7
0
使用logstash同步MySQL数据到ES

概述   在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。   在使用logstas...

zxiaofan666
今天
10
0
X-MSG-IM-分布式信令跟踪能力

经过一周多的鏖战, X-MSG-IM的分布式信令跟踪能力已基本具备, 特点是: 实时. 只有要RX/TX就会实时产生信令跟踪事件, 先入kafka, 再入influxdb待查. 同时提供实时sub/pub接口. 完备. 可以完整...

dev5
今天
7
0
OpenJDK之CyclicBarrier

OpenJDK8,本人看的是openJDK。以前就看过,只是经常忘记,所以记录下 图1 CyclicBarrier是Doug Lea在JDK1.5中引入的,作用就不详细描述了,主要有如下俩个方法使用: await()方法,如果当前线...

克虏伯
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部