JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Solaris Volume Manager 管理ガイド     Oracle Solaris 10 1/13 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Solaris Volume Manager の使用開始

2.  ストレージ管理の概念

3.  Solaris Volume Manager の概要

4.  Solaris Volume Manager for Sun Cluster (概要)

5.  Solaris Volume Manager の構成と使用 (シナリオ)

6.  状態データベース (概要)

7.  状態データベース (タスク)

8.  RAID-0 (ストライプと連結) ボリューム (概要)

9.  RAID-0 (ストライプおよび連結) ボリューム (タスク)

10.  RAID-1 (ミラー) ボリューム (概要)

11.  RAID-1 (ミラー) ボリューム (タスク)

12.  ソフトパーティション (概要)

13.  ソフトパーティション (タスク)

14.  RAID-5 ボリューム (概要)

15.  RAID-5 ボリューム (タスク)

16.  ホットスペアプール (概要)

17.  ホットスペアプール (タスク)

18.  ディスクセット (概要)

19.  ディスクセット (タスク)

20.  Solaris Volume Manager の保守 (タスク)

21.  Solaris Volume Manager のベストプラクティス

22.  トップダウンボリューム作成 (概要)

23.  ボリュームのトップダウン作成 (タスク)

ボリュームのトップダウン作成 (タスクマップ)

ボリュームをトップダウン作成するための前提条件

ボリュームの自動作成

出力の詳細度指定によるボリューム作成分析

metassist コマンドを使用して RAID-1 (ミラー) ボリュームを作成する方法

metassist コマンドによるファイルベースのデータ処理

metassist コマンドによるコマンドファイル (シェルスクリプト) の作成

metassist コマンドを使用してコマンドファイル (シェルスクリプト) を作成する方法

metassist コマンドで作成されたシェルスクリプトによるボリュームの作成

保存された metassist コマンドのシェルスクリプトを実行する方法

metassist コマンドによるボリューム構成ファイルの作成

metassist コマンドを使用してボリューム構成ファイルを作成する方法

metassist コマンドのデフォルト動作の変更

ボリュームデフォルトファイルの変更

24.  モニタリングとエラー報告 (タスク)

25.  Solaris Volume Manager のトラブルシューティング (タスク)

A.  重要な Solaris Volume Manager ファイル

B.  Solaris Volume Manager のクイックリファレンス

C.  Solaris Volume Manager CIM/WBEM API

索引

metassist コマンドによるファイルベースのデータ処理

metassist コマンドを使用すると、ボリューム特性の評価に使用するファイル、または実際にボリュームを作成するために使用するファイルを作成できます。

metassist コマンドによるコマンドファイル (シェルスクリプト) の作成

metassist コマンドに -c 引数を指定すると、ボリューム構成の作成に使用できるコマンドを含んだ Bourne シェルスクリプトが生成されます。この方法を使用すれば、ボリュームを実際に作成する前にコマンドを確認でき、必要に応じてスクリプトを微調整することもできます。

metassist コマンドを使用してコマンドファイル (シェルスクリプト) を作成する方法

始める前に

「ボリュームをトップダウン作成するための前提条件」を確認してください。

  1. ボリュームの作成に使用するストレージを特定します。

    ストレージを明示的に指定しなかった場合、システム上の未使用のストレージを Solaris Volume Manager が特定し、必要に応じて使用します。ストレージを指定する場合は、広義 (たとえば、コントローラ 1 のすべてのストレージ) または狭義 (たとえば、c1t4d2 は使用し、c1t4d1 は使用しない) に指定でき、そのストレージが Solaris Volume Manager で使用されます。

  2. タスクに応じて、metassist コマンドと適切なオプションを使用します。

    -c オプションを使用して、ボリュームを実際には作成しないことを指定します。

    # metassist create -s diskset-name -f -r redundancy -a device1, device2... \
     -S size -v verbosity [-c]
    create

    ボリュームを作成するために使用するサブコマンドです。

    -s diskset-name

    ボリュームに使用するディスクセットの名前を指定します。

    -f

    ボリュームとホットスペアを対応付けることを指定します。

    -r redundancy

    作成する冗長レベル (データコピー数) を指定します。

    -a device1, device2...

    ボリュームの作成に使用できるデバイスを指定します。

    -S size

    作成するボリュームのサイズを KB (キロバイト)、MB (メガバイト)、GB (ギガバイト)、または TB (テラバイト) 単位で指定します。

    -v verbosity

    出力の詳細度を指定します。指定できる値の範囲は 0 (出力がほとんどない) から 2 (出力が多い) です。デフォルトレベルは1 (中程度の出力) です。

    -c

    ボリュームを実際には作成しないことを指定します。代わりに、指定した構成を作成するためのシェルスクリプトが、標準出力に送信されます。


    注 - -c 引数によって要求されたシェルスクリプトは標準出力に送信され、metassist コマンドの他の出力は標準エラーに送信されます。出力ストリームは自由にリダイレクトできます。


    詳細は、次の例と metassist(1M) のマニュアルページを参照してください。

