ORACLE(RAC) ASM添加删除磁盘(分区,挂载等)

一、环境

原oracle 11gR2 RAC,asm磁盘时间久远需要更换,一下是更换磁盘的相关操作,当然,如果扩容也是同样的操作,只是不需要再平衡之后删除磁盘组里的磁盘而已。 

二、查看盘符信息

备注:安全起见,操作之前停数据库实例、ASM实例

1、确定磁盘信息

首先确认划分的盘符为:

查看挂载磁盘信息并确认:hw-disk1,hw-disk2,hw-disk3,hw-disk4,hw-disk5

使用命令:fdisk -l

明确是被及链路正常。

这说明,已由两条链路sds / sdx复合成一条链路,设备名为hw-disk1。

使用命令:multipath –ll

hw-disk1 (36e8681910065f3a6b497f099000000a5)

dm-20 HUAWEI,XSG1

size=1.5T features='0' hwhandler='0'

wp=rw

|-+- policy='round-robin 0' prio=1

status=active

| `- 0:0:1:2 sds 

65:32  active ready  running

`-+- policy='round-robin 0' prio=1

status=enabled

`- 1:0:1:2 sdx  65:112 active ready  running

hw-disk2 (36e8681910065f3a6b4980160000000a6)

dm-19 HUAWEI,XSG1

size=3.0G features='0' hwhandler='0'

wp=rw

|-+- policy='round-robin 0' prio=1

status=active

| `- 0:0:1:3 sdt 

65:48  active ready  running

`-+- policy='round-robin 0' prio=1

status=enabled

`- 1:0:1:3 sdy  65:128 active ready  running

hw-disk3 (36e8681910065f3a6b4982e7d000000a7)

dm-17 HUAWEI,XSG1

size=3.0G features='0' hwhandler='0'

wp=rw

|-+- policy='round-robin 0' prio=1

status=active

| `- 0:0:1:4 sdu 

65:64  active ready  running

`-+- policy='round-robin 0' prio=1

status=enabled

  `-

1:0:1:4 sdz  65:144 active ready  running

hw-disk4 (36e8681910065f3a6b4983dc7000000a8)

dm-22 HUAWEI,XSG1

size=3.0G features='0' hwhandler='0'

wp=rw

|-+- policy='round-robin 0' prio=1

status=active

| `- 0:0:1:5 sdv 

65:80  active ready  running

`-+- policy='round-robin 0' prio=1

status=enabled

`- 1:0:1:5 sdaa

65:160 active ready  running

hw-disk5 (36e8681910065f3a6b4979ad8000000a3)

dm-21 HUAWEI,XSG1

size=750G features='0' hwhandler='0'

wp=rw

|-+- policy='round-robin 0' prio=1

status=active

| `- 0:0:1:1 sdr 

65:16  active ready  running

`-+- policy='round-robin 0' prio=1

status=enabled

