2023/03/01 23:00
概要今回は、HDDなどの比較的低速なブロックデバイスに対して、SSDなどの比較的高速なブロックデバイスをキャッシュとして使える bcache をセットアップ方法と各種設定などについて紹介します。bcacheとはbcacheは、ブロックデバイスをキャッシュとして使うための仕組みを提供するソフトウェアです。bcacheでは、キャッシュとして使用するブロックデバイスを キャッシュデバイス と呼び、データを保存する為のブロックデバイスを バッキングデバイス と呼びます。似たような仕組みを提供するソフトウェアとしてLVM cacheやdm-cacheなどがありますが、bcacheの方がセットアップが容易だったり性能が高いという特徴があります。キャッシュがあることのメリット通常、高速なIO性能を必要とするシステムにおいてはHDDではなく高速なSSDをストレージとして利用します。しかし、SSDはHDDに比べると容量単価が高く、大容量のストレージが必要な場合にはコストが大きな問題となります。そこで登場するのがキャッシュです。例えば、データへのアクセスの性質が「書き込んだばかりのデータを読み取ることが多い」場合や「同じデータに頻繁にアクセスすることが多い」場合、全てのデータ領域において高速にアクセスできる必要性はなく、アクセス頻度の高いデータのみ高速にアクセス出来ればほとんど問題ないといえます。つまり、アクセス頻度の高いデータのみ高速なブロックデバイス上にキャッシュしておけばいいわけです。高価なRAIDコントローラなどではより高速にアクセス可能な揮発性メモリを使用したキャッシュが搭載されており、書き込みなどをキャッシュすることで高速なストレージアクセスを実現しています。キャッシュの種類キャッシュにはいくつかのモードがあります。writethroughwritearoundnone (bcache)通常はwritebackを使用すれば問題ないはずです。安全性を重視する場合はwritethroughを、Read intensive(読み取りメイン)な場合はwritearoundを使用すれば良いでしょう。bcacheをセットアップする今回は、Ubuntu 22.04 環境下でセットアップを行います。本例では /dev/sdb をバッキングデバイスとして使用し、キャッシュデバイスは /dev
2023/02/14 21:00
概要今回は、Seagate製のエンタープライズHDDである EXOS X14 の 10TB モデルを入手したので簡単に紹介します。スペック公式のデータシートから抜粋になりますが、スペックは次のようになっています。Seagate EXOS X14 10TBMTBF (hours)250 万時間AFR0.35 %Spindle Speed (RPM)7200 RPMInterfaceSATA 6GbpsCache (MB)256 MBSequential Read (MB/S)245 MB/sSequential Write (MB/s)233 MB/sRandom Read 4KB QD16 (IOPS)170 IOPSRandom Write 4KB QD16 (IOPS)418 IOPSIdle Power Consumption (W)5 WHDD の故障率は母数が少ないと運に左右されますが、コンシューマ向け HDD との違いは MTBF や AFR が公表されている点でしょうか。コンシューマ向け HDD では評判があまりよくない Seagate ですが、筆者の中ではエンタープライズ HDD では他社製のモノと比べて遜色ない成績を残しているイメージがあります。また、近年の大容量 HDD で良く採用されているヘリウムを充填したモデルです。外観今回入手したものはリファービッシュ品です。そのため新品とはラベルなどが異なる可能性があります。こちらは表面です。各種情報が記載されたラベルが貼られています。HGST(WD) などの HDD は角ばっているので丸みを帯びたデザインは個人的には見慣れないものです。こちらは裏面です。他社の HDD と比較すると PCB の面積が少ないように感じます。インタフェースは SATA です。SMARTsmartctl コマンドを使用して SMART 情報を確認してみます。Ubuntu では次のコマンドでインストールできます。# apt install smartmontools諸事情でRAIDコントローラーをHBAモードにして接続しているため、SATA AHCI での接続に比べて見えている情報に差異があるかもしれません。# smartctl -a -d cciss,0 /dev/sdasmartctl
2020/06/05 14:38
Westarn Digital Ultrastar DC SS200 SAS SSD名前長いですねこちらの800GBモデルをBrand Newで手に入れたので、軽くベンチしてみました。 SAS接続モデルですので、通常のPC等のマザーボードに搭載されているSATAポートでの利用はできません。基本的なスペックは以下のとおりです。(メーカーのSpecificationより)3年ほど前の製品ですので、今時のSSDと比べると見劣りする部分はありますが、安かったので手に入れてみました。ベンチマークSAS接続モデルですので、対応したデバイスを用いました。今回はHPEのDL380 Gen10サーバを使用し、RAIDコントローラはHBAモードとしました。SAS 12Gb/sでの接続ですので、シーケンシャルについてはバス幅の理論値近くまで出ている事が読み取れます。ランダム4KなどはNVMe SSDには叶いませんが、SAS12Gbpsに対応したホットスワップベイを持つサーバにて使用する予定ですので、NVMeベイやSecondary CPUを手に入れるコストを考えると、SATAと比較してもバランスが良いと言えると思います。時間がなく簡単なベンチしかできていませんが、12Gb/s接続のSAS SSDに興味のある方の参考になれば幸いです。
2020/04/08 15:00
知り合いが、増設したHDDを認識しない現象に見舞われ、トラブルシューティングしたのでそのログです。軽く調査を行ったところ、Seagate製のHDDにおいて稀に発生するようです。原因調査中、思ったように情報にたどり着けなかったので、記しておきます。予め申しておきますが、本記事はSeageteさんに対する批判等ではございません。(解決方法が知りたい人は、この記事の下部へ)Windows10PCにHDDを増設するも認識しない!?BIOS上には増設したHDDが表示され、Windows10上のデバイスマネージャー上でも、増設したHDDは認識されていました。しかしながら、増設したHDDを使用するにはMBRないしはGPTのパーティションテーブルを作成する必要があります。通常、Windows10ではこれらの操作はディスクの管理から行うこととなります。しかし、肝心のディスクの管理には当該HDDは表示されていませんでした。 ちなみに、CrystalDiskInfoでは認識し、S.M.A.R.T.情報を読み取ることができる状態でした。これは、接続ケーブルの不良やマザーボードの故障ではないことを意味します。新品なのにHDD上になんか残っている…?調べてゆくと、Windows10上で記憶域プールとして認識されたものは、ディスクの管理に表示されないことがわかります。今回の症状に合致します。(そのような設定を行ったかどうかは別として…) 解決方法…?そこで、Windows10上から記憶域プールの設定を確認します。(設定へのたどり着き方は各自調べてください。 設定 から行く方法と、コントロールパネルから行く方法があります。)本件の場合、他人のPCだったのでスクリーンショットがありませんがディスクの管理に表示されないディスクが、記憶域プールとして使用されていました。すでに記憶域プールを利用している方は、操作を行うディスクを間違えないように注意しながら、この記憶域プールを削除します。 本件においては、以上の操作を行うことで、ディスクの管理上に表示されるようになりました。 *当該操作等を行ったことによるデータの喪失その他について、当記事の筆者は何ら責任を負いません。原因は?本症状は稀に発生することが多いようで、大抵の場合返品交換をしてもらうことで解決しているようです。また、その殆どがSeagat
2019/07/19 12:10
計測環境計測結果HDDとは思えない速度が出ているようです。おそらくストレージサーバ側でメモリキャッシュがきいているからですかね。
2019/06/17 13:00
環境ProxmoxNetwork症状ProxmoxからFreeNASへNFSで接続し、Windowsを入れる。このとき、Proxmox側のディスクドライブはIDE0この状態でCrystalDiskMarkをかけた結果が以下HDDはWD REDだし、RAID-Zとはいえ、Read/Writeともにほぼ同じ速度で頭打ちなのはおかしい。FreeNAS側でも、CPUやメモリが張り付く様子もなく、他のNFSで同じように測定されている方の結果からも、FreeNAS側の問題ではないと判断。作業結論から言うと、Proxmox上のWindowsのディスクを、IDE0からSCSI0にした。この辺は、VirtIOのドライバを入れたりしないといけないので、別途作業が必要。これがちょっと面倒である。 結果Proxmox上のWindowsのディスクをSCSI0にして、再度CrystalDiskMarkで計測した結果が以下である。 めちゃめちゃ早くなった。Readに関しては、CrystalDiskMarkの性質上、テスト前に書き込んだテスト用データがFreeNASのNFSボリューム上のキャッシュにあり、キャッシュから読み出したものだと思われる。しかしながら、Writeに関しては、ディスクから直接読み込んでいると思われる数値が出ている。結果として大幅な速度向上に成功した。 余談これはあくまでも推察なので、事実と異なるかもしれないが、CrystalDiskMarkがディスクのベンチマークを行う際、以下の順序で実行されているように思う。この手順だと、テストデータを2回書き込む必要があると考えられる。以下の処理順序にすれば、効率よくベンチマークが行えないだろうか? この順序だと、書き込みや読み込み処理が1度で済むと考えられる。当然、何か理由があって、現状の処理順序になっていると考えられるが、それが自身には分からないので、誰かご教示願いたい。