vSphere環境のバックアップメモ for 7.x/8.x 2025/12/25

vSphere 7.x, 8.x環境において、VCSA仮想マシンのバックアップと、ESXiサーバのバックアップをどうやって行うかのメモ

VCSA仮想マシンのバックアップ

VCSA仮想マシンのバックアップは、各種バックアップソフトを使っても可能ではあるが、推奨はされていない

Veeamの場合:vCenter Serverアプライアンス – バックアップ/リストアに関する推奨事項

現状はVMwareが用意しているVCSA内にあるバックアップ/リストアの仕組みを使用することが推奨である。

Overview of Backup and Restore Options in vCenter Server 6.x/7.0.x/8.x
vCenter Server のファイルベースのバックアップとリストア
ファイルベースのバックアップとリストアに関する考慮事項と制限

バックアップ保存先はvSphere環境内に設定することはできず、外部のWindowsファイルサーバ、NFSファイルサーバと、sftpサーバ/ftpサーバを指定することができる

VCSAのバックアップ

(1) VCSA管理URLにアクセス https://<IPアドレス>:5480 し、rootユーザでログイン

(2) [バックアップ]にてバックアップ保存先と世代数などを指定

(3) 手動実行して、保存先にファイルが作成されていることを確認

VCSAのリストア

(1) vSphere環境上にVCSAアプライアンスをデプロイ

(2) 初期設定でリストアを選んで進める

ESXiサーバのバックアップとリストア

ESXiサーバのバックアップ手法に関する公式KB

英語 How to back up and restore the ESXi host configuration
日本語 ESXi ホストの構成のバックアップ方法

ESXiサーバのバックアップ/リストアは、ESXiサーバ内のコマンド実行で行う

バックアップしたものはESXiサーバ内のメモリディスクに一時保存されているだけなので、手動で他のディスクにコピーする必要がある。ブラウザでダウンロードするか、もしくは永続的なデータストア内にコピーする、といった手段をとれる。

ESXiサーバのバックアップ

ESXiサーバにSSHなどでログインした後でコマンド実行する

(1) メモリ上に保存されている設定をディスクに反映

[root@esxi:~] vim-cmd hostsvc/firmware/sync_config
[root@esxi:~]

(2) ローカルディスク上に「ESXiホストの構成データ」ファイルを作成

[root@esxi:~] vim-cmd hostsvc/firmware/backup_config
Bundle can be downloaded at : http://*/downloads/52c603d0-73cb-65d5-893f-828faaa2f08b/configBundle-esxi.adsample.local.tgz
[root@esxi:~]

上記の場合、ブラウザから「http://ESXiのIP/~」でアクセスするとダウンロード出来る

また、上記ファイルは/scratch/downloads/ 内に作成されているので、こちらをscpコマンドなどでコピーしても良い

[root@esxi:~] ls /scratch/downloads/52c603d0-73cb-65d5-893f-828faaa2f08b/
configBundle-esxi.adsample.local.tgz
[root@esxi:~]

(3) バージョン確認

ESXiは同じバージョンじゃないとリストアできないため、確認する

[root@esxi:~] esxcli system version get
   Product: VMware ESXi
   Version: 8.0.3
   Build: Releasebuild-24677879
   Update: 3
   Patch: 70
[root@esxi:~]

ESXiサーバのリストア

制約事項:バックアップ取得時点と同じESXiのパッチバージョンであること

(1) ESXiサーバを再インストールする

(2) ESXiのバージョンを確認し、バックアップした環境と同じであること

[root@esxi:~] esxcli system version get
   Product: VMware ESXi
   Version: 8.0.3
   Build: Releasebuild-24677879
   Update: 3
   Patch: 70
[root@esxi:~]

(3) なんらかの方法でESXiサーバ上に configBundle~ホスト名.tgz のファイルを転送する

一時的にIPアドレス設定&SSH有効にして、”scpコマンドで転送”、”Host Clientでデータストア上にコピー” などの手法がある

USBメモリでコピーすることもできなくはないが、ESXiサーバ上のサービス止めるなど手順が面倒なのでお勧めはしない

(4) ESXiサーバをメンテナンスモードにする

[root@esxi:~] vim-cmd hostsvc/maintenance_mode_enter

(5) ESXiサーバを再起動

