VRA (Virtual Router Appliance) のアップデート (1801q -> 2012h)

##### はじめに

VRA (Virtual Router Appliance, 仮想ルーター・アプライアンス) 1801系バージョンは 2022年 1月でサポート・エンドを迎えているため、アップデートを実施しました。



参考 IBM Cloud Docs: "[VRA](https://cloud.ibm.com/docs/virtual-router-appliance?topic=virtual-router-appliance-getting-started&locale=en)"

抜粋

> Deprecated: As of January 2022, all 1801 versions of IBM Cloud Virtual Router Appliance (VRA) are deprecated and no longer supported. To maintain support for your VRA, be sure to update to version 2012 or later as soon as possible by opening a support ticket and requesting an updated ISO. Once you receive your ISO, you can then follow the instructions for Upgrading the OS to finish updating your version.


---

##### 環境

IBM Cloud Virtual Router Appliance  (Vyatta 5600)　（1台構成、冗長化なし)
バージョン： 1801q

---

##### 事前準備

(1) マニュアルの確認

・[Upgrading the OS](https://cloud.ibm.com/docs/virtual-router-appliance?topic=virtual-router-appliance-upgrading-the-os)　をよく読み、サポートにイメージ・ファイルの配置を依頼するためケースを起票します。

> Upgrading the VRA operating system can be performed with the command add system image on a local ISO file uploaded by our IBM® Support team. A list of available Vyatta upgrade versions can be obtained using the IBM Support case system.


・[Resolving upgrade issues](https://cloud.ibm.com/docs/virtual-router-appliance?topic=virtual-router-appliance-upgrade-issues) をよく読み対象となる問題がないかを確認します。


(2) Firmware の更新要求があれば事前に実施します。

当環境では 事前にBIOS firmware 更新を実施しました。

https://qiita.com/c_u/items/4343ff1226fdb42fd391

(3) 構成情報バックアップ

"(2)" に記載の記事の「実行前の情報取得」で実行しました。

---

##### 実行

vyatta ユーザーでログインし、/home/vyatta 下にサポートによって配置された対象のアップデート・イメージ・ファイルが存在することを確認します。

```
vyatta@testvra1:~$ ls -l /home/vyatta/vyatta-2012h-license-amd64.iso
-rw-r----- 1 vyatta vyatta 563085312 May 31 13:52 /home/vyatta/vyatta-2012h-license-amd64.iso
vyatta@testvra1:~$ 
```

"add system image </home/vyatta/対象isoファイル>" コマンドでアップデートを実行します。
構成情報取得は "Yes" にしています。


```
vyatta@testvra1:~$ add system image /home/vyatta/vyatta-2012h-license-amd64.iso

Welcome to the AT&T vRouter image installer.
Checking MD5 checksums of files on the ISO image...OK.
What would you like to name this image? [2012h.04211451]:
This image will be named: 2012h.04211451
Would you like to save the current configuration
directory and config file? (Yes/No) [Yes]:
Saving current configuration...
Would you like to save the SSH host keys from your
current configuration? (Yes/No) [Yes]:
Saving SSH keys...
Copying squashfs image...
Copying kernel and initrd images...
Copying saved configuration to config partition.
Copying saved SSH host keys.
Running post-install script...
Done.
```

show system image では2つのイメージが確認できました。


```
vyatta@testvra1:~$ show system image
The system currently has the following images installed:

   1: 1801q.09052048 (running image)
   2: 2012h.04211451 (default boot)

vyatta@testvra1:~$
Fri Jun  3 12:57:06 CDT 2022
```

リブートを行い 2012h を適用します。


```
vyatta@testvra1:~$ reboot
Proceed with reboot? (Yes/No) [No] y


Broadcast message from user1@testvra1 (pts/1) (Fri Jun  3 12:57:30 2022):


The system is going down for reboot
```



イメージがロードされ、起動するのを待ちます。


```
$ ping 10.8.xx.xxx
PING 10.8.xx.xxx (10.8.xx.xxx): 56 data bytes
64 bytes from 10.8.xx.xxx: icmp_seq=0 ttl=52 time=178.403 ms
64 bytes from 10.8.xx.xxx: icmp_seq=1 ttl=52 time=81.363 ms
^C
--- 10.8.xx.xxx ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 81.363/129.883/178.403/48.520 ms
```

疎通が確認できたのでログインします。


```
$ ssh -i id_rsa_VRA user1@10.8.xx.xxx
Welcome to DANOS - Vyatta NOS Edition

************************************************************
************************************************************
**                                                        **
**           **  UNAUTHORIZED USE PROHIBITED  **          **
**                                                        **
**         **  UNAUTHORIZED ACCESS PROHIBITED  **         **
**                                                        **
**      IBM's internal systems must only be used for      **
**      conducting IBM's business or for purposes         **
**      authorized by IBM management.  Use is subject     **
**      to audit at any time by IBM management.           **
**                                                        **
************************************************************
************************************************************
Linux testvra1 5.4.0-trunk-vyatta-amd64 #1 SMP PREEMPT Debian 5.4.149-0vyatta1 (2021-09-27) x86_64
vbash-sandbox: sudo: command not found

vyatta@testvra1:/home/user1$ show version
Version:      2012h
Description:  DANOS - Vyatta NOS Edition 2012h LICENSE
License:      Standard
Built on:     Thu Apr 21 14:51:54 UTC 2022
System type:  Intel 64bit
Boot via:     image
HW model:     SYS-6019U-TN4R4T
HW S/N:       xxxxxxxxxxxxxx
HW UUID:      00000000-0000-0000-0000-ac1f6bc7890e
Uptime:       04:01:07 up 1 min,  1 user,  load average: 1.91, 0.93, 0.35
-vbash: history: /home/vyatta/.bash_history: cannot create: No such file or directory
vyatta@testvra1:/home/user1$
```

2012h にバージョンが変わっていることを確認できました。


[発生事象]

前バージョンで /home/vyatta 下に存在していたファイルは消えている様子です。
どうやら Vbash の問題とuser-isolation が関連した様子です。

・[Vbash-Issue-5.2](https://cloud.ibm.com/docs/virtual-router-appliance?topic=virtual-router-appliance-upgrade-issues#Vbash-Issue-5.2)

必要であれば "/lib/live/mount/persistence/sda2/boot" などの保管されたディレクトリからファイルを戻すことで解決するとのことです。もしくは、事前に取得した構成構成情報取得から戻すことも考えられます。


・[Upgrading from 1801 to 1912](https://cloud.ibm.com/docs/virtual-router-appliance?topic=virtual-router-appliance-upgrade-issues#1801-to-19120)

　1801 -> 1912 へのアップデートでの既知の事象で、use-isolation がデフォルト enable になる



> Many Bash commands no longer work
> By version 1912, a security feature called user-isolation was enabled by default, which creates a shell session where commands for accessing the underlying Debian system are limited. To fix this, commit the line set system login user-isolation disable in your configuration and then log in again.



[所要時間]
イメージのロード、リブートで 10 分程度でした。


---

##### 確認

VRA を経由する通信に問題ないことを疎通確認しました。



---

以上です。