Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2765664
  • 博文数量: 389
  • 博客积分: 4177
  • 博客等级: 上校
  • 技术积分: 4773
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-16 23:29
文章分类

全部博文(389)

分类: Oracle

2013-12-21 17:53:56

                                                ADVM初体验

    从oracle 11.2开始,asm不但可以存储原来的数据库相关的三个大件,现在asm通过
ADVM,也可以作为一种普通的LVM来使用,而且还提供了一种acfs的文件系统.不过
advm在部分平台上还不支持,比如rhel 4上。例中使用的是rhel 5.5,oracle 11.2.0.1,在
支持的范围内.

   根据安装文档安装好GI后,启动asm实例,并且创建相应的磁盘组.
在GI_HOME/bin目录下,通过acfsload加载advm和acfs的内核模块.

[root@asm bin]# ./acfsload start
ACFS-9327: Verifying ADVM/ACFS devices.
ACFS-9322: done.

[root@asm bin]# ./acfsdriverstate -orahome /u01/app/grid/11.2 supported
ACFS-9200: Supported
[root@asm bin]# ./acfsdriverstate -orahome /u01/app/grid/11.2 installed
ACFS-9203: true
[root@asm bin]# ./acfsdriverstate -orahome /u01/app/grid/11.2 loaded
ACFS-9203: true

[root@asm bin]# lsmod | grep ora
oracleacfs            877320  0
oracleadvm            221760  0
oracleoks             276880  2 oracleacfs,oracleadvm

 --确认内核模块加载成功.

在例子中创建一个vol,名字为mg_vol1.
   
SQL> alter diskgroup mygroup1 add volume mg_vol1 size 100M;

Diskgroup altered.

SQL> select volume_name
  2  ,size_mb from v$asm_volume;

VOLUME_NAME                       SIZE_MB
------------------------------ ----------
MG_VOL1                               256


在这里的size大小竟然是256M,这是因为asm volume最小分配粒度为256MB,只要小于这个
粒度都会大于这个数字来算,这和sga中的granule size的概念是一样的.


advm的块设备存放的路径为/dev/asm.

[root@asm /]# ls -l /dev/asm/*
brwxrwx--- 1 root oinstall 252, 57345 Dec 22 01:15 /dev/asm/mg_vol1-112

系统自动为我们加了一个数字112.接下来我们按照标准的流程,对块设备进行格式
化.然后再挂载

[root@asm asm]# mkfs -t ext3 /dev/asm/mg_vol1-112
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0
.......省略..........

[root@asm asm]# mkdir /acfstest

[root@asm asm]# mount -t ext3 /dev/asm/mg_vol1-112 /acfstest

[root@asm asm]# df -lh
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       36G   18G   17G  53% /
/dev/sda1              99M   13M   82M  14% /boot
tmpfs                 736M  156M  581M  22% /dev/shm
/dev/asm/mg_vol1-112  248M   11M  226M   5% /acfstest

可以看到我们的advm设备已经成功使用了.

[root@asm /]# cd /acfstest/
[root@asm acfstest]# ls    --存在lost+found目录,说明是一个单独的文件系统
lost+found

[root@asm acfstest]# echo "abc">test.txt

[root@asm acfstest]# ls
lost+found  test.txt
[root@asm acfstest]# cat test.txt
abc

 新建了一个文本文件,往里写字符,没有问题.使用ADVM作为标准的LVM已经成功达到目标了.

  在很多时候,我们需要扩展我们的设备大小,以支持更大的存储空间,对于一个ADVM来说
很方便就可以实现

[root@asm /]# umount /dev/asm/mg_vol1-112  --umount advm block device


SQL> alter diskgroup mygroup1 resize volume mg_vol1 size 300M;

Diskgroup altered.

SQL>  select volume_name ,size_mb from v$asm_volume;

VOLUME_NAME                       SIZE_MB
------------------------------ ----------
MG_VOL1                               512

300=256+50,所以是2个granule,512M

[root@asm /]# fsck -f /dev/asm/mg_vol1-112 -- fsck first 
fsck 1.39 (29-May-2006)
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/asm/mg_vol1-112: 12/131072 files (8.3% non-contiguous), 27076/524288 blocks

[root@asm /]# resize2fs /dev/asm/mg_vol1-112 512M  --resize file system
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/asm/mg_vol1-112 to 524288 (1k) blocks.
The filesystem on /dev/asm/mg_vol1-112 is now 524288 blocks long.

[root@asm /]# mount -t ext3 /dev/asm/mg_vol1-112 /acfstest  --mount again
[root@asm /]# df -lh
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       36G   18G   17G  53% /
/dev/sda1              99M   13M   82M  14% /boot
tmpfs                 736M  156M  581M  22% /dev/shm
/dev/asm/mg_vol1-112  496M   11M  466M   3% /acfstest  --new size

[root@asm /]# cd /acfstest/
[root@asm acfstest]# ls
lost+found  test.txt
advm设备size扩展成功.

  对于advm的管理不但可以通过sql命令来实现,也可以通过asmcmd中vol开头的命令来实
现,比如:

ASMCMD> volinfo -G mygroup1 mg_vol1
Diskgroup Name: MYGROUP1

         Volume Name: MG_VOL1
         Volume Device: /dev/asm/mg_vol1-112
         State: ENABLED
         Size (MB): 512
         Resize Unit (MB): 256  -granule size
         Redundancy: UNPROT
         Stripe Columns: 4
         Stripe Width (K): 128
         Usage:
         Mountpath:

也可在advm block device上格式化acfs文件系统.

  通过ASM,ADVM,ACFS这些功能,可以看出oracle在存储市场上的发展和野心,蚕食传统的
文件系统和LVM厂商的份额.不过ADVM和ACFS本身的稳定性和性能还有待市场的检验.

 

阅读(4946) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~