(6) ESXiにログインし、 configBundle~ホスト名.tgz を /tmp/configBundle.tgz に配置する

/tmp/configBundle.tgz がリストアに使用するファイルを置く場所なので、cpコマンドなどでコピーする

(7) ESXi上でリストアを実行する

[root@esxi:~] vim-cmd hostsvc/firmware/restore_config 0

DELLの「PowerEdge: How to backup and restore ESXi configurations」を見ると /tmp/configBundle.tgz に配置するのではなく下記の様にパスをオプションとして指定してもよいらしい

# vim-cmd hostsvc/firmware/restore_config /backup_location/configBundle.tgz

Google OneでYoutube Premiumが使えるようになった?

Google One メンバーシップに YouTube Premium が追加されたらしい、という話を聞いたので確認してみた

とりあえず結論?
・2025/12/08時点ではブラジル、カナダ、フランス、ドイツ、日本、米国の六カ国のみ
・毎月払いのみで使える(年間プラン不可)
・旧プレミアム(AIなしの2TB)でも使えるようだが、毎月払いに変更必須っぽい

値上げした場合に、その効力を即座に発揮したいから、毎月払いに変更させようとしてる?と邪推してしまいます・・・

以下に上記結論に至った調査過程を示します。

まず、出典はGoogle Oneヘルプの「Google One メンバーシップに YouTube Premium を追加する

ただし、2025/12/08時点ではブラジル、カナダ、フランス、ドイツ、日本、米国の六カ国のみ

パソコンの場合 https://one.google.com/ にアクセスする

表示されている「スペシャルオファー 特典を利用」はとりあえず無視して、ドキュメントに記載されているように左側の「特典」をクリックしてみる

現在利用可能な特典

おや???3つしかない

「プレミアムにアップグレードしてより充実した特典を」のところに「Youtube Premuimアドオン」がある

現在の私のプランは何かというと、旧プレミアム 2TBプランなので、プレミアムではあるはずなんだけど・・・

「Youtube Premuimアドオン」をクリックすると「アドオンを利用可能」とは書いてあるがなんか微妙な書きよう

「Youtube Premiumを追加」をクリックしてみると、「Google One 年間プランをすでにご利用の場合は、請求期間が月単位に変更されます。現在の定期購入の残余期間分(該当する場合)が払い戻されます。」という・・・

電子缶バッチを何種類か買ってみた beamboxもあるよ

最近、aliexpressで痛バ作成に使えそうな丸形液晶の電子缶バッチがいろいろ販売されているので、いくつか買ってみて届くのを待っている間に、日本でもNN家族 beamboxの取り扱いが始まったので急いで記事公開w

世界にひとつ。自分だけの“動く”缶バッジE-Badge「推し活xガジェット」

この記事では「beambox/NN家族 e-Badge 電子徽章」と書いているやつですね。うちに届いたのは実測50.5gだったんだけど、約45g表記になってるのはなんなんですかね・・・

2025/12/05時点の各製品評価

2025/12/05時点では「beambox/NN家族 e-Badge 電子徽章」「MONOKARO/宝石角 E-Badge」「E-Badge E87」の3種類が届いています。

この3つの中なら「beambox/NN家族 e-Badge 電子徽章」が電池が一番持つのが良いと思います
次点が動画15秒までいける「E-Badge E87」です

一番作りが頑丈でバッテリーが持つのが「beambox/NN家族 e-Badge 電子徽章」で最大輝度で約5時間表示できました

「MONOKARO/宝石角 E-Badge」が4時間後半で、「E-Badge E87」4時間といった感じです。

輝度は4段階で設定できますが、1段階目はめちゃくちゃ暗いので表示してるかどうかわかりません

3製品とも最小輝度に表示させた時に横から眺めるとこんな感じです(左手前:E87、真ん中奥:宝石角、右手前:NN家族)

写真だと宝石角よりNN家族の方が明るく見えてますが、肉眼ではどちらもほぼ真っ暗で見えていないです。

10時間越えというのはこの最小輝度の場合なんでしょうね・・・実質つかえないですけど

電子バッチの基本的なスペック

2025年12月05日時点でaliexpress上で販売されている電子バッチを見ると、6種類ぐらいありそうで、それぞれのスペックを抜き出すと以下の様な感じとなっている。

