HOME / コンピュータTips / Solaris / zfs / ディスクの交換(非冗長化ディスクをアップグレード)

Date: 2009/06/18 |  このエントリーをはてなブックマークに追加  |  Tags: Solaris, OpenSolaris, zfs, zpool, replace, ディスク, 交換, アップグレード, 容量違い

事例:ワーク用のHDDが足りないので付け替え

私のThinkpadT61は当然ベアメタルでOpenSolarisがインストールされておりますが、rpool(ブート、その他のメイン用)として高速なディスクが、それ以外のストレージとしてdpoolを作っています。

dpoolは200G程あるのですが、RAIDもミラーもされておらず、実はrpoolのバックアップがzfs send / zfs recvでファイルシステム単位でコピーされているだけでなく、いろんなデータのisoイメージや、DimensionPlusのアーカイブ等々がギガ単位で消えていくので、あっという間に無くなっていってしまいます。

というわけで200Gのちょっと高速なHDD(7200rpm)から、500Gの安価なHDD(5400rpm)に置き換えてみました。

 

今回のミッションは

  • ウルトラベイ(SATA)につけている200GのHDDを500GBに置き換える。です。

移行プラン

  1. 移行後の500GB HDDをUSBに接続する
  2. zpool replaceを利用し、ベイの200GBとUSBの500GBを取り替える
  3. どちらのHDDもexportし、ベイに500GのHDDを入れる。

ZFSはディスクの取り替えも簡単

まずは現在の状況を見ます。

 zpool status
  プール: dpool
 状態: ONLINE
状態: このプールはディスク上の古い形式を使用してフォーマットされています。

プールは引き続き使用できますが、一部の機能は利用できません。

アクション: 'zpool upgrade' を使用してプールをアップグレードします。この操作を実行すると、

以前のバージョンのソフトウェアからプールにアクセスできなくなります。

 スクラブ: 何も要求されませんでした
構成:

NAME STATE READ WRITE CKSUMdpool ONLINE 0 0 0c3d0p0 ONLINE 0 0 0

エラー: 既知のデータエラーはありません

  プール: rpool
 状態: ONLINE
 スクラブ: 何も要求されませんでした
構成:

NAME STATE READ WRITE CKSUMrpool ONLINE 0 0 0c4t0d0s0 ONLINE 0 0 0

エラー: 既知のデータエラーはありません

置き換えるのは、c3d0p0です。

追加したデバイスの確認をします。

pfexec format
Searching for disks...done

AVAILABLE DISK SELECTIONS:

0. c3d0 <drive type unknown>/pci@0,0/pci-ide@1f,1/ide@0/cmdk@0,01. c4t0d0 <DEFAULT cyl 15586 alt 2 hd 255 sec 63>/pci@0,0/pci17aa,20a7@1f,2/disk@0,02. c7t0d0 <DEFAULT cyl 60799 alt 2 hd 255 sec 63>/pci@0,0/pci17aa,20ab@1d,7/storage@1/disk@0,0

Specify disk (enter its number): ^C

なるほど、c7t0d0が追加されたディスクなんですな。

つまり、

  • c3d0p0c7t0d0を入れ替えるのが今回のミッションです。

現在の状況を見ます。

zpool list
NAME    SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
dpool   186G   165G  20.9G    88%  ONLINE  -
rpool   119G  93.3G  25.7G    78%  ONLINE  -

rpoolがシステム用で今回は無視するところ。dpoolが拡張用ストレージ(通称掃きだめ)です。もはや、いっぱいいっぱいになりつつあります。

では取り替えおまじない・・・

pfexec zpool replace dpool /dev/dsk/c3d0p0 /dev/dsk/c7t0d0 

簡単すぎる・・・すぐ終わります。ジョブが投げられた状態なので普通にdpoolにこの後もアクセスが可能です。

再びリストをとります。

pfexec zpool list
NAME    SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
dpool   186G   165G  20.9G    88%  ONLINE  -
rpool   119G  93.3G  25.7G    78%  ONLINE  -

かわりません。

ステータスを見てみます。

 pfexec zpool status
  プール: dpool
 状態: ONLINE
状態: 1 つまたは複数のデバイスの再同期化が進行中です。

プールはおそらく縮退状態で動作を継続します。

