COMPUTER

Windows10 Pro 64bitでファイルサーバーの構築

はじめに

 メインPCのストレージをSSDにすべて置き換えましたが、いかんせん使用頻度の低いファイルを保存したままにすると容量を圧迫していきます。使用頻度の低い物はUSB接続のHDDケースを使ってHDDに保存する運用をしていましたが、USB-SATAコントローラーがHDDの熱と自身の発生する熱で夏場に頻繁にハングアップし、HDDクラッシュを引き起こします。それが原因で何度もHDDに不良セクターを発生させてしまい、HDDを破損させてきました。熱対策、HDDの騒音対策、アクセスの安定性向上を解決する方法としてファイルサーバーを構築することにしました。

 自作PCをやっていくと、メインPCのパーツを買い換えていくなかで、余剰パーツが発生しそれを集めると十分に1台分のPCを構築できます。それらのパーツを使ってファイルサーバーとします。

 これから構築方法を説明するファイルサーバーのOSは、Windows10 Pro 64bitを使います。Windows Serverを導入するのが理想ですが、個人のファイルバックアップではOSの購入費用はかなり負担が大きくなります。すでにUbuntu、Mintなどをサーバーとして運用していましたが、Windows10からSMBプロトコルを使ってLinux系のSAMBAサービスとやりとりするとたまにファイル情報が正しく読めない不具合が発生します。自分ではこの問題を解決する方法が見つけ出せないことと、最新のMintではSAMBAサービスの構築、設定を行うのがCUIのみとなってしまったのでLinux系OSをやめました。

 Windows10 Pro 64bitを使うのは、使うマザーボードのUEFIでライセンス認証を通っているので新たなOSライセンスが必要ないためです。

NIC (ネットワークインターフェイスカード)を追加

メインPCにNIC(ネットワークインターフェイスカード)を追加しました。

IEEE802.3(10M/100M/1G/2.5G BASE-T)対応のRealtek社のRLT8125Bシリーズのチップで、PCI-E 2.1*1で接続します。

1Gbps対応のハブには、CAT6Aのケーブル二本を購入してCAT5Eのケーブルと置き換えました。

RDMAに対応しているのは最近では当たり前のようで、SMBダイレクトも特に問題なく対応できました。

SMBのプロトコルでの通信では、チーミング(ボンディング)しなくても1Gbps(125MB/s)を超える2Gbps(250MB/s)の転送が出来るので、ファイルサーバー側のHDDの最速である200MB/sを活かせるはずです。

SMB以外の通信は、チーミングしていないので1Gbpsが上限です。

LANでもOBSによる動画のストリーミングでもフルHDでは1Gbpsを使い切ることはないようですし特に問題はないと思います。

珈琲牛乳、そしてWindows記憶域スペースを考える。

簡易ドリップの珈琲に同量の牛乳を入れて、電子レンジで温めるだけ。

太陽の光に当たるとちょっと熱さを感じますが、風は冷たいです。

ファイルサーバーの形がようやく決まって、データ移行も終わり、次は速度の向上を図りたくなります。

Windows Server2016以降の記憶域スペースでは、SSD(NVMe)、SSD(SATA)、HDDを混在させることで、それぞれを速度毎で階層化して、SSDはキャッシュ、HDDはストレージとして機能させることが出来ます。

更にそれらをミラー化、パリティー化したりも出来ます。

ただWindows10でそれが出来るのかは、まだはっきりしていません。

ちょっと実験して、機能するようだったら、NVMeのSSDの増設を検討してみます。

Windows 10 Pro 記憶域を使う

昔、Windows 10で記憶域をパリティーで構築したら、NTFSでの16TBの壁、パリティー保存用ディスクの容量不足、パリティーでは書き込み速度が50MB/sが上限などいろいろな制限と情報不足で結局運用を断念したことがあります。

その解決策で8TBのSMRのHDDを買ったのですが・・・。

今はメインPCはすべてSSDにして速度の不満はありません。

ファイルサーバーに3TBのHDDを6台、8TBのSMRのHDDを2台搭載しています。

3TBのHDD6台を使って記憶域の双方向ミラーで構築しました。

半分はミラーに使われるので、保存できるサイズは実サイズで2.7TB×3=8TBです。

この記憶域で構築した仮想ディスクには、写真、音楽などのバックアップを保存します。

