トップ > 興味のあること > コンピュータ > ソフトウェア > FreeBSD

更新情報

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

2020年のFreeBSD

2020年9月11日

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も全然変わらないのだった。

2020年9月12日

ふと気づくと、スワップ領域が認識されていなかった。 外付けハードディスクケースの方が番号が若いせいだろうか? とりあえず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
                

と書いて事なきを得た。

2020年9月15日

最近、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のブートメニューから表示される。 延々とブートメッセージも表示されるので、 これで切替の不安定なディスプレイを使わずにすむ。