チラシの裏

に書いとけなんて言うけど、今どきチラシなんて無いよね

自宅のサーバーを新調した話

画像多め注意!(手遅れ)

数年前からラズパイ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超えてる(大丈夫か)



f:id:mic611:20190605163605j:plain



開封

f:id:mic611:20190605171148j:plain

これマジ?本体に対してACアダプタ(とケーブル)がデカすぎるだろ...

いや、思った以上にデカかった。予想の5倍ぐらいあるぞ。小型PCとは一体...うごご



f:id:mic611:20190605171813j:plain 裏面端子はこんな感じ。今回はLANケーブルと電源しか繋がないです。
角のネジを外してボードを引っ張り出します。


f:id:mic611:20190605172300j:plain DeskMini 110は2.5インチのディスク2枚に加えて、M.2 NVMeのSSDにも対応していますね。
にしてもこのチップの上に発熱ヤバイもの載せていいんか?って感じはしますが...
今回は使用するCPUが非力な点、SATA SSDで速度は十分な点、排熱に不安がある点から使いません。


f:id:mic611:20190605173511j:plain CPUくんを開封
今回は費用節約のためリテールクーラーを使用します。
寝室に置いてるんですが数週間動かした感じ、まぁ夏場なら外がうるさいので寝るときも気にならないですね。
冬場でうるさく感じたらnoctuaの静音ファンに切り替えるかも...(CPUより高いので多分無い)
冷却性能ではフルロード時でも60度超えないので良い感じ。ちょっとうるさいけど。


f:id:mic611:20190605174422j:plain Intel CPUは初めて組むんですが、これはCPU側にピンが無いので凄く良いですね。
Ryzenで組んだ時はCPU側のピン曲げそうでラーメン食ってるときより汗流しました。


f:id:mic611:20190605174727j:plain 次にクーラーとメモリを取り付けます。
プッシュピン型のクーラーは取り付けやすくて良いですね。
ネジタイプの奴だと本当にハマらなくて、数時間泣きながらネジ回す羽目になるので最高です。

一方メモリの硬さは一級品でしたね。50年に1度の出来栄えぐらいの硬さです。指切った
あとスロットが2つあったけど、1枚の場合どっちに付けるか書いてなかったですね。どっちでも良いのかな?


f:id:mic611:20190605175554j:plain ディスクを取り付けて行きます。
見にくいですが、ボードの真ん中の楕円穴に露出してる部分にSATAポートが2つあります。
これデザインした人頭おかしい・・・(褒め言葉)
ディスクは1台なら4隅のデッパリに引っ掛けるだけで良いんですが、2台目は裏からネジで固定する必要があるんですね...
f:id:mic611:20190605181149j:plain (取り外してまた付けるの)あ~めんどくせマジで....
HDDは振動をなるべく減らすためにガッチリとネジ止めしました。


f:id:mic611:20190605181801j:plainf:id:mic611:20190605182427j:plain

(組み立て)工事完了です・・・診断も全部パスしたので多分大丈夫でしょう。
CeleronにはIntelハイッテルのシールも付属で付いてるので、Intel教の人も安心ですね私は付けませんでしたが
微妙にLEDが眩しい気がしますが...まぁいいでしょう。私としては正常起動時は青より緑が好きなんですけどね。






セットアップのためにUSBにOSイメージを入れてブートさせます。

今回はOSとして宗教上の理由でDebian GNU/Linuxを採用します
「サーバーのくせにRed Hat系じゃないとかww」「FreeBSD is GOD.」
という異教徒の方々はここで帰ってもらって大丈夫です。

まずネットからDebianのネットワークインストール用イメージを落としてきて、USBに焼き込みます。

そしてBoot Menuから華麗に起動!!!!




































GNU GRUB version 2.02~beta3-5+deb9u1

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が起動したので、多分ハードウェアの問題じゃなくてソフトウェアの問題ですね・・・とりあえず手動ブートしてみましょう

grub> ls
(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を読ませれば行けるかな

grub> configfile /boot/grub/grub.cfg
can't find command 'linux'
can't find command 'initrd'

grub>

 

あれ? 

 

grub> linux /install.amd/vmlinuz
can't find command 'linux'
grub> initrd /install.amd/initrd.gz
can't find command 'initrd'
grub>

 

f:id:mic611:20190605183847j:plain

冷静にinsmodコマンドを実行する。

 

grub> insmod linux
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でパスを省略すると正しいパスでもファイルが見つからないっぽい(なぜ)

grub> insmod /boot/grub/x86_64-efi/linux.mod
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画面が起動しました。
めでたしめでたし。

f:id:mic611:20190605185154j:plain