背景:

原先的物理机环境多是若干块物理磁盘经过RAID卡进行了RAID5之后的虚拟磁盘组,这样我们在操作系统内看到的也就是一块完整的磁盘。我们会在上面进行分区,然后格式化后以便使用。

Figure 1这个时候的磁盘看起来一般会是这样的

这种磁盘结构使用了分区进行了存储结构的规划,但是在虚拟化环境中,这样的磁盘结构会给每个独立分区进行扩容带来各种不便,比如我们只能相对方便一些的对E盘进行扩充,而C盘和D盘的扩充就会变得非常麻烦。

思路变更:

有了上面诸多不便,在P2V之后的虚拟化环境中我们可以通过镜像卷方法快速将这些同一磁盘中的若干分区进行拆解。

操作步骤:

1、 需要确定需要拆解的分区个数,如上图就是两个(D盘分区和E盘分区)。

2、 接着在虚拟化平台中添加两块独立磁盘。

3、 分别对D盘和E盘进行镜像。

a)

Figure 2在Windows磁盘管理内选择D盘,右键选择添加镜像

b)

Figure 3选择需要镜像D盘的新磁盘,实例为磁盘1

c)

Figure 4使用这个功能需要开启动态磁盘功能,我们点击是进行人工确认

d)

Figure 5确认之后系统开始进行同步功能,该过程全自动,无需人工干预

e)

Figure 6同理,我们进行E盘的镜像,选择镜像磁盘,实例为磁盘2

f)

Figure 7镜像过程开始,可以看到D盘与E盘同时在进行镜像

g)

Figure 8由于这种同步过程使用的是对当前卷的全读,全写,因此会将未使用的空间也一并镜像到新的磁盘中,测试中可见E盘的空间很大耗时也多

h) 为了避免上述的问题发生,因为很多用户场景都是用的是精简置备,因此为了节省空间,我们需要对磁盘进行一下压缩后镜像

i.

Figure 9扩充磁盘之后新增加两个分区,重复上面的场景,分别标记成F盘和G盘,因为是新格式化的,实际消耗并不多

ii.

Figure 10对F盘进行压缩卷操作

iii.

Figure 11系统自动计算可压缩量,可以看到4GB空间可被压缩

iv.

Figure 12随后我们对新的F盘进行添加镜像操作

v. 操作步骤和上面场景一样,G盘也如此操作一下

vi.

Figure 13同步速度很快,同步容量为压缩后的大小

4、 确认镜像完毕之后,断开镜像的复制关系。

a) 这一步很关键,一定要选择中断镜像卷,切不可选择删除镜像!!!

b)

Figure 14对D盘进行断开镜像

c)

Figure 15手工确认告警信息

d) 如法炮制对其他卷也这般操作

e) 由于Windows对盘符的识别一向是先磁盘,再分区序号的,因此在这个场景下我们可以做到数据迁移的0停顿

f)

Figure 16满足预期的数据迁移,对需要扩充的卷此时可以扩充,原来的卷就可以移除了(可全部扩充给C盘)

5、 扩充期望扩充的卷

a)

Figure 17选择D盘进行扩展卷操作

b)

Figure 18启动扩展向导,因为我们此次的场景最小单位是单个磁盘而非多个磁盘,因此系统默认给的就是D盘现在所在的磁盘1

c)

Figure 19一路下一步之后100GB的空间已经被D盘全部使用

d) 其他期望扩充的盘符依次这般操作

6、 最终完成预期

a)

Figure 20完成预期的卷扩容

小结:

此次的扩容思路来自于微软磁盘管理的卷镜像技术,使用该技术的最小单位就是卷,而且该技术依赖动态磁盘。

这种思路对现有业务不会带来任何停顿影响,文件权限也保持完全一致。

数据无价,建议操作前对相应业务数据进行备份。或对当前虚拟主机克隆做副本。

同时关于动态磁盘和基本磁盘各有利弊,使用的时候请根据现有环境充分了解其不同之后再进行相关操作。

网上流行的动态磁盘转基本磁盘也是有工具的,大家有兴趣可以自己操作一下试试。

Figure 21上述场景可顺利转换成基本磁盘

-=EOB=-

