Solaris -> Solaris10 -> システム管理

ミラーリング(RAID1)環境の構築

Solaris Volume Manager (SUNWmdr ) を使ってミラーリング(RAID-1)環境の構築を行う。

ディスク構成


今回、ミラーリングを行うディスク環境は以下の通りである。

Disk 1 ( OS インストール済み )

 /dev/dsk/c0d0s0  /
 /dev/dsk/c0d0s1  swap
 /dev/dsk/c0d0s2  backup
 /dev/dsk/c0d0s3  /usr
 /dev/dsk/c0d0s4  /var
 /dev/dsk/c0d0s5  /opt
 /dev/dsk/c0d0s6  /export
 /dev/dsk/c0d0s7  

状態データベース用に /dev/dsk/c0d0s7 を使用する為空けておく。
状態データベースは専用のパーティションが必要な為空きパーティションが無い場合は、swap 領域を削って確保する。
状態データベースの複製容量は 4Mbyte (8192Block x 512byte)を使用するので、2つ複製を作成する事を
考慮すると 10M 程度あれば大丈夫だと思われる。

2Diskによるミラーリングの場合各ディスクの、専用スライスに2個複製を作成する。

サブミラー用ディスクの追加

サブミラー用の Disk 2 を Disk 1 と全く同じパーティション構成にする。 # format コマンドでパーティションの作成を行う。 Disk 2 が表示されない場合は、デバイスの再構築が必要なので以下の何れかのコマンドを実行する。 1. # touch /reconfigure ; init 6 2. # boot -- -r # format AVAILABLE DISK SELECTIONS: 0. c0d0 /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0 1. c0d1 /pci@0,0/pci-ide@7,1/ide@0/cmdk@1,0 Specify disk (enter its number): 0.と1.の 2Diskが認識されている。 追加した、サブミラー用の Disk 1. を選択したパーティションの作成を行う。 パーティション作成後、メニューの label ( write label to the disk )を実行し 書き込みを行う。 全パーティション(s0,s2-s7)ファイルシステムの作成を行う。 # newfs /dev/dsk/c0d1s0 * ファイルシステム作成 # fsck /dev/dsk/c0d1s0 * チェック 以上でディスクの準備は完了

状態データベースの作成

状態データベースとは、ボリュームマネージャの構成に関する情報が格納され、
データクラッシュに備えて複数の状態データベースのコピーを作成する。
状態データベースを作成コマンド

 作成 -f * 強制 既にマウントされているディスクを指定する場合
                          -c * 複製の数 
# metadb -a -f -c 2 c0d0s7 c0d1s7

 確認
# metadb
        flags           first blk       block count
     a m  p  luo        16              8192            /dev/dsk/c0d0s7
     a    p  luo        8208            8192            /dev/dsk/c0d0s7
     a    p  luo        16              8192            /dev/dsk/c0d1s7
     a    p  luo        8208            8192            /dev/dsk/c0d1s7
#

  ※ 削除する場合は、 # metadb -d c0d0s7 c0d1s7 

ミラーリング設定

ミラーリングのボリュームを作成する際の、ボリューム名を以下の通りとする。

スライス  ボリューム名    サブミラー1   サブミラー2 
-----------------------------------------------------
/          d10            d11(c0d0s0)   d12(c0d1s0) 
swap       d20            d21(c0d0s1)   d22(c0d1s1) 
/usr       d30            d31(c0d0s3)   d32(c0d1s3) 
/var       d40            d41(c0d0s4)   d42(c0d1s4) 
/opt       d50            d51(c0d0s5)   d52(c0d1s5) 
/export    d60            d61(c0d0s6)   d62(c0d1s6) 

(/)ルートのみ手順が異なるので間違わないように。

(/)ルート ボリュームの作成

# metainit -f d11 1 1 c0d0s0
# metainit d12 1 1 c0d1s0
# metainit d10 -m d11
# metaroot d10
# lockfs -fa

