vCSA へ SSH ログインし、キーボード配列を日本語に変更する
vCenter Server Appliance 6.5 (以下、vCSA) では、OS として VMware Photon が採用されました。
そして、OS のデフォルトキー配列は、日本ではなく、英語配列になっています。
キー配列を日本語に変更する理由についてですが。
OS 自体のキー配列が英語になっていても SSH クライアントを使えば普通に日本語が打てるかもしれません。
しかし、SSH 接続が無効になっていたり、SSH が有効になっていたとしても sshd サービスデーモンが起動していなかったり、障害で落ちていたりすると必然的にコンソールを使わざるを得ない状況が発生します。
もし、コンソール画面を使わないと行けなくなった時に、キー配列が英語になってたりすると以下のような問題が発生します。
- root パスワードに特殊文字が含まれている場合に、ログインが混乱・ログインしにくい
- ログイン出来たとしても打ち間違えたり、コマンドが入力しづらい
- 結果的には、作業効率低下
なので、出来れば OS のキー配列は日本語に変更した方が良いと思います。
Step 1. SSH ログイン
vCSA 6.5 インストール時に SSH 接続を有効にした場合には、普通に vCSA の OS へ SSH 接続できるはずです。
もし有効になってない場合には、前回の記事を参考にし、コンソール画面 > Troubleshooting Mode Options にて SSH 接続を有効にしてください。
その後、TeraTerm のような SSH クライアントを使って、vCSA-FQDN or IP Address:22 (22番ポート) へ SSH ログインします。
- 接続先 : vCSA-FQDN or IP Address (22番ポート)
- ログイン ID : root
- ログイン PW : vCSA 6.5 インストール時に設定したパスワード
そうすると以下のようにコマンドプロンプト Command> が表示されます。
Connected to service
* List APIs: "help api list"
* List Plugins: "help pi list"
* Launch BASH: "shell"
Step 2. API リスト出力
特に意味はないですが、せっかくなので、シェルへ切り替える前に help api list と help pi list を実行してみます。
Supported API calls by this server:
com.vmware.appliance.health.applmgmt.get
com.vmware.appliance.health.databasestorage.get
com.vmware.appliance.health.load.get
com.vmware.appliance.health.mem.get
com.vmware.appliance.health.softwarepackages.get
com.vmware.appliance.health.storage.get
com.vmware.appliance.health.swap.get
com.vmware.appliance.health.system.get
com.vmware.appliance.health.system.lastcheck
com.vmware.appliance.monitoring.get
com.vmware.appliance.monitoring.list
com.vmware.appliance.monitoring.query
・・・
Available plugin API calls:
com.vmware.clear
com.vmware.cmsso-util
com.vmware.dcli
com.vmware.nslookup
com.vmware.pgrep
com.vmware.pgtop
com.vmware.ping
com.vmware.ping6
com.vmware.portaccess
com.vmware.ps
com.vmware.rvc
・・・
Step 3. シェル切り替え
シェルへの切り替えは、vCSA 6.0 と同じやり方で > shell を実行するとプロンプトが # に変わります。
Shell access is granted to root
Step 4. Locale、及び Keymap 設定
後は、localectl コマンドを使って、OS (VMware Photon) のロケールとキーマップを日本語環境に合わせて変更します。
System Locale: LANG=en_US.UTF-8
VC Keymap: n/a
X11 Layout: n/a
de_DE.utf8
en_US
en_US.iso88591
en_US.utf8
es_ES.utf8
fr_FR.utf8
ja_JP.utf8
ko_KR.utf8
zh_CN.utf8
zh_TW.utf8
※ 出力結果は、何も表示されない
System Locale: LANG=ja_JP.utf8
VC Keymap: n/a
X11 Layout: n/a
System Locale: LANG=ja_JP.utf8
VC Keymap: n/a
X11 Layout: n/a
jp106
※ 出力結果は、何も表示されない
System Locale: LANG=ja_JP.utf8
VC Keymap: jp106
X11 Layout: jp
X11 Model: jp106
X11 Options: terminate:ctrl_alt_bksp
ここまでやるとコンソール上でも普通に日本語キーボードのまま文字入力できるようになります。
vCSA 6.0 (SUSE Enterprise Linux) の場合には、設定ファイル修正後、設定を反映するために OS を再起動する必要がありましたが、localectl だと即時反映されるので、再起動は不要です。
Step 5. root パスワード変更
ついでに、vCSA 6.5 インストール時に一時的に設定した root パスワードを変更します。
特殊文字を入れても構いませんので、自由に設定してください。
New password: #### 新しい PW 設定
Retype new password: #### 新しい PW 再入力 (確認用)
passwd: password updated successfully
Step 6. コンソール上での文字入力テスト
最後に、vCSA 6.5 のコンソールを開いて、コンソール上で日本語キーボードが打てることと特殊文字がそのまま入力可能であることを確認してください。