8TBのSMRのHDDには無駄に撮りだめたアニメを保存します。

SMR方式のHDDでROBOCOPYを使う場合のパラメーター

Windowsの堅牢性の高いファイルコピー機能「ROBOCOPY」ですが、コピー先がSeagate社製のSMRのHDDだと、そのままでは非常に書き込みが遅くなります。

5MB/s程度になります。

これを回避するには、ROBOCOPYのパラメーター[/B][/Z]を使わないようにし、[/J][/NOOFFLOAD][/MT:1]を使うようにします。

重要なのは、SMRのHDDに対してです。

現行のWindows10のI/O制御、キャッシュ機能とSeagate社製SMR HDDの内部キャッシュ制御方式とは相性が悪いです。

ROBOCOPYのパラメーターを適切に設定すれば、100MB/sから80MB/s程度で書き込めます。

SMR HDDで苦労している人は見直してみてください。

買うならCMR方式のHDD

SMR方式のHDD

Seagate社のBarracuda 8TBはSMR方式なのを知っていて使っていますが、一時的に大量にあるサイズの小さいファイルの保管場所にしたんですが、既に記録された領域に被るとオーバーラップしているトラックを一旦キャッシュに読み込んでから、ファイルを書き込んだ後、そのキャッシュを書き戻すという作業が延々と続きます。

そうなると5分で20MB程度しか書き込み速度が出ないので、1TB以上ある一時保管したいファイルを書き込むのに半年ほどかかります。

そんなに待つことはできないので、一旦、SMR方式のHDDからCMR方式のHDDにデータを全部コピーして、SMR方式のHDDを初期化し、フルフォーマットします。

それが終わるのが13時間、その後、CMR方式のHDDからクリアされたSMR方式のHDDに書き戻すのに12時間。

作業が終わるのは明日の午前中ぐらいでしょうか。

SMR方式のHDDは、一度書き込んだら削除しない、変更しない、追記だけする差分バックアップとしての用途にしか向いていないです。

昔のパンチカードとか磁気テープとかOverWriteが出来る前の光磁気ディスクだな。

そう考えると税込み1万5千円で8TBのバックアップメディアなら妥当か。

3TBとか4TBのCMR方式のHDDが2台買えるけどwww

RAID10を組んだHDDが五月蠅い

ファイルサーバーでRAID10を組んだHDDが、何もアクセスがないときにはガリガリと音がして五月蠅いです。

アクセスしているときはガリガリ音がでずに比較的静かです。

RAIDを組んでいない状態では、逆にアクセスしているときにガリガリと音がして、アクセスしていないときは静かです。

ということで、せっかく9TBのRAID10の1アレイを組んだんですが、3TBのRAID1の3アレイに変更しようと思います。

それでも五月蠅いようだったら、普通のAHCIにしようかと思います。

RAID6が構成できるRAIDカードを買う案もありますが、3万円以上ですからね、難しいです。

AMDやIntelのCPUとチップセットを使った疑似RAIDは、安価ですが、細かいことが出来ないです。

とはいえ、RAIDカードが壊れた時にデータをすべて失うリスクを考えると疑似RAIDの方が安心です。

3TBのHDD6台でRAID10を構築中

ファイルサーバーにしているPCに搭載されたHDDは、

3TB・・・6台

8TB・・・2台

で、すべてマザーボードに搭載されたSATAコネクタに接続しています。

RAIDコントローラーは、AMD X370チップセットに内包されています。

3TBを6台なので、そのまま使うと18TBの大容量ですが、HDDのランダムアクセス性能の低さを補う目的とデータの安全性を保つ目的でRAID10を使うことにしました。

DATAStripe1 Stripe2Stripe3
HDD AHDD C HDD E 
0100
 HDD B HDD D  HDD F 
 010→ 10

RAID10を模式図にしたらこんな感じになるんですが、データを先頭から順次ストライピング(RAID0)して、それをミラーリング(RAID1)するという形で記録していきます。

ASUS ROG STRIX X570-F Gaming BIOS 3602 Update

AMD AM4 AGESA V2 PI 1.2.0.1が適用されたBIOSがリリースされたので、更新しました。

今回の更新では、RYZEN 5000シリーズで、AIDA64のメモリキャッシュベンチマークをしたときに、L3キャッシュの速度が大幅に向上します。

それからRYZEN 3000シリーズでスマートアクセスメモリが使えるようになっています。