如何将Linux系统转移至LVM卷

一台 CentOS 6.6 的系统,有两块磁盘分别是:/dev/vda1 是 15G 的根卷,/dev/vda2 是 1G 的交换分区,而整个 /dev/vda 磁盘总大小是 21G( 有 5G 的 /dev/vda5 空闲空间)。现在要求增大 /dev/vda1 分区。做一个 LVM,将数据迁移到 LVM、将 /dev/vda1 加入到 LVM,最后实现系统的扩容。 2016-08-31 14:16:55 LinuxLVM卷转移 一种MySQL到HBase的迁移策略的研究与实现 随着Web2.0的到来,互联网数据快速增长。大规模数据的采集和处理及应用直接影响着用户体验,决定着企业的发展。比较传统关系型数据库和分布式非关系型数据库两者处理大数据的性能,将本地数据迁移到分布式数据库势在必行。文章分析了现有迁移工具的利弊,基于HBase数据库提出了一种有效的数据迁移策略,并依据提出的策略实现了一种半自动化移工具。

一台 CentOS 6.6 的系统,有两块磁盘分别是:/dev/vda1 是 15G 的根卷,/dev/vda2 是 1G 的交换分区,而整个 /dev/vda 磁盘总大小是 21G( 有 5G 的 /dev/vda5 空闲空间)。现在要求增大 /dev/vda1 分区。做一个 LVM,将数据迁移到 LVM、将 /dev/vda1 加入到 LVM,最后实现系统的扩容。

[[170844]]

朋友今天突然找我,说是要把他的 Linux 系统的根分区磁盘扩大。接到这个问题,我马上开始查看下系统情况。是一台 CentOS 6.6 的系统,有两块磁盘分别是:/dev/vda1 是 15G 的根卷,/dev/vda2 是 1G 的交换分区,而整个 /dev/vda 磁盘总大小是 21G( 有 5G 的 /dev/vda5 空闲空间)。现在要求增大 /dev/vda1 分区。

后面我给朋友三个方案:

  • ***个就是将 /dev/vda 上的空闲分区(/dev/vda5)随意作为 /home、/var 之类的挂载;
  • 第二个就是做符号链接到 /dev/vda1,5G 加上 15G 也勉强扩大了;
  • ***一种也就是最麻烦的,做一个 LVM,将数据迁移到 LVM、将 /dev/vda1 加入到 LVM,***实现系统的扩容。

朋友选择了***一种,后面测试数据备份我用了很多种办法,网上推荐了 dd 以及 tar,***我还尝试了 cpio、backup、dump,然后发现***一种 dump 的性能远远高于 dd。

本次教程也是从头再试验一遍,并且记录好便己便人。

警告!本文思路仅供参考!应该根据你的实际情况予以调整。如果在生产服务器上进行,请务必做好整个系统的全盘备份。操作不慎,有可能导致整个系统数据的丢失!本文作者及本站不对任何可能出现的风险承担任何责任。

一、预备知识

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

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

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

备份好了用什么恢复?

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

二、环境模拟

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

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

虚拟机设置及分区情况:

如何将Linux系统转移至LVM卷

如何将Linux系统转移至LVM卷

三、实战部分

如何将Linux系统转移至LVM卷

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

  1. ddif=/dev/sda1of=/mnt/lvm/mbr.binbs=512count=1

如何将Linux系统转移至LVM卷

2、创建 LVM 卷

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

  1. umount/dev/sdb1
  2. pvcreate/dev/sdb1
  3. vgcreatevgtest/dev/sdb1

如何将Linux系统转移至LVM卷

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

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

  1. lvcreate-L25G-nlvtestvgtest
  2. mkfs.ext4/dev/mapper/vgtest-lvtest

如何将Linux系统转移至LVM卷

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

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

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

如何将Linux系统转移至LVM卷

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

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

如何将Linux系统转移至LVM卷

4、尝试恢复

  1. restore-rfrootfs-20160828.bakboot-20160824.bak

如何将Linux系统转移至LVM卷

5、修改启动文件

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

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

  1. blkid

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

  1. vim/mnt/lvm/etc/fstab

如何将Linux系统转移至LVM卷

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

  1. chroot/mnt/lvm

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

6、恢复 MBR 主引导记录

  1. ddif=./mbr.binof=/dev/mapper/vgtest-lvtest

如何将Linux系统转移至LVM卷

7、修正 GRUB 引导

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

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

  1. chroot/mnt/lvmls/boot/rm-rf/boot/*yuminstallgrub-y

如何将Linux系统转移至LVM卷

然后输入:

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

如何将Linux系统转移至LVM卷

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

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

四、总结

所以说装系统的时候就使用 LVM 就很好,不然又是一顿折腾。 何必呢?

©本文为清一色官方代发,观点仅代表作者本人,与清一色无关。清一色对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文不作为投资理财建议,请读者仅作参考,并请自行承担全部责任。文中部分文字/图片/视频/音频等来源于网络,如侵犯到著作权人的权利,请与我们联系(微信/QQ:1074760229)。转载请注明出处:清一色财经

(0)
打赏 微信扫码打赏 微信扫码打赏 支付宝扫码打赏 支付宝扫码打赏
清一色的头像清一色管理团队
上一篇 2023年5月6日 18:35
下一篇 2023年5月6日 18:35

相关推荐

发表评论

登录后才能评论

联系我们

在线咨询:1643011589-QQbutton

手机:13798586780

QQ/微信:1074760229

QQ群:551893940

工作时间:工作日9:00-18:00,节假日休息

关注微信