Назад | Перейти на главную страницу

XenServer, сопоставление SAN LUN с VDI

У меня есть несколько хостов XenServer 6.2 / 6.5 и хранилище данных ZFS SAN, обеспечивающее экспорт iSCSI для хранилища виртуальных машин. Это не оптимальное решение для экспорта огромных 1-2 ТБ LUN как XenServer LVMoiSCSI SR, потому что: а) нет тонкого выделения ресурсов в хранилище XenServer б) неэффективность моментального снимка / отправки ZFS на стороне SAN

Я обнаружил, что этот вопрос, вероятно, работал в случае прямого сопоставления SAN LUN с VM VDI: Сопоставление VDI напрямую с программными iSCSI LUN в XenServer

Но в моем случае это не сработало, потому что созданный VDI имеет свойство managed = false и не может быть прикреплен к виртуальной машине:

[root@kst0-hv01 ~]# xe vbd-plug uuid=f1d66282-b8f0-3776-f913-7ea731c260df
This operation cannot be performed because the system does not manage this VDI
vdi: f1d66282-b8f0-3776-f913-7ea731c260df

Поэтому я называю xe vdi-forget и воссоздаю его с помощью xe vdi-Introduction с теми же параметрами, и у меня есть VDI:

[root@kst0-hv01 ~]# xe vdi-param-list uuid=b0840d42-7bc1-66d7-a94d-e639cc9b3818
uuid ( RO)                    : b0840d42-7bc1-66d7-a94d-e639cc9b3818
              name-label ( RW):
        name-description ( RW):
           is-a-snapshot ( RO): false
             snapshot-of ( RO): <not in database>
               snapshots ( RO):
           snapshot-time ( RO): 19700101T00:00:00Z
      allowed-operations (SRO): forget; destroy; copy; snapshot
      current-operations (SRO):
                 sr-uuid ( RO): b192fe5c-c32b-9ce9-9d4e-1d2222269120
           sr-name-label ( RO): san
               vbd-uuids (SRO):
         crashdump-uuids (SRO):
            virtual-size ( RO): 68719476736
    physical-utilisation ( RO): 0
                location ( RO): b0840d42-7bc1-66d7-a94d-e639cc9b3818
                    type ( RO): User
                sharable ( RO): false
               read-only ( RO): false
            storage-lock ( RO): false
                 managed ( RO): true
                  parent ( RO): <not in database>
                 missing ( RO): false
            other-config (MRW):
           xenstore-data (MRO):
               sm-config (MRO): LUNid: 0; type: raw; SCSIid: 26537373734393364
                 on-boot ( RW): persist
           allow-caching ( RW): false
         metadata-latest ( RO): false
        metadata-of-pool ( RO): <not in database>
                    tags (SRW):

И когда я создал VBD и прикрепил его к виртуальной машине, возникает ошибка:

Error code: SR_BACKEND_FAILURE_46
Error parameters: , The VDI is not available,

Я вижу VBD, прикрепленный в 'xe vbd-list' как / dev / xvde, но не вижу его с виртуальной машины:

[root@kst0-hv01 ~]# xe vbd-param-list uuid=f8963685-b4d9-cdbb-d1af-47c7f2b54cb8
uuid ( RO)                        : f8963685-b4d9-cdbb-d1af-47c7f2b54cb8
                     vm-uuid ( RO): 251e8ca9-72c9-c220-a53c-b783acd9935f
               vm-name-label ( RO): backup
                    vdi-uuid ( RO): b0840d42-7bc1-66d7-a94d-e639cc9b3818
              vdi-name-label ( RO):
          allowed-operations (SRO): pause; unpause; attach; unplug_force; unplug
          current-operations (SRO):
                       empty ( RO): false
                      device ( RO): xvde
                  userdevice ( RW): 4
                    bootable ( RW): false
                        mode ( RW): RW
                        type ( RW): Disk
                 unpluggable ( RW): true
          currently-attached ( RO): true
                  attachable ( RO): true
                storage-lock ( RO): false
                 status-code ( RO): 0
               status-detail ( RO):
          qos_algorithm_type ( RW):
        qos_algorithm_params (MRW):
    qos_supported_algorithms (SRO):
                other-config (MRW):
                 io_read_kbs ( RO): 0.000
                io_write_kbs ( RO): 0.000

