世界線航跡蔵

Mad web programmerのYuguiが技術ネタや日々のあれこれをお送りします。

2010年02月04日

Sunのワークステーションにハードディスク追加

以前、SunのBlade 1000を買った。これにハードディスクを追加して、今システムが入ってる古いディスクとmirror化したい。

状況

先日これにSolaris 10をクリーンインストールして、このときファイルシステムはZFSにした。ちなみに、インストールの参考にしたのは『はじめてのSolaris 10』 である。

さて、今日、このマシンにハードディスクを追加した。接続はFC-ALで、サイズは新旧ともに73GBである。物理的な取り付けの方法はSunのマニュアルに絵入りで書いてある。その通りにした。

認識

取り付けて起動すると、その時点でカーネルはディスクの存在を認識している。dmesg(1)を見ると、起動時になにやら追加したディスクのファイバーチャネルWWNが出てきている。ただ、デバイスファイルは自動的には作成されない物らしい。okプロンプトからboot -rして、-r付きで起動すると作成される。

# sync; sync; sync; init 0
ok boot -r

再起動後/dev/dsk以下を見るとエントリが増えていて、新しいディスクはc1t2d0s0として認識されている。

% ls /dev/dsk
c0t6d0s0@  c0t6d0s2@  c0t6d0s4@  c0t6d0s6@  c1t1d0s0@  c1t1d0s2@  c1t1d0s4@  c1t1d0s6@  c1t2d0s0@  c1t2d0s2@  c1t2d0s4@  c1t2d0s6@
c0t6d0s1@  c0t6d0s3@  c0t6d0s5@  c0t6d0s7@  c1t1d0s1@  c1t1d0s3@  c1t1d0s5@  c1t1d0s7@  c1t2d0s1@  c1t2d0s3@  c1t2d0s5@  c1t2d0s7@

パーティションテーブル

format(1)で見るには、追加ディスクはUFS形式で使うように既にスライスを切ってあるらしい。

Part      Tag    Flag     Cylinders         Size            Blocks
  0       root    wm       0 -   824        4.00GB    (825/0/0)     8395200
  1       swap    wu     825 -  2473        8.00GB    (1649/0/0)   16780224
  2     backup    wm       0 - 14086       68.35GB    (14087/0/0) 143349312
  3 unassigned    wm    2474 -  4534       10.00GB    (2061/0/0)   20972736
  4 unassigned    wm    4535 -  6595       10.00GB    (2061/0/0)   20972736
  5 unassigned    wm    6596 - 10717       20.00GB    (4122/0/0)   41945472
  6 unassigned    wm   10718 - 14065       16.25GB    (3348/0/0)   34069248
  7 unassigned    wm       0                0         (0/0/0)             0

一方、今システムが入ってる古いディスクは全部が第0スライスに割り当てられている。

Part      Tag    Flag     Cylinders         Size            Blocks
  0       root    wm       0 - 14086       68.35GB    (14087/0/0) 143349312
  1 unassigned    wm       0                0         (0/0/0)             0
  2     backup    wm       0 - 14086       68.35GB    (14087/0/0) 143349312
  3 unassigned    wm       0                0         (0/0/0)             0
  4 unassigned    wm       0                0         (0/0/0)             0
  5 unassigned    wm       0                0         (0/0/0)             0
  6 unassigned    wm       0                0         (0/0/0)             0
  7 unassigned    wm       0                0         (0/0/0)             0

これはSolarisのインストーラーが作成したものだけれども、要はディスク全体をZFS poolに突っ込んでるわけだ。これに従えばいいだろうと思って、新しいディスクも同様の切り方にした。

ZFS

で、できたスライスをZFS poolに追加する。

% sudo /usr/sbin/zpool status
  pool: rpool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        rpool       ONLINE       0     0     0
          c1t1d0s0  ONLINE       0     0     0

errors: No known data errors

これが今の状況で、c1t1d0s0と新しいディスク(c1t2d0s0)をミラー化したいので次のようにする。

% sudo /usr/sbin/zpool attach rpool c1t1d0s0 c1t2d0s0
invalid vdev specification
use '-f' to override the following errors:
/dev/dsk/c1t2d0s0 contains a ufs filesystem.

なんか怒られる。ちょっと恐いけれども、-fしてみよう。

% sudo /usr/sbin/zpool attach -f rpool c1t1d0s0 c1t2d0s0
Please be sure to invoke installboot(1M) to make 'c1t2d0s0' bootable.

すると、今度はうまくいく。ディスクが同期を始めたらしく、アクセス音がする。状況を見てみると次のようになっている。

% sudo /usr/sbin/zpool status
  pool: rpool
 state: ONLINE
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
 scrub: resilver in progress for 0h0m, 4.25% done, 0h11m to go
config:

        NAME          STATE     READ WRITE CKSUM
        rpool         ONLINE       0     0     0
          mirror      ONLINE       0     0     0
            c1t1d0s0  ONLINE       0     0     0
            c1t2d0s0  ONLINE       0     0     0  526M resilvered

errors: No known data errors

弾さんも言ってたけど、ZFSはメッセージが丁寧だね。

そして、しばらく待つと同期が終わったようであった。

% sudo /usr/sbin/zpool status
  pool: rpool
 state: ONLINE
 scrub: resilver completed after 0h11m with 0 errors on Thu Feb  4 20:56:44 2010
config:

        NAME          STATE     READ WRITE CKSUM
        rpool         ONLINE       0     0     0
          mirror      ONLINE       0     0     0
            c1t1d0s0  ONLINE       0     0     0
            c1t2d0s0  ONLINE       0     0     0  12.1G resilvered

errors: No known data errors

ブート情報

attachしたときに、zpoolがinstallbootがどうとか言っていた。このへんかな? そのままだと追加した方のディスクからは起動できないから、いざというときのためにブート情報を書き込むわけね。

案内通り次のようにする。

# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t2d0s0

で、一応終わりだと思われる。

参考

はじめてのSolaris 10―オープン・ソースになった最新OSを使いこなす! (IO BOOKS)

著者
今井 悟志
表題
はじめてのSolaris 10―オープン・ソースになった最新OSを使いこなす! (IO BOOKS)
出版者
工学社
ASIN
4777512304
価格

トラックバック

http://yugui.jp/articles/854/ping

現在のところトラックバックはありません

コメント

blog comments powered by Disqus

ご案内

前の記事
次の記事

タグ一覧

過去ログ

  1. 2016年07月
  2. 2016年01月
  3. 2015年09月
  4. 2015年08月
  5. 過去ログ一覧

フィード

フィードとは

その他

Powered by "rhianolethe" the blog system