スポンサーリンク
自作NASサーバ NAS4Freeの容量不足を根本解決する容量拡張を実行した話の続き。
SATA拡張カードを買いなおすことにしたが、HDD故障によりまず交換とZpoolの再構築をした。
NAS4Free/Xigma NASについてのまとめはこちら。
以前の検索結果により、Marvell88SE9235を載せているSATAカードで4ポートを探す。
調べたところ、N.ORANIE PCIe 2.0 x 1 to SATA III 4ポート アダプタカード が、
マーベルの大丈夫な方のチップを使っているようだ。
早速amazonのセールにて購入。
なんだか小さい箱だな。横の単3電池と比較しても。
開けてみると、カードとバックパネル、ドライバの入ったCD-ROMのみ。
今回はカード以外は使わない。
早速設置する。
前に設置したものと置き換えたが、認識の結果は前と同じ。
コントローラをまずBIOSが認識していない。
台数は一致するが、同じドライブが2回見えている。
これでは構築できない。
うーん
あれ?
差し込んでいるPCI/eは、x16なのだが、その上にピッタリ合いそうな口がある。
x1用と思うが、こっちではないのか。
改めて差し込んで、configを消してインポートすると、見事に認識した。やった。
さて、これからが本番。まず新しいドライブで新しいプールを作る。
しかし、なぜか4台は4TBなのに1台だけ3TBになっている。
再起動、バージョンアップなどやり尽くしたが効果なし。
うーむ。
しばし思案。
おそらくドライブ交換時に論理と物理のドライブの紐づけがおかしくなったのだろう。
多分、3TBのプールは作り直すしかない。
一旦4TBで認識した4台でプールを作り、そこにファイルをすべて移動して3TBのプールは解体。
その後正常にドライブが認識できていると確認できたら再度構築して、4TBのプールから戻す。
この方針で行こう。
物理容量は3TBx5と4TBx4のRAID-Zでは差がないようだから、コピーは問題ないだろう。
同じサーバ内なのでまあまあの速度になると期待し、おそらく1、2日ではないだろうか。
コピーを開始した。
順調に進むが途中で思い出した。
今のプールには重複排除とgzipで圧縮するオプションをつけており
(重複排除は処理の重さからバックアップに向かないと判断し、ファイルは今はない)、
論理容量が増えている。
仮に1.3倍とすると4TBx4では収まらない。
24時間程度でコピーが終わっていた。案の定、空き容量なしのため、停止したようだ。
4TBの方もgzipで圧縮する必要がある。
一旦すべて消して、gzipの設定をして、再度コピーすることとした。
そしてこの方法も容量枯渇で止まった。
仕方ないので、時間はかかるがもっと圧縮できる方法にする。
コピー元の1段目くらいのディレクトリで、以下のコマンドによりgzで圧縮する
tar zcf <圧縮したファイルの置き場> <コピー元のディレクトリ名>
例 tar zcf /mnt/zfs2/common.tar.gz common
注意点は、
絶対パスを指定して実行することももちろん可能だが、
それによりtarファイルに格納される情報が絶対パスで指定されるため、
解凍する際に意図しない場所に書き出してしまう。
Unix系のコマンドの常識なのでわかっている諸兄には無用な情報だが、念の為。
これによるメリットは、パーミッションを保持できること。
つまり、コピーでは持ち主情報が変わってしまう場合がある。
tarならFreeBSDの持つオーナ情報などを保持できるので、あとで調整しなくても良い。
万が一また容量不足で停止したら、どこで止まったかわかるので、
圧縮できていないディレクトリをWindows機に退避することもできる。
TB級の巨大なファイルであり、まる2日かかった。ふう。
続く。
PR