例 23-6 metassist コマンドによるコマンドファイル (シェルスクリプト) の作成

次の例では、metassist コマンドを使用して、容量が 10M バイトの 2 面ミラーとホットスペアを作成し、障害耐性を強化する方法を示します。-f オプションで障害耐性を指定します。最後の引数 (-c) で、ボリュームを実際には作成しないことを指定します。代わりに、指定した構成を作成するためのシェルスクリプトが、標準出力に送信されます。

# metassist create -s myset -f -r 2 -S 10mb -c
(output truncated)
.
.
.
Volume request completed successfully.
#!/bin/sh

#
# Environment
#

# Amend PATH
PATH="/usr/sbin:/usr/bin:$PATH"
export PATH

# Disk set name
diskset='myset'

#
# Functions
#

# Echo (verbose) and exec given command, exit on error
execho () {
    test -n "$verbose" && echo "$@"
    "$@" || exit
}

# Get full /dev/rdsk path of given slice
fullpath () {
    case "$1" in
        /dev/dsk/*|/dev/did/dsk/*) echo "$1" | sed 's/dsk/rdsk/' ;;
        /*) echo "$1" ;;
        *) echo /dev/rdsk/"$1" ;;
    esac
}

# Run fmthard, ignore partboot error, error if output
fmthard_special () {
    ignore='Error writing partboot'
    out=`fmthard "$@" 2>&1`
    result=$?
    echo "$out" |
    case "$out" in
        *"$ignore"*) grep -v "$ignore"; return 0 ;;
        '') return "$result" ;;
        *) cat; return 1 ;;
    esac >&2
}

#
# Main
#

# Verify root
if [ "`id | sed 's/^[^(]*(\([^)]*\).*/\1/'`" != root ]
then
    echo "This script must be run as root." >&2
    exit 1;
fi

# Check for verbose option
case "$1" in
    -v) verbose=1 ;;
    *) verbose= ;;
esac
    
# Does the disk set exist?
if metaset -s "$diskset" >/dev/null 2>&1
then
    # Take control of disk set
    execho metaset -s "$diskset" -t
else
    # Create the disk set
    autotakeargs=
    /usr/sbin/clinfo || autotakeargs='-A enable'
    execho metaset -s "$diskset" $autotakeargs -a -h `uname -n | cut -f1 -d.`
fi
    
# Format slices
execho fmthard_special -d 7:0:0:0:0 `fullpath c1t3d0s7`
execho fmthard_special -d 7:0:0:0:0 `fullpath c1t6d0s7`
execho fmthard_special -d 7:0:0:0:0 `fullpath c1t4d0s7`

# Add disks to set
execho metaset -s "$diskset" -a c1t3d0
execho metaset -s "$diskset" -a c1t6d0
execho metaset -s "$diskset" -a c1t4d0

# Format slices
execho fmthard_special -d 0:4:0:10773:17649765 `fullpath c1t3d0s0`
execho fmthard_special -d 0:4:0:10773:17649765 `fullpath c1t6d0s0`
execho fmthard_special -d 0:4:0:10773:17649765 `fullpath c1t4d0s0`
execho fmthard_special -d 1:4:0:17660538:21546 `fullpath c1t3d0s1`
execho fmthard_special -d 1:4:0:17660538:21546 `fullpath c1t4d0s1`
execho fmthard_special -d 1:4:0:17660538:21546 `fullpath c1t6d0s1`

