如何安全的从LVM中移除磁盘

学习如何安全的从LVM中移除磁盘,当磁盘卷中有磁盘出现问题或是想把磁盘卷中的磁盘重新使用时就显得十分有用。本教程将重点关注以下问题:
- 如何安全的从LVM中移除磁盘
- 如何联机从VG中移除磁盘
- 如何在物理层面进行磁盘数据拷贝
- 如何联机替换LVM中的故障磁盘
- 如何在物理层面将磁盘分区移动至另一磁盘
- 如何释放磁盘以缩小VG容量
- 如何安全的减少VG
首先, 我们需要了解一下服务器的情况。要了解服务器磁盘情况,可以使用lsblk命令,命令执行结果如下图所示:

可以看到,主机目前具有两个LVM,其中root是在安装系统时生成的,挂载到根目录;另一个Lv01是新添加的LVM,挂载到/mydata目录。另外,主机还安装了一块空白磁盘”sdc”,我们将要做的就是用”sdc”磁盘替换Lv01中的”sdb”磁盘,以达到安全移除LVM磁盘的目的。注意所有操作都是联机进行,并不会对系统产生任何影响。
要替换磁盘,那么很明显首先要把新磁盘”sdc”加入到vg01中。使用pvcreate命令可以将”/dev/sdc”生成一个新的pv,然后使用vgextend命令将”/dev/sdc”添加到vg01中。命令执行步骤如下图所示:

现在,我们将要移除的磁盘”/dev/sdb”和替换磁盘”/dev/sdc”都处于同vg01中,可以用pvs命令进行查看:

可以看到,”/dev/sdb”磁盘的一个分区”sdb1″加入到了vg01,现在需要做的就是将该分区移动到新安装磁盘”/dev/sdc”中。使用pvmove命令可以完成以上工作。

如图所示,”/dev/sdb1″的数据已经联机移动到了”/dev/sdc”,这样,就可以为移动磁盘做准备了。如果需要移动的数据较多,这条命令可能会执行很长时间,为了不影响其他操作,可以使用如下命令将其置于后台执行:
pvmove /dev/sdb1 2>error.log >normal.log &
以上命令会将pvmove命令置于后台执行,并将执行的结果输出至”normal.log”,标准错误输出至”error.log”。
在移除原数据盘之前,还需要将该磁盘从其属于的VG中删除,这样才不会对系统产生影响。从vg01中删除从属磁盘,并不是使用”remove”命令,而是使用vgreduce命令,命令执行如下图所示:

现在,”/dev/sdb1″的分区已经从vg01中移除了,如果该磁盘的其他分区并没有被挂载,那么,这块磁盘就可以从系统中移除了。
以上就是我们使用pvmove命令完成移除LVM卷磁盘的全过程,这条命令可以方便的进行联机数据移动。当然,这条命令还提供了一些可选参数,”-v”参数可以输出更多的命令执行细节:

