Общий доступ к файлам с помощью Hyper-V Shared VHDX

Возможно ли совместное использование файлов простым использованием Hyper-V Shared VHDX на CSV, подключенном к двум виртуальным машинам?

Я тестирую SVHDX в своей среде и не могу заставить его работать. У нас есть настроенный отказоустойчивый кластер и CSV, поддерживаемый SAN поверх FC, я поместил SVHDX в CSV и подключил этот диск к двум виртуальным машинам. Теперь у меня есть несогласованность на диске, так как я сохраняю несколько файлов на VM1, они не видны на VM2, и CHKDSK сообщает об ошибках. Я даже могу создавать файлы с тем же именем на общем диске.

2 ответа

Решение

Да. Вы не можете совместно использовать файловую систему между несколькими компьютерами, если только файловая система не предназначена для этого. Потому что компьютеры кешируют метаинформацию и предполагают, что они являются ее владельцем.

Общий VHDX - это общий доступ к блокам, а не общий доступ к файлам.

Теперь для небольшого отступления в терминах, так как вы далеко не первый человек, который задаст этот вопрос. Диск является блочным устройством. Он работает, отвечая на команды типа "блок чтения 23971" и "блок записи 1082". Файловая система - это способ хранения данных, которые отображаются на блочное устройство. Когда вы пишете файл, код файловой системы находит несколько свободных блоков на диске и записывает в них ваши данные. И, возможно, что еще более важно для этого обсуждения, он записывает на диск другие данные, записывая имя файла, в каких блоках хранится файл, кто имеет доступ к файлу и т. Д.

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

Таким образом, если вы хотите использовать один и тот же диск, самый распространенный способ сделать это - отдать его одному компьютеру, чтобы этот компьютер владел этим диском, передав его другим пользователям через сетевую файловую систему, такую ​​как NFS или SMB. Все остальные компьютеры запрашивают данные по сети. Файловый сервер владеет диском и управляет им. Клиенты видят только файлы. Владелец (файловый сервер) видит файлы, отображенные на блоки.

В некоторых ситуациях, однако, вы хотите, чтобы два или более компьютера напрямую использовали блочное устройство (диск). Для этого вам нужно плотно соединить эти два или более компьютеров, чтобы они могли координировать свои действия. Это называется "формирование кластера". Затем вам нужно запустить кластерную файловую систему на диске. При использовании Windows без стороннего программного обеспечения единственным выбором для кластерной файловой системы является CSVFS. При работе с Linux или другими операционными системами у вас есть другие варианты.

Опять же, я рекомендую использовать файловый сервер для вашей задачи. Но цель Shared VHDX - позволить кластеру виртуальных машин запускать кластерную файловую систему.

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

Или вы можете создать кластер Windows File Server с несколькими виртуальными машинами, используя Shared VHDX. Вы можете сделать это, потому что хотите, чтобы кластер вашего файлового сервера был доступен для его клиентов, даже если один из физических хостов умирает.

Без Shared VHDX этот гипотетический кластер SQL или файлового сервера ненадолго отключится от сети, если один из физических хостов в вашей среде умрет. Если хосты сами кластеризованы, виртуальная машина будет перезапущена на другом узле, как только произойдет сбой. Но с точки зрения клиентов будут некоторые простои. (С SQL Server все равно будет небольшое время простоя, но клиенты могут справиться с этим. С помощью кластера файлового сервера вы можете сделать так, чтобы клиенты, пока они работают под управлением SMB 3.0 или более поздней версии, испытывали автоматический переход на другой ресурс при сбое и не сбрасывайте связи.)

Другие вопросы по тегам