/etc/vfstabの内容 * (/) の部分。自動で書き換わる
/dev/md/dsk/d10 /dev/md/rdsk/d10        /       ufs     1       no      -

#reboot

# metattach d10 d12    同期が開始する

# metastat d10 状態確認

(/)ルート以外の ボリュームの作成 * /usr の例

# metainit -f d31 1 1 c0d0s3
# metainit d32 1 1 c0d1s3
# metainit d30 -m d31

/etc/vfstabの内容 * (/) の部分。手動で書き換え
/dev/md/dsk/d30 /dev/md/rdsk/d30        /usr    ufs     1       no      -

#reboot

# metattach d30 d32    同期が開始する

# metastat d30 状態確認

※ 全パーティション繰り返し行う。

状態の確認

# metastat
d60: ミラー
    サブミラー 0: d61
      状態: 正常
    サブミラー 1: d62
      状態: 正常
    パス: 1
    読み込みオプション: roundrobin (デフォルト)
    書き込みオプション: parallel (デフォルト)
    サイズ: 1060290 ブロック (517 MB)

d61: d60 のサブミラー
    状態: 正常
    サイズ: 1060290 ブロック (517 MB)
    ストライプ 0:
        デバイス   開始ブロック Dbase         状態 Reloc ホットスペア
        c0d0s6            0     No            正常   Yes


d62: d60 のサブミラー
    状態: 正常
    サイズ: 1060290 ブロック (517 MB)
    ストライプ 0:
        デバイス   開始ブロック Dbase         状態 Reloc ホットスペア
        c0d1s6            0     No            正常   Yes


d50: ミラー
    サブミラー 0: d51
      状態: 正常
    サブミラー 1: d52
      状態: 正常
    パス: 1
    読み込みオプション: roundrobin (デフォルト)
    書き込みオプション: parallel (デフォルト)
    サイズ: 1060290 ブロック (517 MB)

d51: d50 のサブミラー
    状態: 正常
    サイズ: 1060290 ブロック (517 MB)
    ストライプ 0:
        デバイス   開始ブロック Dbase         状態 Reloc ホットスペア
        c0d0s5            0     No            正常   Yes


d52: d50 のサブミラー
    状態: 正常
    サイズ: 1060290 ブロック (517 MB)
    ストライプ 0:
        デバイス   開始ブロック Dbase         状態 Reloc ホットスペア
        c0d1s5            0     No            正常   Yes


d40: ミラー
    サブミラー 0: d41
      状態: 正常
    サブミラー 1: d42
      状態: 正常
    パス: 1
    読み込みオプション: roundrobin (デフォルト)
    書き込みオプション: parallel (デフォルト)
    サイズ: 2104515 ブロック (1.0 GB)

d41: d40 のサブミラー
    状態: 正常
    サイズ: 2104515 ブロック (1.0 GB)
    ストライプ 0:
        デバイス   開始ブロック Dbase         状態 Reloc ホットスペア
        c0d0s4            0     No            正常   Yes


d42: d40 のサブミラー
    状態: 正常
    サイズ: 2104515 ブロック (1.0 GB)
    ストライプ 0:
        デバイス   開始ブロック Dbase         状態 Reloc ホットスペア
        c0d1s4            0     No            正常   Yes


d30: ミラー
    サブミラー 0: d31
      状態: 正常
    サブミラー 1: d32
      状態: 正常
    パス: 1
    読み込みオプション: roundrobin (デフォルト)
    書き込みオプション: parallel (デフォルト)
    サイズ: 11068785 ブロック (5.3 GB)

d31: d30 のサブミラー
    状態: 正常
    サイズ: 11068785 ブロック (5.3 GB)
    ストライプ 0:
        デバイス   開始ブロック Dbase         状態 Reloc ホットスペア
        c0d0s3            0     No            正常   Yes


