title
わたしの日記は日々の出来事の鬱憤晴らしの毒だし日記がメインです。 相当病んでいます。くだを巻いています。許容出来る方のみのアクセスをお願いします。 また、この日記へのリンクは原則自由にして頂いても結構ですが、 写真への直リンクを張るのはご遠慮下さい。内容に関しては、一切保証致しません。
カテゴリ一覧 Network, Internet, IPv6, DC, NTT, Comp, Linux, Debian, FreeBSD, Windows, Server, Security, IRC, 大学, Neta, spam, , 生活, 遊び, Drive, TV, 仕事,
過去日記:





2009年04月25日() [晴れ]

[Comp][FreeBSD][スキルチャージ] 1TBのHDD3台、CWRS3-BK を買ってきた

静岡のデータバックアップサーバ兼、DHCPサーバ(各vlan10個ぐらいに配っている)マシンのHDDが足りなくなり、しのぎしのぎ運用していたが、もう限界に来たのと、ストレージサーバを設置するということで、WDの1TB2本、Seagateの1TBを1本買ってきました。

メインマシンには、去年購入した750GBのSeagateのHDDがついており、これを新しいHDDに交換し、バックアップサーバに750GBのHDDを取り付けることにしました。
これで、バックアップ容量が750GBとなる予定です。

バックアップサーバにはFreeBSD7.1が入っており、zfsで運用しています。
zfsを使いたかったのは、スナップショットの作成ができるため、世代バックアップを行うことができるからです。
Solarisを使わなかったのは、私が単純に嫌いなのと、いろいろと作りこむとき面倒なので、FreeBSDにしました。
portsでいろいろといれれるし、configureオプションをかえれるので..

で、オンラインのまま、HDDを交換してみたので手順を書いてみます。

まず、新しいHDDを取り付けるのと、バスを変更したくなかったので、次のようにしました。

# zpool export bk1
# atacontrol list
  ATA channel 0:
      Master:      no device present
      Slave:   ad1 <ST3400832A/3.01> ATA/ATAPI revision 7
  ATA channel 1:
      Master:      no device present
      Slave:       no device present
  ATA channel 2:
      Master:  ad4 <Maxtor 6V300F0/VA111900> Serial ATA II
      Slave:       no device present
  ATA channel 3:
      Master:      no device present
      Slave:       no device present
  ATA channel 4:
      Master:      no device present
      Slave:       no device present
  ATA channel 5:
      Master:      no device present
      Slave:       no device present
# atacontrol detach ata2
# atacontrol list
  ATA channel 0:
      Master:      no device present
      Slave:   ad1 <ST3400832A/3.01> ATA/ATAPI revision 7
  ATA channel 1:
      Master:      no device present
      Slave:       no device present
  ATA channel 2:
      Master:      no device present
      Slave:       no device present
  ATA channel 3:
      Master:      no device present
      Slave:       no device present
  ATA channel 4:
      Master:      no device present
      Slave:       no device present
  ATA channel 5:
      Master:      no device present
      Slave:       no device present

そして、ディスクの交換および取り付けをすると、自動的に認識してくれます。
dmesg をみれば、次のように検出しているので、atacontol list でも確認ができます。

 ad4: 715404MB <Seagate ST3750330AS SD1A> at ata2-master SATA150
 ad6: 286188MB <Maxtor 6V300F0 VA111900> at ata3-master SATA300
# atacontrol list
ATA channel 0:
    Master:      no device present
    Slave:   ad1 <ST3400832A/3.01> ATA/ATAPI revision 7
ATA channel 1:
    Master:      no device present
    Slave:       no device present
ATA channel 2:
    Master:  ad4 <ST3750330AS/SD1A> Serial ATA v1.0
    Slave:       no device present
ATA channel 3:
    Master:  ad6 <Maxtor 6V300F0/VA111900> Serial ATA II
    Slave:       no device present
ATA channel 4:
    Master:      no device present
    Slave:       no device present
ATA channel 5:
    Master:      no device present
    Slave:       no device present

ここまで正常に確認ができれば、あとは、zpoolのimportおよびattachをします。
今回、古いHDDは、ad6となっていますので、importした後に確認。
そして、新しく取り付けたHDDをattachします。

# zpool import -a
# zpool status
  pool: bk1
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        bk1         ONLINE       0     0     0
          ad6s1     ONLINE       0     0     0

errors: No known data errors

# zpool attach bk1 ad6s1 ad4

これで、ディスクを丸々使ってくれるようになります。
成功すると、次のような結果になります。

# zpool status
  pool: bk1
 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, 0.00% done, 206h40m to go
config:

        NAME        STATE     READ WRITE CKSUM
        bk1         ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            ad6s1   ONLINE       0     0     0
            ad4     ONLINE       0     0     0