`- 1:0:1:1 sdw  65:96 

active ready  running

根据/dev/mapper/mpathn 是multipath虚拟出来的多路径设备,我们应该使用这个设备;

确定挂载盘符为:hw-disk1,hw-disk2,hw-disk3,hw-disk4,hw-disk5

/dev/mapper/mpathn 是multipath虚拟出来的多路径设备,我们应该使用这个设备;

/dev/mpath/mpathn 是udev设备管理器创建的,实际上就是指向下面的dm-n设备,仅为了方便,不能用来挂载;

/dev/dm-n 是软件内部自身使用的,不能被软件以外使用,不可挂载。

简单来说,就是我们应该使用/dev/mapper/下的设备符。对该设备即可用fdisk进行分区,或创建为pv。

 三、磁盘分区及挂载

使用root用户操作

1、创建新的磁盘分区

[root@qasdbb ~]# fdisk /dev/mapper/hw-disk1   //进入磁盘

1)选择分区号,linux基本分区和扩展分区之和不能大于4,所以在1-4直接选择,一般是从大到小按编号选:输入命令n,然后输入1。

2)输入命令t,然后输入分区类型,输入8e表示虚拟逻辑卷分区,后期硬盘分区空间不足可以在线扩容。

3)输入命令w,重写分区表。

[root@qasdbb ~]# fdisk /dev/mapper/hw-disk1

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

Building a new DOS disklabel with disk identifier 0x1ca8d9fd.

Changes will remain in memory only, until you decide to write them.

After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

         switch off the mode (command 'c') and change display units to

         sectors (command 'u').

Command (m for help): u

Changing display/entry units to sectors

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 1

First sector (63-3221225471, default 63): 2048

Last sector, +sectors or +size{K,M,G} (2048-3221225471, default 3221225471):

Using default value 3221225471

Command (m for help): t

Selected partition 1

Hex code (type L to list codes): 8e

Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: Invalid argument.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.

2、查看创建的分区

1)使用fdisk –l查看创建的分区,有时候会看不到创建的新分区,此时使用fdisk命令看不到新建的分区信息。

2)partprobe 是一个可以修改kernel中分区表的工具,可以使kernel重新读取分区表而不用重启系统。命令:partprobe /dev/mapper/hw-disk1

[root@qasdbb ~]# partprobe /dev/mapper/hw-disk1

数据库使用的到此结束,后期需要转为oracleASM可识别的。

下面操作的是hw-disk5的750G的盘,供系统使用,129和130都有

接着上述操作继续进行

3、 格式化分区

    假设通过上述步骤所创建的新分区为/dev/mapper/hw-disk1p1, 可以通过下面命令将其格式化为ext4文件系统格式:,其他所需磁盘,相同的操作即可:

使用命令:mkfs.ext4 /dev/mapper/hw-disk1p1  //格式化逻辑卷

[root@qasdbb dev]# mkfs.ext4 /dev/mapper/hw-disk1p1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
49152000 inodes, 196606976 blocks
9830348 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
6000 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
         32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
         4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
         102400000
Writing inode tables: done                           
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

4、创建asm磁盘信息:

/etc/init.d/oracleasm createdisk ASMDISK01 /dev/mapper/hw-disk1p1
/etc/init.d/oracleasm createdisk OCR_VOTE01 /dev/mapper/hw-disk2p1
/etc/init.d/oracleasm createdisk OCR_VOTEB02 /dev/mapper/hw-disk3p1
/etc/init.d/oracleasm createdisk OCR_VOTEB03 /dev/mapper/hw-disk4p1

/etc/init.d/oracleasm scandisks //很重要

5、向ASM磁盘组中加盘(grid用户的sysasm)

SQL> select GROUP_NUMBER,DISK_NUMBER, MODE_STATUS,HEADER_STATUS, MODE_STATUS,state,TOTAL_MB,FREE_MB,name,PATH from v$asm_disk;
SQL> alter diskgroup data_dg add disk '/dev/oracleasm/disks/ASMDISK01 ';
SQL> select GROUP_NUMBER,DISK_NUMBER, MODE_STATUS,HEADER_STATUS,MODE_STATUS,state,TOTAL_MB,FREE_MB,name,PATH from v$asm_disk;

添加完磁盘之后,oracle会自动做重平衡rebalance操作,可以通过视图查看

SQL> select * from v$asm_operation;

 

SOFAR:就是目前为止挪动的AU数量

EST_WORK:估计要挪动的AU数量

EST_RATE:估计每分钟挪动的AU数量

EST_MINUTES:估计挪动多少分钟

重平衡的过程就是从其他的磁盘向新磁盘挪动数据的过程,如果数据量很大,这个时间会很长,可以更改power值加快速度,默认power值为1,可根据存储性能将此值设置大一些(power取值0-11),数据平衡完毕复原power值即可

SQL> show parameter asm_power_limit;

SQL> alter diskgroup datadg rebalance power 11;

注:power=0是停止rebalance操作

也可在加盘时直接添加rebalance指令,如下:

SQL> alter diskgroup datadg add disk '/dev/asm-diskh' rebalance power 8;

注:如添加磁盘报错(新增磁盘不为全新盘,有旧数据在里头),可使用dd命令将磁盘头信息清除掉

 dd if=/dev/oracleasm/disks/ASMDISKA2 of=/app/backup_asm_haeder_ASMDISKA2 bs=1024 count=1000;
 dd if=/dev/oracleasm/disks/ASMDISKA1 of=/app/backup_asm_haeder_ASMDISKA1 bs=1024 count=1000;
 dd if=/dev/oracleasm/disks/ASMDISKA3 of=/app/backup_asm_haeder_ASMDISKA3 bs=1024 count=1000;
 dd if=/dev/oracleasm/disks/ASMCDP1 of=/app/backup_asm_haeder_ASMCDP1 bs=1024 count=1000;
 dd if=/dev/oracleasm/disks/ASMCDP2 of=/app/backup_asm_haeder_ASMCDP2 bs=1024 count=1000;
//上述操作是备份复制数据

 dd if=/dev/zero of=/dev/oracleasm/disks/ASMDISKA1 bs=1024 count=1000;
 dd if=/dev/zero of=/dev/oracleasm/disks/ASMDISKA2 bs=1024 count=1000;
 dd if=/dev/zero of=/dev/oracleasm/disks/ASMDISKA3 bs=1024 count=1000;
 dd if=/dev/zero of=/dev/oracleasm/disks/ASMCDP1 bs=1024 count=1000;
 dd if=/dev/zero of=/dev/oracleasm/disks/ASMCDP2 bs=1024 count=1000;
 dd if=/dev/zero of=/dev/oracleasm/disks/ASMCDP3 bs=1024 count=1000;
//上述操作是用空字节覆盖文件的前1024个字节

6、删除原磁盘

SQL> select GROUP_NUMBER,DISK_NUMBER, MODE_STATUS,HEADER_STATUS, MODE_STATUS,state,TOTAL_MB,FREE_MB,name,PATH from v$asm_disk;
SQL> alter diskgroup data_dg drop disk 'DATA_DG_0002' rebalance power 8; --按照name来删除
SQL> select * from v$asm_operation;
SQL> select GROUP_NUMBER,DISK_NUMBER, MODE_STATUS,HEADER_STATUS, MODE_STATUS,state,TOTAL_MB,FREE_MB,name,PATH from v$asm_disk;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值