年度末に時間できたのでラズパイでProxmox動かしました。
手順を記録として残しておきます。
間違いや説明不足があったら、ご指摘いただけると助かります。
用意した機材
- Raspberry Pi 4 4GBか8GBモデル(以下Pi4)
- USB接続のSSD
- キーボード
- モニタ
- 別のPC … OSを書き込んだり、困ったときに調べる用
事前準備
- Raspberry pi Imagerを使い、
Raspberry pi OS 64bit Lite
を書き込む
書き込み時にカスタマイズできるホスト名、ユーザー、ロケールなどは、後からでも設定できます。自分は後からやりました。 - Pi4にキーボード、モニタ、SSDを接続
【注意】SSDはUSB2.0端子に接続。USB3.0でブートできないSSDがあるため。後から対処 - 電源投入して、初期設定
- キーボード配列の設定 … デフォルトがUKなのでUSかJPへ
- ユーザー名とパスワードの設定
- rootユーザーのパスワード設定
sudo su -
-
passwd
でパスワードを設定。新パスワード、新パスワードの確認と2回入力する
※ここでrootユーザーのパスワードを設定するのは、Proxmox導入後のブラウザ接続時にrootユーザーでしかログインできないため
(必要なら)コンソールのフォントを大型化
参考:Ubuntu Serverのコンソールフォントを変更する方法
sudo dpkg reconfigure console-setup
- "Encoding to use on the console"は
UTF-8
のままEnter - "Please choose the character set..."もデフォルトのままEnter
- "Font for the console:"は
Terminus
をカーソルで選んでEnter - "Font size:"は一番下
16x32 (framebuffer only)
をカーソルで選んでEnter
(必要なら)sshを有効化
sudo raspi-config
- "3 Interface Options" → "I1 SSH" → "Would you like the SSH server to be enabled?" →
<YES>
を選択 -
sudo reboot
でラズパイを再起動 - ログインしてから
ip a
でIPアドレスを確認 - 以降、コピペなどの作業はSSHで行ったほうが簡単
(必要なら)SSDに関する設定変更
-
lsusb
で接続をチェック
今回の結果は以下
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0a81:0205 Chesen Electronics Corp. PS/2 Keyboard+Mouse Adapter
Bus 001 Device 003: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS578 SATA 6Gb/s
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
- JMicronのUSB-SATA変換チップはPi4のUSB3.0だとうまくブートできなかったので以下の作業
sudo vi /boot/firmware/cmdline.txt
- 行末に
usb-storage.quirks=152d:0578:u
を追記(152d:0578
はlsusbで確認した値) -
shutdown -h now
でシャットダウン、電源を抜いて電源OFF、SSDをUSB3.0に差し替えてブートするかチェック
参考:Raspberry Pi 4でUSB3.0接続のSSDがとても遅い
Proxmox インストール作業
- Proxmoxのインストール
参考: Proxmox 8 auf dem Raspberry Pi 4 installieren
参考: Proxmox-Arm64/wiki-
/etc/hosts
に割り当てたいIPアドレスとホスト名を記入。
今回は192.168.1.233 pimox8-8
とした -
/etc/hostname
にホスト名を記入 -
reboot
で再起動。設定変更を反映。hostsを書き換えただけでは実際のIPは変わらないので注意 - コピペが多いのでSSHで接続
-
sudo su -
入力。以降をrootユーザーとして処理-
apt install -y wget curl htop lsof ethtool ifupdown2
でツールを追加。実際にはifupdown2とlsofが追加され、ほかは導入済みとなるはず。 -
curl https://global.mirrors.apqa.cn/proxmox/debian/pveport.gpg -o /etc/apt/trusted.gpg.d/pveport.gpg
で追加するレポジトリのキーを取得。このあたりはProxmox-Arm64/wikiの記述そのまま -
echo "deb [arch=arm64] https://global.mirrors.apqa.cn/proxmox/debian/pve bookworm port">/etc/apt/sources.list.d/pveport.list
で参照するレポジトリを追加。wikiから2点変更-
[arch=arm64]
を追記 -
bullseye
をbookworm
に置き換え
-
apt update
-
apt full-upgrade
でifupdown2が更新 -
apt install proxmox-ve postfix open-iscsi
を実行。2024年3月末時点で480個のパッケージを取得、2050MBぐらいDL- 開始前にエラーメッセージが大量に出た場合はpveport.listの記載ミスを確認。bullseyeのままだと依存性が解決できないため、エラーが大量に出てくる
- postfixの設定画面で"General mail configuration type:"を聞かれるので
Local only
を選択。メールネーム名の設定もそのままOKして進める - 最後の方で以下のような確認が出てくる
Configuration file '/etc/apt/sources.list.d/pveport.list' ==> File on system created by you or by a script. ==> File also in package provided by package maintainer. What would you like to do about it ? Your options are: Y or I : install the package maintainer's version N or O : keep your currently-installed version D : show the differences between the versions Z : start a shell to examine the situation The default action is to keep your current version. *** pveport.list (Y/I/N/O/D/Z) [default=N] ?
-
D
で差分を取ると[arch=arm64]
を削除しようとしている。N
で進めてOK
*** pveport.list (Y/I/N/O/D/Z) [default=N] ? D --- /etc/apt/sources.list.d/pveport.list 2024-03-31 00:50:06.891388000 +0000 +++ /etc/apt/sources.list.d/pveport.list.dpkg-new 2024-03-22 10:54:28.000000000 +0000 @@ -1 +1 @@ -deb [arch=arm64] https://global.mirrors.apqa.cn/proxmox/debian/pve bookworm port +deb https://mirrors.apqa.cn/proxmox/debian/pve bookworm port
-
reboot
で再起動
-
-
再起動後の追加設定
実はこの段階だとIPアドレスが書き換わっていない。
ブリッジの設定追加が必要
- コンソールへログイン
-
ip a
でIPアドレスを確認。今回は192.168.1.15
の前提で説明 - 別PCのブラウザで
https://192.168.1.15:8006/
- 左ペインServerViewからホスト名(今回はpimox8-8)
- 中央からNetwork、CreateボタンからプルダウンLinux Bridge
- ダイアログが出てくるので入力。完了したらOK
- IPv4/CIDR: IPアドレスとサブネットマスク。割り当てたいIPである
192.168.1.233
とサブネットマスク/24
を入力 - Gateway(IPv4):デフォルトゲートウェイ。今回は
192.168.1.1
- Bridge ports: どのポートへブリッジするかの選択。
eth0
を入力
- IPv4/CIDR: IPアドレスとサブネットマスク。割り当てたいIPである
- 変更の保留が表
- Apply Configurationクリック。確認ダイアログはYes
- 設定反映後、SSHやブラウザで接続できなくなる。IPアドレスが変更されたため正常動作
- 念のためPi4のコンソールで再起動
- 再起動後にブラウザからログインできればOK
追加設定2:スワップの拡大
デフォルトだとスワップが100MBしか設定されていない。メモリが足りなくなったときの保険としてスワップファイルを拡大する