・丸形液晶を使っているが1.7インチと1.8インチの2種類がある
・タッチパネル操作があるものと、ないものがある
・充電端子がType-Cのものと、専用コネクタのものがある
・充電中でも画像表示できるもの、とできないものがある
・動画表示時間が「5秒固定」「3~15秒」などいくつか種類がある
・静止画を1枚をずっと表示モードと複数枚を入れ替える表示モードがある
・バッチへのデータ転送はBluetooth経由で該当機種専用アプリを使って行う
・スペック上はGIFアニメ対応と書いてあってもアプリが対応していない場合がある

データ転送アプリは、基本的に該当機種専用アプリで、とりあえず下記の3種類があり、それぞれ使えるバッチが違っている

・MONOKARO/宝石角用のE-badge。インストール後のアイコン表示は「宝石角」
・E-Badge E87用ZRun。説明ではスマートウォッチ用となっているがバッチでのデータ転送機能がある
・beambox/NN家族 e-Badge 電子徽章用のbeamBox。インストール後のアイコン表示は「NN-家族」

実際の製品例

aliexpressの販売ページと実際に手に入れたものとの比較などから推測した製品スペックです

MONOKARO/宝石角系

メーカWeb?: http://yangyixin.com.cn/product.html

MONOKARO/宝石角系は、製品紹介や裏面にユニコーンっぽいロゴが入っているのでわかりやすい

たとえば下記の様な感じ

この製品の場合に書いてありがちなスペックキーワード
1.8インチ 直径58mm
Bluetooth 5.4
画像、GIFアニメ、動画3秒
画面タッチアリ版となし版

beambox/NN家族系

メーカWeb: https://www.beambox.com.cn
alibaba: https://beambox.en.alibaba.com/

裏面に特徴があり、裏面に「NN-家族」というロゴと上部にストラップホールがある

製品によっては斜めに立てるためのスタンドと中に磁石もついてるので50.5gと重い

サンプル絵に下記キャラクターがいたらたぶんコレ

この製品の場合に書いてありがちなスペックキーワード
1.8インチ IPS 解像度360×360
57x57x11mm、重さ 45g(注: 実測50.5g)
Bluetooth 5.4
画像、GIFアニメ、動画5秒
画面タッチアリ
バッテリー 500mAhで8時間

ノーブランド その1 E87

この箱のやつ。E87

この製品の場合に書いてありがちなスペックキーワード
1.7インチ 直径53mm
Bluetooth 6.0
画像、動画3~15秒
画面タッチアリ版となし版
バッテリー 600mAhで10時間

ノーブランド その2

裏面にスピーカー穴、充電用電極、ピン留め、下部に丸ボタンがあるタイプです。

液晶表示に8個のアイコンを並べています。

この製品の場合に書いてありがちなスペックキーワード
1.8インチ 直径5.7cm
Bluetooth
画像、GIFアニメ、動画3秒
画面タッチアリ

ノーブランド その3

裏面がグラデーションになってる、ピン留め、Type-C充電

この製品の場合に書いてありがちなスペックキーワード
1.85インチ 直径5.5cm
Bluetooth 5.4
画像、GIFアニメ、動画3秒
画面タッチアリ
バッテリー 450mAh 18時間

ノーブランド その4

1.85インチはいつもので、Type-C充電で、同じサイズのボタンが3つ並んでる

この製品の場合に書いてありがちなスペックキーワード
1.85インチ 直径56.5mm
Bluetooth
画像、GIFアニメ、動画
画面タッチアリ
バッテリー 450mAh 8~10時間、最大18時間

アプリやバッジのUIが宝石角と同じ系列のデザインとなっている。

doveadmとjqコマンドを組み合わせて使用率の値だけを取り出す

doveadmとjqコマンドを組み合わせて既定パーセントを超えているユーザを一覧化する、というスクリプトを考えた

前提として、LDAP連携時、1000件を超えるアドレスがある場合、doveadm quota get -A での一括取得ができない、という制約がある。

このため、ldapserchコマンドを使ってユーザ一覧を出力した上で個別に処理を行っていく必要がある。

doveadm quota get -u ユーザ名の通常出力は以下となる

