VyOS を ESXi へインストール & 仮想マシンのコピー

ｰ ダウンロード
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/20fba002-fa5d-edd6-54f4-f6b075d54880.png)
Rolling Release をクリックすると iso イメージへのリンクがあり (問題が無ければ) 日々リリースされています。ここから最新の物をダウンロード。(たまに起動できない物もあるので、そういう場合は数日前のものでリトライしてください)

- ESXi へインストール
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/a0955a26-4c3f-d2a0-b126-167acdb7a317.png)
「仮想マシンの作成/登録」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/d1e18dc7-b69b-b1be-4f98-650519b5089e.png)
VyOS は Debian ベースのため、Debian を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/dd87bbb1-2f10-fcfc-c511-e12a14e6d364.png)
ストレージは私の環境では一つしか無いのでそのまま「次へ」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/047f35ca-6fe1-b997-a07b-f13a0361cc79.png)

[VyOS On VMware](https://vyos.io/solutions/vyos-on-vmware) によると、推奨は CPU 1コア、メモリ 1GB、ストレージ 10GB ということなので、CPU のみ 4個にしてあとは推奨で。
インストールは ISO イメージなので、アップロードする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/6672659b-3940-866e-5237-ecf1ab76ff8f.png)
左上の「アップロード」をクリックし、ISO ファイルを選択 (アップロード)。アップロードが完了すると ISO ファイルが表示されるので選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/72feeb91-052c-0954-22f4-61cd9565a34a.png)
次へ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/8d608a47-58ac-b4d7-42c6-e42a801798bd.png)
確認画面が表示されるので「完了」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/8e0c73f5-7e15-4f00-84f3-1e3d6b11418f.png)
仮想マシンが登録されるので「パワーオン」で起動。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/c1183b94-b658-98bc-d52f-2bcd6fd7c896.png)
起動開始。ログイン画面が表示されたらユーザ名、パスワードとも vyos でログイン。

vyos のインストール
```shell:
vyos@vyos:~$ install image
Welcome to the VyOS install program.  This script
will walk you through the process of installing the
VyOS image to a local hard drive.
Would you like to continue? (Yes/No) [Yes]: ⏎
Probing drives: OK
Looking for pre-existing RAID groups...none found.
The VyOS image will require a minimum 1000MB root.
Would you like me to try to partition a drive automatically
or would you rather partition it manually with parted?  If
you have already setup your partitions, you may skip this step

Partition (Auto/Parted/Skip) [Auto]:⏎

I found the following drives on your system:
 sda    10737MB

Install the image on? [sda]:⏎

This will destroy all data on /dev/sda.
Continue? (Yes/No) [No]: Yes

Looking for pre-existing RAID groups...none found.
How big of a root partition should I create? (2000MB - 10737MB) [10733MB]:⏎

Creating filesystem on /dev/sda1: |[  302.718178] critical target error, dev sda, sector 20971392 op 0x9:(WRITE_ZEROES) flags 0x8000800 phys_seg 0 prio 
class 2
OK
Done!
Mounting /dev/sda1...
What would you like to name this image? [vyos-1.4-rolling-202306180317]:⏎
OK.  This image will be named: vyos-1.4-rolling-202306180317
Copying squashfs image...
Copying kernel and initrd images...
Done!
I found the following configuration files:
    /opt/vyatta/etc/config/config.boot
    /opt/vyatta/etc/config.boot.default
Which one should I copy to sda? [/opt/vyatta/etc/config/config.boot]:⏎

Copying /opt/vyatta/etc/config/config.boot to sda.
Enter password for administrator account
Enter password for user 'vyos':
Retype password for user 'vyos':
I need to install the GRUB boot loader.
I found the following drives on your system:
 sda    10737MB

Which drive should GRUB modify the boot partition on? [sda]:⏎

Setting up grub: OK
Done! Please reboot now.
vyos@vyos:~$ sudo su -
root@vyos:~$ shutdown -r now
```
で再起動。 (ISO ファイルはアンマウントする)

- ssh を有効化
ホスト名、ドメイン名を設定、
eth0 を DHCP

