2024年11月18日 | EOS R7ファームウエアアップデート |
2024年11月17日 | PX-M730Fのシアンインク交換 |
2024年11月4日 | 360度モニタ不調 |
2024年11月2日 | ノート給油 |
2024年10月19日 | 腕時計のファームウエア |
2024年10月5日 | RF-S 10-18mm F4.5-6.3 IS STM購入 |
2024年10月3日 | 三菱UFJニコスカード到着 |
2024年9月28日 | 三菱UFJニコスカード申込 |
2024年9月23日 | 第10世代iPad購入 |
2024年9月17日 | iPadOS 18 |
Drobo FSが容量的にも、ハードウェア的にも、 限界を迎えつつある。 なので、 弟が 「ファイルサーバー増やしてくれー」 と泣きついてきた。 昔のようにHPのサイコロサーバーを3万円で買えればともかく、 さすがにサーバーそのものを増やすのもなんなので、 外付けでハードディスクを増設することに。
既に動いているサーバーは富士通のTX1310 M1で、 実はすでに二つの外付けケースでハードディスクを増やしてあり、 そろそろUSB 3.0が足りない。 なのでインターフェースを増設するのだが、 ここでUSB 3.0ではなく、 使ったことの無いeSATAを選択してみた。 USB 3.0に比べると少し帯域が広いし、 プロトコル変換しなくてすむ分、速くなるはず。
モノは玄人志向のSATA3E2-PCIE で、 チップはMarvellの88SE9128である。 購入価格は2950円也。 一応、ahciドライバでサポートされているらしいのだが、 ポートマルチプライヤーが動くかどうかが怪しい。
本体の蓋を開けて、 一番下のPCIeコネクタにボードを差す。 まずはこの状態でブートして、
ahci0: <Marvell 88SE9128 AHCI SATA controller> port 0xe050-0xe057,0xe040-0xe043,0xe030-0xe037,0xe020-0xe023,0xe000-0xe01f mem 0xf7d10000-0xf7d107ff irq 17 at device 0.0 on pci2 ahci0: AHCI v1.20 with 8 6Gbps ports, Port Multiplier not supported ahci0: quirks=0x900<NOBSYRES,ALTSIG>
と認識されていることを確認。
Port Multiplier not supported
が気になるが。
外付けハードディスクケースは、 ロジテックのLHR-4BNHEU3を1万3060円で購入。 実はコレ、すでに使用中で、 USB 3.0なら問題なく動いている。 なので、最悪eSATAが使えなくても、 なんとかなるはず。 eSATAでサーバーと接続し、 まずは1台だけハードディスクを入れてみた。 すると、無事
ada0 at ahcich0 bus 0 scbus0 target 0 lun 0 ada0: <WDC WD40EZRX-00SPEB0 80.00A80> ACS-2 ATA SATA 3.x device ada0: Serial Number WD-WCC4E0027788 ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes) ada0: Command Queueing enabled ada0: 3815447MB (7814037168 512 byte sectors) ada0: quirks=0x1<4K>
として認識された。 む、外付けの方が若い番号になるのか。 でも問題無くブートできている。 システムもzfsにインストールしたおかげかな。 これでハードウェア的な問題は無さそうなので、 もう1台追加。
ada1 at ahcich2 bus 0 scbus2 target 0 lun 0 ada1: <ST4000DM000-1F2168 CC54> ACS-2 ATA SATA 3.x device ada1: Serial Number Z301HK2D ada1: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes) ada1: Command Queueing enabled ada1: 3815447MB (7814037168 512 byte sectors) ada1: quirks=0x1<4K>
こちらも問題なく認識され、
ポートマルチプライヤーも動いているようである。
続けて2台を追加して、
4台フル実装。
もちろん、すべて認識された。
ちなにみハードディスクは新品ではなく、
使用中のものから玉突き衝突的に捻出したもの。
なので、既にパーティションが切ってある。
そこで、
gpart destroy -i 1 ada0
などとして、
全部のパーティションを削除していく。
不要なパーティションを削除したら、
zpool create nano raidz ada0 ada1 ada2 ada3
でraid 5相当なnanoという名前のプールを作る。
これはそのまま/nanoとして見えるので、
普通にsambaで共有した。
一応、
14TBくらいの空き容量があるように見える。
Windows 10から書き込んでみると100MB/sくらいは出るようで、
ほぼ1000-BASEの帯域を使い切っている感じ。
ネットワーク越しでは、
USB 3.0もeSATAも全然変わらないのだった。
ふと気づくと、スワップ領域が認識されていなかった。
外付けハードディスクケースの方が番号が若いせいだろうか?
とりあえずgpart show
でパーティションを調べて、
/etc/fstabに
/dev/diskid/DISK-JP6940HZ05W07Fp2 none swap sw 0 0 /dev/diskid/DISK-JP6940HZ07PJ1Fp2 none swap sw 0 0 /dev/diskid/DISK-JP6940HZ09EM5Fp2 none swap sw 0 0 /dev/diskid/DISK-JP6940HZ097GTFp2 none swap sw 0 0
と書いて事なきを得た。
最近、FreeBSDなサーバーにつなげているディスプレイの、 入力切替がうまくいかない時がある。 そういえば、昔ながらのシリアル通信という手もあるよなあ、 と思って調べたら、 ちゃんとシリアルコンソールを使う手段が用意されていた。
まずは手元のワークマシンだが、 チップに機能は入っているものの、 D-subコネクタがない。 なので、 以前からあったシリアル-USB変換ケーブルを掘り出した。 ただこれが結構古いため、 Windows 10ではサポート外。 メーカー提供のドライバも最新のものはダメで、 バージョン3.3を使う必要があった。
次にFreeBSD側である。 ブートログを見ると、
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 uart0: console (115200,n,8,1)
というのがあるので、 /boot/loader.confに
boot_multicons="YES" console="comconsole,vidconsole" comconsole_port="1016" comconsole_speed="115200"
を追加した。 1016は0x3f8の10進表記である。 これはコンソール表示用の設定で、 ログインするには/etc/ttysに
ttyu0 "/usr/libexec/getty std.115200" vt100 on secure
の1行を付け加える。 これでFreeBSDマシンとワークマシンをクロスのシリアルケーブルで接続し、 TeraTermやputtyなどを使ってCOMポート経由、 8ビット/1ストップビット/ノンパリティでつなげればOK。 速度は、115200bpsである。 COMポートが何番になるかは、 ワークマシンのハードウェアによる。 今回はシリアル-USB変換ケーブルの設定でCOM4を割り当てたので、 これを使う。 ただ、shとzshはログインできてもプロンプトが出てこない。 bashは出てくるのだが、sudoするとやっぱり表示が途絶する。 うーん、何が原因なのか?
まあこの状態でも、 通信ソフトを接続したままリブートすると、 ちゃんとシャットダウンの過程が見えて、 PCの起動画面はさすがに無理だが、 FreeBSDのブートメニューから表示される。 延々とブートメッセージも表示されるので、 これで切替の不安定なディスプレイを使わずにすむ。