自宅のサーバーを新調した話
画像多め注意!(手遅れ)
数年前からラズパイ3をサーバー代わりに使ってたんですが、Celeronで組み直しました。
理由は主に3つあって
1. CPUのパワー不足
2. ファイルサーバーが作りたかった
3. 今が買い時おじさん「今が買い時」
1に関しては金盾回避用にShadowsocksR鯖を建てたんですが、暗号化の処理が重くてCPUがボトルネックになって通信速度が出ない状態になっていたため。
2に関しては主にDropboxのせいなんですが、勝手に3台までに制限させられたのでしぶしぶnextcloudに移行。GoogleDriveやOneDriveはアレなファイル入れると垢BANされるそうなので、それは困るという話でやめた。
ラズパイはSDカードで動作させてたんですが、SDカードは基本的に信頼出来ないので、ファイルサーバーとして使うなら流石にディスクを外付けしたくなりますね...
でも小さいのが取り柄なラズパイに本体よりでかいディスクを付けるの不格好だし、HDDは電源供給怪しいし、USB2.0にSSD繋ぐのもなんかもったいなくてやりたくないし...って事で買い替えました。
3に関してはメモリとSSDがクソ安だったからです。
今は時期が悪いおじさん「流石に今は時期が良い」
御託はいいからさっさと組むぞ!!!!!
登場するパーツ達
CPU: Celeron G3900 - ¥4380
最近のIntelCPU値上がりしすぎて、5000円以下だとこれしかなかった...
まぁ秋葉原で中古とか漁れば普通にあるんだろうけど、格安帯ってあんま中古でも値段変わらない印象あるからこれでいいかな。
個人用なので性能的には必要十分。ラズパイよりよっぽど高性能(当たり前)。
Unix Benchmarks - single - multi - watt
Raspberry Pi 3B - 312.2 - 779.1 - 5~7W
Celeron G3900 - 1213.1 - 2410.5 - 40~50W
こうやって見るとラズパイのワットパフォーマンス凄いな...
ASRock Desk Mini 110/B/BB - ¥12723
省スペースかつディスクが2台のる小型ベアボーンって時点で、多分これしか選択肢無いっすね。
ACアダプタが大きいのが玉に瑕だが、このサイズでマザボ/ケース/電源と考えると激安。ASRock最強!ASRock最強!ASRock最強!
MEM: DDR4-2133 4GBx1 - ¥3080
最近メモリ安くなりすぎて草。2年前に2万円で16GB買ったワイ涙目。
ゲームもしなければそもそもXも起動しないのであまりメモリ使わんかな...一応2スロあるので、足りなかったら追加すればいいやって事で最小の4GB。
SSD: Transcend 240GB - ¥4200
SSDも安くなりすぎて草。2年前に1万円で240GB買ったワイ涙目。
現時点で一番コスパが良いのは500GBなんだけど、そんなに使う予定が無かったので240GB。
怪しいブランドや廉価版なら3000円ぐらいに抑えられたんだけども、今回はファイルサーバー用なので一応TranscendのSSDにしました。
容量大きいほうが寿命良さそうなので、普通に500GB買えばよかったかなと少し後悔...
HDD: HGST 500GB
自宅に転がってたやつ。稼働時間10000超えてる(大丈夫か)
開封
これマジ?本体に対してACアダプタ(とケーブル)がデカすぎるだろ...
いや、思った以上にデカかった。予想の5倍ぐらいあるぞ。小型PCとは一体...うごご
裏面端子はこんな感じ。今回はLANケーブルと電源しか繋がないです。
角のネジを外してボードを引っ張り出します。
DeskMini 110は2.5インチのディスク2枚に加えて、M.2 NVMeのSSDにも対応していますね。
にしてもこのチップの上に発熱ヤバイもの載せていいんか?って感じはしますが...
今回は使用するCPUが非力な点、SATA SSDで速度は十分な点、排熱に不安がある点から使いません。
CPUくんを開封。
今回は費用節約のためリテールクーラーを使用します。
寝室に置いてるんですが数週間動かした感じ、まぁ夏場なら外がうるさいので寝るときも気にならないですね。
冬場でうるさく感じたらnoctuaの静音ファンに切り替えるかも...(CPUより高いので多分無い)
冷却性能ではフルロード時でも60度超えないので良い感じ。ちょっとうるさいけど。
Intel CPUは初めて組むんですが、これはCPU側にピンが無いので凄く良いですね。
Ryzenで組んだ時はCPU側のピン曲げそうでラーメン食ってるときより汗流しました。
次にクーラーとメモリを取り付けます。
プッシュピン型のクーラーは取り付けやすくて良いですね。
ネジタイプの奴だと本当にハマらなくて、数時間泣きながらネジ回す羽目になるので最高です。
一方メモリの硬さは一級品でしたね。50年に1度の出来栄えぐらいの硬さです。指切った
あとスロットが2つあったけど、1枚の場合どっちに付けるか書いてなかったですね。どっちでも良いのかな?
ディスクを取り付けて行きます。
見にくいですが、ボードの真ん中の楕円穴に露出してる部分にSATAポートが2つあります。
これデザインした人頭おかしい・・・(褒め言葉)
ディスクは1台なら4隅のデッパリに引っ掛けるだけで良いんですが、2台目は裏からネジで固定する必要があるんですね...
(取り外してまた付けるの)あ~めんどくせマジで....
HDDは振動をなるべく減らすためにガッチリとネジ止めしました。
(組み立て)工事完了です・・・診断も全部パスしたので多分大丈夫でしょう。
CeleronにはIntelハイッテルのシールも付属で付いてるので、Intel教の人も安心ですね。私は付けませんでしたが
微妙にLEDが眩しい気がしますが...まぁいいでしょう。私としては正常起動時は青より緑が好きなんですけどね。
セットアップのためにUSBにOSイメージを入れてブートさせます。
今回はOSとして宗教上の理由でDebian GNU/Linuxを採用します。
「サーバーのくせにRed Hat系じゃないとかww」「FreeBSD is GOD.」
という異教徒の方々はここで帰ってもらって大丈夫です。
まずネットからDebianのネットワークインストール用イメージを落としてきて、USBに焼き込みます。
そしてBoot Menuから華麗に起動!!!!
Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists possible device or file completions.
grub>
デデドン!(絶望)
試しにUbuntu Desktopのイメージでブートしてみたら普通にGRUBが起動したので、多分ハードウェアの問題じゃなくてソフトウェアの問題ですね・・・とりあえず手動ブートしてみましょう。
(hd0), (hd0,msdos1), (hd1)
grub> ls /
.disk EFI boot
grub> ls (hd0,msdos1)/
.disk boot css dists doc efi firmware install install.amd isolinux pics pool tools ...
grub> set root=(hd0,msdos1)
grub>
どうやらUSBメモリはhd0でSSDはhd1らしい。
そしてルートディレクトリが変な所になってるようなので再セット。
さてさて、これでgrub.cfgを読ませれば行けるかな?
can't find command 'linux'
can't find command 'initrd'
grub>
あれ?
can't find command 'linux'
grub> initrd /install.amd/initrd.gz
can't find command 'initrd'
grub>
冷静にinsmodコマンドを実行する。
file '/boot/grub/x86_64-efi/linux.mod' not found
grub> ls /boot/grub/x86_64-efi
acpi.mod ... linux.mod ... zfscrypt.mod
grub>
/boot/grub/x86_64-efi/linux.modの存在は確認できるんだが、insmodでパスを省略すると正しいパスでもファイルが見つからないっぽい(なぜ)
module 'video.mod' isn't loaded
grub>
そしてフルパスでinsmodを実行すると何故か正しく動くらしい(これもうわかんねぇな...)
ただし依存関係のモジュールは自動でロードしてくれないので、手動でロードする必要アリ。
insmodしてみて足りないって言われたモジュールを再帰的に入れるか、バイナリから直接依存modを見つけ出すかしてください。
私は面倒だったので足りないのを一つ一つ手入力で入れました(情弱)
linuxコマンドとinitrdコマンドが使えるようになったので、今度こそとgrub.cfgを読み込ませますが今度は画面がブラックアウト。
まさかと思いgrub.cfgを確認する。
if loadfont $prefix/font.pf2 ; then set gfxmode=800x600 insmod efi_gop insmod efi_uga insmod video_bochs insmod video_cirrus insmod gfxterm insmod png terminal_output gfxterm fi if background_image /isolinux/splash.png; then set color_normal=light-gray/black set color_highlight=white/black else set menu_color_normal=cyan/blue set menu_color_highlight=white/blue fi insmod play play 960 440 1 0 4 440 1 set theme=/boot/grub/theme/1 menuentry --hotkey=g 'Graphical install' { set background_color=black linux /install.amd/vmlinuz vga=788 --- quiet initrd /install.amd/gtk/initrd.gz } menuentry --hotkey=i 'Install' { set background_color=black linux /install.amd/vmlinuz vga=788 --- quiet initrd /install.amd/initrd.gz } submenu --hotkey=a 'Advanced options ...' { ...
oh...これはinsmodでコケてる奴ですね...一行一行全部手動で入れましょう...
結局grub.cfgを手動でパス補完して入力したら無事Install画面が起動しました。
めでたしめでたし。