```shell:
vyos@vyos:~$ configure
[edit]
vyos@vyos# set system host-name vyos-1
[edit]
vyos@vyos# set system domain-name home.my
[edit]
vyos@vyos# set interfaces ethernet eth0 description DHCP
[edit]
vyos@vyos# set interfaces ethernet eth0 address dhcp
[edit]
vyos@vyos# set service ssh
[edit]
vyos@vyos# commit
[edit]
vyos@vyos# save
Saving configuration to '/config/config.boot'...
Done
[edit]
vyos@vyos# exit
exit
vyos@vyos-01:~$ ip -4 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    inet 192.168.0.101/24 brd 192.168.0.255 scope global dynamic eth0
       valid_lft 3026sec preferred_lft 3026sec
```

- ntp の設定
タイムゾーン、ntp の設定を修正
デフォルトで time○.vyos.net が入っているので削除する。
```shell:
vyos@vyos-01:~$ show configuration
....
service {
    ntp {
        allow-client {
            address 0.0.0.0/0
            address ::/0
        }
        server time1.vyos.net {
        }
        server time2.vyos.net {
        }
        server time3.vyos.net {
        }
    }
    ssh {
    }
}
....
vyos@vyos-01:~$

vyos@vyos-01:~$ configure
[edit]
vyos@vyos-01# set system time-zone Asia/Tokyo
[edit]
vyos@vyos-01# delete service ntp server time1.vyos.net
[edit]
vyos@vyos-01# delete service ntp server time2.vyos.net
[edit]
vyos@vyos-01# delete service ntp server time3.vyos.net
[edit]
vyos@vyos-01# set service ntp server ntp.nict.jp
[edit]
vyos@vyos-01# commit
[edit]
vyos@vyos-01# save
Saving configuration to '/config/config.boot'...
Done
[edit]
vyos@vyos-01# exit
exit
vyos@vyos-01:~$
```

- これをテンプレートとして ESXi の中に用意する

一旦シャットダウンする
```shell:
vyos@vyos-01:~$ poweroff
Are you sure you want to poweroff this system? [y/N] y

Broadcast message from root@debian on pts/1 (Mon 2023-06-19 02:05:01 JST):

The system will power off now!
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/dbf8d8e4-8f7a-4142-55cc-b6ea71aa0c2a.png)
データストアブラウザを開きます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/7880bc27-6424-4804-5301-6ed1f8e6f6ff.png)
「ディレクトリの作成」で、「テンプレート」ディレクトリを作成します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/8babed26-ddd3-c5d3-b0c1-e9d6f5efa620.png)
VyOS のディスクを右クリックして (～.vmx) をコピー

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/4afde31a-b85c-b792-b29a-861d43a8ccb5.png)
テンプレートの下へコピー

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/422ce79e-6c49-919c-a70b-706f751d63a4.png)
～.vmdk も同様にコピーします

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/264f5edf-70bf-2d35-a129-6956414f62f0.png)
テンプレートの下へコピー

-コピーしたディスクで新たにインストール
コピー先のディレクトリを作成し、コピーしたディスクを (～.vmdk, ～.vmx の2つとも) コピーする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/db349a61-230a-4311-aaae-44d16de4a9eb.png)
コピー元のファイルを右クリックしてコピー

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/1c8f629b-cc28-faeb-7165-98ebe8d2f653.png)
新しいディレクトリに 2つのファイルをコピー

- テンプレートから仮想マシンを作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/60e02bf2-2328-6631-e67d-b38af4704513.png)
～.vmx を右クリックして「仮想マシンの登録」を選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/637586a1-a292-458e-7c14-13832271743d.png)
仮想マシンが登録された。ホスト名や、CPU、メモリなどを編集して、マシンを起動。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/aa4e83a7-94a0-1e04-1a37-341e79862133.png)
テンプレートをコピーしたので「コピーしました」を選択。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306041/3bd37988-73d5-8ab0-050f-0275ddeee792.png)
ホスト名が VyOS-01 のまま起動。
テンプレートはテンプレートっぽい設定で保存するべきでしたね。既存の 01 と、コピーした 01 (新 02) のマシンの区別がつきにくい。