# Does hsp000 exist?
metahs -s "$diskset" -i hsp000 >/dev/null 2>&1 || {
    # Create hsp hsp000
    execho metainit -s "$diskset" hsp000
}

# Add slices to hsp000
execho metahs -s "$diskset" -a hsp000 c1t3d0s1

# Create concat d2
execho metainit -s "$diskset" d2 1 1 c1t4d0s1

# Associate concat d2 with hot spare pool hsp000
execho metaparam -s "$diskset" -h hsp000 d2

# Create concat d1
execho metainit -s "$diskset" d1 1 1 c1t6d0s1

# Associate concat d1 with hot spare pool hsp000
execho metaparam -s "$diskset" -h hsp000 d1

# Create mirror d0
execho metainit -s "$diskset" d0 -m d2 1
execho metattach -s "$diskset" d0 d1
# 

例 23-7 metassist コマンドを使用してコマンドファイル (シェルスクリプト) を保存する

次の例では、metassist コマンドを使用して、容量が 10M バイトの 2 面ミラーとホットスペアを作成し、障害耐性を強化する方法を示します。-f オプションで障害耐性を指定します。最後の引数 (-c) で、ボリュームを実際には作成しないことを指定します。代わりに、指定した構成を作成するためのシェルスクリプトが、標準出力に送信されます。コマンドの最後で、標準出力をリダイレクトして /tmp/metassist-shell-script.sh シェルスクリプトを作成します。これはあとで、指定したボリュームを作成するために使用できます。

# metassist create -s myset -f -r 2 -S 10mb -c > \
 /tmp/metassist-shell-script.sh

metassist コマンドで作成されたシェルスクリプトによるボリュームの作成

metassist コマンドでシェルスクリプトを作成したら、このスクリプトを使ってボリュームを作成できます。ボリュームは、シェルスクリプトの作成時に指定したとおりに作成されます。


注意

注意 - metassist コマンドで作成したコマンドスクリプトは、スクリプトを作成したシステムのその時点の構成に大きく依存しています。このスクリプトを別のシステムで使用したり、このスクリプトをシステム構成の変更後に使用したりすると、データが壊れたり失われたりすることがあります。


保存された metassist コマンドのシェルスクリプトを実行する方法

始める前に

「ボリュームをトップダウン作成するための前提条件」を確認してください。

  1. シェルスクリプトの作成後にシステム構成が変更されていないこと、さらに、スクリプトを実行するシステムがこのスクリプトを作成したシステムであることを確認します。
  2. 保存されたシェルスクリプトを実行します。
    # sh ./metassist-shell-script-name
  3. 新しいボリュームを表示します。
    # metastat -s diskset-name

例 23-8 保存された metassist コマンドのシェルスクリプトを実行する

次の例では、metassist コマンドでシェルスクリプトを使用してボリュームを作成する方法を示します。

# sh ./tmp/metassist-shell-script.sh
myset/hsp000: Hotspare pool is setup
myset/hsp000: Hotspare is added
myset/d2: Concat/Stripe is setup
myset/d1: Concat/Stripe is setup
myset/d0: Mirror is setup
myset/d0: submirror myset/d1 is attached

metassist コマンドによるボリューム構成ファイルの作成

metassist コマンドに -d 引数を指定すると、XML ベースのボリューム構成ファイルが生成されます。このファイルには、ボリュームに関連するすべてのオプションや情報など、ボリュームとそのコンポーネントの詳細が含まれています。このファイルを調べることによって、metassist コマンドが推奨する構成を知ることができます。さらに、このボリューム構成ファイルを慎重に変更して構成を微調整したあと、実際のボリューム作成の際に metassist コマンドへの入力として使用することもできます。

metassist コマンドを使用してボリューム構成ファイルを作成する方法

始める前に