うーん。206時間もかかるよ。ママンorz
てことで、しばらく時間を置いて改めて試してみます。

# zpool status
  pool: bk1
 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, 6.96% done, 3h39m to go
config:

        NAME        STATE     READ WRITE CKSUM
        bk1         ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            ad6s1   ONLINE       0     0     0
            ad4     ONLINE       0     0     0

では、どれぐらいの速度が出ているか、見てみましょう。
速度を調べるには、zfs iostat 1 および iostat 1を使ってみるとよいです。
zfs iostat は、ファイルシステム的に出ている速度、iostat は、デバイス的に出ている速度がわかります。

# zpool iostat 1 |grep -v s1
               capacity     operations    bandwidth
pool         used  avail   read  write   read  write
bk1          274G  4.34G    803     65  18.5M   198K
bk1          274G  4.34G    396     25  40.8M  37.4K
bk1          274G  4.34G    379     21  39.3M  29.0K
bk1          274G  4.34G    510      4  62.8M  25.5K
bk1          274G  4.34G    437      3  53.9M  24.0K
bk1          274G  4.34G    404     59  27.8M  62.4K
bk1          274G  4.34G    354     16  35.5M  21.5K
bk1          274G  4.34G    491      4  60.3M  29.5K
bk1          274G  4.34G    506      3  62.2M  24.0K
bk1          274G  4.34G    397      3  47.9M  19.0K
# iostat 1
      tty             ad1              ad6              ad4             cpu
 tin tout  KB/t tps  MB/s   KB/t tps  MB/s   KB/t tps  MB/s  us ni sy in id
   1   75 17.49   2  0.03  50.72 386 19.10  38.62 468 17.64   0  0 10  1 89
   0  231  0.00   0  0.00  50.19 453 22.19  37.96 529 19.59   0  0 25  1 74
   0   77  0.00   0  0.00  52.46 518 26.55  44.65 574 25.03   0  0 14  1 85
   0   77  0.00   0  0.00  47.83 523 24.45  46.00 489 21.95   0  0 12  1 86
   0   77  0.00   0  0.00  55.29 681 36.79  55.16 700 37.73   0  0 16  0 84
   0   77  0.00   0  0.00  44.38 328 14.20  33.93 347 11.49   0  0  4  1 94
   0   77  0.00   0  0.00  46.85 418 19.15  35.05 490 16.78   0  0 15  1 85
   0   77  0.00   0  0.00  28.40 457 12.67  11.57 732  8.28   0  0 29  1 70
   0   77  0.00   0  0.00  35.52 486 16.84  19.33 569 10.75   0  0 20  0 80

おおよそ、20-30MB/sぐらい出ていることがわかります。また、iostatは、物理デバイス単位でわかるため便利です。
ただ、Read/Writeが別々にわからないのですが、どうやれば取れるのかはちょっとわかりません。
manを見た限りでは見つけれなかった...

最後に、mirrorが終わった後に、古いHDDをdetachして、atacontrol で切り離しで切断すれば、再起動なしに作業が完了できるというわけです。
zfsでは、自動的にボリュームサイズが大きくなるため、交換作業が非常に楽になります。
mirrorしている場合、一番小さいディスクのサイズがボリュームサイズになりますが、小さいディスクが無くなれば、 そのセットの中で次に、一番小さいHDDのサイズにボリュームサイズが自動的に拡大されるはずなので、1本のディスクしかなければ、自動的にそのサイズになるという寸法です。てことで、zfsいいよ、zfs !


 2009.04.26 追記:

ということで、今朝の5時過ぎに終わったようです。

# zpool status
  pool: bk1
 state: ONLINE
 scrub: resilver completed with 0 errors on Sun Apr 26 05:08:17 2009
config:

        NAME        STATE     READ WRITE CKSUM
        bk1         ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            ad6s1   ONLINE       0     0     0
            ad4     ONLINE       0     0     0

errors: No known data errors
# zpool list
NAME SIZE    USED   AVAIL    CAP  HEALTH     ALTROOT
bk1                     278G    274G   4.34G    98%  ONLINE     -

現在、ad4が750GB、ad6が300GBの玉でミラーが完成した状態ですが、古い玉をdetachして見ましょう。

# zpool detach bk1 ad6s1
# zpool status
  pool: bk1
 state: ONLINE
 scrub: resilver completed with 0 errors on Sun Apr 26 05:08:17 2009
config:

        NAME        STATE     READ WRITE CKSUM
        bk1         ONLINE       0     0     0
          ad4       ONLINE       0     0     0

errors: No known data errors
# zpool list
NAME SIZE    USED   AVAIL    CAP  HEALTH     ALTROOT
bk1                     698G    274G    424G    39%  ONLINE     -