[root@mail ~]# doveadm  quota get -u testuser2
Quota name Type    Value Limit                                                             %
User quota STORAGE     6    50                                                            12
User quota MESSAGE     8     -                                                             0
[root@mail ~]#

doveadmコマンドには-fオプションがあってフォーマットを変えられ、例えばdoveadm -f tab quota get -u ユーザ名を実行するとタブ区切りで処理するためタブが1個だけで表示される

[root@mail ~]# doveadm -f tab quota get -u testuser2
Quota name      Type    Value   Limit   %
User quota      STORAGE 6       50      12
User quota      MESSAGE 8       -       0
[root@mail ~]#

最近のLinuxならjqコマンドがインストールされているのでJSONで形式で出力することにする

[root@mail ~]# doveadm -f json quota get -u testuser2
[{"root":"User quota","type":"STORAGE","value":"6","limit":"50","percent":"12"},{"root":"User quota","type":"MESSAGE","value":"8","limit":"-","percent":"0"}][root@mail ~]#

これを単純にjqコマンドに通す

[root@mail ~]# doveadm -f json quota get -u testuser2 | jq -r
[
  {
    "root": "User quota",
    "type": "STORAGE",
    "value": "6",
    "limit": "50",
    "percent": "12"
  },
  {
    "root": "User quota",
    "type": "MESSAGE",
    "value": "8",
    "limit": "-",
    "percent": "0"
  }
]
[root@mail ~]#

今回は 容量のみ見るので「STORAGE」に関してだけ取得したい。この場合は「.[]」で1段階掘り下げた上で「|」でその下に対する処理を行い、「select」で条件にあうものを選択する、という処理を行う

[root@mail ~]# doveadm -f json quota get -u testuser2 | jq -r '.[] | select(.type =="STORAGE") '
{
  "root": "User quota",
  "type": "STORAGE",
  "value": "6",
  "limit": "50",
  "percent": "12"
}
[root@mail ~]#

selectは複数つなげられる、というのでpercentについても追加するも、90以上なら表示のところ、12なのに表示されている

[root@mail ~]# doveadm -f json quota get -u testuser2 | jq -r '.[] | select(.type =="STORAGE" and .percent>90 ) '
{
  "root": "User quota",
  "type": "STORAGE",
  "value": "6",
  "limit": "50",
  "percent": "12"
}
[root@mail ~]#

じゃあ、percentが12なら表示に変更してみるが、何も表示されない。

[root@mail ~]# doveadm -f json quota get -u testuser2 | jq -r '.[] | select( .percent == 12 ) '
[root@mail ~]#

文字列問題か?ということで、数値を「””」でくくってみると表示される

[root@mail ~]# doveadm -f json quota get -u testuser2 | jq -r '.[] | select( .percent == "12" ) '
{
  "root": "User quota",
  "type": "STORAGE",
  "value": "6",
  "limit": "50",
  "percent": "12"
}
[root@mail ~]#

jqコマンド処理内で、文字列として認識されているものを数値として認識させるのは「tonumber」を通す

[root@mail ~]# doveadm -f json quota get -u testuser2 | jq -r '.[] | select(.type =="STORAGE" and (.percent|tonumber) > 90 ) '
[root@mail ~]#

10より上なら表示に変更

[root@mail ~]# doveadm -f json quota get -u testuser2 | jq -r '.[] | select(.type =="STORAGE" and (.percent|tonumber) > 10 ) '
{
  "root": "User quota",
  "type": "STORAGE",
  "value": "6",
  "limit": "50",
  "percent": "12"
}
[root@mail ~]# 

で、percentの数値だけを出力させるには以下となる

[root@mail ~]# doveadm -f json quota get -u testuser2 | jq -r '(.[] | select(.type =="STORAGE" and (.percent|tonumber) > 10 ) ).percent'
12
[root@mail ~]# doveadm -f json quota get -u testuser2 | jq -r '(.[] | select(.type =="STORAGE" and (.percent|tonumber) > 90 ) ).percent'
[root@mail ~]#

これを環境変数で実行できるように修正を試みるがエラーとなる