アクション: 再同期化が完了するまでお待ちください。
 スクラブ: resilver in progress for 0h0m, 0.23% done, 4h40m to go
構成:

NAME STATE READ WRITE CKSUMdpool ONLINE 0 0 0replacing ONLINE 0 0 0c3d0p0 ONLINE 0 0 0c7t0d0 ONLINE 0 0 0 388M resilvered

エラー: 既知のデータエラーはありません

  プール: rpool
 状態: ONLINE
 スクラブ: 何も要求されませんでした
構成:

NAME STATE READ WRITE CKSUMrpool ONLINE 0 0 0c4t0d0s0 ONLINE 0 0 0

エラー: 既知のデータエラーはありません

おお!

上記、ここがポイントです

状態: 1 つまたは複数のデバイスの再同期化が進行中です。

プールはおそらく縮退状態で動作を継続します。

アクション: 再同期化が完了するまでお待ちください。
 スクラブ: resilver in progress for 0h0m, 0.23% done, 4h40m to go

スクラブをしており、今、0.23%しかすんでいないことがわかります。

裏ではこんな勢いです。

iostat -Yn 1
   r/s    w/s   kr/s   kw/s wait actv wsvc_t asvc_t  %w  %b device
 468.6    0.0 19387.4    0.0  1.2  0.8    2.5    1.7  29  45 c3d0
   0.0    2.0    0.0    8.0  0.0  0.0    0.0    0.8   0   0 c4t0d0
   0.0  513.8    0.0 19522.6 11.6  2.9   22.6    5.7  96  99 c7t0d0

見ての通り20MB/SEC程度でコピー中。USB2だとまぁこんなもんです。

途中はこんな感じ・・・・

pfexec zpool status
  プール: dpool
 状態: ONLINE
状態: 1 つまたは複数のデバイスの再同期化が進行中です。

プールはおそらく縮退状態で動作を継続します。

アクション: 再同期化が完了するまでお待ちください。
 スクラブ: resilver in progress for 2h15m, 93.31% done, 0h9m to go
構成:

NAME STATE READ WRITE CKSUMdpool ONLINE 0 0 0replacing ONLINE 0 0 0c3d0p0 ONLINE 0 0 0c7t0d0 ONLINE 0 0 0 154G resilvered

エラー: 既知のデータエラーはありません

  プール: rpool
 状態: ONLINE
 スクラブ: 何も要求されませんでした
構成:

NAME STATE READ WRITE CKSUMrpool ONLINE 0 0 0c4t0d0s0 ONLINE 0 0 0

エラー: 既知のデータエラーはありません

もりもりやってますね。後もう少し!

pfexec zpool status
  プール: dpool
 状態: ONLINE
状態: このプールはディスク上の古い形式を使用してフォーマットされています。

プールは引き続き使用できますが、一部の機能は利用できません。

アクション: 'zpool upgrade' を使用してプールをアップグレードします。この操作を実行すると、

以前のバージョンのソフトウェアからプールにアクセスできなくなります。

 スクラブ: resilver completed after 2h26m with 0 errors on Wed Jun 17 22:25:20 2009
構成:

NAME STATE READ WRITE CKSUMdpool ONLINE 0 0 0c7t0d0 ONLINE 0 0 0 165G resilvered

エラー: 既知のデータエラーはありません

  プール: rpool
 状態: ONLINE
 スクラブ: 何も要求されませんでした
構成:

NAME STATE READ WRITE CKSUMrpool ONLINE 0 0 0c4t0d0s0 ONLINE 0 0 0

エラー: 既知のデータエラーはありません

おわったぁ!

結局2時間半程度で終わりました。早いですね。

ディスクは増えてるんでしょうか?

zpool list
NAME    SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
dpool   465G   165G   300G    35%  ONLINE  -
rpool   119G  93.0G  26.0G    78%  ONLINE  -

増えています!

ディスクを取り外します。

pfexec zpool export 

無事取り外したら、ベイに付け替えます。

pfexec zpool import dpool

確認します。

zpool list
NAME    SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
dpool   465G   165G   300G    35%  ONLINE  -
rpool   119G  93.0G  26.0G    78%  ONLINE  -

以上、とっても簡単にディスクの取り替え作業が終わりました。

以上、基本は下記のコマンドだけでした。

pfexec zpool replace dpool /dev/dsk/c3d0p0 /dev/dsk/c7t0d0

