Сопоставление дисков в GCP с дисками ОС в Windows

Есть ли способ сопоставить диски, выделенные виртуальной машине в GCP, с дисками, отображаемыми на уровне ОС в Windows? В Linux есть указатели, соответствующие именованию, которое мы предоставляем в GCP. В Azure мы можем использовать идентификаторы LUN, предоставленные на портале Azure, для сопоставления с соответствующими идентификаторами в Windows. Однако в GCP, если я выделяю два диска одинакового размера, я не могу сказать, какой из них какой. Это затрудняет, например, расширение одного из них позже. Прямо сейчас я увеличиваю размер на 1 ГБ, чтобы заметить разницу, но это далеко не идеально.

В Linux создается символическая удобная ссылка, например /dev/disk/by-id/google-. Однако в Windows аналога не вижу.

Сценарий будет таким:

В консоли GCP я устанавливаю окно Windows с 3 дополнительными дисками по 100 ГБ каждый. Скажем, один для "программного обеспечения", один для "данных", третий для "temp", и они были названы так в консоли GCP. Когда виртуальная машина подготовлена, я могу видеть все 3 диска, но не могу сказать, какой из них соответствует тем, которые я назвал в консоли GCP, поскольку они выглядят идентично ОС Windows. Поэтому мне нужно было бы угадать и назвать одну из них "программной" на уровне ОС. Если у меня закончится место в том, что я назвал "программным обеспечением" на уровне ОС, а затем перейду в консоль GCP и разверну "программный" диск, я могу обнаружить, что я расширил "временный" вместо этого с точки зрения Windows.

2 ответа

Я не думаю, что это возможно. В GCP вы можете добавить собственное имя к диску (как на картинке, которую я добавил), а также вы можете использовать метки для своих ресурсов, но обе эти опции находятся на стороне GCP, вы можете использовать их или вызвать их с помощью консоли или в CLI.

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

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

Вы можете сделать это, используя информацию о метаданных экземпляра

      Invoke-RestMethod -Headers @{"Metadata-Flavor" = "Google"} -Uri "http://metadata.google.internal/computeMetadata/v1/instance/disks/"

Это вернет список всех номеров дисков, подключенных к экземпляру.

      0/
1/
2/

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

      Invoke-RestMethod -Headers @{"Metadata-Flavor" = "Google"} -Uri "http://metadata.google.internal/computeMetadata/v1/instance/disks/{id}/device-name"

Как только вы узнаете идентификатор, вы можете использовать его в Get-Disk {id}команда

Я этого не делал, поэтому я не уверен на 100%, совпадает ли идентификатор в пути с идентификатором в Windows, но есть также indexсвойство, доступное по приведенному выше URL-адресу (одноуровневое для device-name), который может служить ему, если предыдущий не всегда работает...

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