Я предположил бы, что существует БОЛЬШЕ шанса vmdk повреждения с помощью 'сервера', чем ESXI, поскольку это имеет очень маленький HCL конкретно, чтобы гарантировать, что драйверы максимально стабильны. Я имею 24 000 'часов хоста' с ESX/i и никогда не видел vmdk повреждения, вызванного 'в полете'. Если бы необходимо было получить данные от диска VMFS3, то Вы могли бы всегда просто монтировать его как вторичный диск на другом хосте ESXI и копировать/перемещать их, как обычно.
В этом блоге я нашел очень полезный сценарий, который динамически создает правила для определенных хостов . Сценарий должен запускаться с cron, чтобы он мог искать имя хоста и добавлять / удалять правила в случае изменения IP.
#!/bin/bash
HOSTS_ALLOW=/etc/ufw-dynamic-hosts.allow
IPS_ALLOW=/var/tmp/ufw-dynamic-ips.allow
add_rule() {
local proto=$1
local port=$2
local ip=$3
local regex="${port}\/${proto}.*ALLOW.*IN.*${ip}"
local rule=$(ufw status numbered | grep $regex)
if [ -z "$rule" ]; then
ufw allow proto ${proto} from ${ip} to any port ${port}
else
echo "rule already exists. nothing to do."
fi
}
delete_rule() {
local proto=$1
local port=$2
local ip=$3
local regex="${port}\/${proto}.*ALLOW.*IN.*${ip}"
local rule=$(ufw status numbered | grep $regex)
if [ -n "$rule" ]; then
ufw delete allow proto ${proto} from ${ip} to any port ${port}
else
echo "rule does not exist. nothing to do."
fi
}
sed '/^[[:space:]]*$/d' ${HOSTS_ALLOW} | sed '/^[[:space:]]*#/d' | while read line
do
proto=$(echo ${line} | cut -d: -f1)
port=$(echo ${line} | cut -d: -f2)
host=$(echo ${line} | cut -d: -f3)
if [ -f ${IPS_ALLOW} ]; then
old_ip=$(cat ${IPS_ALLOW} | grep ${host} | cut -d: -f2)
fi
ip=$(dig +short $host | tail -n 1)
if [ -z ${ip} ]; then
if [ -n "${old_ip}" ]; then
delete_rule $proto $port $old_ip
fi
echo "Failed to resolve the ip address of ${host}." 1>&2
exit 1
fi
if [ -n "${old_ip}" ]; then
if [ ${ip} != ${old_ip} ]; then
delete_rule $proto $port $old_ip
fi
fi
add_rule $proto $port $ip
if [ -f ${IPS_ALLOW} ]; then
sed -i.bak /^${host}*/d ${IPS_ALLOW}
fi
echo "${host}:${ip}" >> ${IPS_ALLOW}
done
Содержимое /etc/ufw-dynamic-hosts.allow
может выглядеть вот так:
tcp:22:yourpc.no-ip.org
и запись crontab для выполнения скрипта каждые пять минут может выглядеть так:
*/5 * * * * /usr/local/sbin/ufw-dynamic-host-update > /dev/null