热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

ASM下扩展存储对DISKGROUP的影响

这段时间由于采购存储,和很多存储厂商进行沟通时,都提到一点:支持存储容量的动态扩展。比如原来上的存储容量为5T划了一个lun,后来由于业务需求,需要扩展到1

这段时间由于采购存储,和很多存储厂商进行沟通时,都提到一点:支持存储容量的动态扩展。比如原来上的存储容量为5T划了一个lun,后来由于业务需求,需要扩展到1

这段时间由于采购存储,和很多存储厂商进行沟通时,都提到一点:支持存储容量的动态扩展。比如原来上的存储容量为5T划了一个lun,后来由于业务需求,需要扩展到10个T,后加的五个T的容量可以直接加到原来的存储上,原来的lun大小变成了10个T。

存储的lun在操作系统上是以磁盘的形式存在的,这样的话相当于磁盘的大小增加了,根据厂商技术的解释,如果使用了文件系统的话,在文件系统里,可以看到lun对应的磁盘变大,但是以前所使用的文件分区大小不变,如果需要使用新增的空间,可以对现有分区进行扩展,或划分新的分区,美国服务器,这一点不难理解。

比较疑惑的是,由于我使用的是oracle 11g rac+asm,而且没有使用asmlib,直接asm挂载的裸盘,如果某个lun变大以后,asm能不能识别到新增了空间?磁盘空间的改变,对原来asm的使用会不会有影响?这个问题厂家没能给出一个答覆,于是决定在虚拟机环境做一个测试,来验证一下。

测试环境是在vmware 8 下面,一个已经搭好的双机RAC环境,使用的是11gr2+asm+OEL6.1,在这个环境中我建好了三个磁盘组,ocr、data和fra,这三个磁盘组中ocr用了一块硬盘,data两个,fra一个,都是2g的虚拟盘。实验思路是将fra对应的2g盘手动扩展到2.5g,之后再查看diskgroup中磁盘组容量是否产生变化。

测试步骤如下:

1. 查看主机上fra磁盘组对应磁盘/dev/sdd大小为2g

clip_image001

2. 在asmca中查看各磁盘组大小为:

clip_image003

3. 在grid用户下使用sqlplus / as sysdba登录后查看各磁盘组大小:
运行select name,type,total_mb,free_mb,required_mirror_free_mb,usable_file_mb from v$asm_diskgroup;

clip_image005

4. 将虚拟机两个节点停机

5. 使用vmware下的命令扩展fra对应的虚拟磁盘

a) 进入到vmware安装目录下
cd "C:\Program Files (x86)\VMware\VMware Workstation"

b) 执行管理命令:
C:\Program Files (x86)\VMware\VMware Workstation>vmware-vdiskmanager.exe -x 2.5GB "F:\vhd\erpsharedisk\fra.vmdk"

clip_image007

c) 完成后可以看到fra对应的磁盘文件扩展到2.5G

6. 再启动rac的两个节点,香港服务器,使用fdisk –l 查看对应的磁盘大小

clip_image011

7. 使用asmca查看磁盘组,发现所有磁盘组无法在asmca中查看,暂时还未找到出现该问题的原因

clip_image013

8. 使用sqlplus登录查询视图,发现磁盘组空间无变化

clip_image015

9. 此时怀疑是由于磁盘组需要重新mount才能识别新增容量,香港服务器租用,于是尝试重新mount FRA磁盘组.由于在asmca界面无法对磁盘组做操作,于是改用命令行完成

10. 使用命令先取消FRA磁盘组挂载,发现报权限错误

clip_image017

11. 后来发现在11g环境下,asm需要使用sysasm用户来完成磁盘组管理操作,换sysasm用户进行操作,将FRA磁盘组重新挂载

clip_image019

重新挂载后,发现磁盘组容量并没有像我们想像的变成该磁盘现在的实际大小。由此判断,在此环境中,如果直接扩展Lun的大小来实现数据库可用空间的扩展不能实现,如果需要扩展数据库可用容量,最好是在数据库存储端新增容量后,将新增容量划到一个新的lun中,在服务器上,将新的lun作为一个磁盘mount到需要扩展容量的磁盘组中,采用这样的方式才能非常方便和高效的实现ASM环境下数据库容量的扩展。

本文出自 “天知道的技术博客” 博客,转载请与作者联系!

推荐阅读
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • 本文介绍了Redis中RDB文件和AOF文件的保存和还原机制。RDB文件用于保存和还原Redis服务器所有数据库中的键值对数据,SAVE命令和BGSAVE命令分别用于阻塞服务器和由子进程执行保存操作。同时执行SAVE命令和BGSAVE命令,以及同时执行两个BGSAVE命令都会产生竞争条件。服务器会保存所有用save选项设置的保存条件,当满足任意一个保存条件时,服务器会自动执行BGSAVE命令。此外,还介绍了RDB文件和AOF文件在操作方面的冲突以及同时执行大量磁盘写入操作的不良影响。 ... [详细]
  • Oracle10g备份导入的方法及注意事项
    本文介绍了使用Oracle10g进行备份导入的方法及相关注意事项,同时还介绍了2019年独角兽企业重金招聘Python工程师的标准。内容包括导出exp命令、删用户、创建数据库、授权等操作,以及导入imp命令的使用。详细介绍了导入时的参数设置,如full、ignore、buffer、commit、feedback等。转载来源于https://my.oschina.net/u/1767754/blog/377593。 ... [详细]
  • mysql-cluster集群sql节点高可用keepalived的故障处理过程
    本文描述了mysql-cluster集群sql节点高可用keepalived的故障处理过程,包括故障发生时间、故障描述、故障分析等内容。根据keepalived的日志分析,发现bogus VRRP packet received on eth0 !!!等错误信息,进而导致vip地址失效,使得mysql-cluster的api无法访问。针对这个问题,本文提供了相应的解决方案。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
author-avatar
mobiledu2502886233
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有