Oracle 12c RAC Construction II:共有ディスク構成

記事のディレクトリ

ASMの紹介と選択

Oracle ASM(自動ストレージ管理)は、Oracleデータベースのデータボリュームマネージャーです。ASMは、Oracleデータベース専用のストレージデバイスを追跡し、Oracleデータベースインスタンスの要求に応じてこれらのデバイスにスペースを割り当てることにより、ユーザーのディスク管理を支援します。ASM共有ディスクを作成するには、ASMLibとUDEVの2つの方法があります。

  • ASMLib

2011年5月、オラクルはOracleデータベースASMLibに関する声明を発表しました。この声明では、OracleはRed Hat Enterprise Linux(RHEL)6ASMLibおよび関連するアップデートを提供しなくなります。

オラクルはこの声明の中で、ASMLibアップデートはUnbreakable Linux Network(ULN)を通じてリリースされ、OracleLinuxのお客様のみが利用できるようになると述べています。

Oracle Metalinkのドキュメント:Oracle ASMLib Software Update Policy for Red Hat Enterprise Linux Supported by Red Hat [ID 1089399.1]

ASMの利点:

  1. 常に直接非同期IOを使用する
  2. 再起動後にデバイス名が変更された場合でも、永続的なデバイス名の問題を解決しました
  3. ファイルのパーミッションと所有者の問題を解決しました
  4. I / O中にユーザーモードからカーネルモードへのコンテキストスイッチを減らします。これにより、CPU使用率が低下する可能性があります。
  5. ファイルハンドルの使用量の削減
  6. ASMLIB APIは、I / O優先度などのメタ情報をストレージデバイスに転送する可能性を提供します

ASMのデメリット:

  1. マルチパスデバイスの場合、ASMLIBが正しいデバイスファイルを見つけることができるように、/ etc / sysconfig / oracleasm-_dev_oracleasm構成ファイルでORACLEASM_SCANORDERとORACLEASM_SCANEXCLUDEを設定する必要があります。詳細については[メタリンクノート<ASMとASMLIBのセットアップ方法ネイティブLinuxマルチパスマッパーディスク?[ID 602952.1]>]
  2. ASM INSTANCEはASMLIBによって提供されるasmディスクを使用するため、追加のレイヤーが追加されます
  3. Linuxカーネルが更新されるたびに、新しいASMLIBパッケージを交換する必要があります
  4. ヒューマンエラーによるダウンタイムの可能性が高まりました
  5. ASMLIBを使用すると、作成と保守に時間がかかることを意味します
  6. ASMLIBが存在するため、さらに多くのバグが発生する可能性があります。これは、私たちが最後に見たいことです。
  7. ASMLIBで作成されたディスクヘッダーは、通常のasmディスクヘッダーと同じで、ASMLIB属性スペースのみがヘッダーに追加されます。
  • UDEV
    udevは、Linux 2.6カーネルの関数であり、元のdevfsに置き換わり、現在のLinuxのデフォルトのデバイス管理ツールになります。udevはデーモンとして実行され、カーネルから送信されたueventをリッスンすることにより、/ devディレクトリ内のデバイスファイルを管理します。以前のデバイス管理ツールとは異なり、udevはカーネルスペースではなくユーザースペースで実行されます。

2つのアプリケーションのどちらを選択するかという点では、ASMLibは多くの欠陥をもたらし、パフォーマンスがUDEVを超えないため、その背景と機能のために、基本的に新しいバージョンでは使用されません。UDEVメソッドは、現在または将来最も使用されるメソッドになります。

UDEVの設定方法

  • ディスクパーティション
    ここに画像の説明を挿入
[root@RACNode01 ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xf6614091.

The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.

Command (m for help): p

Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0xf6614091

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-20971519, default 2048): 
Using default value 2048
Last sector, +sectors or +size{
    
    K,M,G} (2048-20971519, default 20971519): 
Using default value 20971519
Partition 1 of type Linux and of size 10 GiB is set

Command (m for help): p

Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0xf6614091

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20971519    10484736   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

この方法によれば、他のすべてのディスクはパーティション化されます。

  • UDEVルールの作成

CentOS 7

for i in b c d e f g h i ;
do
echo "KERNEL==\"sd*\", ENV{DEVTYPE}==\"disk\", SUBSYSTEM==\"block\", PROGRAM==\"/lib/udev/scsi_id -g -u -d \$devnode\",RESULT==\"`/lib/udev/scsi_id -g -u -d /dev/sd$i`\", SYMLINK+=\"asm-sd$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done
# 加载rules文件,重新加载udev rule
/sbin/udevadm control --reload
# 检查新的设备名称
/sbin/udevadm trigger --type=devices --action=change
# 诊断udev rule
/sbin/udevadm test /sys/block/*

CentOS 6

for i in b c d e f g h i ;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", NAME=\"asm-sd$i\", OWNER=\"grid\",GROUP=\"asmadmin\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done
启动UDEV
/sbin/start_udev
  • UDEVディスク情報を表示する
ll -l /dev/asm*

lrwxrwxrwx 1 root root 3 May 26 11:11 /dev/asm-sdb -> sdb
lrwxrwxrwx 1 root root 3 May 26 11:11 /dev/asm-sdc -> sdc
lrwxrwxrwx 1 root root 3 May 26 11:11 /dev/asm-sdd -> sdd
lrwxrwxrwx 1 root root 3 May 26 11:11 /dev/asm-sde -> sde
lrwxrwxrwx 1 root root 3 May 26 11:11 /dev/asm-sdf -> sdf
lrwxrwxrwx 1 root root 3 May 26 11:11 /dev/asm-sdg -> sdg
lrwxrwxrwx 1 root root 3 May 26 11:11 /dev/asm-sdh -> sdh
lrwxrwxrwx 1 root root 3 May 26 11:11 /dev/asm-sdi -> sdi

おすすめ

転載: blog.csdn.net/weixin_38623994/article/details/106348862