ミニPCで仮想化基盤
はじめに
仮想サーバやコンテナを入れて遊ぶためのサーバが欲しくなって物色して安めのミニPCを買いました。
Intel N100プロセッサも安くていいのですが、4 core, 4 threadsで多数のサーバ、コンテナを動かすにはちょっと心もとないかなと思い、12 or 16 threadsのものを探して以下をポチり。
- Trigkey Speed S5
- Ryzen 5500U ( 6 core, 12 threads)
- 16 GB Memory ( 8 GB x 2 枚)
- 500 GB (466 GiB) NVME Disk
- https://www.amazon.co.jp/gp/product/B0BR6CXS6F
- 35,540円 (クーポン適用)
ファンの音が非常に静か。
若干気になるのはAmazonのページにもtrigkey.comにもHDMIが2個と書いてあるし、同梱されているのはHDMIケーブル2本なんですが、実機のインターフェイスはどう見てもHDMI x 1 + DisplayPort x 1であること。今回はサーバ機として使うつもりなので気にしないですが。
実機
最終的には同じものか、N-100程度の2万円のものをあと2台くらい買ってクラスタ組んで遊ぼうかと画策中。
バックアップ
まずはディスクのバックアップ。バックアップのために一時的にUbuntuで起動したいので、Ubuntuと、それをUSBメモリに焼くためのRufusをダウンロード。
Ubuntu Server 22.04.3 LTS
ubuntu-22.04.3-live-server-amd64.iso
Rufus
rufus-4.2.exe
起動時にF7キーを押すとブートメディア選択、DELを押すとBIOS。
Ubutu ServerのUSBでブートするとインストーラが起動するので、Alt+右キーでコンソールを切り替えてNASにディスクの内容をそのままバックアップ。ディスクバックアップのブロックサイズ(bs)はどのくらいがいいのかいまだに分からない…
sudo bash
mount -t cifs -o username=xxxxx,password=yyyy //192.168.xx.xx/home /mnt/nas
time dd if=/dev/nvme0n1 bs=8k status=progress | gzip > /mnt/nas/disk-backup-trigkey.raw.gz
Trigkey Seed S5にはWindows 11 Proがついてくるので一応起動してライセンス認証だけ済ませておく。
マイクロソフトアカウントにライセンスが登録されていれば、後でWindows用として使いたくなったときににも簡単に使える?
念のためライセンスキーも控えておく。
regeditを起動して以下の内容をどこかにメモっておく。
\HKEY_LOCAL_MACHINE
→ \SOFTWARE
→ \Microsoft
→ \Windows NT
→ \CurrentVersion
→ \SoftwareProtectionPlatform
ハイパーバイザ
VMware ESXiの無償版だとできることが限られるのと、OpenStackだとコンポーネントが複数要りそうなので、ハイパーバイザはProxmoxというのを試してみることにしました。Rufusを起動してさっきUbuntu Serverを入れたUSBメモリをProxmoxで上書き。
インストール
USBメモリで起動。
ライセンス条項。
インストールするディスクの選択。特定のパーティションにインストールするという選択肢はないみたい。
フォーラムでもパーティションを選びたいときはDebian LinuxをまずインストールしてからProxmoxをaptで入れろ、とのこと。
先ほどバックアップは取ったので憂いなくディスク全体に上書きインストールを選択。
一応この画面の状態でCtl+Alt+右キーを押すとデスクトップ切り替えができてxtermは起動できる。
ただ、インストーラにはmount.cifsはないのでProxmoxだけでWindowsファイル共有にバックアップするときはもう一工夫要りそう。aptリポジトリを登録すればいいような気もするけどすでにUbuntuでバックアップ済みなので気にせず先に進む。
追記:ここから
ネットワークが有効になっていないこと、時刻がずれていることが原因だった模様。
ip aでIPアドレスを調べ、取得できていないようならdhclientでNICを指定してIP取得
chronycで時刻同期できているか確認。できていなければ待つ。
apt installでcifs-utilsパッケージをインストールすればCIFSマウント可能。
ip a
dhclient enp2s0
ip a
date
chronyc sources
date
apt update
apt install cifs-utils
mkdir /mnt/nas
apt install pigz
mount -t cifs -o username=xxxxx,password=yyyy //192.168.xx.xx/home /mnt/nas
time dd if=/dev/nvme0n1 bs=1M status=progress | pigz > /mnt/nas/disk-backup-trigkey.raw.gz
gzipはCPUを1コアしか使わないので遅い。debianにはマルチコアを使うpigzがある。
6 core 12 threadでgzipを使うと81分だったのがpigzだと22分でそれなりに効果あり。
追記:ここまで
タイムゾーンとキーボードレイアウトの設定。
rootパスワードとメールアドレスの設定。メールアドレスを入れておくとアラートが来るらしいのだが、この後インストーラではメールサーバの設定が出てこなかった。普通の環境ではインストールした後で何か設定をしないとメールは飛ばないはず。
IPアドレスとデフォルトゲートウェイ、DNSサーバの設定。
写真撮り忘れましたが、この後インストールが進み、完了したら再起動。
UEFI設定
このPCは16 GBのメモリ積んでいるはずですが、OSを起動してみると13 GBしか積んでいないように見えます(WindowsでもProxmonでも)。
これはRyzen 5500UにはGPUが内蔵されていて、そのGPUにメモリに一部を渡しているため。ハイパーバイザとして使うのでグラフィックはいらないかなと思い、BIOS設定変更でGPUに渡すメモリを減らす。
設定が深すぎてなかなか見つからなかった。
略語も多いし。CBS=Custom BIOS Settings? NBIO=? GFX=Grafics? UMA=Unified Memory Architecture
Advanced
→ AMD CBS
→ NBIO Common Options
→ GFX Configuration
→ iGPU Configuration
→ UMA Frame Buffer Size
3Gから64Mに変更
変更前:OSから見るとメモリは13 GB確保されています。
root@pve1:~# free
total used free shared buff/cache available
Mem: 13170344 1686556 9310432 48080 2521860 11483788
Swap: 8388604 0 8388604
変更前:OSから見るとメモリは16 GB確保されています。
root@pve1:~# free
total used free shared buff/cache available
Mem: 16201384 1580192 14596924 41840 348244 14621192
Swap: 8388604 0 8388604
ちなみに64MBにする前に深く考えずにiGPU ConfigurationをiGPU DisabledにしてしまってBIOS含めて一切何もディスプレイに映らなくなって積みましたw
筐体にCLR CMOSという小さいボタンがあるので、電源切って針でこのボタンを長押ししてBIOS設定をクリアして事なきを得ました。
続きはこちら
Discussion