思考実験とD.I.Y.

D.I.Y and Gedankenexperiment

【FreeBSD13.4】ファイルサーバーのメンテ(14):ASM1166なHBAに接続したHDDでRAID0(zfs)構築

前回[*1]、”ASM1166なHBA”の動作確認は完了しましたので、
ファイルシステムの作成と動作確認を行っておこうと思います。【注*2

作業順序は異なりますが、基本的に作業手順は過去投稿[*3]とほぼ同じになります。

小生の作業記録になっておりますことをお詫び申し上げます🙇‍♂️。

1. RAID0(zfs)の作成

(1)zfsプールの作成

まず、物理ドライブを使って、”zfsプール”を作成します。

今回は、ASM1166なHBAに接続したHDD2台のハードディスク(HDD)は、それぞれ"/dev/ada2"、"/dev/ada3"として認識されています。

root@freebsd:# zpool create pool0 ada2 ada3 ;  
zfsプールを作成すると"/pool0"に自動的にマウントされます。
(2)zfsプールの確認

zfsプールの状態を確認します。

root@freebsd:#zpool status    

(3)マウントポイントの削除

zfsプール(pool0)を作成した時点で、マウントポイントが作成され、マウント先が設定されています。

このため、再起動するとpool0が”/pool0”に自動的にマウントされてしまいます。

/pool0が自動的にマウントされない様にするために、マウントポイントを解除します(*4)。

root@freebsd:# umount pool0 ; pool0をアンマウント。
root@freebsd:# zfs set mountpoint=none pool0 ; マウントポイントを削除

(4)poolの初期化

前回と異なり、テスト書き込みはせずに、まずはpool全体を初期化します。

root@freebsd:# zpool initialize pool0 ; pool0を初期化。

HDDの容量によりますが、zfsプールの初期化にはそこそこの時間がかかります。

初期化が終わるまで、以下の作業は、一日、待ちました😅(*5)。

(5)ファイルシステムの作成とマウント

プール内に、ファイルシステムを作成します。

root@freebsd:# zfs create -o mountpoint=/exports/AV_tmp ; ファイルシステムの作成
プール内にファイルシステムを作成すると、自動的にマウントされます。
(6)ファイルシステムの確認
zfs list”と"df"コマンドでzfsの状態を確認しておきます。

2. ASM1166でRAID0(zfs)のテスト

ddコマンドを使って、zfsプールに対してデータの読み書きをして、動作を確認しておきます。

root@freebsd:# dd if=/dev/urandom of=/exports/tmp/100G.dummy bs=1M count=100240 ; ddコマンドでダミーファイルを”pool0”に書き込んでみる。

ASM1166なHBAにつけた HDDで作ったRAID0(zfs)への読み書きを3回ほど行ってみました。

躯体交換前には、ローカルでの読み書き時間を確認していなかったので、比較できませんが😅、
躯体交換によりマシンスペックがかなり落ちているのに、まあまあの速度が出ている気がします😅。

3回行っただけなので、統計的にどうこう言えるデータではありませんが、
読み書きにかかる時間にそれなりに変動があるのは、zfs(ソフトウエアRAID)なので仕方がないのかもしれません。

【次回に続く予定】

ブログランキング・にほんブログ村へにほんブログ村 IT技術ブログへ

出典・引用・備考

*1:

*2:この投稿の内容は、特定の機種並びに特定の環境での確認結果になります。
同等機種や異なる環境での動作他を保証するものではありませんので、ご留意いただけます様お願いいたします。

*3:

*4:誤って、zfsプール全体に書き込みを行った場合、どういったことが起きるのか、小生は試してみたことはありません。
ただ、どのような挙動をするのかは別として、操作ミスにより未然防止は、トラブル回避に有効と考えています。

*5:張り付いていても、早く初期化が終わるわけではないので、ほったらかしにしておいたというのが本当のところですが。。。😅