RaspberryPiにProxmoxVEをインストールする(Bullseye対応)

この記事は以前書いたもののアップデート版です。
https://qiita.com/wancom/items/b62ac44e6c9f0d1c4048

この記事では最近リリースされたRaspberryPi OS BullseyeでRroxmoxVEを構築する方法を紹介します。
(基本的にはここに書いてあるとおりですか…)
https://github.com/pimox/pimox7

ProxmoxをインストールするRaspberryPiはRaspberryPi4の4GB以上のモデルを使用してください。

**(2022/1/2追記)**
手順を色々見直したため大きく変更が発生しています。
以前ご覧になられた方は改めて確認してもらえればと思います。
何回もOSを再インストールして検証を行なっていますが、もしうまくいかない等があれば教えていただけますと幸いです。

# TL;DR
今回は使用するリポジトリが違うため以前と少し手順が違います。
今回は一括でインストールするスクリプトが用意されているため、以前より楽になりました。

https://github.com/pimox/pimox7#install-from-scratch-rpios64bit-interactive-automatic-installer


- 64bit版のRaspberryPiをダウンロードして書き込む。  
今回は下記のバージョンのOSを使用しました。  
https://downloads.raspberrypi.org/raspios_lite_arm64/images/raspios_lite_arm64-2021-11-08/2021-10-30-raspios-bullseye-arm64-lite.zip  
最新バージョンは[ここから](https://downloads.raspberrypi.org/raspios_lite_arm64/images/)探してみてください。

- Rootとしてログインする。

```
sudo -s
```

- インストール用のスクリプトをダウンロードして実行する。

```
curl https://raw.githubusercontent.com/pimox/pimox7/master/RPiOS64-IA-Install.sh > RPiOS64-IA-Install.sh
chmod +x RPiOS64-IA-Install.sh
./RPiOS64-IA-Install.sh
```
あとは画面に表示される指示に従ってネットワーク設定などを入力してください。


# 頑張りたい人向け
上記の手順を強く推奨します。引き返すなら今のうちです。
それでも自分でやるんだ！という人は下記を参考にしてください。
やっていることは上記と似ていますが、一部変えてある部分もあります。

- 64bit版のRaspberryPiをダウンロードして書き込む。  
今回は下記のバージョンのOSを使用しました。  
https://downloads.raspberrypi.org/raspios_lite_arm64/images/raspios_lite_arm64-2021-11-08/2021-10-30-raspios-bullseye-arm64-lite.zip  
最新バージョンは[ここから](https://downloads.raspberrypi.org/raspios_lite_arm64/images/)探してみてください。

- IPアドレスを固定する
通常、RaspberryPi OSでは`/etc/dhcpcd.conf`ファイルを使用しますが、Proxmoxでは`/etc/network/interfaces`ファイルを使用します。
よって、今回は`/etc/network/interfaces`ファイルを編集します。

```
auto eth0
iface eth0 inet static
  address 192.168.0.11/24
  gateway 192.168.0.1
  dns-nameserver 192.168.0.1
```


- hostsファイルを修正する  
hostsファイルを修正しないとProxmoxが正常に起動できないので注意してください。

```
# おそらく下記のような行があると思うのでコメントアウトまたは削除し、
# 127.0.1.1         raspberrypi

# 代わりに下記のように2で割り当てたIPアドレスと対応する行を追加する
192.168.0.11        raspberrypi
```

- `kernel-headers`をインストールする  
ProxmoxVEで使用するためインストールしておきましょう。

```
sudo apt install raspberrypi-kernel-headers
```

- `dhcpcd5`をアンインストールする  
ProxmoxVEと競合するためアンインストールしておきましょう。

```
sudo apt remove dhcpcd5
```

- ProxmoxVEをインストールする  
インストール用のスクリプトが用意されているのでそれを使用します。  
とは言ってもやっていることは、専用のパッケージリポジトリの追加と`proxmox-ve`のインストールです。  
一応注意書きにインストールの途中でネットワークの構成が変更されるとあったので直接コンソールにログインするか、sshを使用する場合は`screen`コマンドなどで通信が切れてもインストールが継続できるようにしておいてください。

```
sudo sh -c "curl https://raw.githubusercontent.com/pimox/pimox7/master/pimox.sh | sh"
```

- IPアドレスを固定＆ブリッジを追加する2  
Proxmoxインストール後に`/etc/network/interfaces.new`ファイルが生成されます。  
再起動すると`/etc/network/interfaces`ファイルがこのファイルに上書きされるので、`/etc/network/interfaces.new`ファイルを修正します。  
また、修正するついでに先にブリッジを設定しましょう。これは仮想マシンをネットワークに繋ぐ際に使用します。

```
auto vmbr0
iface vmbr0 inet static
        address 192.168.0.11/24
        gateway 192.168.0.1
        bridge-ports eth0
        bridge-stp off
        bridge-fd 0
```


- 最後に再起動する

# ちょっと試してみる
こちらについては前回の記事の[ちょっと試してみる](https://qiita.com/wancom/items/b62ac44e6c9f0d1c4048#ちょっと試してみる)を参考にしてみてください。
ただし、ネットワークのブリッジを追加するはすでにしているため必要ないと思います。

本家の説明があったのでこちらも併せて参考にしてみてください。より詳細に説明されています。
https://github.com/pimox/pimox7/blob/master/docs/VM-Configuration.md

# あとがき
ようやくRaspberryPiにもBullseyeが来ましたが、それに伴い以前の記事では対応できない部分が出てきたため改めてまとめてみました。
急いで書いたため今後何か気づいた点があれば随時追記、修正していきます。
~~（あとRaspberryPi4追加で2台欲しいな…あれ前も同じことを言っていたような…）~~
誤字、脱字、間違い等があればご指摘いただければ幸いです。

# Reference
- https://github.com/pimox/pimox7
- https://qiita.com/wancom/items/b62ac44e6c9f0d1c4048