而”-i”参数可以让pvmove命令按”-i”后跟的秒数为间隔来显示命令的执行进度更新,命令示例如下:
# pvmove -i 1 /dev/sdc 转自:https://www.daehub.com/archives/8560.html
如何安全的从LVM中移除磁盘的更多相关文章
- Oracle Linux 6.4 LVM中误删VG之恢复过程
一.项目背景描述 1.OSS现网测试数据库因大量小事物频繁提交运行非常缓慢.经分析为DS3950存储所在磁盘I/O存在瓶颈,大量等待事件,性能受限.另外,开发同事没有优化意识,没将小事物做成批量提交方 ...
- android studio 中移除module和恢复module
一.移除Android Studio中module 在Android Studio中想要删除某个module时,在Android Studio中选中module,右键发现没有delete,如图: An ...
- 【python cookbook】【数据结构与算法】10.从序列中移除重复项且保持元素间顺序不变
问题:从序列中移除重复的元素,但仍然保持剩下的元素顺序不变 解决方案: 1.如果序列中的值时可哈希(hashable)的,可以通过使用集合和生成器解决.
- 在Myeclipse中移除项目对Hibernate的支持
在Myeclipse中移除项目对Hibernate的支持 在使用Hibernate框架进行开发时可能会遇到配置错误或者需要删除Hibernate支持的情况.下面就说一下如何彻底移除项目的Hiberna ...
- VMware Workstation与Hyper-V不兼容。请先从系统中移除Hyper-V角色,然后再运行VMware Workstation。
VMware Workstation与Hyper-V不兼容.请先从系统中移除Hyper-V角色,然后再运行VMware Workstation. 今天在用win8.1的时候发现了这个问题,解决办法如下 ...
- 高效率遍历Map以及在循环过程中移除 remove指定key
//高效率遍历Map以及在循环过程中移除 remove指定key //使用iter循环的时候 可以在循环中移除key,for在循环的过程中移除会报错哦 //本方法效率高 Iterator iter = ...
- Dynamics CRM 将实体从高级查找列表中移除不可见
有时我们不需要将某个实体显示给一般用户比如配置实体,但是这种类型的实体有时候又需要给一般用户读权限ODATA的时候得能读,站点地图上的隐藏比较容易用工具配置下权限即可.其实做到这步一般就可以了但有的客 ...
- Git从库中移除已删除大文件
写在前面大家一定遇到过在使用Git时,不小心将一个很大的文件添加到库中,即使删除,记录中还是保存了这个文件.以后不管是拷贝,还是push/pull都比较麻烦.今天在上传工程到github上,发现最大只 ...
- [翻译]LVM中逻辑卷的最大大小限制
前言: 本文是对这篇博客Maximum Size Of A Logical Volume In LVM的翻译,敬请尊重原创和翻译劳动成果,那些随意转载的大爷们,好歹也自觉注明出处.谢谢! 英文原文地址 ...
随机推荐
- ALV报表——表头实现
ABAP实现ALV表头的DEMO: 运行效果: 代码: *********************************************************************** ...
- WebApi如何传递参数
一 概述 一般地,我们在研究一个问题时,常规的思路是为该问题建模:我们在研究相似问题时,常规思路是找出这些问题的共性和异性.基于该思路,我们如何研究WebApi参数传递问题呢? 首先,从参数本身来说, ...
- windows下安装mysql-8.0.18-winx64
1.下载安装包 安装包现在地址: https://dev.mysql.com/downloads/mysql/ 2.解压缩至安装目录 解压缩下载之后的zip,我这里使用的安装路径为: C:\Progr ...
- Math.random()的加密安全替换方法window.crypto.getRandomValues
Math.random() 返回介于 0(包含) ~ 1(不包含) 之间的一个随机数. Math.random()函数不是加密安全的随机数生成器. window.crypto.getRandomVal ...
- kvm第三章--虚拟化存储管理
- jmeter学习笔记(三)配置元件之HTTP信息头管理
使用jmeter模拟发送http请求时,有些请求是需要带上HTTP请求头里面的信息.比如页面需要登录信息的,那个就需要用户登录信息authorization.这个时候是需要使用到HTTP信息头管理器. ...
- SpringBoot properties和yml的区别
一.先附一个yml文件的解析步骤 1.Maven依赖 <dependency> <groupId>org.yaml</groupId> <artifactId ...
- git相关的一篇不错的文章
原文地址:http://josh-persistence.iteye.com/blog/2215214 点击进入
- JAVA笔记整理(九),JAVA中的集合
在工作中,我们经常需要将多个对象集中存放,可以使用数组,但是数组的长度一旦固定之后是不可变的,为了保存数量确定的数据,我们可以使用JAVA中的集合. 在我看来,JAVA中的集合可以看作是一个特殊的数据 ...
- redis3.2 aof重写
redis关闭aof,缩容,redis实例一直在重写. 原因也是redis3.2的bug,aof重写是没有判断aof是否开启. redis缩容后改变的是redis重写的min_size,缩容之前,实例 ...