Я дважды проверяю и вижу iSCSI LUN, подключенный к HV:

26537373734393364 dm-46 SCST_BIO,vdi
size=64G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=enabled
  `- 133:0:0:0 sds 65:32  active ready  running

[root@kst0-hv01 ~]# xe pbd-param-list uuid=ed62495f-f2db-5886-f688-7f9883dabcb1
uuid ( RO)                  : ed62495f-f2db-5886-f688-7f9883dabcb1
     host ( RO) [DEPRECATED]: 304ce08d-869e-41b9-9cfd-dd917f809b33
             host-uuid ( RO): 304ce08d-869e-41b9-9cfd-dd917f809b33
       host-name-label ( RO): kst0-hv01
               sr-uuid ( RO): b192fe5c-c32b-9ce9-9d4e-1d2222269120
         sr-name-label ( RO): san
         device-config (MRO): multihomelist: 172.18.3.20:3260; targetIQN: iqn.2015-07.cvetnaya:vdi; target: 172.18.3.20
    currently-attached ( RO): true
          other-config (MRW): storage_driver_domain: OpaqueRef:5c864a43-f80a-730d-e2c0-7e4e3a9caaa3; iscsi_sessions: 1

Есть ли у кого-нибудь история успеха такой вещи?

Я, конечно, могу напрямую подключить виртуальную машину к iSCSI LUN на стороне клиента, но все же предпочитаю делать это на HV.

Заранее спасибо.

P.S.

[root@kst0-hv01 ~]# xe sr-param-list uuid=aba7aac8-7b26-d9b8-c0a5-bd9fe025b6b5
uuid ( RO)                    : aba7aac8-7b26-d9b8-c0a5-bd9fe025b6b5
              name-label ( RW): san
        name-description ( RW):
                    host ( RO): kst0-hv01
      allowed-operations (SRO): VDI.introduce; VDI.create; PBD.create; PBD.destroy; plug; VDI.destroy; scan; VDI.clone; unplug
      current-operations (SRO):
                    VDIs (SRO): 17c4c57e-581a-1db3-c6cd-68c4cf9766d8; b0840d42-7bc1-66d7-a94d-e639cc9b3818
                    PBDs (SRO): b7a85f12-2a4e-0ec9-c290-ca3128676f03
      virtual-allocation ( RO): 206158430208
    physical-utilisation ( RO): 206158430208
           physical-size ( RO): 206158430208
                    type ( RO): iscsi
            content-type ( RO):
                  shared ( RW): false
           introduced-by ( RO): <not in database>
            other-config (MRW):
               sm-config (MRO): datatype: ISCSI; multipathable: true; targetIQN: iqn.2015-07.cvetnaya:vdi; target: 172.18.3.20; disktype: Raw
                   blobs ( RO):
     local-cache-enabled ( RO): false
                    tags (SRW):

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

У меня есть два решения, которые работают стабильно. И я не сделал ничего, что не поддерживается (citrix) xenserver.

NAS4FREE: обычная установка на Dell T20 с 8 ГБ ECC-Ram; Жесткие диски 4 * 3 ТБ как raid-z1 (один запасной). Услуга iSCSI активирована. Один lun с 2 ТБ в качестве виртуального хранилища, один lun для ночного резервного копирования cron vms (моментального снимка) 2 ТБ и один lun для пульса 2 ГБ. Сегодня установил обновление XS65ESP1005 без проблем.

Multipathing работает стабильно.

Возможно, вам нужно (после выключения и перезагрузки xenserver-machine) восстановить sr.

ZFSGURU (начало тестирования 10 дней назад): Asrock J1900, 8 ГБ Ram zfsguru, установленный с livecd как vm. Для хранения неиспользуемых жестких дисков 4 * 1 ТБ во время чистой установки Xenserver. 3 можно подключить как съемное хранилище (SCSI-диски для xenserver) к zfsguru-vm, установить целевую службу iscsi в zfsguru-vm, создать пул, создать zvol для luns. один lun (500 ГБ для виртуального хранилища, 250 ГБ для второго жесткого диска в Windows 7 vm).

Без вопросов. zfsguru работает как шарм, поскольку с webgui он прост. Скорость передачи лучше, потому что "нет сетевого трафика". Подсказка: нет инструментов xenserver версии 6.5 (кроме 6.2) для BSD.