如何安全的从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的翻译,敬请尊重原创和翻译劳动成果,那些随意转载的大爷们,好歹也自觉注明出处.谢谢! 英文原文地址 ...
随机推荐
- PAT(B) 1063 计算谱半径(Java)
题目链接:1063 计算谱半径 (20 point(s)) 题目描述 在数学中,矩阵的"谱半径"是指其特征值的模集合的上确界.换言之,对于给定的 n 个复数空间的特征值 { a1 ...
- mysql 子句、子查询、连接查询
一.mysql查询的五种子句 where子句(条件查询):按照“条件表达式”指定的条件进行查询. group by子句(分组):按照“属性名”指定的字段进行分组.group by子句通常和count( ...
- ASP.NET Core依赖注入多个服务实现类
依赖注入在 ASP.NET Core 中起中很重要的作用,也是一种高大上的编程思想,它的总体原则就是:俺要啥,你就给俺送啥过来. 服务类型的实例转由容器自动管理,无需我们在代码中显式处理. 因此,有了 ...
- PowerShell将运行结果保存为文件
1. Out-File 示例: get-process | Out-File -filepath a.txt 跟“>”是一样的效果 输出 为普通文本 2. Export-Clixml 示例: g ...
- 线程二(Monitor)
Monitor 类的命名空间是 System.Threading,它的用法和 lock 本质是一样的. 使用 Monitor 类锁定资源的代码如下. Monitor.Enter(object); tr ...
- solr的post.jar
http://iamyida.iteye.com/blog/2207920 跟益达学Solr5之玩转post.jar
- RocketMQ问题
RocketMQ原理(4)——消息ACK机制及消费进度管理 RocketMQ消费者,设置setConsumeFromWhere无效的问题 MQ的CONSUME_FROM_LAST_OFFSET未生效 ...
- Docker - Cheap sheet
** IMAGE ** $docker image Delete image : $docker image rm image_id make sure all containers be delet ...
- 数组中的reduce
reduce方法第一次对我的感觉是很鸡肋,但是深入了解,才发现其中的奥妙,是个非常强大且实用的方法 var arr = [1,2,3,4,5,6,7]; var sum = arr.reduce( ( ...
- 2018 ACMICPC上海大都会赛重现赛 H - A Simple Problem with Integers (线段树,循环节)
2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 H - A Simple Problem with Integers (线段树,循环节) 链接:https://ac.nowcoder.co ...