Linux系统如何迁移至LVM磁盘
今天遇到一个问题,算是比较严重的把。就是要把当前系统转移到 LVM 卷里面去,下面有一些发生过程介绍。
不感兴趣可以直接跳过,看实战部分《如何迁移系统至LVM卷》
朋友今天突然找我,说是要把系统的根分区磁盘扩大。接到这个问题,我马上开始查看下系统情况。是一台 CentOS 6.6 的系统,有俩块磁盘分别 vda1 是 15G 根,vda2 的 1G swap ,总大小是 21G 的一块 vda !现在要求去增大 vda1 分区。 后面我给朋友三个方案:
朋友选择了最后一种,我用了很多种办法。网上说推荐是dd再是tar最后尝试cpio、backup、dump,然后我没办法用了最后一种发现效果远远高于dd。 本次教程也是从头再试验一遍,并且记录好便己便人。 警告:本文思路仅供参考!应该根据你的实际情况予以调整。如果在生产服务器上进行,请务必做好整个系统的全盘备份。操作不慎,有可能导致整个系统数据的丢失!本文作者及本站不对任何可能出现的风险承担任何责任。 |
一、预备知识:
1、了解,什么是dd以及什么是dump?
2、尝试,备份的需要如何恢复?
/dev/sdb1
的容量大于 /dev/sda1,且/dev/sdb1应为LVM卷
)我用虚拟机模拟了服务器的真实情况:/dev/sda1
是正常系统启动分区、/dev/sdb1
是新的磁盘分区。
步骤一、用dump备份整个根分区,使用restore恢复。
步骤二、更改备份好的系统fstab文件以及更改boot下引导文件。
小窍门:Linux自带的光盘一般都会急救的功能,善于利用!
二、环境模拟:
虚拟机设置及分区情况:
这里有两种情况:一个是某分区,一个是新磁盘。两者类似,为了方便本文使用的是新磁盘的方式。
![](https://images2015.cnblogs.com/blog/952608/201608/952608-20160824164451776-1735499037.png)
三、实战部分:
![](https://images2015.cnblogs.com/blog/952608/201608/952608-20160826230639226-2047943446.png)
![](https://images2015.cnblogs.com/blog/952608/201608/952608-20160826231158804-1718644642.png)
I、创建LVM卷
1、首先要确保系统是安装lvm组件的,可以使用rpm -qa查询信息
/dev/sdb1
,然后在其上用 pvcreate
创建物理卷和 vgcreate
创建卷组 vgtestpvcreate /dev/sdb1
vgcreate vgtest /dev/sdb1
![](https://images2015.cnblogs.com/blog/952608/201608/952608-20160824164453261-787124880.png)
lvcreate -L 25G -n lvtest vgtest
mkfs.ext4 /dev/mapper/vgtest-lvtest
![](https://images2015.cnblogs.com/blog/952608/201608/952608-20160824164454230-211313053.png)
II、备份MBR引导文件。
dd if=/dev/sda1 of=/mnt/grub/mbr.bin bs=512 count=1
![](https://images2015.cnblogs.com/blog/952608/201608/952608-20160826233747632-2116625088.png)
III、备份 / 目录和 /boot 目录
1、备份 / 目录。在 dump
命令前后输入的 date
命令是为了查看备份使用的时长。
date && dump -0f /mnt/lvm/rootfs-20160824.bak / && date
2、为了安全引导我们也备份一下 /boot
目录:
date && dump -0f /mnt/grub/boot-20160824.bak /boot && date
IV、尝试恢复
1、还原 dump 的备份文件(/boot分区默认已包括在/分区)
date && restore -rf rootfs-20160824.bak && date
![](https://images2015.cnblogs.com/blog/952608/201608/952608-20160827220016647-1067857006.png)
注意:这里boot文件需要更改成实际要启动的磁盘。
dd if=/mnt/grub/mbr.bin of=/dev/sdb2
注意:这里使用dd命令恢复了之前备份的MBR文件。
VI、启动文件
注意:这里为了体现是chroot的,将主机名改成了NEW。一定要chroot进入目录查看是否能启动!并且确定防火墙SELinux的设置,最最最重要的OPENSSH要打开的!
1、首先通过 blkid
查看分区的 UUID:
![](https://images2015.cnblogs.com/blog/952608/201608/952608-20160826234439835-1825827528.png)
2、然后同步修改 /etc/fstab
文件以及切换了跟分区之后将变成的 /etc/fstab
中的根分区指向:
3、重启生效
注意:这里我重启了一下,同时可以看出我的fstab是ok的并且都生效了。
输入:root (hd1,0)
输入:setup (hd1)
再次输入:quit
备注:如果通过上面的操作还是无法正常进入系统,可以尝试进入DVD急救模式尝试其他。
![](https://images2015.cnblogs.com/blog/952608/201608/952608-20160824164459433-424996042.png)
Linux系统如何迁移至LVM磁盘的更多相关文章
- Linux系统添加硬盘设备(磁盘分区-格式化-挂载-使用)
当全新安装了一块新的硬盘设备后,为了更充分.更安全的利用硬盘空间首先要进行磁盘的分区, 然后格式化,最后挂载使用. 实例:对新添加的硬盘设备进行分区.格式化并挂载到/newFS目录. 第一步:在vmw ...
- 查看Linux系统内存、CPU、磁盘使用率和详细信息
一.查看内存占用 1.free # free -m 以MB为单位显示内存使用情况 [root@localhost ~]# free -m total used free shared buff/cac ...
- 存储系统管理(二)——Linux系统的swap分区、磁盘加密、磁盘阵列
磁盘驱动器上的空间 , 用作当前未使用部分内存的溢出.这样 , 系统就能在主内存中留出空间用于储存当前正在处理的数据 , 并在系统面临主内存空间不足的风险时提供应急溢出. swap分区的建立: fdi ...
- linux系统CPU,内存,磁盘,网络流量监控脚本
前序 1,#cat /proc/stat/ 信息包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累积到当前时刻 2,#vmstat –s 或者#vmstat 虚拟内存统计 3, #cat ...
- linux查看系统未被挂载的磁盘空间的方法
原文URL:https://www.cnblogs.com/lemon-flm/p/7597403.html 解决AWS 挂载.解决挂载完重启就消失等问题 linux上的盘和window的有区别,磁盘 ...
- Linux系统分区方案建议
在安装Linux系统之初,就应该考虑怎样使linux系统得到最好的性能.linux本身也设计为可以良好扩展的形态. 笔者建议系统程序和业务程序分离安装比较合理,笔者所在的公司也是按照这种理念实施的.比 ...
- 系统管理员都要知道的 30 个 Linux 系统监控工具
1. top - 进程活动监控命令 top 命令会显示 Linux 的进程.它提供了一个运行中系统的实时动态视图,即实际的进程活动.默认情况下,它显示在服务器上运行的 CPU 占用率最高的任务,并且每 ...
- Linux系统磁盘管理(lvm逻辑卷管理)
linux系统用户常遇到的一个问题就是如何精准的评估分区的大小,已分配合适的磁盘空间:普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文 ...
- 初阶项目一-集成一套linux系统:红帽系统,LVM分区,Apache服务,MySQL服务,数据定时备份脚本
目录 一.项目目标 二.实施工具 三.项目实施计划 四.安装rhel7.5操作系统 4.1 配置虚拟机 4.2 安装操作系统 4.3 系统配置 4.3.1 网络配置 4.3.2 修改主机名 4.3.3 ...
随机推荐
- 在zookeeper集群的基础上,搭建伪solrCloud集群
伪集群的搭建:将solrCloud搭建到同一台机器上. 准备工作 1 将在window中部署的单机版solr上传到服务器(虚拟机)中 solr的简单部署:在tomcat中启动slor 的内容 这一次放 ...
- 这几天用高通VUFORIA的体会
VUFORIA 主要用来做图像识别,先把图片上至网站,然后网站分析生成数据包 在UNITY中导入VUFORIA SDK和数据包后,就可以正常使用了 对了,数据包需要勾选Load Active那个选项, ...
- Unity3d 下websocket的使用
今天介绍一下如何在Unity3D下使用WebSocket. 首先介绍一下什么是websocket,以及与socket,和http的区别与联系,然后介绍一下websocket的一些开源的项目. WebS ...
- 少一些套路,多一些真诚 ——groovy消灭表现层套路
初次认识groovy是在2009年,当时看了Manning出版的<Groovy in Action 1st Edition>,对groovy这个语言的交互性shell,以及灵活的语法留 ...
- Mac shell使用技巧总结(转)
1.文件操作 常用目录 /Systme/Library/Extensions // 驱动所在目录 /User/XXX/Desktop // 桌面目录 资源库 chflags nohidden ~/Li ...
- 750. Number Of Corner Rectangles四周是点的矩形个数
[抄题]: Given a grid where each entry is only 0 or 1, find the number of corner rectangles. A corner r ...
- solr自动提示 - jquery ui autocomplete
需求: 搜索框中 输入部分关键词之后,有下拉联想提示.选中提示,使用鼠标或者使用enter键,则触发搜索功能.没有选择搜索提示,使用部分输入关键词作为搜索,直接使用enter键也能触发搜索功能.整个过 ...
- [C++] Const Summary (mind map)
Const Summary
- (转)TinyHttp源码剖析
tinyhttpd 是一个不到 500 行的超轻量型 Http Server,用来学习非常不错,可以帮助我们真正理解服务器程序的本质. 看完所有源码,真的感觉有很大收获,无论是 unix 的编程,还是 ...
- MapServer:地图发布工具
MapServer简介:https://baike.baidu.com/item/MapServer