Сопоставление дисков в 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
), который может служить ему, если предыдущий не всегда работает...