一.介绍
在11.2.0.1 Grid Infrastructure版本内,ASM磁盘组内可以创建asm动态卷,asm卷和卷驱动可以用于通用文件系统、ACFS。一个Disk Group内可以创建一个或多个ASM动态卷,但是一个ADVM卷不能跨越Disk Group而创建,创建的动态卷设备默认在系统的/dev/asm目录下。卷创建完成后,被激动激活。
OracleASM Dynamic Volume Manager提供动态卷管理服务和为提供标准的磁盘驱动接口以访问动态卷设备。Oracle ASM Dynamic Volume Manager管理的卷建立在Oracle ASM之上,同样也支持OracleDatabase files,以及其他可执行文件、应用文件。
对于ADVM、ACFS支持的系统内核,在Oracle Grid Infrastructure安装时自动加载驱动程序,并随着ora.asm资源启动被加载至OS内。
[root@racdb1 ~]# lsmod
Module Size Used by
oracleacfs 1734520 0
oracleadvm 242048 0
oracleoks 295248 2 oracleacfs,oracleadvm
oracleoks是Oracle kernel Services,为oracleacfs和oracleadvm提供驱动服务。
Oracleadvm为动态卷设备提供块服务。
oracleacfs驱动为acfs的文件与目录请求提供服务。
二.创建ASM Dynamic Volume
如果使用ADVM,则ASM磁盘组的COMPATIBLE.ASM和COMPATIBLE.ADVM属性必须为'11.2';卷组的名字为11个字符之内(字母数字组合)。ASM Dynamic Volume可以通过ASMCMD、ASMCA、SQLcommand方式创建。
使用asmca方式创建
1.磁盘组属性
SQL> alter diskgroup data set attribute 'compatible.asm'='11.2.0.2.0';
Diskgroup altered.
SQL> alter diskgroup data set attribute 'compatible.advm'='11.2.0.2.0';
Diskgroup altered.
SQL> SELECT dg.name as diskgroup,a.name as name,a.value as value FROM V$ASM_DISKGROUP dg, V$ASM_ATTRIBUTE a WHERE dg.name = 'DATA' AND dg.group_number = a.group_number AND a.name like '%compatible%';
DISKGROUP NAME VALUE
------------------------------ ------------------ ------------------------
DATA compatible.asm 11.2.0.2.0
DATA compatible.rdbms 10.1.0.0.0
DATA compatible.advm 11.2.0.2.0
2.进入ASMCMD工具命令行
$asmcmd
ASMCMD> volcreate help
usage: volcreate -G diskgroup -s size [ --column number ] [ --width stripe_width ] [--redundancy {high|mirror|unprotected} ] [--primary {hot|cold}] [--secondary {hot|cold}] volume
help: help volcreate
ASMCMD> lsdg data
State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 4096 1048576 19546 15334 0 15334 0 N DATA/
ASMCMD> volcreate -G data -s 1G voldata1
ASMCMD> volinfo -G data voldata1
Diskgroup Name: DATA
Volume Name: VOLDATA1
Volume Device: /dev/asm/voldata1-144
State: ENABLED
Size (MB): 1024
Resize Unit (MB): 256
Redundancy: UNPROT
Stripe Columns: 4
Stripe Width (K): 128
Usage:
Mountpath:
Volume Device为/dev/asm/voldata1-144
$ls -l/dev/asm
[grid@racdb1~]$ ls -l /dev/asm
total 0
brwxrwx--- 1root asmadmin 252, 73729 Aug 26 21:37 voldata1-144
同样的,提供的 advmutil 工具也可以查看 ASM 动态卷组信息
[grid@racdb1 ~]$ /sbin/advmutil volinfo /dev/asm/voldata1-144
Interface Version: 1
Size (MB): 1024
Resize Increment (MB): 256
Redundancy: unprotected
Stripe Columns: 4
Stripe Width (KB): 128
Disk Group: DATA
Volume: VOLDATA1
Compatible.advm: 11.2.0.2.0
3.SQL command方式
进入asm实例内
$sqlplus '/as sysasm'
SQL> ALTER DISKGROUP data ADD VOLUME voldata2 size 1G;
Diskgroup altered.
SQL> ALTER DISKGROUP data ADD VOLUME voldata3 size 1G;
Diskgroup altered.
SQL> ALTER DISKGROUP data DISABLE VOLUME voldata3;
Diskgroup altered.
SQL> select volume_name,size_mb,volume_number,state,volume_device from v$asm_volume;
VOLUME_NAME SIZE_MB VOLUME_NUMBER STATE VOLUME_DEVICE
---------------- ---------- ------------ ---------- -------------------
VOLDATA1 1024 1 ENABLED /dev/asm/voldata1-144
VOLDATA2 1024 2 ENABLED /dev/asm/voldata2-144
VOLDATA3 1024 3 DISABLED /dev/asm/voldata3-144
三.其他管理
创建完成ASMDynamic Volume后,可以像本地磁盘一样格式化并使用,或者使用ACFS。
1.格式化
[root@racdb1 ~]# mkfs -t ext3 /dev/asm/voldata1-144
2.挂载
[root@racdb1~]# mount -t ext3 /dev/asm/voldata1-144 /mnt
[root@racdb1 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 ext3 28G 16G 12G 57% /
/dev/sda1 ext3 99M 12M 83M 12% /boot
tmpfs tmpfs 1006M 551M 456M 55% /dev/shm
/dev/asm/voldata1-144
ext3 1008M 34M 924M 4% /mnt
3.
[root@racdb1~]# echo "Hi,This is ASM Dynamic Volume device." > /mnt/test.txt
[root@racdb1~]# cat /mnt/test.txt
Hi,This is ASMDynamic Volume device.
4.其他操作
resize、disable、delete等操作,可以参考官方文档对ASMDynamic Volume做一步了解,目前ADVM是为了使用ACFS集群式文件系统。