コンピュータTips/Solaris/zfs

Recent Updates

ディスクの不良を確認する(iostat -EnのError等)

ディスク関係のスタックをざっくり書くと次の様になっています 例、SAS Expanderを使う場合、 例、AHCIなどを使う場合、 これらのエラーは、次の様なコマンドで知ることができます。 出力結果例 このなかで、 たとえば、SATAディスクを利用している際に負荷が上がってしまい、ディスクの応答が間に合わないシチュエーションでは、Transport Errorが一気に …
»続きを読む

2017年、新年明けまして、おめでとうございます。

日記/2017年、新年明けまして、おめでとうございます。

新年明けまして、おめでとうございます。今年もよろしくお願いします。 昨年中は、皆様にお世話になりました。 昨年は、コツコツと3年程前から行ってきた改革がある程度完成された年で、この先5年、10年を見据えて、次のフェーズへと進む為の土台が完成した年でもありました。 それにキャッチアップする形で、個々の従業員一同が、役割を自覚し、明確に動けた年であったかと考えています。 …
»続きを読む

RSA鍵認証のみにし、Password認証を無効化する

意外に覚えきれなくて、いつも忘れるので、メモついでに残しておきます。 古いOpenSSHや、SunSSHの場合は、これも無効にします。 ユーザ目線でのザックリとした説明を。OpenSSHではなく別のSSH実装も含めて考えているので、OpenSSHのソースをじっくり読んだわけではないため、間違ってたらすみません。 まず、Password認証を無効にする場合、 PasswordAut …
»続きを読む

Nexus7 2013をMarshmallow(Android 6.0)化

OTAでない方法で。 だいたい ここに書いてある方法 なんだけど、adbなどが一式使えている状態で。 まずは自分の機種のものをダウンロードする。僕のは、 Android 6.0 Marshmallow for Nexus 7 2013 Wi-Fi 。tgzを展開し、zipも解いておく。 まずはboot loaderへ。 bootloader自体のアップデート。一式、updat …
»続きを読む

OS X 10.11 El Capitanで、phpのモジュールインストール

Yosemiteからのアップデートは割と簡単です。なぜならYosemite時に、すでにapache 2.4になり、php 5.5になっているから(笑 アップデート前に、まずはphp.iniとhttpd.confをバックアップしておきましょう きになるなら、hostsとかapache以下全てをバックアップしておいてもいいかも。 後はEl Capitanにアップデートする。 アッ …
»続きを読む

EasyAcc Powerbank PB4000CB

スマフォTips/モバイルバッテリー/モバイルバッテリー製品レビュー/EasyAcc Powerbank PB4000CB

薄型のモバイルバッテリーEasyAcc Powerbank PB4000CBです。 今や、モバイルバッテリーは大型のものが好まれるのか、隙間無く商品があります。20,000mAh越えで、「でけえ!」とか言ってますけど、大きいのを探せば、100Wh(27,000mAh)、200Wh当たり前、探せば500Wh(135,000mAh)とか、もっともっとあるのです。用途がどんどん異なっていくので …
»続きを読む

EC Technology Sports Headsets S10-JWH07B

デバイスTips/Bluetooth/EC Technology Sports Headsets S10-JWH07B

Bluetoothのスポーツヘッドセット、 S10-JWH07B について。 今までブログに記載することはなかったのですが、実は割とBluetoothと言うか無線型のヘッドフォンを沢山持っています。赤外線や独自物、Bluetoothなどいくつもストックを持っていたりします。普通の人からするとマニアです。でも、マニアからみるとそうでもないレベルです。 ただ「ヘッドフォンの音質」というの …
»続きを読む

静岡県内をVPNでつなぐ(割と特殊な例)

静岡というのはある意味特殊な土地で、ほとんどのインターネットプロバイダのPOIは静岡でつながれておらず、NTT西圏内のどこかで繋がっているので、大抵大阪折り返しになる。仮に静岡県内にPOIがあっても、だいたい静岡でルーティングしてないので、やっぱり東京折り返しになってたりする。例え 同じプロバイダを使っていたとしても 。 だから静岡←→静岡のVPNは、静岡←→東京や、静岡←→大阪よりも遅 …
»続きを読む

最新  |  << 前ページ  |  次ページ >>  |  最初