d32: d30 のサブミラー
    状態: 正常
    サイズ: 11068785 ブロック (5.3 GB)
    ストライプ 0:
        デバイス   開始ブロック Dbase         状態 Reloc ホットスペア
        c0d1s3            0     No            正常   Yes


d20: ミラー
    サブミラー 0: d21
      状態: 正常
    サブミラー 1: d22
      状態: 正常
    パス: 1
    読み込みオプション: roundrobin (デフォルト)
    書き込みオプション: parallel (デフォルト)
    サイズ: 1574370 ブロック (768 MB)

d21: d20 のサブミラー
    状態: 正常
    サイズ: 1574370 ブロック (768 MB)
    ストライプ 0:
        デバイス   開始ブロック Dbase         状態 Reloc ホットスペア
        c0d0s1            0     No            正常   Yes


d22: d20 のサブミラー
    状態: 正常
    サイズ: 1574370 ブロック (768 MB)
    ストライプ 0:
        デバイス   開始ブロック Dbase         状態 Reloc ホットスペア
        c0d1s1            0     No            正常   Yes


d10: ミラー
    サブミラー 0: d11
      状態: 正常
    サブミラー 1: d12
      状態: 正常
    パス: 1
    読み込みオプション: roundrobin (デフォルト)
    書き込みオプション: parallel (デフォルト)
    サイズ: 1574370 ブロック (768 MB)

d11: d10 のサブミラー
    状態: 正常
    サイズ: 1574370 ブロック (768 MB)
    ストライプ 0:
        デバイス   開始ブロック Dbase         状態 Reloc ホットスペア
        c0d0s0            0     No            正常   Yes


d12: d10 のサブミラー
    状態: 正常
    サイズ: 1574370 ブロック (768 MB)
    ストライプ 0:
        デバイス   開始ブロック Dbase         状態 Reloc ホットスペア
        c0d1s0            0     No            正常   Yes


Device Relocation Information:
Device   Reloc  Device ID
c0d1   はい     id1,cmdk@AVMware_Virtual_IDE_Hard_Drive=01000000000000000001
c0d0   はい     id1,cmdk@AVMware_Virtual_IDE_Hard_Drive=00000000000000000001
#

保守

集合リストの確認

# metastat -p
d60 -m d61 d62 1
d61 1 1 c0d0s6
d62 1 1 c0d1s6
d50 -m d51 d52 1
d51 1 1 c0d0s5
d52 1 1 c0d1s5
d40 -m d41 d42 1
d41 1 1 c0d0s4
d42 1 1 c0d1s4
d30 -m d31 d32 1
d31 1 1 c0d0s3
d32 1 1 c0d1s3
d20 -m d21 d22 1
d21 1 1 c0d0s1
d22 1 1 c0d1s1
d10 -m d11 d12 1
d11 1 1 c0d0s0
d12 1 1 c0d1s0
#

サブミラーの交換

# metadetach -f d30 d32    サブミラーを切り離す
# metaclear -f d32         サブミラーを削除

ディスクを交換

# metainit d32 1 1 c0d2s3  新しいミラーを作成
# metattach d30 d32        サブミラーを接続

smc による状態の確認

Solaris10から追加になった SMC (Solaris Management Console)によって GUI で
RAIDのディスク状態の確認ができる。

# smc & でコンソールを起動する。

管理コンソールによる状態の確認

サービス管理

関連する FMRI

・network/rpc/meta メインプロセス # svcs -p svc:/network/rpc/meta:default STATE STIME FMRI online 13:20:13 svc:/network/rpc/meta:default 13:20:21 437 rpc.metad # # svcs -l svc:/network/rpc/meta:default fmri svc:/network/rpc/meta:default name SVM remote metaset services 有効 true 状態 online next_state none state_time 2007年05月18日 (金) 13時20分13秒 リスタータ svc:/network/inetd:default contract_id 63 dependency require_all/restart svc:/network/rpc/bind (online) # ・system/metainit ・system/mdmonitor

先頭へ

      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google