その他、色々コマンドを実行してみる
せっかく vCSA へ SSH ログインしたので、軽く Linux コマンドを実行してみましょう。
uname、free、df 等を実行してみる
先ほど説明したように、OS は photon で動いていることが分かります。
Linux vcsa-6-5.hogehoge.com 4.4.8 #1-photon SMP Fri Oct 21 20:13:51 UTC 2016 x86_64 GNU/Linux
VMware Photon Linux 1.0
PHOTON_BUILD_NUMBER=13c08b6
total used free shared buff/cache available
Mem: 32167 10331 16451 120 5383 21532
Swap: 52215 0 52215
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 16G 0 16G 0% /dev
tmpfs tmpfs 16G 12K 16G 1% /dev/shm
tmpfs tmpfs 16G 700K 16G 1% /run
tmpfs tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda3 ext3 11G 4.0G 6.2G 40% /
tmpfs tmpfs 16G 11M 16G 1% /tmp
/dev/sda1 ext3 120M 28M 87M 24% /boot
/dev/mapper/core_vg-core ext3 99G 60M 94G 1% /storage/core
/dev/mapper/log_vg-log ext3 25G 82M 24G 1% /storage/log
/dev/mapper/db_vg-db ext3 25G 103M 24G 1% /storage/db
/dev/mapper/dblog_vg-dblog ext3 25G 93M 24G 1% /storage/dblog
/dev/mapper/seat_vg-seat ext3 197G 86M 187G 1% /storage/seat
/dev/mapper/netdump_vg-netdump ext3 9.8G 23M 9.2G 1% /storage/netdump
/dev/mapper/autodeploy_vg-autodeploy ext3 25G 45M 24G 1% /storage/autodeploy
/dev/mapper/imagebuilder_vg-imagebuilder ext3 25G 45M 24G 1% /storage/imagebuilder
/dev/mapper/updatemgr_vg-updatemgr ext3 99G 60M 94G 1% /storage/updatemgr
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 12G 0 disk
├sda1 8:1 0 128M 0 part /boot
├sda2 8:2 0 1G 0 part [SWAP]
├sda3 8:3 0 10.9G 0 part /
└sda4 8:4 0 3M 0 part
sdb 8:16 0 1.8G 0 disk
sdc 8:32 0 50G 0 disk
└swap_vg-swap1 254:0 0 50G 0 lvm [SWAP]
sdd 8:48 0 100G 0 disk
└core_vg-core 254:1 0 100G 0 lvm /storage/core
sde 8:64 0 25G 0 disk
└log_vg-log 254:2 0 25G 0 lvm /storage/log
sdf 8:80 0 25G 0 disk
└db_vg-db 254:3 0 25G 0 lvm /storage/db
sdg 8:96 0 25G 0 disk
└dblog_vg-dblog 254:4 0 25G 0 lvm /storage/dblog
sdh 8:112 0 200G 0 disk
└seat_vg-seat 254:5 0 200G 0 lvm /storage/seat
sdi 8:128 0 10G 0 disk
└netdump_vg-netdump 254:6 0 10G 0 lvm /storage/netdump
sdj 8:144 0 25G 0 disk
└autodeploy_vg-autodeploy 254:7 0 25G 0 lvm /storage/autodeploy
sdk 8:160 0 25G 0 disk
└imagebuilder_vg-imagebuilder 254:8 0 25G 0 lvm /storage/imagebuilder
sdl 8:176 0 100G 0 disk
└updatemgr_vg-updatemgr 254:9 0 100G 0 lvm /storage/updatemgr
sr0 11:0 1 1024M 0 rom
VMware RPM パッケージリスト確認
VMware Photon とは言え、普通に rpm コマンドも使えるので、思いつきで実行してみたらいっぱい入ってました。
以下は、RPM パッケージを確認したときの出力結果ですが、vSphere Update Manager もパッケージとして導入されていました。
vmware-dns-server-1.0.0-4542680.x86_64
VMware-rhttpproxy-6.5.0-4602587.x86_64
VMware-cis-license-6.5.0-4528602.x86_64
vmware-psc-health-6.5.0.83-4594646.x86_64
VMware-applmon-cloudvm-6.5.0-4602587.x86_64
VMware-Postgres-osslibs-9.4.9.1-4536683.x86_64
VMware-Postgres-libs-9.4.9.1-4536683.x86_64
VMware-Postgres-server-9.4.9.1-4536683.x86_64
VMware-Postgres-extras-9.4.9.1-4536683.x86_64
VMware-Postgres-pg_top-9.4.9.1-4536683.x86_64
VMware-Postgres-contrib-9.4.9.1-4536683.x86_64
VMware-vpxd-svcs-6.5.0-4602587.x86_64
VMware-vpxd-6.5.0-4602587.x86_64
VMware-vpxd-vctop-6.5.0-4602587.x86_64
VMware-cloudvm-vimtop-6.5.0-4602587.x86_64
VMware-content-library-6.5.0-4602587.x86_64
vmware-imagebuilder-6.5.0-4602587.x86_64
vmware-autodeploy-6.5.0-0.0.4602587.noarch
VMware-UpdateManager-6.5.0-4540462.x86_64
vmware-cam-6.5.0.83-4513363.x86_64
VMware-vsanmgmt-6.5.0-0.1.4602587.x86_64
vmware-studio-appliance-config-3.0.0.2-161021181327.noarch
VMware-visl-integration-6.5.0-4602587.x86_64
VMware-jmemtool-6.5.0-4602587.x86_64
vmware-pyvmomi-6.5.0-0.0.4602587.noarch
vmware-lwis-6.2.0-4446131.x86_64
vmware-directory-client-6.5.0.977-4542678.x86_64
vmware-ic-deploy-6.5.0.750-4594645.x86_64
vmware-certificate-server-6.5.0.1306-4580178.x86_64
vmware-dns-client-1.0.0-4542680.x86_64
VMware-vmon-6.5.0-4602587.x86_64
vmware-cm-6.5.0-4602587.x86_64
vmware-sca-6.5.0.116-4479838.noarch
vmware-esx-netdumper-6.5.0-0.0.4602587.i386
VMware-vapi-6.5.0-4602587.x86_64
VMware-Postgres-osslibs-server-9.4.9.1-4536683.x86_64
VMware-Postgres-9.4.9.1-4536683.x86_64
VMware-Postgres-pg_rewind-9.4.9.1-4536683.x86_64
VMware-Postgres-cis-visl-scripts-9.4.9.1-4536683.x86_64
VMware-Postgres-odbc-9.4.9.1-4536683.x86_64
VMware-Postgres-client-jdbc-9.4.9.1-4536683.noarch
VMware-mbcs-6.5.0-4602587.x86_64
VMware-vpxd-agents-eesx-6.5.0-4602587.x86_64
vmware-virgo-6.5.0-4602587.x86_64
vmware-vmrc-6.5.0-4602587.x86_64
vmware-eam-6.5.0-4602587.x86_64
VMware-sps-6.5.0-4602587.x86_64
VMware-vcha-6.5.0-4602587.x86_64
VMware-vsan-health-6.5.0-4602587.x86_64
vmware-vsm-6.5.0-4602587.x86_64
VMware-perfcharts-6.5.0-4602587.x86_64
vmware-jre-1.8.0_101-fcs.x86_64
vmware-studio-init-3.0.0.2-161021181327.noarch
vmware-studio-vami-tools-3.0.0.2-4446656.x86_64
vmware-studio-vami-lighttpd-3.0.0.2-4446656.x86_64
VMware-vc-support-6.5.0-4602587.x86_64
VMware-commonjars-6.5.0-4602587.x86_64
vmware-snmp-1.1.0-1.x86_64
VMware-unixODBC-2.3.2.vmw.2-6.5.0.x86_64
vmware-afd-6.5.0.1227-4580174.x86_64
vmware-directory-6.5.0.977-4542678.x86_64
vmware-certificate-client-6.5.0.1306-4580178.x86_64
vmware-identity-sts-6.5.0.1351-4594647.noarch
有効化されたサービスリスト確認
以下は、有効化状態 (enabled) のサービス一覧です。
appliance-shutdown.service enabled
auditd.service enabled
autovt@.service enabled
cloud-config.service enabled
cloud-final.service enabled
cloud-init-local.service enabled
cloud-init.service enabled
cron.service enabled
crond.service enabled
dbus-org.freedesktop.network1.service enabled
dbus-org.freedesktop.resolve1.service enabled
dm-event.service enabled
getty@.service enabled
haveged.service enabled
irqbalance.service enabled
lvm2-activate.service enabled
lvm2-lvmetad.service enabled
lvm2-monitor.service enabled
ntpd.service enabled
rpcbind.service enabled
rsyslog.service enabled
saslauthd.service enabled
sendmail.service enabled
sshd-keygen.service enabled
sshd.service enabled
syslog.service enabled
sysstat.service enabled
systemd-networkd-wait-online.service enabled
systemd-networkd.service enabled
systemd-resolved.service enabled
systemd-timesyncd.service enabled
vgauthd.service enabled
vmtoolsd.service enabled
vmware-firewall.service enabled
vmware-vmon.service enabled
xinetd.service enabled
atftpd.socket enabled
dm-event.socket enabled
rpcbind.socket enabled
systemd-networkd.socket enabled
remote-fs.target enabled
終わりに
VMware Photon をテスト用に別途構築して色々試して見たのですが、基本的な操作コマンドは普通に Linux コマンドで、ネットワーク設定に関しては若干くせがあリました。
サービス管理も systemctl なので、Ubuntu とか CentOS とか普通に触ってる方なら無理なく使えるかなと思います。
以上、vCenter Server Appliance 6.5 キー配列日本語化、及び root パスワード変更 でした。