「ボリュームをトップダウン作成するための前提条件」を確認してください。

  1. ボリュームの作成に使用するストレージを特定します。

    ストレージを明示的に指定しなかった場合、システム上の未使用のストレージを Solaris Volume Manager が特定し、必要に応じて使用します。ストレージを指定する場合は、広義 (たとえば、コントローラ 1 のすべてのストレージ) または狭義 (たとえば、c1t4d2 は使用し、c1t4d1 は使用しない) に指定でき、そのストレージが Solaris Volume Manager で使用されます。

  2. タスクに応じて、metassist コマンドと適切なオプションを使用します。

    -d オプションを使用して、ボリュームを実際には作成しないことを指定します。代わりに、XML ベースのボリューム構成ファイルが標準出力に送信されます。

    # metassist create -s diskset-name -f -r redundancy -a device1, device2... \
     -S size -v verbosity [-d]
    create

    ボリュームを作成するために使用するサブコマンドです。

    -s diskset-name

    ボリュームに使用するディスクセットの名前を指定します。

    -f

    ボリュームとホットスペアを対応付けることを指定します。

    -r redundancy

    作成する冗長レベル (データコピー数) を指定します。

    -a device1, device2...

    ボリュームの作成に使用できるデバイスを指定します。

    -S size

    作成するボリュームのサイズを KB (キロバイト)、MB (メガバイト)、GB (ギガバイト)、または TB (テラバイト) 単位で指定します。

    -v verbosity

    出力の詳細度を指定します。指定できる値の範囲は 0 (出力がほとんどない) から 2 (出力が多い) です。デフォルトレベルは1 (中程度の出力) です。

    -d

    ボリュームを実際には作成しないことを指定します。


    注 - -d 引数によって要求された XML ベースのボリューム構成ファイルは標準出力に送信されます。ただし、metassist コマンドの他の出力は標準エラーに送信されます。出力ストリームは自由にリダイレクトできます。


    詳細は、次の例と metassist(1M) のマニュアルページを参照してください。

例 23-9 metassist コマンドを使用してボリューム構成ファイルを作成する

この例では、metassist コマンドを使用して、容量が 10M バイトの 2 面ミラーとホットスペアを作成し、障害耐性を強化する方法を示します。-f オプションで障害耐性を指定します。最後の引数 (-d) で、ボリュームを実際には作成しないことを指定します。代わりに、指定した構成を最終的に作成するためのボリューム構成ファイルが、標準出力に送信されます。

# metassist create -s myset -f -r 2 -S 10mb -d


.(output truncated)
.
.
Volume request completed successfully.
<?xml version="1.0"?>
<!DOCTYPE volume-config SYSTEM "/usr/share/lib/xml/dtd/volume-config.dtd">
 <volume-config>
<diskset name="myset"/>
<disk name="c1t3d0"/>
<disk name="c1t6d0"/>
<disk name="c1t4d0"/>
<slice name="c1t3d0s7" sizeinblocks="0"/>
<slice name="c1t3d0s0" sizeinblocks="17649765" startsector="10773"/>
<slice name="c1t6d0s7" sizeinblocks="0"/>
<slice name="c1t6d0s0" sizeinblocks="17649765" startsector="10773"/>
<slice name="c1t4d0s7" sizeinblocks="0"/>
<slice name="c1t4d0s0" sizeinblocks="17649765" startsector="10773"/>
<hsp name="hsp000">
<slice name="c1t3d0s1" sizeinblocks="21546" startsector="17660538"/>
</hsp>
<mirror name="d0" read="ROUNDROBIN" write="PARALLEL" passnum="1">
<concat name="d2">
<slice name="c1t4d0s1" sizeinblocks="21546" startsector="17660538"/>
<hsp name="hsp000"/>
</concat>
<concat name="d1>
<slice name="c1t6d0s1"sizeinblocks="21546" startsector="17660538"/>
<hsp name="hsp000"/>
</concat>
</mirror>
</volume-config>
# 

例 23-10 metassist コマンドを使用してボリューム構成ファイルを保存する

この例では、metassist コマンドを使用して、容量が 10M バイトの 2 面ミラーとホットスペアを作成し、障害耐性を強化する方法を示します。-f オプションで障害耐性を指定します。最後の引数 (-d) で、ボリュームを実際には作成しないことを指定します。代わりに、指定した構成を最終的に作成するためのボリューム構成ファイルが、標準出力に送信されます。コマンドの最後で、標準出力をリダイレクトして /tmp/metassist-volume-config.xml ボリューム構成ファイルを作成します。これはあとで、指定したボリュームを作成するために使用できます。

# metassist create -s myset -f -r 2 -S 10mb -d >  \
/tmp/metassist-volume-config.xml