ESXi上に最新のVMware photon OSを手軽に構成する方法

# 1. やりたいこと

- VMware社が提供している軽量OSであるVMware Photon OSの最新版を構築したい。
- Hardware levelも最新にしたい。

以下の記事が参考になった
- https://mako-note.com/ja/esxi-photonos/
- https://qiita.com/iwaseyusuke/items/ef56cd5b2c59ff757fa2

# 2. VMware photon OSのデプロイ

- ISOイメージから導入するのはすごく面倒なのでOVAファイルを使う。2023/03/31時点では、[VMware Photon OSのdownloadサイト](https://github.com/vmware/photon/wiki/Downloading-Photon-OS)によると、以下のOS 4.0 Rev2における`OVA with virtual hardware v13 (UEFI Secure Boot)`が良さそう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/166a3f3b-d8dd-aa40-b552-88193c9475a6.png)

- Deploy OVF Templateを選択 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/63d1d06a-a4ba-aba9-362f-0af171acfe06.png)
- 該当のOVFファイルを選択![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/2c57ad1e-899f-aeed-5a9a-17a634b93efa.png)
・
・
・
とやっていけば導入はできる。


# 3. SSHができるまで



今回実施した手順は以下の通り。

1. UEFI Secure Bootは（私の環境では不要なので）外す。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/9e249f9a-2d4d-4ae6-f253-520b15dc0c94.png)
2. PowerONする。
3. Web consoleからログインして、パスワードを変更する。初期パスワードは`root/changeme`
4. ネットワークに繋げられないと不便なので、まずは以下を実施。これでSSHができるようになるはず。

```txt:NICの確認。eth0が存在しているはず
root@photon-machine [ ~ ]# networkctl list
```
```txt:/etc/systemd/network/00-static.network の作成
[Match]
Name=eth0

[Address]
Address=10.44.35.12/27

[Network]
DNS=10.212.15.61

[Route]
Gateway=10.44.35.1
```
```txt:permissionの付与とサービスの再起動
root@photon-machine [ ~ ]# chmod 644 /etc/systemd/network/00-static.network
root@photon-machine [ ~ ]# systemctl restart systemd-networkd.service
```

# 4. 追加のカスタマイズ

SSHでログインした後に、以下を実施。
```txt:~/.ssh/authorized_keys
公開鍵の登録
```
```txt:DHCPの無効化
root@photon-machine [ ~ ]# sed -i -e "s/yes/no/g" /etc/systemd/network/99-dhcp-en.network
root@photon-machine [ ~ ]# systemctl restart systemd-networkd.service
```
```txt:timezoneの変更
root@photon-machine [ ~ ]# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
root@photon-machine [ ~ ]# date
Thu Mar 30 11:08:07 AM JST 2023
```
```txt:iptablesの変更(ICMPも最初はフィルタリングされている）。全て通信を受け付けるように変更。
root@photon-machine [ ~ ]# cat /etc/systemd/scripts/ip4save
# init
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
# Allow local-only connections
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
#keep commented till upgrade issues are sorted
#-A INPUT -j LOG --log-prefix "FIREWALL:INPUT "
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

# accept all
-A INPUT -j ACCEPT
-A FORWARD -j ACCEPT
-A OUTPUT -j ACCEPT
COMMIT
root@photon-machine [ ~ ]# systemctl restart iptables
```
```vmwaretoolsなど諸々のpackageを更新
root@photon-machine [ ~ ]# vmware-toolbox-cmd -v
11.3.5.31214 (build-18557794)

root@photon-machine [ ~ ]# export http_proxy=10.212.15.57:3128
root@photon-machine [ ~ ]# export https_proxy=10.212.15.57:3128
root@photon-machine [ ~ ]# tdnf -y update
```

```txt:最終状態
root@photon-machine [ ~ ]# uname -a
Linux photon01-cc 5.10.168-2.ph4-esx #1-photon SMP Thu Mar 2 03:44:00 UTC 2023 x86_64 GNU/Linux

root@photon-machine [ ~ ]# cat /etc/photon-release
VMware Photon OS 4.0
PHOTON_BUILD_NUMBER=2f5aad892

root@photon-machine [ ~ ]# vmware-toolbox-cmd -v
12.2.0.41219 (build-21223074)
```

# 5. Hardware versionを最新化(v13->v19)

https://kb.vmware.com/s/article/1003746

- Compatibility -> Upgrade VM Compatibilityから、HW versionを最新(version 19)に変更
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/12edc519-fd8c-4863-aa18-55526b76aa55.png)
- Yesを選択。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/4463a261-a5be-23fa-5b4e-55c51b78976b.png)
- `ESXi 7.0 U2 and later`を選択してOK。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/de2b31dc-8499-6753-c7cd-20521d3d9575.png)
- version 19になった。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/9255c616-0014-6ed9-8bc9-0c0e6462c321.png)