По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Перед тем как начать: это цикл статей. Мы рекомендуем до этого материала ознакомиться со статьей про Interlayer Discovery.
Хотя IPv6 является основной темой этих лекций, в некоторых случаях IPv4 представляет собой полезный пример решения; Address Resolution Protocol IPv4 (ARP) является одним из таких случаев. ARP - это очень простой протокол, используемый для решения проблемы межуровневого обнаружения, не полагаясь на сервер любого типа. Рисунок ниже будет использован для объяснения работы ARP.
Предположим, A хочет отправить пакет C. Зная IPv4-адрес C,
203.0.113.12 недостаточно, чтобы A правильно сформировал пакет и поместил его на канал связи по направлению к C. Чтобы правильно построить пакет, A также должен знать:
Находится ли C на том же канале связи, что и A
MAC или физический адрес C
Без этих двух частей информации A не знает, как инкапсулировать пакет в канал связи, поэтому C фактически получит пакет, а B проигнорирует его. Как можно найти эту информацию? На первый вопрос, находится ли C на том же канале вязи, что и A, можно ответить, рассмотрев IP-адрес локального интерфейса, IP-адрес назначения и маску подсети.
ARP решает вторую проблему, сопоставляя IP-адрес назначения с MAC-адресом назначения, с помощью следующего процесса:
Хост A отправляет широковещательный пакет каждому устройству в сети, содержащему адрес IPv4, но не MAC-адрес. Это запрос ARP; это запрос A на MAC-адрес, соответствующий 203.0.113.12.
B и D получают этот пакет, но не отвечают, поскольку ни один из их локальных интерфейсов не имеет адреса 203.0.113.12.
Хост C получает этот пакет и отвечает на запрос, снова используя unicast пакет. Этот ответ ARP содержит как IPv4-адрес, так и соответствующий MAC-адрес, предоставляя A информацию, необходимую для создания пакетов в направлении C.
Когда A получает этот ответ, он вставляет сопоставление между 203.0.113.12 и MAC-адресом, содержащимся в ответе, в локальном кэше ARP. Эта информация будет храниться до истечения времени ожидания; правила тайм-аута записи кэша ARP различаются в зависимости от реализации и часто могут быть настроены вручную. Продолжительность кэширования записи ARP - это баланс между слишком частым повторением одной и той же информации в сети в случае, когда сопоставление IPv4-адресов с MAC-адресами не меняется очень часто, и отслеживанием любых изменений в расположении устройство в случае, когда конкретный адрес IPv4 может перемещаться между хостами.
Когда A получает этот ответ, он вставляет сопоставление между 203.0.113.12 и MAC-адресом, содержащимся в ответе, в локальный кэш ARP. Эта информация будет храниться до тех пор, пока не истечет время ожидания; правила для тайм-аута записи кэша ARP варьируются в зависимости от реализации и часто могут быть настроены вручную. Продолжительность кэширования записи ARP - это баланс между тем, чтобы не повторять одну и ту же информацию слишком часто в сети, в случае, когда сопоставление IPv4-MAC-адресов меняется не очень часто, и идти в ногу с любыми изменениями в местоположении устройства, в случае, когда конкретный IPv4-адрес может перемещаться между хостами.
Любое устройство, получающее ответ ARP, может принять пакет и кэшировать содержащуюся в нем информацию. Например, B, получив ответ ARP от C, может вставить сопоставление между 203.0.113.12 и MAC-адресом C в свой кэш ARP. Фактически, это свойство ARP часто используется для ускорения обнаружения устройств, когда они подключены к сети. В спецификации ARP нет ничего, что требовало бы от хоста ожидания запроса ARP для отправки ответа ARP. Когда устройство подключается к сети, оно может просто отправить ответ ARP с правильной информацией о сопоставлении, чтобы ускорить процесс начального подключения к другим узлам на том же проводе; это называется gratuitous ARP. Gratuitous ARP также полезны для Duplicate.
Gratuitous ARP также полезны для обнаружения дублирующихся адресов (Duplicate Address Detection - DAD); если хост получает ответ ARP с адресом IPv4, который он использует, он сообщит о дублированном адресе IPv4. Некоторые реализации также будут посылать серию gratuitous ARPs в этом случае, чтобы предотвратить использование адреса или заставить другой хост также сообщить о дублирующемся адресе.
Что произойдет, если хост A запросит адрес, используя ARP, который не находится в том же сегменте, например, 198.51.100.101 на рисунке 5? В этой ситуации есть две разные возможности:
Если D настроен для ответа как прокси-ARP, он может ответить на запрос ARP с MAC-адресом, подключенным к сегменту. Затем A кэширует этот ответ, отправляя любой трафик, предназначенный для E, на MAC-адрес D, который затем может перенаправить этот трафик на E. Наиболее широко распространенные реализации по умолчанию не включают прокси-ARP.
A может отправлять трафик на свой шлюз по умолчанию, который представляет собой локально подключенный маршрутизатор, который должен знать путь к любому пункту назначения в сети.
IPv4 ARP - это пример протокола, который отображает interlayer идентификаторы путем включения обоих идентификаторов в один протокол.
Обнаружение соседей IPv6
IPv6 заменяет более простой протокол ARP серией сообщений Internet Control Message Protocol (ICMP) v6. Определены пять типов сообщений ICMPv6:
Тип 133, запрос маршрутизатора
Тип 134, объявление маршрутизатора
Тип 135, запрос соседа
Тип 136, объявление соседа
Тип 137, перенаправление
Рисунок ниже используется для объяснения работы IPv6 ND. Чтобы понять работу IPv6 ND, лучше всего проследить за одним хостом, поскольку он подключен к новой сети. Хост A на рисунке ниже используется в качестве примера.
A начнет с формирования link local address, как описано ранее. Предположим, A выбирает fe80 :: AAAA в качестве link local address.
Теперь A использует этот link local address в качестве адреса источника и отправляет запрос маршрутизатору на link local multicast address (адрес многоадресной рассылки для всех узлов). Это сообщение ICMPv6 типа 133.
B и D получают этот запрос маршрутизатора и отвечают объявлением маршрутизатора, которое является сообщением ICMPv6 типа 134. Этот одноадресный пакет передается на локальный адрес канала A, используемый в качестве адреса источника, fe80 :: AAAA.
Объявление маршрутизатора содержит информацию о том, как вновь подключенный хост должен определять информацию о своей локальной конфигурации в виде нескольких флагов.
Флаг M указывает, что хост должен запросить адрес через DHCPv6, потому что это управляемый канал.
Флаг O указывает, что хост может получать информацию, отличную от адреса, который он должен использовать через DHCPv6. Например, DNS-сервер, который хост должен использовать для разрешения имен DNS, должен быть получен с помощью DHCPv6.
Если установлен флаг O, а не флаг M, A должен определить свой собственный IPv6-адрес интерфейса. Для этого он определяет набор префиксов IPv6, используемых в этом сегменте, исследуя поле информации о префиксе в объявлении маршрутизатора. Он выбирает один из этих префиксов и формирует IPv6-адрес, используя тот же процесс, который он использовал для формирования link local address: он добавляет локальный MAC-адрес (EUI-48 или EUI-64) к указанному префиксу. Этот процесс называется SLAAC.
Теперь хост должен убедиться, что он не выбрал адрес, который использует другой хост в той же сети; он должен выполнять DAD. Чтобы выполнить обнаружение повторяющегося адреса:
Хост отправляет серию сообщений запроса соседей, используя только что сформированный IPv6-адрес и запрашивая соответствующий MAC-адрес (физический). Это сообщения ICMPv6 типа 135, передаваемые с link local address, уже назначенного интерфейсу.
Если хост получает объявление соседа или запрос соседа с использованием того же адреса IPv6, он предполагает, что локально сформированный адрес является дубликатом; в этом случае он сформирует новый адрес, используя другой локальный MAC-адрес, и попытается снова.
Если хост не получает ни ответа, ни запроса соседа другого хоста, использующего тот же адрес, он предполагает, что адрес уникален, и назначает вновь сформированный адрес интерфейсу.
Устранение ложных срабатываний при обнаружении повторяющегося адреса
Процесс DAD, описанный здесь, может привести к ложным срабатываниям. В частности, если какое-то другое устройство на канале связи передает исходные пакеты запроса соседа обратно к A, оно будет считать, что это от другого хоста, требующего тот же адрес, и, следовательно, объявит дубликат и попытается сформировать новый адрес. Если устройство постоянно повторяет все запросы соседей, отправленные A, A никогда не сможет сформировать адрес с помощью SLAAC.
Чтобы решить эту проблему, RFC7527 описывает усовершенствованный процесс DAD. В этом процессе A будет вычислять одноразовый номер, или, скорее, случайно выбранную серию чисел, и включать ее в запрос соседей, используемый для проверки дублирования адреса. Этот одноразовый номер включен через расширения Secure Neighbor Discovery (SEND) для IPv6, описанные в RFC3971.
Если A получает запрос соседа с тем же значением nonce, который он использовал для отправки запроса соседа вовремя DAD, он сформирует новый одноразовый номер и попытается снова. Если это произойдет во второй раз, хост будет считать, что пакеты зацикливаются, и проигнорирует любые дальнейшие запросы соседей с собственным одноразовым номером в них. Если полученные запросы соседей имеют одноразовый номер, отличный от того, который выбрал локальный хост, хост будет предполагать, что на самом деле существует другой хост, который выбрал тот же адрес IPv6, и затем сформирует новый адрес IPv6.
Как только у него есть адрес для передачи данных, A теперь требуется еще одна часть информации перед отправкой информации другому хосту в том же сегменте - MAC-адрес принимающего хоста. Если A, например, хочет отправить пакет в C, он начнет с отправки multicast сообщения запроса соседа на C с запросом его MAC-адреса; это сообщение ICMPv6 типа 135. Когда C получает это сообщение, он ответит с правильным MAC-адресом для отправки трафика для запрошенного IPv6-адреса; это сообщение ICMPv6 типа 136.
В то время как предыдущий процесс описывает объявления маршрутизатора, отправляемые в ответ на запрос маршрутизатора, каждый маршрутизатор будет периодически отправлять объявления маршрутизатора на каждом подключенном интерфейсе. Объявление маршрутизатора содержит поле lifetime, указывающее, как долго действует объявление маршрутизатора.
А теперь почитайте о проблемах шлюза по умолчанию. У нас получился отличным материал на эту тему.
В этой статье мы расскажем как решить проблему с блокировкой файлов в 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 * для идентификации блокировки.
Все, кто работали с serial интерфейсами, сталкивались с такими вещами как DCE и DTE. Сегодня постараемся разобраться с этими терминами.
Serial интерфейсы используются при подключении роутера к глобальной сети WAN (Wide Area Network) . При этом подключение обычно осуществляется через какое-нибудь устройство провайдера – чаще всего это модем или CSU/DSU (Channel Service Unit/Data Service Unit) .
В этой схеме модем или CSU/DSU является DCE (Data Communication Equipment) устройством – то есть оборудованием провайдера, которое определяет скорость канала, преобразует и передает данные от оборудования клиента. А со стороны клиента передает эти данные DTE (Data Terminal Equipment) устройство, которое обычно является маршрутизатором или компьютером.
Однако в лаборатории мы можем собрать схему, где маршрутизатор может выступать не только в роли DTE, но и в роли DCE.
В этом случае нам нужно определить какую роль будет иметь каждый из маршрутизаторов. Это будет зависеть от serial кабеля, которым мы будем подключать маршрутизаторы – один конец используется для подключения к DCE, а другой к DTE. Обычно на кабелях не написано, какую роль имеет каждый из концов, и поэтому тут нам нужно будет воспользоваться командой show controllers [интерфейс].
Router1>en
Router1#show controllers serial 2/0
Interface Serial2/0
Hardware is PowerQUICC MPC860
DCE V.35, no clock
idb at 0x81081AC4, driver data structure at 0x81084AC0
Здесь в третьей строчке вывода видно, что к роутеру подключен кабель DCE концом. Это значит, что он исполняет роль DCE, а другой роутер – роль DTE.
Теперь, когда мы узнали, кто, есть кто, нам нужно вручную задать скорость работы канала на DCE, поскольку в роли DCE у нас маршрутизатор, а не модем или CSU/DSU, как в реальных сетях.
Для этого на интерфейсе мы используем команду clock rate [скорость в битах/с]
Router1#conf t
Router1(config)#int se 2/0
Router1(config-if)#clock rate ?
Speed (bits per second
1200
2400
4800
9600
19200
38400
56000
64000
72000
125000
128000
148000
250000
500000
800000
1000000
1300000
2000000
4000000
<300-4000000> Choose clockrate from list above
Router(config-if)#clock rate 64000
После этого можно продолжать конфигурацию. Стоит заметить, что команда clock rate не применится на DTE интерфейсе.
Router2(config)#int se2/0
Router2(config-if)#clock rate 64000
This command applies only to DCE interfaces