[root@mail ~]# limitpercent=10
[root@mail ~]# username=testuser2
[root@mail ~]# doveadm -f json quota get -u $username | jq -r '(.[] | select(.type =="STORAGE" and (.percent|tonumber) > $limitpercent ) ).percent'
jq: error: $limitpercent is not defined at <top-level>, line 1:
(.[] | select(.type =="STORAGE" and (.percent|tonumber) > $limitpercent ) ).percent
jq: 1 compile error
[root@mail ~]#

jqコマンドの–argオプションを使って jqコマンド内部用の$limitpercentを設定する必要があった

[root@mail ~]# doveadm -f json quota get -u $username | jq --arg limitpercent 10 -r '(.[] | select(.type =="STORAGE" and (.percent|tonumber) > $limitper
cent ) ).percent'
[root@mail ~]#

今回も文字列数値問題があるようなのでtonumberを追加

[root@mail ~]# doveadm -f json quota get -u $username | jq --arg limitpercent $limitpercent -r '(.[] | select(.type =="STORAGE" and (.percent|tonumber) > ($limitpercent|tonumber) ) ).percent'
12
[root@mail ~]#

これで、使用率の値だけの取り出しが出来た。

NanoKVM USBを買ってみた

データセンター作業の時、データセンターによっては貸し出しのディスプレイ/キーボード/マウスが存在していないことがよくある。(さくら とかは用意がある)

そんな時は、10インチのHDMI入力液晶+VGA/HDMI変換+小型キーボード+マウスを持参しているのだが、もっと小型化できないか、と思っていた。
(ちなみにHDMI入力液晶の種類によっては1920×1080解像度しか受け付けないことがあり、その場合は起動画面とか表示されないことになるので注意が必要)

Sipeedが出しているNanoKVMというイーサ経由してディスプレイ/キーボード/マウス(KVM)を提供できるものが出ているが、それのNanoKVM USBというノートパソコンにUSB接続すると、ノートパソコン上に他のパソコン画面を表示し、ノートパソコンのキーボード/マウス操作で他のパソコン操作ができる、というバリエーションが出ていた。

これがAliexpressで6000円だったので購入してみた

注文から7日で到着

Spotpearというところの取扱品だった模様でUser Guideはこちら、とかありましたが、記載がいまいち・・・

おとなしく公式の https://github.com/sipeed/NanoKVM-USBwikiを見た方がよいでしょう

使用するためのケーブルを一通りとりつけてみる

雑な接続メモ

で、ノートパソコンにつなぐと下記の様に「USB 2.0系のUSBシリアル」と「USB 3.0系のキャプチャデバイスなど」の2系統で接続される

使用するType-C/Type-CのUSBが適切な仕様ではない場合、USB3.0系が認識されないので注意

ダイソーで売ってた安いType-C/Type-Cだと認識できず、Thunderbolt 4対応ケーブルを使用している。

ノートパソコン側で操作を行う場合、「専用アプリ」か「WebUSBを利用したブラウザ」の2種類を選択できる。

「専用アプリ」の場合、 https://github.com/sipeed/NanoKVM-USB/releases から Windows/MacOS/Linux用のバイナリをダウンロードしてインストールする

インストールされたアプリを起動すると下記のようなデバイス選択画面が表示される

上側が画面表示のためのビデオキャプチャデバイスを選択する場所で「USB3 Video (345f:2131)」というのがNanoKVM USBなのでそれを選択する

下側がキーボード/マウス操作を連携するためのシリアルポートを選択する場所で、デバイスマネージャ上で認識されている「USB-SERIAL CH340(COM ??)」のCOM番号を選択する。今回の場合は「COM3」となる

選択が終わると画面表示が始まる。

キーボードの配列問題については、ノートパソコン側日本語キーボード(JP108)、接続先PCも日本語キーボード(JP108)設定の場合は特に問題なく記号、日本語変換ON/OFF操作などについても連携できました。

「WebUSBを利用したブラウザ」の場合、 ブラウザから https://usbkvm.sipeed.com/ にアクセスすると必要なものがダウンロードされて、まずはキャプチャデバイスを選択します。

次にシリアルデバイスの選択をすると、あとはアプリ版と同じ操作になります。


ここからは利用した際の注意点

めっちゃノイズが乗ることがある。これはケーブルを取り付け直したら正常になった

USBケーブルの選択が悪いとUSB 2.0系でのみ認識される。この場合、解像度によっては画面転送が追いつかないことがあるようで画質が悪いことがある