Сделай сам: стенд с решениями для виртуализации — настройка узлов кластера для использования общего хранилища
Мы уже установили и настроили необходимое количество серверов, которые будут служить узлами будущего кластера. Осталось добавить к ним последний компонент, который объединит их единую систему и позволит, собственно, настроить клужбу кластеризации. Сегодня речь пойдёт о том, как подключить узлы кластера к общему хранилищу.
Процедура подключения хранилища к узлам кластера состоит из двух основных этапов. Во-первых, потребуется подключить общий диск по протоколу iSCSI. А во-вторых — разметить и отформатировать этот диск. Первый шаг необходимо выполнить последовательно на всех узлах будущего кластера. А второй — только один раз на любом из узлов.
Подключение общего диска с помощью iSCSI Software Initiator
Этот шаг потребует использования утилиты iSCSIcli. Сразу предупреждаю, что её синтаксис далеко не всегда выглядит очевидным, поэтому будьте внимательны. Для удобства я отдельно выложил полную версию встроенной справки iSCSIcli. Нижеследующие команды можно набирать отдельно — сначала выполнить «iscsicli command1», затем «iscsicli command2» и так далее. А можно воспользоваться интерактивным режимом — набрать просто «iscsicli» и попасть в собственную командную оболочку утилиты.
Я для кратости буду пользоваться вторым вариантом. Вводимые мною команды выделены курсивом. Обычный текст — ответы и подсказки, выводимый утилитой.
C:\Users\Administrator.UNI>iscsicli
Microsoft iSCSI Initiator Version 6.0 Build 6000[iqn.1991-05.com.microsoft:hyperv-node1.lab.com] Enter command or ^C to exit
Для начала нам потребуется указать инициатору на клиенте адрес Target на сервере.
QAddTargetPortal hyperv-storage.lab.com
The operation completed successfully.
Здесь нужно прерваться и на минуту вернуться к управлению iSCSI Target. После выполнения предыдущей команды наш инициатор предпринял попытку подключения к хранилищу. Однако, он пока что не может получить доступ к дискам, потому что адрес инициатора (IQN) явным образом не проассоциирован с Target. Теперь, после того, как инициатор однажды попробовал подкючиться к серверу, последний добавил IQN инициатора в свой список потенциальных клиентов. И мы можем указать этот IQN в свойствах Target. (Строго говоря, сделать это мы могли и раньше — например, сразу на этапе создания Target. Но тогда нам пришлось бы вручную указывать IQN, что чревато опечатками).
После того, как вы проассоциируете IQN инициатора с тем Target, который содержит нужные виртуальные диски, можно перейти обратно к будущему узлу кластера и продолжить настойку инициатора. Запросим список доступных Targets.
listtargets
Targets List:
iqn.1991-05.com.microsoft:hyperv-storage-cg01-target
The operation completed successfully.
Понятно, что у нас сейчас всего один Target — тот, который мы только что проассоцииовали с IQN инициатора. Настало время подключить его.
QloginTarget iqn.1991-05.com.microsoft:hyperv-storage-cg01-target
Session Id is 0xfffffa8007076018-0x4000013700000006
Connection Id is 0xfffffa8007076018-0x5
The operation completed successfully.
А теперь сделаем его постоянным — чтобы он автоматически подключался каждый раз при загрузке сервера.
PersistentLoginTarget iqn.1991-05.com.microsoft:hyperv-storage-cg01-target t * * * * * * * * * * * * * * * 0
The operation completed successfully.
Я не издеваюсь — здесь действительно надо набрать подряд 15 (пятнадцать) звёздочек, разделённых пробелами. Но на этом обязательная часть настройки iSCSI Software Initiator закончена. Можно только ещё раз убедиться в этом.
ListPersistentTargets
Total of 1 peristent targets
Target Name : iqn.1991-05.com.microsoft:hyperv-storage-cg01-targetAddress and Socket : 192.168.150.134 3260
Session Type : Data
Initiator Name : Root\ISCSIPRT\0000_0
Port Number : <Any Port>
++Security Flags : 0x0
++Version : 0
++Information Specified: 0x20
++Login Flags : 0x8
++Username :The operation completed successfully.
[iqn.1991-05.com.microsoft:hyperv-node1.lab.com] Enter command or ^C to exit
ReportTargetMappings
Total of 1 mappings returned
Session Id : fffffa8007076018-4000013700000006
Target Name : iqn.1991-05.com.microsoft:hyperv-storage-cg01-target
Initiator : Root\ISCSIPRT\0000_0
Initiator Scsi Device : \\.\Scsi3:
Initiator Bus : 0
Initiator Target Id : 0
Target Lun: 0x0 <--> OS Lun: 0x0The operation completed successfully.
Итак, диск подключен. Как и было обещано, ваш клиент (он же сервер Hyper-V — надеюсь, вы ещё не запутались) теперь воспринимает виртуальный диск, расположенный на сервере iSCSI Target, как обычный локальный диск. Я расчитываю, что для данного эксперимента вы создали новый виртуальный диск, так что сейчас он совсем пуст. Поэтому сейчас потребуется разметить и отформатировать его. Для этого покинем консоль iSCSIcli. Как объясняет каждое новое приглашение этой утилиты, для выхода надо нажать <Ctrl + C>.
Разметка и форматирование общего диска
Для этого мы воспользуемся другой интерактивной утилитой — DiskPart
C:\Users\Administrator>diskpart
Microsoft DiskPart version 6.0.6001
Copyright (C) 1999-2007 Microsoft Corporation.
On computer: HYPERV-NODE1DISKPART> list disk
Disk ### Status Size Free Dyn Gpt
-------- ---------- ------- ------- --- ---
Disk 0 Online 410 GB 0 B
Disk 1 Offline 25 GB 25 GB
Вот этот второй диск, который сейчас находится в состоянии «Offline», мы только что подключили по протоколу iSCSI. Дальше я буду приводить команды без подробных пояснений — мне кажется, что синтаксис DiskPart достаточно очевиден. Если у вас возникают здесь затруднения — обратитесь к официальной документации. Благо, её для DiskPart имеется в избытке — в отличие от iSCSIcli. Например:
Итак,
DISKPART> select disk 1
Disk 1 is now the selected disk.
DISKPART> attributes disk clear readonly
Disk attributes cleared successfully.
DISKPART> online disk
DiskPart successfully onlined the selected disk.
DISKPART> create partition primary
DiskPart succeeded in creating the specified partition.
DISKPART> list volume
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 D DVD-ROM 0 B No Media
Volume 1 C NTFS Partition 410 GB Healthy System
* Volume 2 RAW Partition 25 GB HealthyDISKPART> select volume 2
Volume 2 is the selected volume.
DISKPART> assign letter=R
DiskPart successfully assigned the drive letter or mount point.
DISKPART> format fs=ntfs label=cluster01 quick
100 percent completed
DiskPart successfully formatted the volume.
DISKPART> exit
Leaving DiskPart...
Настройка второго узла кластера
Всё, что описано в этой и предыдущей статьях, напрямую относится к первому узлу вашего будущего кластера. Для всех последующих узлов этого кластера процедура будет незначительно отличаться. Но только в той части, которая касается подготовки общего диска с помощью утилиты DiskPart. Дело в том, что в Windows никакой дисковый ресурс не может быть одновременно доступен для записи одновременно нескольким системам. Следовательно, в каждый момент времени общий диск может находиться в состоянии «Online» только на каком-то одном из узлов. На всех остальных узлах, соответствено, в этот момент данный диск должен находиться в состоянии «Offline». Однако, поскольку вы уже разметили и отформатировали диск в ходе создания первого узла кластера, вам и не потребуется переводить его в состояние «Online» на других узлах.
Есть только одна вещь, которую стоит сделать после подключения диска по протоколу iSCSI (то есть завершения работы с iSCSIcli) на каждом из последующих узлов. Запустите DiskPart, выполните комаднду list disk — и убедитесь, что диск присутствует в системе, но находится в состоянии «Offline». Все остальные проверки выполнит Cluster Validation Tool. О нём мы поговорим в следующей статье.
Comments
- Anonymous
March 31, 2009
ссылка битая в начале (Сегодня речь пойдёт о том, как подключить узлы кластера к общему хранилищу.)