Wyszukiwanie w witrynie

Jak tworzyć i dodawać repozytoria pamięci masowej Citrix XenServer — część 4


W czwartym artykule z tej serii XenServer zostaną omówione rozwiązania pamięci masowej. Podobnie jak w przypadku sieci, rozwiązania pamięci masowej w XenServer są często na początku trudne do zrozumienia. Przed rozpoczęciem jakiejkolwiek konfiguracji należy omówić nową terminologię i koncepcje związane z pamięcią masową XenServer.

Aktualizacja: W maju 2016 r. firma Citrix wypuściła nową wersję platformy XenServer 7. W celu instalacji wykonaj następujące czynności: Nowa instalacja XenServer 7.

XenServer wprowadza kilka nowych terminów do tradycyjnej listy terminologii dotyczącej przechowywania danych. Chociaż zrozumienie pojęć jest zawsze ważne podczas pracy z dowolnym systemem informatycznym, pamięć masowa nie jest tak istotna, jak poprzedni artykuł poświęcony koncepcjom sieciowym. Jednakże wyjaśnienie i próba wyjaśnienia tych koncepcji przechowywania zajmie trochę czasu w tym artykule.

Pierwszą rzeczą, o której należy pamiętać w przypadku pamięci masowej XenServer, jest to, że mamy pamięć dla rzeczywistego hosta XenServer, a następnie mamy także pamięć dla gościa lub maszyn wirtualnych, które będą działać na hoście XenServer. Koncepcyjnie jest to łatwe do zrozumienia, ale zarządzanie nim może być trudnym zadaniem, jeśli administrator nie jest zaznajomiony z celami każdego z aspektów przechowywania.

Pierwszy termin jest znany jako „SR” lub Repozytorium pamięci. Jest to prawdopodobnie najważniejszy termin w odniesieniu do pamięci masowej XenServer, ponieważ reprezentuje fizyczny nośnik, na którym będą przechowywane i odtwarzane dyski maszyn wirtualnych. Repozytoriami pamięci masowej mogą być dowolne spośród kilku różnych typów systemów pamięci masowej, w tym lokalna pamięć masowa podłączona fizycznie do hosta XenServer, jednostka LUN iSCSI/Fibre Channel, sieciowe udziały plików NFS lub pamięć masowa na urządzeniu pamięci masowej Dell/NetApp.

Repozytoria pamięci masowej mogą być współdzielone lub dedykowane i mogą obsługiwać wiele przydatnych funkcji, takich jak szybkie klonowanie, rzadka alokacja (pamięć masowa udostępniana zgodnie z potrzebami maszyny wirtualnej) i obrazy dysków wirtualnych o zmiennym rozmiarze (więcej o tym później).

Repozytoria pamięci masowej, SR, są logicznie połączone z hostem XenServer za pomocą tak zwanego urządzenia bloku fizycznego, częściej określanego jako „PBD”. PBD to po prostu odniesienie do lokalizacji przechowywania. Te obiekty PBD można „podłączyć” do hosta XenServer, aby umożliwić temu hostowi odczyt/zapis informacji w repozytorium pamięci.

Celem repozytoriów Storage jest przede wszystkim przechowywanie plików obrazu dysku wirtualnego (VDI) maszyny wirtualnej. Pliki VDI to miejsca na SR, które zostały przydzielone do przechowywania systemu operacyjnego i innych plików dla maszyny wirtualnej działającej na hoście XenServer. Pliki VDI mogą być dowolnego z kilku różnych typów. Typ jest określany na podstawie typu repozytorium.

Typowymi typami VDI w XenServer są woluminy logiczne (LV) zarządzane przez menedżera woluminów logicznych, wirtualny dysk twardy (VHD) lub mogą to być numery jednostek logicznych (LUN) na urządzeniu pamięci masowej Dell lub NetApp. Uwaga: w tym artykule będą używane jednostki LUN na urządzeniu pamięci masowej firmy Dell.

Te pliki VDI są logicznie połączone z maszynami wirtualnymi za pośrednictwem obiektu znanego jako wirtualne urządzenie blokowe, powszechnie określane jako „VBD”. Te obiekty VBD można dołączyć do wirtualnych gości, co następnie umożliwia maszynie gościa dostęp do danych przechowywanych w tym konkretnym VDI na odpowiednim SR.

Podobnie jak w przypadku sieci w XenServer, czytanie o pamięci masowej to jedno, ale możliwość zobaczenia relacji między każdym z tych elementów często ugruntowuje koncepcje. Powszechnie stosowane diagramy przedstawiające koncepcje pamięci masowej XenServer często wprowadzają nowicjuszy w błąd, ponieważ często czyta się je w sposób liniowy. Poniżej znajduje się jeden taki obraz zapożyczony od Citrix.

Wiele osób czyta to liniowo, od lewej do prawej, myśląc, że każda część jest oddzielnym urządzeniem fizycznym. Tak nie jest i często prowadzi to do wielu nieporozumień na temat działania pamięci masowej XenServer. Poniższa grafika próbuje wyjaśnić pojęcia w mniej liniowy, ale bardziej pragmatyczny sposób.

