AT-x510-28GPXはAllied Telesis製のL3スイッチ。28ポートありその内24ポートが10/100/1000BASE-T、残りの4ポートがSFP/SFP+用スロットとなる。一時期クソ安く変える10gなL3スイッチとして有名になり2019年~2021年ぐらい?ではやってたAT-x510-28GTXのPoE対応版である。送料込みで13000円ぐらいで買った。
なぜこんなものを買ったのか
物理層に10gの環境を用意したかったから。今まで単一ノードのProxmoxVE上に仮想マシンとしてサーバも普段使いのゲーミングなWindows環境も構築して使ってたので10gなんて物理層に用意する必要がなかった。ただPCIeのレーンとかの都合でできればファイルサーバはベアメタルか別のProxmox VEのノードへ将来的に引っ越したいなと考えている。なので将来的にファイルサーバと普段使ってるサーバやゲーミングなWindows環境との間は10g出てほしいからというのが理由となる。
この製品を選んだ理由は仕事でAllied Telesisのスイッチをよく触る機会があるので操作になれてるからというのもある。
施した設定
以下設定を施した。他にもVLANやIPの設定等を行ったがそれは割愛。とりあえず本製品を中古でポチった人におすすめの設定項目だけピックアップ。この中で寝室に置く上で重要になるのは、ecofriendlyの「LED」と「うるさいファンを静かにさせるスクリプト」
- VCSスタック機能の無効化
- ecofriendly
- うるさいファンを静かにさせるスクリプト
VCSスタック機能の無効化
4つあるSFP+スロットのうち2スロットがデフォルトでスタックポートとして専有されて使えないので無効にする。そもそも1台しか買ってないし、2台目買ってL3スイッチを自宅でスタックさせる必要性も特に感じないので。逆に最初からスタック構成前提で買った人はそのまま使えばいいと思う。
no stack 1 enable
Code language: Bash (bash)
上記設定を施したら設定をcopy running-config startup-config
で保存してreboot
で再起動する。再起動させるまではスタックポートのままなのでスイッチポートとして設定が施せない。
ecofriendly
エコLED機能と省電力イーサネット機能(IEEE 802.3az)を有効にする設定。寝室ではピカピカ光るLEDは極力消しておきたいし、消費電力も極力下げたいのでどっちも有効にする。
LED
以下を実行すると各ポートのランプが消える。
configure terminal
ecofriendly led
Code language: Haml (haml)
LPI
1ポートから24ポートまで無効化する。SFP+スロットでは使えないので25から28は除外。
configure terminal
interface port1.0.1-port1.0.24
ecofriendly lpi
Code language: Bash (bash)
有効かどうか確認したい場合はshow ecofriendly
で確認できる。
Front panel LEDs off
Energy efficient ethernet
Port Name Configured Status
port1.0.1 lpi off
port1.0.2 lpi off
port1.0.3 lpi -
port1.0.4 lpi -
port1.0.5 lpi -
port1.0.6 lpi -
port1.0.7 lpi -
port1.0.8 lpi -
port1.0.9 lpi -
port1.0.10 lpi -
port1.0.11 lpi -
port1.0.12 lpi -
port1.0.13 lpi -
port1.0.14 lpi -
port1.0.15 lpi -
port1.0.16 lpi -
port1.0.17 lpi -
port1.0.18 lpi -
port1.0.19 lpi -
port1.0.20 lpi -
port1.0.21 lpi -
port1.0.22 lpi -
port1.0.23 lpi lpi
port1.0.24 lpi lpi
port1.0.25 off -
port1.0.26 off -
port1.0.27 off -
port1.0.28 off -
Code language: plaintext (plaintext)
うるさいファンを静かにさせるスクリプト
AT-x510-28GPXはラックマウントするスイッチである。データセンターや機械室等に置く前提の機器なのでデフォルトだとファンの音が結構でかい。(ラックマウント機器としては比較的小さめの騒音ではある)
AT-x510-28GTXでファンの回転数を落として静かにさせる為の情報が結構出回ってるのでそれを参考に回転数を下げることで騒音を減らす。AT-x510-28GTXと異なりAT-x510-28GPXはファンが2つあるので、ファン2つ分のコマンドをスクリプトに記載する必要がある。
スクリプト自体はスイッチにscpやtftp、Zmodemなどのプロトコルを用いて送ってもいいし、editコマンドを用いればスイッチ上でエディタが開くのでそれで直接作成してもよい。今回はeditコマンドを使って行う。私はscriptというフォルダを作ってその中にfan.shというファイル名で作成した。
mkdir script
cd script
edit fan.sh
Code language: Bash (bash)
以下のようにスクリプトを記述した。Ctrl
+ k
& Ctrl
+ x
で保存して終了。editコマンドの細かい操作方法はAllied Telesisが丁寧にドキュメントを作ってるので要参照。Allied TelesisのスイッチはBSDなのかLinuxなのはか知らないけど、unixベースでシバンでshを指定すればスクリプト経由で/配下に対して色々操作が行えるっぽい。
#!/bin/sh
echo 1000 > /sys/class/hwmon/hwmon0/fan1_min
echo 1000 > /sys/class/hwmon/hwmon0/fan2_min
echo 40 > /sys/class/hwmon/hwmon0/pwm1_auto_point1_pwm
echo 40 > /sys/class/hwmon/hwmon0/pwm1_auto_point2_pwm
echo 40 > /sys/class/hwmon/hwmon0/pwm2_auto_point1_pwm
echo 40 > /sys/class/hwmon/hwmon0/pwm2_auto_point2_pwm
Code language: Bash (bash)
作成後、即座に反映させるなら以下のように実行。今回はfun.shを作成したディレクトリ内で作業してたのでそのまま実行。もし他のディレクトリにいるならフルパスで引数を記載する。
activate fun.sh
Code language: Bash (bash)
このままだと再起動したときに元に戻るので、起動時に実行するように設定しておく。
conf t
trigger 1
type reboot
script 1 flash:/script/fan.sh
active
end
Code language: Bash (bash)
設定したら忘れずに保存する。これで再起動時にも適用されるようになる。
copy runnig-config startup-config
Code language: Bash (bash)
スクリプトがtriggerに登録されたか確認したい場合はshow trigger full
で可能。
Trigger Configuration Details
------------------------------------------------------------
Trigger ..................... 1
Description ................. <no description>
Type and details ............ Reboot
Days ........................ smtwtfs
After ....................... 00:00:00
Before ...................... 23:59:59
Active ...................... Yes
Test ........................ No
Trap ........................ Yes
Repeat ...................... Continuous
Modified .................... Sat Mar 2 09:34:23 2024
Number of activations ....... 1
Last activation ............. Sat Mar 2 09:35:21 2024
Number of scripts ........... 1
1. flash:/script/fan.sh
2. <not configured>
3. <not configured>
4. <not configured>
5. <not configured>
------------------------------------------------------------
Code language: plaintext (plaintext)