2021/10/5¶
mintバックアップ¶
mintログイン¶
vmwareにログインしてsshの有効化をする
- mintのvmwareログイン
- アクションのサービスからsshの有効化

- PowerShellでログイン
c0118272@jumpsv-deployment-6945bf9cf-lmfsr:~$ ssh root@192.168.100.2 The authenticity of host '192.168.100.2 (192.168.100.2)' can't be established. RSA key fingerprint is SHA256:yPC3IuidWZr1k8FA6+gMiYbIQsJ0LBnQE/w93F/ogMY. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.100.2' (RSA) to the list of known hosts. Password: The time and date of this login have been sent to the system logs. WARNING: All commands run on the ESXi shell are logged and may be included in support bundles. Do not provide passwords directly on the command line. Most tools can prompt for secrets or accept them from standard input. VMware offers supported, powerful system administration tools. Please see www.vmware.com/go/sysadmintools for details. The ESXi Shell can be disabled by an administrative user. See the vSphere Security documentation for more information. [root@mint:~] ls altbootbank bootpart4kn.gz lib64 opt scratch tmp vmimages bin dev local.tgz proc store usr vmupgrade bootbank etc locker productLocker tardisks var bootpart.gz lib mbr sbin tardisks.noauto vmfs
シェルスクリプト作成場所確認¶
ボリュームの確認
[root@mint:~] ls /vmfs/volumes/
29f92888-f2d38ff8 StoreNAS-Mint da4b25e9-1169cec9-52df-c071d8eb9809
5d313f42-f1a1ff60-d8a4-04d9f521bea2 StoreNAS-Public ee7022c2-10aac379
5d3261e0-d2db1a4c-7ef1-04d9f521bea2 StorePCIe os-images
5dab27e1-ccc0911a-e743-04d9f521bea2 a8f78bb7-b21e4a25
StoreNAS-Backup-Mint ba1fb7ea-c0496d5f-66c3-62e880a44bb4
[root@mint:~] ls /vmfs/volumes/StoreNAS-Mint
Chai ark-1 fusuke load-test-env test-docker
Futa_test base-m gomi next1 test-docker2
Ono bootcamp-tomita-docker gomi1 nomura3 test-master1
Tanaka-test c0119264-hiroi ito-k3s-access okada-bft test-worker1
akitaya cdsl_wordpress ito-k3s-master2 okada-bft-w0 ubuntu-sr04
akiyama chaimint ito-k3s-task ppb450-local ubuntu-study1
anchor-2 docker-ito ito-k3s-worker1 share-anchor
anchor-3 doctor-stg1 ito-k3s-worker2 sugimoto-1
anchor-user doctor-stg2 kawatake takahashi2
anchor-y1 doctor-stg3 kawatake-test takahashi_1
[root@mint:~] ls /vmfs/volumes/StoreNAS-Backup-Mint
#recycle 20200205_backup backup.sh rancher-0.tmp
シェルスクリプト作成¶
使用できるコマンドの確認
[root@mint:~] ls -la /bin/sh
lrwxrwxrwx 1 root root 35 Jun 18 2019 /bin/sh -> /usr/lib/vmware/busybox/bin/busybox
backup.sh
実行結果
target_dirs=`find /vmfs/volumes/StoreNAS-Mint/ -type d`
for target in $target_dirs
do
echo cp -r $target /vmfs/volumes/StoreNAS-Backup-Mint/backup/
done
[root@mint:/vmfs/volumes/29f92888-f2d38ff8/backup] chmod u+x backup.sh
[root@mint:/vmfs/volumes/29f92888-f2d38ff8/backup] ls
backup.sh
[root@mint:/vmfs/volumes/29f92888-f2d38ff8/backup] ./backup.sh
cp -r /vmfs/volumes/StoreNAS-Mint/ /vmfs/volumes/StoreNAS-Backup-Mint/backup/
cp -r /vmfs/volumes/StoreNAS-Mint/.sdd.sf /vmfs/volumes/StoreNAS-Backup-Mint/backup/
cp -r /vmfs/volumes/StoreNAS-Mint/kawatake-test /vmfs/volumes/StoreNAS-Backup-Mint/backup/
cp -r /vmfs/volumes/StoreNAS-Mint/okada-bft-w0 /vmfs/volumes/StoreNAS-Backup-Mint/backup/
cp -r /vmfs/volumes/StoreNAS-Mint/ito-k3s-task /vmfs/volumes/StoreNAS-Backup-Mint/backup/
cp -r /vmfs/volumes/StoreNAS-Mint/ubuntu-sr04 /vmfs/volumes/StoreNAS-Backup-Mint/backup/
cp -r /vmfs/volumes/StoreNAS-Mint/okada-bft /vmfs/volumes/StoreNAS-Backup-Mint/backup/
cp -r /vmfs/volumes/StoreNAS-Mint/ito-k3s-worker2 /vmfs/volumes/StoreNAS-Backup-Mint/backup/
cp -r /vmfs/volumes/StoreNAS-Mint/anchor-2 /vmfs/volumes/StoreNAS-Backup-Mint/backup/
: #省略
実際にバックアップで実行するバックアップファイルに変更
backup.sh
参考サイトhttps://mseeeen.msen.jp/back-up-and-restore-virtual-machines-with-commands/
##
# create backup
##
date_dir="$(date +%Y-%m-%d-%H-%M)"
echo "date_dir=$date_dir"
mkdir /vmfs/volumes/StoreNAS-Backup-Mint/backup/$date_dir
vim-cmd vmsvc/getallvms | grep -v Name | grep StoreNAS-Mint | awk "{print \$2;}" | while read vm_name
do
echo "vm_name=$vm_name"
# get virtual machine id
vm_id=$(vim-cmd vmsvc/getallvms | grep "$vm_name" | grep StoreNAS-Mint | awk "{print \$1;}")
echo "vm_id=$vm_id"
# create a snapshot
vim-cmd vmsvc/snapshot.create $vm_id $vm_name
# create dir
mkdir "/vmfs/volumes/StoreNAS-Backup-Mint/backup/$date_dir/$vm_name"
# copy backup vmdisc
vmkfstools -i "/vmfs/volumes/StoreNAS-Mint/$vm_name/$vm_name.vmdk" -d thin "/vmfs/volumes/StoreNAS-Backup-Mint/backup/$date_dir/$vm_name/$vm_name.vmdk"
# delete snapshot
vim-cmd vmsvc/snapshot.removeall $vm_id
# copy backup file
find /vmfs/volumes/StoreNAS-Mint/"$vm_name"/* -not -name "*.vmdk" -exec cp {} /vmfs/volumes/StoreNAS-Backup-Mint/backup/$date_dir/"$vm_name"/ \;
done
############# ここからStorePCIeのVMのバックアップコードの追加
vim-cmd vmsvc/getallvms | grep -v Name | grep StorePCIe | awk "{print \$2;}" | while read vm_name
do
echo "vm_name=$vm_name"
# get virtual machine id
vm_id=$(vim-cmd vmsvc/getallvms | grep "$vm_name" | grep StorePCIe | awk "{print \$1;}")
echo "vm_id=$vm_id"
# create a snapshot
vim-cmd vmsvc/snapshot.create $vm_id $vm_name
# create dir
mkdir "/vmfs/volumes/StoreNAS-Backup-Mint/backup/$date_dir/$vm_name"
# copy backup vmdisc
vmkfstools -i "/vmfs/volumes/StorePCIe/$vm_name/$vm_name.vmdk" -d thin "/vmfs/volumes/StoreNAS-Backup-Mint/backup/$date_dir/$vm_name/$vm_name.vmdk"
# delete snapshot
vim-cmd vmsvc/snapshot.removeall $vm_id
# copy backup file
find /vmfs/volumes/StorePCIe/"$vm_name"/* -not -name "*.vmdk" -exec cp {} /vmfs/volumes/StoreNAS-Backup-Mint/backup/$date_dir/"$vm_name"/ \;
done
##
# delete old backup files
##
# keep latest 3 versions
ls -r /vmfs/volumes/StoreNAS-Backup-Mint/backup | tail -n+4 | xargs -I{} rm -fr /vmfs/volumes/StoreNAS-Backup-Mint/backup/{}
実行はVMの電源を落とさないと最初の一回はスナップショットを取れないため次回に回す
実行確認¶
sshが切れても実行し続けるためproxyで実行する
ssh cdsl
ssh proxy
tmux
2021/10/7¶
リストアの確認¶
anchor-2を例としてリストアしてみる - anchor-2のシャットダウン - anchor-2のアクションから登録解除 - 仮想マシンの登録でStoreNAS-Backup-Mintからバックアップしたファイルをもとにリストアする - 新しく登録したanchor-2をパワーオン - ログインできたか確かめる バックアップがちゃんとできていることが確認できた
cronの設定¶
cronにシェルスクリプトを追加することにより自動で定期的に実行してくれる
/var/spool/cron/crontabs/に移動 chmod 1744 /var/spool/cron/crontabs/rootで権限付与 vi /var/spool/cron/crontabs/rootで書き込む
#min hour day mon dow command
1 1 * * * /sbin/tmpwatch.py
1 * * * * /sbin/auto-backup.sh
0 * * * * /usr/lib/vmware/vmksummary/log-heartbeat.py
*/5 * * * * /bin/hostd-probe.sh ++group=host/vim/vmvisor/hostd-probe/stats/sh
00 1 * * * localcli storage core device purge
00 0 * * * /vmfs/volumes/StoreNAS-Backup-Mint/backup.sh
/etc/rc.local.d/local.sh
参考サイトhttps://mseeeen.msen.jp/configure-cron-on-vmware-esxi-6-7/
#!/bin/sh
# local configuration options
# Note: modify at your own risk! If you do/use anything in this
# script that is not part of a stable API (relying on files to be in
# specific places, specific tools, specific output, etc) there is a
# possibility you will end up with a broken system after patching or
# upgrading. Changes are not supported unless under direction of
# VMware support.
# Note: This script will not be run when UEFI secure boot is enabled.
/bin/echo "00 0 * * * /vmfs/volumes/StoreNAS-Backup-Mint/backup.sh" >> /var/spool/cron/crontabs/root
/bin/kill $(cat /var/run/crond.pid)
/usr/lib/vmware/busybox/bin/busybox crond
exit 0