автоматически закрытие ESXI размещает ночью

Для SSH

На B:

#Arbitrary port
SOME_PORT=2022
iptables -t nat -I PREROUTING -p tcp --dport $SOME_PORT -j DNAT --to-destination 192.168.0.2:22
iptables -I FORWARD -p tcp --dport 22 -d 192.168.0.2 -j ACCEPT
#On a machine type A:
ssh -p $SOME_PORT

Для Samba

Действительно ли возможно смонтировать, что доли C через nfs на B затем устанавливают самбу на B? В противном случае затем можно перенаправить порты самбы:

iptables -t nat -I PREROUTING -p tcp -m multiport –dports 139,445 -j DNAT --to-destination 192.168.0.2
iptables -t nat -I PREROUTING -p udp –dport 137:138 -j DNAT --to-destination 192.168.0.2

Если самба уже работает на B, то Вы могли связать дополнительный IP-адрес на B и передать C (Вы могли сделать это для ssh также для хранения порта 22. Опасайтесь сервисов, запускающихся на этих 0.0.0.0 адресах):

ifconfig eth0:1 192.168.109.16 netmask 255.255.255.0

iptables -t nat -I PREROUTING -d 192.168.15.109.16 -p tcp --dport 22 -j DNAT --to-destination 192.168.0.2
iptables -t nat -I PREROUTING -d 192.168.15.109.16 -p tcp -m multiport –dports 139,445 -j DNAT --to-destination 192.168.0.2
iptables -t nat -I PREROUTING -d 192.168.15.109.16 -p udp –dport 137:138 -j DNAT --to-destination 192.168.0.2

РЕДАКТИРОВАНИЕ я вижу, что у Вас все еще есть проблемы; удостоверьтесь что:

  • Машине B включили IP, передающий: отзовитесь эхом 1>/proc/sys/net/ipv4/ip_forward
  • Машина C имеет маршрут назад пользователю через машину B. В противном случае затем установите правило подмены о машине B:

    iptables-t туземный-I POSTROUTING-d 192.168.0.2-p tcp - ПОДМЕНА dport 22-j

tcpdump может быть полезен для поиска и устранения неисправностей. На машине B:

#capture and display packets heading to 192.168.0.2
tcpdump -i any -p tcp ip host 192.168.0.2 and port 22
7
задан 2 January 2013 в 23:58
6 ответов

Я лично позволил бы серверу работать или переместить его в более удобную среду. Возможно, это не стоит автоматизировать.

Если вы должны завершить работу всего хоста, убедитесь, что на ваших виртуальных машинах установлены инструменты VMWare (чтобы обеспечить плавное завершение работы и включение питания) и что они установите значение остановить и запустить с хоста .

Вы можете использовать vCli и запланировать задание cron , чтобы перевести хост в режим обслуживания и / или полностью выключить хост. Я бы, вероятно, просто вручную запустил команду выключения хоста из клиента с графическим интерфейсом в конце дня.

9
ответ дан 2 December 2019 в 23:23

vCli уже упоминался, и это лучший способ, по моему мнению.
Однако, похоже, вы столкнулись с более серьезной проблемой, например, с перегревом серверной. С этим нужно справляться на правильном уровне. Исправьте HVAC как можно скорее, иначе вы в конечном итоге повредите свое оборудование. Прочтите http: //www.openxtra .co.uk / article / skimp-server-room-ac

2
ответ дан 2 December 2019 в 23:23

Вы можете включить его по локальной сети. Если у вас есть такая опция в BIOS ESXi (обычно опция Wake On LAN ). Таким образом, вы можете добавить расписание на другой машине, чтобы разбудить ESXi. И не забудьте настроить автоматический запуск виртуальных машин при запуске ESXi. Иногда в BIOS есть опция расписания включения машины.

Для энергосбережения можно использовать VMware Distributed Power Management (DPM).

0
ответ дан 2 December 2019 в 23:23

Перед автоматическим выключением вы должны посмотреть настройки питания хоста и соответствующим образом отрегулировать их. См. https://www.vmware.com/files/pdf/techpaper/hpm-performance-vsphere55-white-paper.pdf циклическое переключение питания (а также термический цикл, как вы говорите) сократит срок службы сервер

3
ответ дан 2 December 2019 в 23:23

Вы можете включить ssh-сервер на ESXi и скопировать свой ssh-ключ на сервер, прочтите следующее о том, как это сделать: Мониторинг RAID-контроллера LSI 3ware на ESXi

Затем, чтобы выключить виртуальные машины и выключить сервер ESXi. Я бы запланировал задание cron на удаленном физическом сервере:

20 9    12 22 * root    ssh 10.1.1.140 /sbin/shutdown.sh
30 9    12 22 * root    ssh 10.1.1.140 /sbin/poweroff

В этом случае выключите виртуальные машины 22 декабря в 9:20 утра и выключите сервер ESXi 22 декабря. , 9:30.

Файл /sbin/shutdown.sh - это сценарий, который аккуратно завершает работу виртуальных машин, и он поставляется с экземпляром ESXi. Команда poweroff - это просто "busybox poweroff".

0
ответ дан 2 December 2019 в 23:23

Если у вас запущен python, вы можете использовать сценарий, который я написал ниже для пробуждения и выключения вашего сервера ESXi. У меня дома есть Dell R810, который я использую в качестве сервера Cisco VIRL и других устройств, но я включаю его только тогда, когда он мне нужен. Он внизу, поэтому я хотел, чтобы я мог запустить его и остановить наверху. Я включил Wake On Lan на основном сетевом адаптере на сервере (CTRL-S, когда он загружается, и включить его для основного сетевого адаптера). В vSphere настройте виртуальные машины на запуск и остановку вместе с сервером, поскольку этот сценарий отключит ваши виртуальные машины и отключит сервер. Включите ssh для вашего сервера ESXi, введите MAC-адрес основного сетевого адаптера и измените пароль root, IP-адрес сервера и путь к python ниже.

python esxi.py -w Разбудит сервер, отправив волшебный пакет WOL. python esxi.py -s отключит ваши виртуальные машины и отключит питание вашего сервера.

Зависимости

paramiko Wake On LAN argparse

####################Start Script
#!/home/mikepartain/scripts/esxi/bin/python

from wakeonlan import wol
import time, argparse, paramiko


parser = argparse.ArgumentParser()
parser.add_argument('-w', action='store_true', dest='wakeup')
parser.add_argument('-s', action='store_true', dest='shutdown')
args = parser.parse_args()


if args.wakeup:
    print 'Waking up ESXI Server'
    wol.send_magic_packet('f0.4d.a2.aa.aa.aa')

if args.shutdown:
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect('192.168.178.10', username='root', password='#PASSWORD#')
    stdin, stdout, stderr = ssh.exec_command('powerOffVms && halt')
    print 'Shutting down ESXi Server'
    ssh.close()


####################END Script

Если это сработает для вас или у вас есть способ улучшить его, сообщите мне!

Майк Партейн

0
ответ дан 2 December 2019 в 23:23

Теги

Похожие вопросы