Mamy nadzieję, że powyższa grafika nie wprowadzi jeszcze większego zamieszania w kwestii pamięci masowej XenServer. Drugi obraz jest próbą pokazania połączeń logicznych (PBD i VBD), które są używane do łączenia serwerów XenServers i gości ze zdalnym magazynem za pośrednictwem jednego rzeczywistego połączenia sieciowego.

Po usunięciu konceptualizacji; można rozpocząć konfigurację. Przypominając pierwszy artykuł z tej serii, w tym przewodniku opisano wykorzystanie urządzenia pamięci masowej Dell PS5500E iSCSI do przechowywania dysków maszyny wirtualnej (gości). W tym przewodniku nie opisano konfiguracji urządzenia Dell iSCSI.

Konfiguracja systemu:

  1. Zainstalowany i załatany XenServer 6.5 (część 1 serii)
  2. Urządzenie Dell PS5500E iSCSI (można używać innych urządzeń iSCSI, wystarczy zastąpić informacje o środowisku, jeśli to konieczne).
  3. Skonfigurowane interfejsy sieciowe XenServer (część 3 serii).
  4. Urządzenie iSCSI i XenServer mogą się logicznie widzieć (poprzez narzędzie ping).
  5. Serwer CIFS (SAMBA) obsługujący i hostujący część plików ISO CD (niewymagane, ale bardzo przydatne).

Tworzenie repozytorium pamięci masowej Citrix XenServer

Ten pierwszy proces będzie obejmował etapy utworzenia programowego inicjatora iSCSI z hosta XenServer do Dell PS5500E.

Ta konkretna jednostka LUN wykorzystuje protokół uwierzytelniania Challenge-Handshake (CHAP), aby ograniczyć dostęp do woluminu iSCSI do określonych upoważnionych stron.

Aby utworzyć repozytorium pamięci, pojawi się tradycyjne polecenie „xe”. Przed utworzeniem repozytorium pamięci masowej należy uzyskać odpowiednie informacje iSCSI.

Przekazanie parametru „sr-probe” do narzędzia „xe” spowoduje, że serwer XenServer zapyta urządzenie pamięci masowej o IQN iSCSI (kwalifikowana nazwa iSCSI).

Pierwsze polecenie będzie początkowo wyglądało intensywnie, ale nie jest tak złe, jak wygląda.


xe sr-probe type=lvmoiscsi device-config:target=X.X.X.X device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap"

To pierwsze polecenie jest potrzebne do zebrania IQN SCSI dla konfiguracji repozytorium pamięci masowej. Zanim przejdziemy dalej, przyjrzyjmy się wszystkim częściom tego polecenia.

  1. sr-probe – służy do wysyłania zapytań do urządzenia iSCSI o informacje na temat woluminu utworzonego dla tego hosta XenServer.
  2. type= Używany do informowania XenServera o typie repozytorium pamięci. Będzie się to różnić w zależności od używanego systemu. Ze względu na użycie konsoli Dell PS5500 w tym poleceniu używana jest opcja lvm over iSCSI. Pamiętaj, aby zmodyfikować, aby dopasować go do typu urządzenia pamięci masowej.
  3. device-config:target= Służy do informowania serwera XenServer o tym, jakie urządzenie iSCSI ma wysłać zapytanie według adresu IP.
  4. device-config:chapuser= Służy do uwierzytelniania na urządzeniu iSCSI. W tym przykładzie wolumin iSCSI został wcześniej utworzony dla użytkownika „tecmint”. Wysyłając w tym poleceniu nazwę użytkownika i hasło, urządzenie iSCSI prześle w odpowiedzi informacje niezbędne do zakończenia tworzenia repozytorium pamięci.
  5. device-config:chappassword= To jest hasło do powyższej nazwy użytkownika CHAP.

Po wprowadzeniu i przesłaniu polecenia XenServer podejmie próbę zalogowania się do urządzenia iSCSI i zwróci informacje potrzebne do faktycznego dodania tego urządzenia iSCSI jako repozytorium pamięci masowej.

Poniżej znajduje się informacja, którą system testowy zwrócił po wykonaniu tego polecenia.


Error code: SR_BACKEND_FAILURE_96
Error parameters: , The SCSIid parameter is missing or incorrect , <?xml version"1.0" ?>
<iscsi-target-iqns>
        <TGT>
                 <Index>
                              0
                 </Index>
                 <IPAddress>
                 </IPAddress>
                 <TargetIQN>
                              iqn.2001-05.com.equallogic:0-8a096-0d9a4ab02-46600020343560ef-xenct-xen2
                 </TargetIQN>
        </TGT>
        <TGT>
                 <Index>
                 
                 </Index>
                 <IPAddress>

                 </IPAddress>
                 <TargetIQN>

                 </TargetIQN>
        </TGT>
</iscsi-target-iqns>

Wyróżniony tutaj element jest znany jako iSCSI IQN. Jest to bardzo ważne i potrzebne do określenia SCSIid repozytorium pamięci. Dzięki tym nowym informacjom można zmodyfikować poprzednie polecenie w celu uzyskania SCSIid.


