e-tipsmemo

ごった煮

Ubuntu headless server + anydesk access

ストレージサーバーを建てたかった。
しかしHDDを追加するのはもう嫌なので
PCI bifurcation機能を備えたマザーボードでM.2 SSDを将来的にたくさん追加できるようにすることにした。

PCI bifurcation

各社MBの中でも対応していたりしなかったり、
製品マニュアルにも記述がなかったりなど難しい。

ASUSだけはこのように一覧にして公開してくれているので
自動的にASUSからマザーボードを選択することとなった。
[マザーボード] Hyper M.2 X16 CARDとPCIe bifurcation(PCIe分岐)の対応 | サポート 公式 | ASUS 日本

この中でIntelAMDかという選択をするとき、
Intelの普通のチップセットでは「x16 → x8 + x8」に分割するまでしかできない。
(X299などは可能だがCPUが最新世代ではない)

PCIe x16に最大数のM.2 SSDを載せるには
「x16 → x4 + x4 + x4 + x4」と分割できるマザーボードである必要があり
それはこの表の中ではAMDマザーボードでしかない。

(ASUS以外のIntelマザーボードならあるかもしれないが、調べていない)

またM.2 SSDを複数乗せる拡張ボードは
ASUS公式では

こちらはPCI Express 3.0 での動作となる

一方で、ASrockの拡張カードでは

PCIe Express 4.0の動作ができる。
ASRock > HYPER QUAD M.2 CARD

パーツ構成

以上のことを踏まえて、Ubuntuのサーバー構成は以下のようになった。

CPU Ryzen5 7600X
マザーボード ROG CROSSHAIR X670E GENE
CPUファン NH-U12A
メモリ KF552C36BBEK2-32
SSD SSD-CK1.0N3G2
電源 750Wのフルモジュラー電源
ケース JONSBO D31 STD SCREEN Black

マザーボードHDMI出力はなく、USB-Cの Alt mode を使用して出力するため、USB-C - HDMI変換などが必要

ケースは液晶パネルが付属していればサーバー管理に便利かと思った。
https://www.jonsbo.com/en/products/D31.html

UEFI setup + OSインストール

マザーボードUEFI設定で、「PCI分岐」というものを有効にする必要がある
Ubuntuをとりあえず入れた

その後Asrockの拡張カードとM2SSDを搭載すると以下のように認識された
「x16 → x4(A) + x4(B) + x4(C) + x4(D)」
と分割されているはずで(A)と(B)にM2SSDを刺している状態。

これがもし
「x16 → x8 + x8」のマザーボードだと
(B)と(D)に刺したM2SSDは認識されない。
((A)(C)に刺すのが正しく、最大2枚しか搭載できない)

Anydeskで無人アクセスするには

Ubuntuを自動ログインにする
Anydeskの無人ログイン+パスワードを有効にする
ホワイトリスト方式にする

headless構成にする

AnydeskはLinux+headlessで使う場合、画面がないとアクセスできなくなるので、
xserver-xorg-video-dummyを入れる

使いたい解像度を示しておくが、

/usr/share/X11/xorg.conf.d/80-dummy.conf

4KはできるのかためしたがVideoRamの数値が間違っているのかAnydeskが対応していないのか
FullHDまでしかできなかった

Section "Device"
  Identifier "Card0"
  Driver "dummy"
  VideoRam 256000
EndSection

Section "Monitor"
  Identifier "Monitor0"
  HorizSync 28.0-80.0
  VertRefresh 48.0-75.0
  # https://arachnoid.com/modelines/
  # 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
  # Modeline "1920x1080" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
  Modeline "1920x1080"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
  Modeline "3840x2160"  712.75  3840 4160 4576 5312  2160 2163 2168 2237 -hsync +vsync
EndSection

Section "Screen"
  DefaultDepth 24
  Identifier "Screen0"
  Device "Card0"
  Monitor "Monitor0"
  SubSection "Display"
    Depth 24
    Modes "1920x1080" "3840x2160"
  EndSubSection
EndSection

参考:ファイルサーバの構築2|なかちゃん|note

ついでに録画サーバーにしようと思う