Oracleracを実行しているデータベースサーバーがあります。最近、接続されているメインLUNのスペースが不足していました。新しい100GBLUNを作成し、これを既存のLUNに連結して、新しいMetaLUNを作成しました。少し混乱した後、私はLinuxに新しいスペースを認識させることができました。次に、新しいスペースを使用するために、疑似デバイス上に新しいパーティションを作成しました。以前、他のシステムでこれを行った場合、次のステップは、新しいパーティションにASMディスクを作成し、このディスクをOracleディスクグループに追加することです。ただし、これは失敗します。 ASMとpowerpathのさまざまな問題を認識していますが、これはここでは問題ではないと思います。問題を調査しているときに、基になる論理デバイスの1つがサイズの変更を反映していないことを発見しました。下記参照;
Powermtは基礎となるすべての論理ユニットを表示します
[root@XXXXX~]# powermt display dev=emcpowerd
Pseudo name=emcpowerd
CLARiiON ID=CKM00091500009 [VFRAC2]
Logical device ID=6006016030312200787502866C65DE11 [LUN 30]
state=alive; policy=CLAROpt; priority=0; queued-IOs=0
Owner: default=SP A, current=SP A Array failover mode: 1
`==============================================================================`
---------------- Host --------------- - Stor - -- I/O Path - -- Stats ---
`### HW Path I/O Paths Interf. Mode State Q-IOs Errors`
`==============================================================================`
3 qla2xxx sde SP A0 active alive 0 0
3 qla2xxx sdj SP B0 active alive 0 0
4 qla2xxx sdo SP A1 active alive 0 0
4 qla2xxx sdt SP B1 active alive 0 0
**Fdisk on the pseudo device shows correct space.**
[root@XXXXX ~]# fdisk -l /dev/emcpowerd
Disk /dev/emcpowerd: 429.4 GB, 429496729600 bytes
255 heads, 63 sectors/track, 52216 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/emcpowerd1 1 39162 314568733+ 83 Linux
/dev/emcpowerd2 39163 52216 104856255 83 Linux
**fdisk on one of the logical units is wrong**
[root@XXXXX~]# fdisk -l /dev/sde
Disk /dev/sde: 322.1 GB, 322122547200 bytes
255 heads, 63 sectors/track, 39162 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sde1 1 39162 314568733+ 83 Linux
/dev/sde2 39163 52216 104856255 83 Linux
**fdisk on the rest of the units is fine**
[root@XXXXX ~]# fdisk -l /dev/sdj
Disk /dev/sdj: 429.4 GB, 429496729600 bytes
255 heads, 63 sectors/track, 52216 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdj1 1 39162 314568733+ 83 Linux
/dev/sdj2 39163 52216 104856255 83 Linux
また、パーティションを作成したとき、Linuxは2番目のパーティションの/ devディレクトリにエントリを作成しなかったため、これらを手動で作成しました
[root@XXXXX dev]# mknod sde2 b 8 66
[root@XXXXX dev]# ls -al sd[ejot]?
brw-r----- 1 root disk 8, 65 Dec 29 14:20 sde1
brw-r--r-- 1 root disk 8, 66 Apr 8 20:31 sde2
brw-r----- 1 root disk 8, 145 Dec 29 14:19 sdj1
brw-r--r-- 1 root disk 8, 146 Apr 8 20:33 sdj2
brw-r----- 1 root disk 8, 225 Apr 6 23:12 sdo1
brw-r--r-- 1 root disk 8, 226 Apr 8 20:33 sdo2
brw-r----- 1 root disk 65, 49 Dec 29 14:19 sdt1
brw-r--r-- 1 root disk 65, 50 Apr 8 20:33 sdt2
これは、簡単に再起動できない運用サーバーです。
どんなアイデアでも大歓迎です。
J
partprobe
とは別に、blockdevユーティリティを使用してデバイスのパーティションテーブルを再読み込みしてみてください。
blockdev --rereadpt /dev/sde
次に、問題は、LUN自体が適切に更新されていないことである可能性があります。
/sys
ファイルシステムを介して、ファイバーチャネルまたはSCSIホストに対して再スキャンコマンドを発行してみてください。
少し前に、EMCClariionデバイスに対処するために次のscsi_rescan_bus.sh
スクリプトを作成しました。
#!/bin/sh
Host_number="$1"
echo "1" > /sys/class/fc_Host/host${Host_number}/issue_lip
sleep 10
echo "- - -" > /sys/class/scsi_Host/host${Host_number}/scan
それが最新のカーネルやデバイスでまだ機能するかどうかは完全にはわかりません。本番環境でこれを試す前に、必ず専用のテスト環境でこれをテストしてください。
落とし穴はたくさんあるので、これらの関連するスレッドを必ず読んでください。
http://forums11.itrc.hp.com/service/forums/questionanswer.do?threadId=1454807
また、Red Hatの公式ドキュメント(「オンラインストレージ再構成ガイド」): http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Online_Storage_Reconfiguration_Guide/index.html
/sbin/partprobe /dev/emcpowerd
を実行してみてください
partprobe
は、カーネルにパーティションを再スキャンするように指示します
私はEMCでこれを調査してきましたが、再起動しないとこれを回避する方法はないようです。ただし、回避策として、新しいlunを作成し、それを動的に取得して、Oracleにこれを認識させることができました。 J