xe sr-probe type=lvmoiscsi device-config:target=X.X.X.X device-config:targetIQN=iqn.2001-05.com.equallogic:0-8a0906-0d9a4ab02-46600020343560ef-xenct-xen2 device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap"

Jedyną rzeczą dodaną do polecenia jest sekcja targetIQN. Po wydaniu tego nowego polecenia system przekaże ostatnią informację potrzebną do utworzenia repozytorium pamięci masowej iSCSI. Ostatnią informacją jest identyfikator SCSI.


Error code: SR_BACKEND_FAILURE_107
Error parameters: , The SCSIid parameter is missing or incorrect , <?xml version"1.0" ?>
<iscsi-target>
        <LUN>
                 <vendor>
                        EQLOGIC
                 </vendor>
                 <serial>
                 </serial>
                 <LUNid>
                         0
                 </LUNid>
                 <size>
                         107379425280
                 </size>
                 <SCSIid>
                         36090a028b04a9a0def60353420006046
                 </SCSIid>
        </LUN>
</iscsi-target>

Od tego momentu dostępne są wszystkie elementy niezbędne do utworzenia repozytorium pamięci masowej iSCSI i nadszedł czas na wydanie polecenia dodania tego SR do tego konkretnego XenServer. Tworzenie Repozytorium Magazynu z połączonych informacji odbywa się w następujący sposób:


xe sr-create name-label="Tecmint iSCSI Storage" type=lvmoiscsi content-type=user device-config:target=X.X.X.X device-config:port=3260 device-config:targetIQN=iqn.2001-05.com.equallogic:0-8a0906-0d9a4ab02-46600020343560ef-xenct-xen2 device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap" device-config:SCSIid=36090a028b04a9a0def60353420006046

Jeśli wszystko pójdzie dobrze, system połączy się z urządzeniem iSCSI, a następnie zwróci UUID nowo dodanego repozytorium pamięci.


bea6caa4-ecab-8509-33a4-2cda2599fb75

Wynik UUID to świetny znak! Podobnie jak w przypadku wszystkich zadań administracyjnych systemu, zawsze dobrze jest potwierdzić, że polecenie zakończyło się pomyślnie. Można to osiągnąć za pomocą innego polecenia „xe”.


xe sr-list name-label="Tecmint iSCSI Storage"
Przykładowe wyjście

uuid ( RO)                 : bea6caa4-ecab-8509-33a4-2cda2599fb75
          name-label ( RW) : Tecmint iSCSI Storage
    name-description ( RW) :
                host ( RO) : xenct-xen2
                type ( RO) : lvmoiscsi
        content-type ( RO) : user

Z wyjścia CLI ten XenServer pomyślnie nawiązał połączenie z urządzeniem Dell iSCSI i jest gotowy do przechowywania plików VDI gościa.

Tworzenie repozytorium pamięci ISO

Następna seria kroków opisuje proces tworzenia biblioteki ISO. Pliki ISO to zazwyczaj obrazy nośników instalacyjnych na dysku kompaktowym (CD).

Dzięki utworzeniu specjalnego repozytorium pamięci dla tych plików ISO, instalację nowych gości można przeprowadzić bardzo szybko. Gdy administrator chce utworzyć nowego gościa, może po prostu wybrać jeden z plików ISO istniejących w tej bibliotece ISO, zamiast fizycznie umieszczać płytę CD w puli XenServer.

W tej części przewodnika założono, że użytkownik ma działający serwer SAMBA. Jeśli serwer SAMBA nie jest skonfigurowany, zachęcamy do przeczytania tego artykułu o tym, jak wykonać to zadanie w Red Hat/Fedorze (w przyszłości będę miał przewodnik po serwerze SAMBA w Debianie):

  1. Skonfiguruj serwer Samba do udostępniania plików

Pierwszym krokiem jest zebranie niezbędnych danych uwierzytelniających i konfiguracyjnych dla biblioteki SAMBA ISO. Gdy nazwa użytkownika, hasło i informacje o łączności będą dostępne, można użyć prostego wariantu polecenia „xe”, aby połączyć bibliotekę SAMBA z XenServerem.


xe-mount-iso-sr //<servername>/ISO -o username=<user>,password=<password>

To polecenie nie wyświetli niczego na ekranie, chyba że zakończy się niepowodzeniem. Aby potwierdzić, że rzeczywiście zamontował udział ISO SAMBA, wydaj kolejne polecenie „xe”:


xe sr-list
Przykładowe wyjście

uuid ( RO)                 : 1fd75a51-10ee-41b9-9614-263edb3f40d6
          name-label ( RW) : Remote ISO Library on: //                  /ISO
    name-description ( RW) :
                host ( RO) : xenct-xen2
                type ( RO) : iso
        content-type ( RO) : iso

Ten host XenServer jest teraz skonfigurowany zarówno z repozytorium pamięci masowej iSCSI, jak i biblioteką ISO CIFS do przechowywania nośników instalacyjnych dla maszyn wirtualnych (gości).

Kolejnymi krokami będzie utworzenie maszyn wirtualnych i podłączenie tych systemów do odpowiednich sieci z wcześniejszego artykułu o sieciach.