virtualbox中实施ASM扩容实施记录
实施ASM在线扩容
1. 首先关闭集群
[root@node1 bin]# ./crsctl stop crs
[root@node2 bin]# ./crsctl stop crs
关机,halt
再第一台主机上创建添加两块磁盘vdi,并设置共享,挂载给node2
asmn6.vdi 5G
asmn7.vdi 8G
2.开机挂载,为Oracle ASM 创建磁盘分区
[root@node1 dev]# ls -la sd*
brw-rw---- 1 root disk 8, 0 May 9 20:56 sda
brw-rw---- 1 root disk 8, 1 May 9 20:56 sda1
brw-rw---- 1 root disk 8, 2 May 9 20:56 sda2
brw-rw---- 1 root disk 8, 96 May 9 20:56 sdg
brw-rw---- 1 root disk 8, 112 May 9 20:56 sdh
[root@node1 ~]# fdisk -l
Disk /dev/sdg: 5368 MB, 5368709120 bytes
Disk /dev/sdh: 8589 MB, 8589934592 bytes
发现sdg,sdh两块盘
3.格式化分区:###也可以不用。
fdisk /dev/sdg
fdisk /dev/sdh
Command (m for help): n
e extended
p primary partition (1-4)p
Partition number (1-4): 1
First cylinder (1-512, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610):
Using default value 2610
Command (m for help): w
The partition table has been altered!
calling ioctl() to re-read partition table.
Syncing disks.
第一种方法:用UDEV绑定裸设备
vi /etc/udev/rules.d/60-raw.rules
ACTION=="add",KERNEL=="sdg",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",KERNEL=="sdh",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",KERNEL=="raw[1-2]",OWNER="grid", GROUP="asmadmin", MODE="660"
查看裸设备:
raw -qa
/dev/raw/raw1: bound to major 8, minor 96
/dev/raw/raw2: bound to major 8, minor 112
传送到node2节点:
scp /etc/udev/rules.d/60-raw.rules node2:/etc/udev/rules.d/
partprobe
start_UDEV
第二种方法:UDEV绑定磁盘
for i in g h ;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id -g -u -s %p\", RESULT==\"`scsi_id -g -u -s /block/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""
done
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="360080e50003f55d6000007a7535c0dad", NAME="asm-diskc", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="360080e50003f55d6000007a9535c0dd1", NAME="asm-diske", OWNER="grid", GROUP="asmadmin", MODE="0660"
vi /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="360080e50003f55d6000007a7535c0dad", NAME="asm-diskc", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="360080e50003f55d6000007a9535c0dd1", NAME="asm-diske", OWNER="grid", GROUP="asmadmin", MODE="0660"
传输到其他节点。
scp /etc/udev/rules.d/99-oracle-asmdevices.rules jdserver24:/etc/udev/rules.d/
artprobe
start_udev
[root@quan-rac1 /]# ls -la /dev/a*
crw-rw---- 1 root audio 14, 12 Jul 26 12:58 /dev/adsp
brw-rw---- 1 oracle oinstall 8, 32 Jul 26 13:40 /dev/asm-diskg
brw-rw---- 1 oracle oinstall 8, 48 Jul 26 13:40 /dev/asm-diskh
4.ASM磁盘组操作
查看磁盘组状态:
select group_number,total_mb,required_mirror_free_mb,free_mb,usable_file_mb,state from v$asm_diskgroup;
GROUP_NUMBER TOTAL_MB REQUIRED_MIRROR_FREE_MB FREE_MB USABLE_FILE_MB STATE
------------ ---------- ----------------------- ---------- -------------- -----------
1 1024 0 922 922 MOUNTED
2 1024 0 748 748 MOUNTED
3 3072 0 468 468 MOUNTED
4 1024 0 628 628 MOUNTED
--TOTAL_MB: 磁盘组的大小
--FREE_MB : 在不考虑冗余的情况下,剩余的空间大小
--USABLE_FILE_MB:1).在外部冗余情况下 USABLE_FILE_MB=FREE_MB
2).普通冗余 USABLE_FILE_MB=FREE_MB/2
3).高冗余 USABLE_FILE_MB=FREE_MB/3
select group_number,disk_number,name,failgroup,state,path from v$asm_disk order by 1,2;
SELECT GROUP_NUMBER, OPERATION, STATE,POWER,EST_MINUTES FROM V$ASM_OPERATION;
检查asm_diskstring,看新加的磁盘是否在相应的目录下
show parameter asm_diskstring
设置asm_diskstring
alter system set asm_diskstring='/dev/asm*','/dev/raw/raw*' sid='*';
ASM_DISKSTRING = 'path1'[,'path2', . . .]
用最简单的话说,就是设置ASM启动时检查的磁盘,该选项可以同时指定多个值,并且支持通配符。比如说,只检查/dev/dsk/下的设备,可以设置该参数如下:/dev/dsk/*,默认情况下该参数为空,为空的话,表示ASM将查找系统中所有ASM拥有读写权限的设备。
ASM_DISKSTRING specifies an operating system-dependent value used by Automatic Storage Management to limit the set of disks considered for discovery. When a new disk is added to a disk group, each Automatic Storage Management instance that has the disk group mounted must be able to discover the new disk using the value of ASM_DISKSTRING.
An attempt to dynamically modify ASM_DISKSTRING will be rejected and the old value retained if the new value cannot be used to discover a disk that is in a disk group that is already mounted.
创建外部冗余磁盘组:
create diskgroup AUX_DATA external redundancy disk '/dev/asm-diskg','/dev/asm-diskh';
给现有磁盘组添加磁盘:
alter diskgroup DT02 add disk '/dev/raw/raw1','/dev/raw/raw2' rebalance power 10;
select * from v$asm_opration;
注意:
新添加的asmdiskgroup并不能在实例重启后自动mount,原因在于asm采用pfile启动实例 默认会去找asm_diskgroups参数所列出diskgroup并在实例启动时执行mount.
为了避免有些diskgroup不能自动mount,可采用如下两种办法:
手工修改pfile, asm_diskgroups改成PROD_DATA,AUX_DATA
创建spfile:create spfile from pfile;
alter system set asm_diskgroups=PROD_DATA,AUX_DATA sid='*';
最终:
SQL> select GROUP_NUMBER,DISK_NUMBER,NAME,PATH,TOTAL_MB,FREE_MB from v$asm_disk order by NAME;
virtualbox中实施ASM扩容实施记录的更多相关文章
- 如何在Virtualbox中对Ubuntu系统根分区扩容
转载: 参见博客: https://blog.csdn.net/LEON1741/article/details/56494797 前在Virtualbox中安装了一个Ubun ...
- OCM_第十七天课程:Section7 —》GI 及 ASM 安装配置 _管理和配置 GRID /实施 ASM 故障组 /创建 ACFS 文件系统
注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...
- virtualBox中的centOS虚拟机硬盘扩容
1. 在virtualBox中给虚拟机添加虚拟硬盘 此时. 已经将yanwu_disk1.vdi 虚拟硬盘添加到了虚拟机中, 接下来就是进行硬盘的挂载 https://www.cnblogs.com/ ...
- 双系统Ubuntu分区扩容过程记录
本人电脑上安装了Win10 + Ubuntu 12.04双系统.前段时间因为在Ubuntu上做项目要安装一个比较大的软件,导致Ubuntu根分区的空间不够了.于是,从硬盘又分出来一部分空间,分给Ubu ...
- VirtualBox中安装CentOS-6.6虚拟机
1. 下载 可以到官网下载,http://mirror.centos.org/centos/ 如果下载速度太慢的话,也可以到163镜像下载: http://mirrors.163.com/centos ...
- VirtualBox中安装CentOS-6.6虚拟机(转载)
1. 下载 可以到官网下载,http://mirror.centos.org/centos/ 如果下载速度太慢的话,也可以到163镜像下载: http://mirrors.163.com/centos ...
- VirtualBox中centos网络配置
VirtualBox图形界面下有四种网络接入方式,它们分别是: 1.NAT 网络地址转换模式(NAT,Network Address Translation) 2.Bridged Adapter 桥接 ...
- spirng中的asm与jdk不兼容<已解决>
转载自:spirng中的asm与jdk不兼容<已解决> 前言 不知道前面对eclipse做了什么,使用maven来创建项目,然后转成web,启动的时候一直报错.我弄了好久,还是无法解决,先 ...
- 视频 - 在 VirtualBox 中部署 OpenStack
大家新年好,CloudMan 今天给大家带来一件新年礼物. 一直以来大家都反馈 OpenStack 学习有两大障碍:1. 实验环境难搭2. 体系复杂,难道大今天我就先帮大家解决环境问题.前两天我抽空在 ...
随机推荐
- php线程安全与非线程安全版的区别
Thread Safe(线程安全)和 None Thread Safe(非线程安全) 背景: Linux/Unix系统采用多进程的工作方式,而Windows系统采用多线程的工作方式. CGI模式是建立 ...
- Python中三种基本结构的语句
选择语句 if 条件判断 : # 条件可以加括号也可以不加括号 -- else: -- Python中没有switch语句这是可以使用if exp:.... elif exp:来代替 if 判断条件1 ...
- - (BOOL)setResourceValue:(id)value forKey:(NSString *)key error:(NSError **)error
如果我们的APP需要存放比较大的文件的时候,同时又不希望被系统清理掉,那我么我们就需要把我们的资源保存在Documents目录下,但是我们又不希望他会被iCloud备份,因此就有了这个方法 [URL ...
- yii2邮件配置教程,报Expected response code 250 but got code "553"原因
main.php(或main-local.php)中的邮件配置如下: 'mailer' => [ 'class' => 'yii\swiftmailer\Mailer', 'viewPat ...
- 用Stax方式处理xml
1.读取xml文件,首先用类加载器加载项目目录下的xml文件,从XMLInputFactory创建我所需要的XMLStreamReader,即得到了xml文件.根据XMLStreamConstant ...
- CCNA网络工程师学习进程(10)NAT的配置
NAT(Network Address Translation,网络地址转换)是将IP 数据包头中的IP 地址转换为另一个IP 地址的过程. (1)NAT简介: 在实际应用中,NAT ...
- BFC详解
BFC(block formating context),翻译过来就是块级格式化上下文.我们可以理解为:BFC就是一个Block-level Box内部的Block-level Box布局的一系列规则 ...
- 2017-3-28 JavaScript 基础、语法
前端三剑客: html+css+js(html 决定网页上有什么,css决定东西是怎么摆放的,js决定东西的功能) js定义: js是一个脚本语言,需要有宿主文件,它的宿主文件是html文件. js ...
- python 、mmap 实现内存数据共享
import mmap mmap_file = None ##从内存中读取信息, def read_mmap_info(): global mmap_file mmap_file.seek(0) ## ...
- React-Native 之 项目实战(四)
前言 本文有配套视频,可以酌情观看. 文中内容因各人理解不同,可能会有所偏差,欢迎朋友们联系我. 文中所有内容仅供学习交流之用,不可用于商业用途,如因此引起的相关法律法规责任,与我无关. 如文中内容对 ...