こんな感じで大きくなりました。ボリュームが拡大されたので、次ミラーを作るときは、現在のより大きいディスクを取り付け、交換していくと、ボリュームを徐々に大きくしていくことができます。zfsの素敵なところです。

では、HDDを取り外してみたいと思います。
現在は次のように接続されているので、その一覧を取得します。

# atacontrol list
ATA channel 0:
    Master:      no device present
    Slave:   ad1 <ST3400832A/3.01> ATA/ATAPI revision 7
ATA channel 1:
    Master:      no device present
    Slave:       no device present
ATA channel 2:
    Master:  ad4 <ST3750330AS/SD1A> Serial ATA v1.0
    Slave:       no device present
ATA channel 3:
    Master:  ad6 <Maxtor 6V300F0/VA111900> Serial ATA II
    Slave:       no device present
ATA channel 4:
    Master:      no device present
    Slave:       no device present
ATA channel 5:
    Master:      no device present
    Slave:       no device present

では、detach して、また一覧を取得してみましょう。

# atacontrol detach ata3

subdisk6: detached
ad6: detached

# atacontrol list
ATA channel 0:
    Master:      no device present
    Slave:   ad1 <ST3400832A/3.01> ATA/ATAPI revision 7
ATA channel 1:
    Master:      no device present
    Slave:       no device present
ATA channel 2:
    Master:  ad4 <ST3750330AS/SD1A> Serial ATA v1.0
    Slave:       no device present
ATA channel 3:
    Master:      no device present
    Slave:       no device present
ATA channel 4:
    Master:      no device present
    Slave:       no device present
ATA channel 5:
    Master:      no device present
    Slave:       no device present

あとは、そのまま切断してもかまいません。
SATAはホットスワップに対応しているものを使用する必要がありますが、ほとんどの場合は何とかなってしまいます。
ただし、対応といっていないものもできてしまいますので、できたからといってご自身での責任をの上、作業を行ってください。

参考リンクとして、 atacontrolがあげられます。zfsについては、頭の中に資料があり、どっかで呼んだ記憶が無いので、有用な情報があればリンクをよろしくですw

m-bird  『FreeBSDでzfsってまだ怖くないですか、、、?』
tomocha  『7.0 の時はいろいろとありましたが、7.1以降ちょっとチューニングとノウハウは必要ですけど、安定して動いています。zfs bootしているわけでもないし。 データストアとして、zfsをつかっていますが、特に困っていませんねぇ。~ ただ、zfsのバージョンが古いので、いろいろとzfsのおいしい機能が無かったりして、ちょっと切なかったですが、7.1では、gzip圧縮も使えるようになっていますし。zfs version11だったかな?』
m-bird  『まじですかー。 初期は各所から悲鳴が上がってて、「8か9にならないとダメかなー」と思ってたのですけれど(苦笑 怖い怖い言って触ってなかったので、6.4から7系に上げた時に試してみます〜』
[ コメントを読む(3) | コメントする ]

[Comp][Solaris][スキルチャージ] ストレージサーバ構築

Microsoftであたった、ML110をストレージサーバとして構築してみました。
OSには、OpenSolarisを入れて、zfsを使ってみます。

ML110

そのために、ホットスワップができることが必要条件だったために、 CENTURY:3代目 技あり!楽ラック!(CWRS3-BK)を購入し、2台のHDDを取り付けミラーを行うことにしました。

目的はiscsi/samba/nfsの三つ。
あとは、もう一台のML115にvmware esx3iをいれ、そこに、Windows2008Serverを入れて、例のイベントの環境が出来上がりとなります。

いま、VMWareServer1.0Xの環境をごっそりとそちらへ移動、その他サーバがNFSの入れ子状態になっていたり、RAIDになっていなかったりするサーバ類もあるので、今回まとめてこのストレージサーバに一任させることにしました。
そのため、サービスにも使用しているため、非常に重要な役割となります。
最初、いま、部屋に転がって遊んでいるDL320sを使おうとしましたが、うるさい、電気喰う、ということで、しばらくはパフォーマンスが足りなくなるまでこの構成で運用する予定です。
さらにパフォーマンスが足りなくなったときには、DL320を突っ込みましょう。それまでのお預けです。
自宅データセンター?では無いけれども、普通じゃない環境が着々と構築されていくのですね。。
これで、不安だったストレージ関係がすっきりするでしょう。枕を高くして安心して寝れるかも。
本当は年末にしたかったのですが、ものが手に入らなく、あきらめていました。。。

ヒロシ@hiroshi.in  『楽ラックいいですね! うちのMLもホットスワップなしなので、どうしようか考えてたんですが私もこれにしようかな〜』
[ コメントを読む(1) | コメントする ]

Diary for 1 day(s)
Powered by hns HyperNikkiSystem Project




(c) Copyright 1998-2014 tomocha. All rights reserved.