По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В этой статье мы расскажем как решить проблему с блокировкой файлов в ESXi. Проблема Появляется ошибка при добавлении диска имеющейся виртуальной машины (VMDK) к виртуальной машине, которая не включается: Failed to add disk scsi0:1. Failed to power on scsi0:1 Включение виртуальной машины зависает на 95%. Не удается включить виртуальную машину после развертывания ее из шаблона. Включение виртуальной машины выдает ошибки доступа к файлам, конфигурации виртуальной машины, или файла подкачки: Unable to open Swap File Unable to access a file since it is locked Unable to access a file [filename] since it is locked Unable to access Virtual machine configuration В записях журнала появляются похожие записи: WARNING: World: VM xxxx: xxx: Failed to open swap file [path]: Lock was not free WARNING: World: VM xxxx: xxx: Failed to initialize swap file [path] При открытии консоли для виртуальной машины может возникнуть ошибка: Error connecting to [path][virtual machine].vmx because the VMX is not started Виртуальная машина сообщает о конфликтных состояниях питания между центральным сервером управления vCenter Server и пользовательским интерфейсом ESXi хост. При открытии файла .vmx с помощью текстового редактора (например, cat или vi) появляются похожие записи: cat: can't open '[name of vm].vmx': Invalid argument Решение Цель блокировки файлов Для предотвращения непредвиденных изменений в ценные системные файлы и файлы виртуальной машины, их необходимо заблокировать. В определенных обстоятельствах блокировка сохраняется, даже с выключенной виртуальной машиной. Таким образом, другие ESXi хосты не смогут получить доступ к заблокированным файлам, даже если виртуальная машина не запускается. Файлы виртуальной машины, заблокированные во время выполнения, включают в себя: VMNAME.vswp DISKNAME-flat.vmdk DISKNAME-ITERATION-delta.vmdk VMNAME.vmx VMNAME.vmxf vmware.log Быстрый первичный тест Поставьте DRS (Планировщик Распределения Ресурсов) в режим обслуживания. С его помощью вы сможете выбрать хост, пока вы включаете виртуальную машину. Если DRS не используется, передайте ВМ другому хосту. Если это не удается, попробуйте включить питание виртуальной машины на других узлах кластера. Машина должна включиться, когда она окажется на узле, который заблокировал файлы. Если ВМ по-прежнему не включается, рассмотрите действия, предложенные ниже. Действия по устранению неполадок: поиск хоста заблокированного файла Чтобы определить заблокированный файл, попробуйте включить виртуальную машину. Во время включения питания ошибка может отображаться или записываться в журналы виртуальной машины. Ошибка и запись в журнале идентифицируют виртуальную машину и файлы: Чтобы найти блокирующий узел, запустите утилиту vmfsfilelockinfo с узла, который не может открыть заблокированный файл. Чтобы узнать IP-адрес хоста, который заблокировал файлы, необходимо запустить утилиту vmfsfilelockinfo для файла VMDK flat, delta или sesparse для VMFS или для файла .UUID. lck для vSAN. Утилита vmfsfilelockinfo потребует следующий материал: Заблокированный файл Имя пользователя и пароль для доступа к VMware vCenter Server (при отслеживании MAC-адреса хостом ESX.) Например: Запустите команду: ~ # vmfsfilelockinfo -p /vmfs/volumes/iscsi-lefthand-2/VM1/VM1_1-000001-delta.vmdk -v 192.168.1.10 -u administrator@vsphere.local Результат будет приблизительно такой: vmfsflelockinfo Version 1.0 Looking for lock owners on "VM1_1-000001-delta.vmdk" "VM1_1-000001-delta.vmdk" is locked in Exclusive mode by host having mac address ['xx:xx:xx:xx:xx:xx'] Trying to make use of Fault Domain Manager ---------------------------------------------------------------------- Found 0 ESX hosts using Fault Domain Manager. ---------------------------------------------------------------------- Could not get information from Fault domain manager Connecting to 192.168.1.10 with user administrator@vsphere.local Password: xXxXxXxXxXx ---------------------------------------------------------------------- Found 3 ESX hosts from Virtual Center Server. ---------------------------------------------------------------------- Searching on Host 192.168.1.178 Searching on Host 192.168.1.179 Searching on Host 192.168.1.180 MAC Address : xx:xx:xx:xx:xx:xx Host owning the lock on the vmdk is 192.168.1.180, lockMode : Exclusive Total time taken : 0.27 seconds. Примечание: в течение жизненного цикла работающей виртуальной машины ее файлы могут менять тип блокировки. Вид блокировки (mode) обозначает тип блокировки на файле. Список видов блокировки: mode 0 = отсутствие блокировки mode 1 = эксклюзивная блокировка (файл vmx работающей виртуальной машины, использует VMDK-диск (flat or delta), *vswp и т.д.) mode 2 = блокировка «только для чтения» (read-only). (Например, для файла данных flat.vmdk работающей машины со снапшотами) mode 3 = блокировка для одновременной записи с нескольких хостов (например, используется для кластеров MSCS или FTVMs) Чтобы узнать название процесса, который заблокировал файл, запустите команду lsof на хосте, заблокировавшем файл, и укажите название нужного файла: ~ # lsof | egrep 'Cartel|VM1_1-000001-delta.vmdk' Результат будет приблизительно такой: Cartel | World name | Type | fd | Description 36202 vmx FILE 80 /vmfs/volumes/556ce175-7f7bed3f-eb72-000c2998c47d/VM1/VM1_1-000001-delta.vmdk Из результата вы узнаете Cartel ID заблокировавшей машины – например, 36202. Теперь, с помощью следующей команды, выведете на экран список активных Cartel ID: ~ # esxcli vm process list Информация активных виртуальных машин сгруппирована по названиям машин. Формат приблизительно такой: Alternate_VM27 World ID: 36205 Process ID: 0 VMX Cartel ID: 36202 UUID: 56 4d bd a1 1d 10 98 0f-c1 41 85 ea a9 dc 9f bf Display Name: Alternate_VM27 Config File: /vmfs/volumes/556ce175-7f7bed3f-eb72-000c2998c47d/Alternate_VM27/Alternate_VM27.vmx ……… Найдя нужный вам VMX Cartel ID, вы узнаете название машины, заблокировавшей ваш файл. Если никакие процессы не отображаются, можете найти виртуальные машины с подключенным vmdk. Замените VMDKS_TO_LOOK_FOR на необходимый vmdk. В результате будет список всех зарегистрированных виртуальных машин, и VMDK отобразится под виртуальной машиной, которая заблокировала файл: for i in $(vim-cmd vmsvc/getallvms | grep -v Vmid | awk -F "/" '{print $2}' | awk '{print $1}'); do echo $i && find ./ -iname $i | xargs grep vmdk | grep -Ei VMDKS_TO_LOOK_FOR ; done Снятие блокировки Машину, которая не включается, переместите на заблокировавший хост и снова попробуйте включить ее. Чтобы снять блокировку, извлеките VMDK-диск или выключите машину, которая удерживает блокировку. Перезагрузите хост, который заблокировал файл. Обратитесь к VMware storage team, vSAN team или разработчику NFS за дальнейшей помощью, так как проблемы с метаданными могут мешать управлению блокировками. Снятие блокировки .lck file (только для NFS) Файлы на виртуальной машине могут быть заблокированы через NFS storage. Такие файлы заканчиваются на .lck-#### (где #### - значение поля fileid, которое можно получить из запроса GETATTR для заблокированного файла). Внимание: для безопасного извлечения файлов машина должна быть выключена. Примечание: Тома VMFS не имеют .lck файлов. Механизм блокировки для томов VMFS расположен в метаданных тома VMFS. Проверка целостности файла конфигурации виртуальной машины (.vmx) Если виртуальная машина не включается, причина может быть в наличие двух дисков в файле .vmx. Извлеките один из дисков и попробуйте включить машину снова. Команда touch *, которая раньше использовалась для устранения неполадок с заблокированными снапшотами vmdk, теперь записывает время последнего изменения файла, который должен быть остановлен и запущен с помощью vmkfstools-D или chmod-s * или vmfsfilelockinfo * для идентификации блокировки.
img
Второй метод, который мы можем использовать для настройки адреса, называется EUI-64 (расширенный уникальный идентификатор). Он может быть использован для того, чтобы заставить роутер генерировать свой собственный идентификатор интерфейса вместо того, чтобы вводить его самостоятельно. Роутер будет принимать MAC-адрес своего интерфейса и использовать его в качестве идентификатора интерфейса. Однако MAC-адрес - это 48 бит, а идентификатор интерфейса-64 бит. Что мы будем делать с недостающими частями? В первой части статьи мы рассказывали о стандартной настройке IPv6 на оборудовании Cisco Вот что мы сделаем, чтобы заполнить недостающие биты: Мы берем MAC-адрес и делим его на две части; Мы вставляем "FFFE" между двумя частями, так что бы у нас получилось 64-битное значение; Мы инвертируем 7-й бит идентификатора интерфейса. Например, если мой MAC-адрес 1234.5678.ABCD тогда, после преобразования идентификатор интерфейса получиться: Выше вы видите, как мы разделяем MAC-адрес и помещаем FFFE в середину. "Инвертирование 7-го бита" не является заключительным шагом. Для этого вам нужно преобразовать первые два шестнадцатеричных символа первого байта в двоичный, найти 7-й бит и инвертировать его. Это означает, что если это 0, то вам нужно сделать его 1, а если это 1, то он должен стать 0. 7-й бит представляет собой "универсальный уникальны" бит. По умолчанию в MAC-адресе этот бит всегда будет установлен в 0. При изменении MAC-адреса этот бит должен быть установлен на 1. Обычно люди не меняют MAC-адрес этого роутера, что означает, что EUI-64 будет самостоятельно менять 7-й бит с 0 на 1. Вот как это выглядит: Мы берем первые два шестнадцатеричных символа первого байта, которые являются "12", и преобразуем их обратно в двоичный код. Затем мы инвертируем 7-й бит от 1 до 0 и снова делаем его шестнадцатеричным. Так что на самом деле мой идентификатор интерфейса EUI-64 будет выглядеть следующим образом: Теперь давайте взглянем на конфигурацию EUI-64 на роутере! Я буду использовать 2001:1234:5678:abcd::/64 в качестве префикса: OFF1(config)#interface fastEthernet 0/0 OFF1(config-if)#ipv6 address 2001:1234:5678:abcd::/64 eui-64 В этом случае настроен роутер с префиксом IPv6 и с использованием EUI-64 в конце. Именно так мы можем автоматически генерировать идентификатор интерфейса, используя mac-адрес. Теперь взгляните на IPv6-адрес, который он создал: OFF1#show interfaces fastEthernet 0/0 | include Hardware Hardware is Gt96k FE, address is c200.185c.0000 (bia c200.185c.0000) OFF1#show ipv6 interface fa0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::C000:18FF:FE5C:0 No Virtual link-local address(es): Global unicast address(es): 2001:1234:5678:ABCD:C000:18FF:FE5C:0, subnet is 2001:1234:5678:ABCD::/64 [EUI] Видите эту часть C000:18FF:FE5C:0? Это MAC-адрес, который разделен на 2, FFFE в середине и "2" в "C200" MAC-адреса были инвертированы, поэтому теперь он отображается как "C000". Когда вы используете EUI-64 на интерфейсе, который не имеет MAC-адреса, то он выберет MAC-адрес самого низкого нумерованного интерфейса на роутере. При использовании EUI-64 вы должны ввести 64-битный префикс, а не полный 128-битный IPv6 адрес. Если вы сделаете это, вы не получите ошибку, но Cisco IOS будет только сохранять 64-битный префикс, и в любом случае сгенерирует идентификатор интерфейса. Скорее всего вы, вероятно, не будете использовать EUI-64 на роутере для настройки интерфейса, но это очень полезный метод для обычных хостов, таких как компьютеры windows, linux или mac. Вы, возможно, настроите IPv6-адрес вручную на интерфейсе вашего роутера или используете метод автоконфигурации, такой как DHCP или SLAAC. Когда вы внимательно посмотрите на выходные данные show ipv6 interface, вы можете заметить, что там есть еще один IPv6-адрес: OFF1#show ipv6 interface fa0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::C000:18FF:FE5C:0 Кстати, про теоретические основы IPv6 можно изучить тут Этот адрес называется локальным адресом связи (link-local address), и он имеет некоторые специальные цели для IPv6. Каждое устройство с включенным IPv6 автоматически генерирует локальный адрес связи. Эти адреса являются одноадресными, не могут быть маршрутизированы и используются только в пределах подсети, поэтому они называются "link-local". Некоторые протоколы используют локальные адреса связи вместо глобальных одноадресных адресов, хорошим примером является NDP (Neighbour Discovery Protocol), который используется для обнаружения MAC-адресов других устройств IPv6 в подсети (NDP заменяет ARP для IPv4). Протоколы маршрутизации также используют эти локальные адреса связи для установления соседних областей, а также в качестве следующего перехода для маршрутов. Мы увидим это, когда будем говорить о маршрутизации IPv6. Адресное пространство FE80:: / 10 было зарезервировано для link-local, которые охватывают FE8, FE9, FEA и FEB. Однако RFC, описывающий link-local, утверждает, что следующие 54 бита должны быть нулями, поэтому link-local всегда будут выглядеть так: link-local всегда будет начинаться с FE80:0000:0000:0000, а ID можно настроить с помощью различных методов. Роутеры Cisco будут использовать EUI-64 для создания идентификатора интерфейса, в то время как другие операционные системы, такие как Microsoft, используют случайный метод для создания идентификатора интерфейса. В приведенном ниже примере вы можете видеть, что EUI-64 был использован для создания link-local: OFF1#show interfaces fastEthernet 0/0 | include Hardware Hardware is Gt96k FE, address is c200.185c.0000 (bia c200.185c.0000) OFF1#show ipv6 interface fa0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::C000:18FF:FE5C:0 Первая часть-это FE80:: и вторая часть - это созданный идентификатор интерфейса EUI-64: C000:18FF:FE5C:0 Когда вы настраиваете IPv6-адрес на интерфейсе (глобальный одноадресный или уникальный локальный) или когда вы включаете IPv6 на интерфейсе, вы можете сделать это следующим образом: OFF1(config)#interface fa0/0 OFF1(config-if)#ipv6 enable Использование команды ipv6 enable роутеру создать link-local адрес. OFF1#show ipv6 int fa0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::C000:15FF:FE94:0 По умолчанию Cisco IOS будет использовать EUI-64 для создания link-local адреса, но вы также можете настроить его самостоятельно. Просто убедитесь, что адрес начинается с FE80:: / 10 (FE8, FE9, FEA или FEB). Вот как вы можете настроить link-local адрес: OFF1(config-if)#ipv6 address FE90:1234:5678:ABCD::1 link-local Просто используйте ключевое слово link-local, чтобы сообщить роутеру, что это должен быть адрес link-local. Давайте проверим это: OFF1#show ipv6 int fa0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE90:1234:5678:ABCD::1 Помимо link-local адресов существует еще один тип адресации, который мы должны обсудить, и это multicast. Я надеюсь, вы обладаете званиями об одноадресных и широковещательных доменах. Когда хост отправляет широковещательную передачу, все остальные устройства в подсети получат ее независимо от того, хотят они этого или нет. Отправка широковещательных сообщений очень неэффективна, и они были удалены из IPv6. Многоадресная рассылка также используется для отправки чего-то с одного хоста на несколько приемников, но разница заключается в том, что многоадресный трафик заканчивается только на хостах, которые хотят его получить. Каждый, кто прослушивает определенный адрес многоадресной рассылки, получит эти пакеты. Это просто как радиостанция, если вы хотите слушать...вы должны настроиться на нужную частоту. IPv6 использует многоадресную рассылку по многим причинам. Узлы IPv6, которые хотят отправить что-то всем узлам, работающим под управлением IPv6, могут использовать адрес многоадресной рассылки FF02::1. Все, у кого включен IPv6, слушают этот адрес. Когда роутер IPv6 хочет отправить что-то всем другим роутерам IPv6 (но не хостам!) он может отправить его в FF02:: 2. Протоколы маршрутизации также используют многоадресные адреса. Например, EIGRP уже использует виде FF02::A и OSPF использует виде FF02::5 и виде FF02::6. Многоадресный трафик маршрутизируется, но часть трафика должна оставаться в пределах подсети. Если это так, то эти адреса будут иметь link-local область, и они не будут перенаправляться роутерами из одной подсети в другую. Диапазон FF00:: / 8 был зарезервирован для многоадресной рассылки IPv6, в то время как диапазон FF02::/16 зарезервирован для многоадресных адресов link-local области. На роутере Cisco вы можете видеть по интерфейсу, к которому многоадресные адреса роутер прослушивает: OFF1#show ipv6 int fa0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE90:1234:5678:ABCD::1 No Virtual link-local address(es): No global unicast address is configured Joined group address(es): FF02::1 FF02::2 FF02::1:FF00:1 Этот конкретный роутер прослушивает адреса многоадресной рассылки "все хосты IPv6" и "все роутеры IPv6". Как только вы настроите OSPF или EIGRP для IPv6, вы заметите, что интерфейс присоединится к соответствующим адресам многоадресной рассылки. Третий адрес, который у нас есть (FF02::1:FF00:1), называется адресом многоадресной рассылки запрошенного узла. Он используется для обнаружения соседей. Многоадресный адрес запрашиваемого узла основан на одноадресном IPv6-адресе хоста, а если быть более точным...последние шесть шестнадцатеричных символов одноадресного адреса. Все хосты, имеющие одинаковые 6 шестнадцатеричных символов в своем одноадресном IPv6-адресе, в конечном итоге получат один и тот же адрес запрашиваемого узла. Когда вы отправляете что-то на этот адрес запрашиваемого узла, все хосты с одним и тем же адресом получат пакеты. Это что-то вроде многоадресного адреса "все хосты IPv6", но на этот раз у нас есть отдельная комната, где единственными членами являются VIP-персоны, которые разделяют одни и те же последние 6 шестнадцатеричных символов. Все адреса запрашиваемых узлов начинаются с FF02::1:FF, поэтому они выглядят следующим образом: Мой маршрутизатор имеет запрошенный адрес узла FF02:: 1:FF00:1, а link-local адрес -FE90:1234:5678: ABCD:: 1. Когда мы записываем link-local адрес полностью, это выглядит так: FE90:1234:5678:ABCD:0000:0000:0000:0001 Возьмите последние 6 шестнадцатеричных символов из этого адреса: 00:0001 И поместите их за префиксом адреса запрашиваемого узла, чтобы получить полный адрес запрашиваемого узла: FF02:0000:0000:0000:0000:0001:FF00:0001 Мы можем удалить некоторые нули, чтобы сделать его короче, и это будет выглядеть так: FF02::1:FF00:1
img
Привет! В голливудских фильмах про хакеров, ты наверняка видел как герой сидит перед компом, быстро набирая команды на клавиатуре. На черном экране бегут зеленые буквы, появляется надпись “HACKED!” и в результате у него получается за считанные секунды, обойти все системы защиты, открыть хранилище банка или и вовсе запустить ядерную боеголовку. Ты можешь подумать, что в современном мире, где царит удобство, почти у всего есть приложение и графический интерфейс ввод команд в черный экран - это прошлый век. Но спешим тебя разубедить! Сетевой инженер, администратор, специалист по информационной безопасности и конечно же хакер точно также сидит перед компом и вбивает на клавиатуре команды, чтобы выполнить определенные задачи. Сейчас мы объясним, что это за черный экран такой и как с помощью него человек может взаимодействовать с сетевым устройством. Когда компьюстеры только появлялись, у них не было ни дисплеев, ни клавиатуры, ни тем более мыши. Но их надо было как-то настраивать и заставлять их складывать большие числа, которые самому было складывать лень. Нужно было некое устройство, с помощью которого человек мог бы взаимодействовать с компьютером. Такое устройство - прослойку принято называть терминалом. Видео: SSH/Telnet/Терминал/Консоль Заценили ролик? Продолжаем. На первых порах ими стали телетайпы. Это такие печатные машинки, которые соединяются по электрическому каналу для отправки и получения текстовых сообщений на простом листе бумаги. Да-да, раньше этим хакерским черным экраном был простой лист с командами! Это было дико неудобно и медленно, но идея ввода и вывода информации построчно затем легла в основу будущих интерфейсов. Позднее, посредством электронно-лучевой трубки, строку для ввода команд вывели на экран и плюс-минус в таком виде она добралась до наших дней. Таким образом, мы теперь вбиваем команды не на печатной машинке, а на клавиатуре и видим эти команды не на листе бумаги, а на мега тонком UltraHD мониторе, но модель взаимодействия осталась такой же как и 60 лет назад. Вообще совокупность устройств для взаимодействия с человека и компьютера называют консолью. Это может быть клавиатура, мышь, монитор, дисплей, микрофон, джойстик, но с одной оговорочкой. Всё это должно быть подключено непосредственно к компу и ты должен находиться прямо перед ним. А вот если ты сидишь в удобном отремонтированном кабинете с кондиционером и через промежуточное устройство подключаешься к серверу, который стоит в подвале здания, то это уже терминал. Улавливаешь суть? Консоль - это когда ты сидишь прямо перед устройством и юзаешь перефирию подключенную прямо к нему. Терминал - это когда ты через что-то ещё (зачастую удаленно) подключаешься к консоли взаимодействуешь с ней. Супер, разобрались. Ну и что, можно взаимодействовать с компами только если за ними сидеть или через какой-то промежуточный девайс? Конечно нет! Для этого был придуман протокол Telnet (телетайп нетворк). С помощью него можно удаленно по сети подключиться к сетевому устройству и заниматься его администрированием. По умолчанию, телнет использует TCP порт 23. При подключении по телнет ты с помощью текстовых команд можешь говорить удаленному серверу что делать - запускать программы, создавать и удалять файлы и директории, управлять сетевыми параметрами, гонять гусей короче вообще всё на что хватит прав, а самое главное ты при этом можешь находиться на другом конце планеты. Всё было бы просто замечательно, если бы телнет не был разработан в 69 году, как следует из названия - для тех самых телетайпов. А в те времена, на безопасность было вообще пофиг. Дело в том, что все команды, которые ты вбиваешь по телнет, включая логины и пароли передаются в открытом виде, а значит любой, кто перехватит твой телнет трафик сможет узнать всё что ты делал в рамках сессии. Поэтому сегодня использование телнет для доступа к удаленным устройствам в профессиональном сообществе считается зашкваром. “Ну блеск, и как же теперь лазить на удаленные компы, сервера и прочий сетевой хлам”? - спросите вы. Тут хочется ответить тремя буквами - SSH (Secure Shell) или защищенная оболочка, хотя так никто не говорит. Этот парень создан для защищенного удаленного администрирования и внимательно слушает TCP порт 22. Все команды, которые ты введешь в рамках сессии, включая логины и пароли, будут зашифрованы уникальным ключом и даже если хацкеры перехватят твой трафик, то вряд ли им удастся его расшифровать. Мало того, он ещё и целостность переданной информации будет проверять, чтоб ничего не потерялось и не побилось. Благодаря своей надёжности, SSH также применяется для защищенной передачи файлов, (SFTP - SSH File Transfer Protocol, SCP - Secure Copy) и туннелирования других протоколов. Чтобы иметь возможность подключаться к девайсам как по телнет, так и по SSH нужно 2 вещи: Удаленное устройство должно выступать как Telnet/SSH - сервер, то есть иметь некое ПО, которое будет понимать эти протоколы У тебя должен быть Telnet/SSH клиент, с помощью которого ты сможешь инициировать соединение. Обычно, в качестве такого клиента выступает эмулятор терминала. Это такая программа, которая даёт тебе возможность подключиться к устройству (по сети или напрямую) и выводит в отдельном окошке его консоль. Примером такой программы может служить PuTTY.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59