P2V之后的磁盘扩容新思路的更多相关文章

  1. VMware下对虚拟机Ubuntu14系统所在分区sda1进行磁盘扩容

    VMware下对虚拟机Ubuntu14系统所在分区sda1进行磁盘扩容 一般来说,在对虚拟机里的Ubuntu下的磁盘进行扩容时,都是添加新的分区,而并不是对其系统所在分区进行扩容,如在此链接中http ...

  2. SQL Server 磁盘空间告急(磁盘扩容)转载

    一.背景 在线上系统中,如果我们发现存放数据库文件的磁盘空间不够,我们应该怎么办呢?新买一个硬盘挂载上去可以嘛?(linux下可以直接挂载硬盘进行扩容),但是我们的SQL Server是运行在Wind ...

  3. 【转载】CentOS LVM磁盘扩容

    转自:http://blog.sina.com.cn/s/blog_8882a6260101cpfs.html EXSI5.1主机有一个linux虚拟机,系统是centos运行httpd服务,因为是多 ...

  4. centos6.5磁盘扩容

    3台虚拟机都是20G磁盘,用着用着发现不够了,先扩容了一台,各种百度...各种坑,每个人的情况不一样,发现不一样的地方最后立即百度查看.一台扩容成功后,打算再扩容一台,目的是留一个记录.(我是用xsh ...

  5. ECS Linux服务器xfs磁盘扩容

    ECS Linux服务器xfs磁盘扩 ECS Linux服务器xfs磁盘使用阿里云官方提供的磁盘扩容方法扩容会有报错: [root@iZ28u04wmy2Z ~]# e2fsck /dev/xvdb1 ...

  6. es 加磁盘扩容

    elasticsearch多磁盘扩容   1.问题 由于早前elasticsearch集群数据存储路径只配置了一个,所以某天磁盘突然爆满,集群差点当机.需重新配置多路径存储路径,因为在生产环境,得保证 ...

  7. VMware 虚拟机快照、克隆、磁盘扩容

    1. 快照 快照是虚拟机某个时间点上完整系统的镜像,可以在虚拟机内部通过快照文件恢复系统到之前的节点. 拍摄快照: 恢复快照: 2. 克隆 克隆是原始虚拟机全部状态的一个拷贝,是脱离原始虚拟机独立存在 ...

  8. 故障处理:磁盘扩容出错:e2fsck: Bad magic number in super-block while trying to open /dev/vdb1

    按照阿里云官网教程对云服务器进行磁盘扩容,使用fdisk重新分区,最后使用e2fsck和resize2fs来完成文件系统层面的扩容 在执行“e2fsck -f /dev/vdb1”命令时报错,如果你的 ...

  9. Linux磁盘扩容

    Linux磁盘扩容 fdisk -l # 查看硬盘信息 lvextend -L +1G /dev/mapper/vg00-lvroot 或者 lvextend -l +%FREE /dev/mappe ...

随机推荐

  1. Asp.Net Mvc 使用WebUploader 多图片上传

    来博客园有一个月了,哈哈.在这里学到了很多东西.今天也来试着分享一下学到的东西.希望能和大家做朋友共同进步. 最近由于项目需要上传多张图片,对于我这只菜鸟来说,以前上传图片都是直接拖得控件啊,而且还是 ...

  2. Java基础Collection集合

    1.Collection是所有集合的父类,在JDK1.5之后又加入了Iterable超级类(可以不用了解) 2.学习集合从Collection开始,所有集合都继承了他的方法 集合结构如图:

  3. [Java 缓存] Java Cache之 DCache的简单应用.

    前言 上次总结了下本地缓存Guava Cache的简单应用, 这次来继续说下项目中使用的DCache的简单使用. 这里分为几部分进行总结, 1)DCache介绍; 2)DCache配置及使用; 3)使 ...

  4. Hive安装配置指北(含Hive Metastore详解)

    个人主页: http://www.linbingdong.com 本文介绍Hive安装配置的整个过程,包括MySQL.Hive及Metastore的安装配置,并分析了Metastore三种配置方式的区 ...

  5. 非关系型数据库(NoSql)

    最近了解了一点非关系型数据库,刚刚接触,觉得这是一个很好的方向,对于大数据 方面的处理,非关系型数据库能起到至关重要的地位.这里我主要是整理了一些前辈的经验,仅供参考. 关系型数据库的特点 1.关系型 ...

  6. 微信小程序初探

    做为码农相信大家最近肯定都会听到微信小程序,虽然现阶段还没有正式开放注册,但大家可以还是可以开发测试. 到微信的WIKI(http://mp.weixin.qq.com/wiki?t=resource ...

  7. Effective java笔记(二),所有对象的通用方法

    Object类的所有非final方法(equals.hashCode.toString.clone.finalize)都要遵守通用约定(general contract),否则其它依赖于这些约定的类( ...

  8. C#日志

    参考页面: http://www.yuanjiaocheng.net/Entity/first.html http://www.yuanjiaocheng.net/Entity/jieshao.htm ...

  9. java 线程 Lock 锁使用Condition实现线程的等待(await)与通知(signal)

    一.Condition 类 在前面我们学习与synchronized锁配合的线程等待(Object.wait)与线程通知(Object.notify),那么对于JDK1.5 的 java.util.c ...

  10. iOS系列教程 目录 (持续更新...)

      前言: 听说搞iOS的都是高富帅,身边妹子无数.咱也来玩玩.哈哈. 本篇所有内容使用的是XCode工具.Swift语言进行开发. 我现在也是学习阶段,每一篇内容都是经过自己实际编写完一遍之后,发现 ...