ค้นหาเว็บไซต์

วิธีสร้างและเพิ่มที่เก็บข้อมูล Citrix XenServer - ตอนที่ 4


ในบทความที่สี่ของซีรีส์ XenServer นี้ จะมีการหารือเกี่ยวกับโซลูชันการจัดเก็บข้อมูล เช่นเดียวกับระบบเครือข่าย โซลูชันการจัดเก็บข้อมูลใน XenServer มักจะเข้าใจได้ยากในตอนแรก ก่อนที่จะเริ่มการกำหนดค่าใดๆ ควรมีการอภิปรายคำศัพท์และแนวคิดใหม่ที่เกี่ยวข้องกับพื้นที่เก็บข้อมูล XenServer

อัปเดต: ในเดือนพฤษภาคม 2559 Citrix ได้เปิดตัวแพลตฟอร์ม XenServer 7 เวอร์ชันใหม่ สำหรับการติดตั้ง ให้ปฏิบัติตาม: การติดตั้ง XenServer 7 ใหม่

XenServer แนะนำคำศัพท์ใหม่หลายคำในรายการคำศัพท์เฉพาะสำหรับการจัดเก็บข้อมูลแบบเดิม แม้ว่าการทำความเข้าใจแนวคิดจะมีความสำคัญเสมอเมื่อทำงานกับระบบไอทีใดๆ แต่พื้นที่จัดเก็บข้อมูลก็แทบจะไม่สำคัญเท่ากับบทความก่อนหน้านี้ที่ครอบคลุมแนวคิดด้านเครือข่าย อย่างไรก็ตาม บทความนี้ยังคงใช้เวลาในการอธิบายและพยายามชี้แจงแนวคิดการจัดเก็บข้อมูลเหล่านี้

สิ่งแรกที่ต้องจำเกี่ยวกับพื้นที่เก็บข้อมูล XenServer คือ เรามีพื้นที่เก็บข้อมูลสำหรับโฮสต์ XenServer จริง จากนั้นเรายังมีพื้นที่เก็บข้อมูลสำหรับแขกหรือเครื่องเสมือนที่จะทำงานบนโฮสต์ XenServer ตามหลักการแล้ว สิ่งนี้เข้าใจง่าย แต่การจัดการอาจเป็นงานที่น่ากังวล หากผู้ดูแลระบบไม่คุ้นเคยกับวัตถุประสงค์ของพื้นที่จัดเก็บข้อมูลแต่ละด้าน

คำแรกเรียกว่า 'SR' หรือ พื้นที่เก็บข้อมูล นี่อาจเป็นคำที่สำคัญที่สุดในที่เก็บข้อมูล XenServer เนื่องจากเป็นสื่อกลางทางกายภาพที่ดิสก์เครื่องเสมือนจะถูกจัดเก็บและดึงข้อมูล ที่เก็บข้อมูลอาจเป็นระบบจัดเก็บข้อมูลประเภทต่างๆ หลายประเภท รวมถึงที่เก็บข้อมูลในเครื่องที่แนบทางกายภาพกับโฮสต์ XenServer, iSCSI/Fibre Channel LUN, การแชร์ไฟล์เครือข่าย NFS หรือการจัดเก็บข้อมูลบนอุปกรณ์จัดเก็บข้อมูลของ Dell/NetApp

พื้นที่เก็บข้อมูลสามารถแชร์หรือจัดสรรได้ และสามารถรองรับคุณสมบัติที่มีประโยชน์มากมาย เช่น การโคลนอย่างรวดเร็ว การจัดสรรแบบกระจาย (พื้นที่เก็บข้อมูลที่จัดเตรียมตามที่เครื่องเสมือนต้องการ) และดิสก์อิมเมจเสมือนที่ปรับขนาดได้อีกครั้ง (เพิ่มเติมเกี่ยวกับสิ่งเหล่านี้ในภายหลัง)

ที่เก็บข้อมูล SR มีการเชื่อมต่อทางตรรกะกับโฮสต์ XenServer ด้วยสิ่งที่เรียกว่า อุปกรณ์บล็อกทางกายภาพ ซึ่งโดยทั่วไปจะอ้างอิงถึงว่า 'PBD' PBD เป็นเพียงการอ้างอิงถึงสถานที่จัดเก็บ ออบเจ็กต์ PBD เหล่านี้สามารถ “เสียบ” เข้ากับโฮสต์ XenServer เพื่อให้โฮสต์นั้นสามารถอ่าน/เขียนข้อมูลไปยังพื้นที่เก็บข้อมูลนั้นได้

วัตถุประสงค์ของพื้นที่เก็บข้อมูล Storage คือเพื่อจัดเก็บไฟล์ Virtual Disk Image (VDI) ของเครื่องเสมือนเป็นหลัก ไฟล์ VDI อยู่บน SR ที่ได้รับการจัดสรรเพื่อเก็บระบบปฏิบัติการและไฟล์อื่นๆ สำหรับเครื่องเสมือนที่ทำงานบนโฮสต์ XenServer ไฟล์ VDI อาจมีหลายประเภท ประเภทจะถูกกำหนดตามประเภทของพื้นที่เก็บข้อมูล

ประเภท VDI ทั่วไปใน XenServer คือ Logical Volumes (LV) ที่ได้รับการจัดการโดย Logical Volume Manager, Virtual Hard Disk (VHD) หรืออาจเป็น Logical Unit Numbers (LUN) บนอุปกรณ์จัดเก็บข้อมูลของ Dell หรือ NetApp หมายเหตุ: บทความนี้จะใช้ LUN บนอุปกรณ์เก็บข้อมูลของ Dell

ไฟล์ VDI เหล่านี้เชื่อมต่อกับเครื่องเสมือนในทางลอจิคัลผ่านออบเจ็กต์ที่เรียกว่า อุปกรณ์บล็อกเสมือน ซึ่งโดยทั่วไปเรียกว่า "VBD" คุณสามารถแนบออบเจ็กต์ VBD เหล่านี้กับแขกเสมือนได้ ซึ่งจะช่วยให้เครื่องแขกสามารถเข้าถึงข้อมูลที่จัดเก็บไว้ใน VDI นั้น ๆ บน SR ที่เกี่ยวข้องได้

เช่นเดียวกับการสร้างเครือข่ายใน XenServer การอ่านเกี่ยวกับพื้นที่จัดเก็บข้อมูลก็เรื่องหนึ่ง แต่การที่สามารถมองเห็นความสัมพันธ์ระหว่างแต่ละรายการเหล่านี้มักจะทำให้แนวคิดแข็งแกร่งขึ้น ไดอะแกรมทั่วไปที่ใช้เพื่อแสดงแนวคิดการจัดเก็บข้อมูลของ XenServer มักจะสร้างความสับสนให้กับผู้คนรุ่นใหม่ เนื่องจากไดอะแกรมมักจะอ่านในลักษณะเส้นตรง ด้านล่างนี้เป็นรูปภาพหนึ่งภาพที่ยืมมาจาก Citrix

หลายๆ คนอ่านข้อความนี้เชิงเส้นจากซ้ายไปขวาโดยคิดว่าแต่ละส่วนเป็นอุปกรณ์ทางกายภาพที่แยกจากกัน กรณีนี้ไม่เป็นเช่นนั้นและมักทำให้เกิดความสับสนอย่างมากเกี่ยวกับวิธีการทำงานของที่เก็บข้อมูล XenServer ภาพด้านล่างพยายามอธิบายแนวความคิดในลักษณะเชิงเส้นน้อยลงแต่เน้นการปฏิบัติมากขึ้น

หวังว่ากราฟิกด้านบนจะไม่สร้างความสับสนให้กับบุคคลเกี่ยวกับที่เก็บข้อมูล XenServer อีกต่อไป ภาพที่ 2 เป็นความพยายามที่จะแสดงการเชื่อมต่อแบบลอจิคัล (PBD และ VBD) ที่ใช้ในการเชื่อมต่อ XenServers และเกสต์ไปยังที่เก็บข้อมูลระยะไกลผ่านการเชื่อมต่อเครือข่ายจริงเดียว

ด้วยการวางแนวความคิดออกไปให้พ้นทาง การกำหนดค่าสามารถเริ่มต้นได้ อ้างอิงจากบทความแรกในชุดนี้ คู่มือนี้ใช้อุปกรณ์จัดเก็บข้อมูล iSCSI ของ Dell PS5500E สำหรับการจัดเก็บดิสก์ของเครื่องเสมือน (แขก) คู่มือนี้จะไม่อธิบายการกำหนดค่าอุปกรณ์ Dell iSCSI

การกำหนดค่าระบบ:

  1. ติดตั้งและแพตช์ XenServer 6.5 แล้ว (ตอนที่ 1 ของซีรี่ส์)
  2. อุปกรณ์ Dell PS5500E iSCSI (อุปกรณ์ iSCSI อื่นๆ สามารถใช้แทนข้อมูลสภาพแวดล้อมได้หากจำเป็น)
  3. กำหนดค่าอินเทอร์เฟซเครือข่าย XenServer (ตอนที่ 3 ของซีรี่ส์)
  4. อุปกรณ์ iSCSI และ XenServer สามารถมองเห็นซึ่งกันและกันในเชิงตรรกะ (ผ่านยูทิลิตี้ ping)
  5. เซิร์ฟเวอร์ CIFS (SAMBA) ที่ทำงานและโฮสต์ไฟล์ CD ISO ที่ใช้ร่วมกัน (ไม่จำเป็น แต่มีประโยชน์มาก)

การสร้างพื้นที่เก็บข้อมูล Citrix XenServer

กระบวนการแรกนี้จะดำเนินตามขั้นตอนต่างๆ เพื่อสร้างซอฟต์แวร์ iSCSI Initiator จากโฮสต์ XenServer ไปยัง Dell PS5500E

LUN เฉพาะนี้ใช้ Challenge-Handshake Authentication Protocol (CHAP) เพื่อจำกัดการเข้าถึงไดรฟ์ข้อมูล iSCSI สำหรับบุคคลที่ได้รับอนุญาตบางราย

ในการสร้างพื้นที่เก็บข้อมูล คำสั่ง 'xe' แบบดั้งเดิมจะเกิดขึ้น ต้องได้รับข้อมูล iSCSI ที่เหมาะสมก่อนสร้าง Storage Repository

การส่งพารามิเตอร์ 'sr-probe' ไปยังยูทิลิตี 'xe' จะสั่งให้ XenServer ค้นหาอุปกรณ์จัดเก็บข้อมูลสำหรับ iSCSI IQN (iSCSI Qualified Name)

คำสั่งแรกจะดูเข้มข้นในตอนแรก แต่ก็ไม่ได้แย่อย่างที่คิด


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

คำสั่งแรกนี้จำเป็นในการรวบรวม SCSI IQN สำหรับการกำหนดค่าพื้นที่เก็บข้อมูล ก่อนที่จะไปต่อ เรามาดูทุกส่วนของคำสั่งนี้กันก่อน

  1. sr-probe – ใช้เพื่อค้นหาอุปกรณ์ iSCSI สำหรับข้อมูลเกี่ยวกับโวลุ่มที่สร้างขึ้นสำหรับโฮสต์ XenServer นี้
  2. type= ใช้เพื่อบอก XenServer ถึงประเภทพื้นที่เก็บข้อมูล ซึ่งจะแตกต่างกันไปขึ้นอยู่กับระบบที่ใช้ เนื่องจากการใช้งาน Dell PS5500 จึงมีการใช้ lvm บน iSCSI ในคำสั่งนี้ อย่าลืมปรับเปลี่ยนให้เหมาะสมกับประเภทอุปกรณ์จัดเก็บข้อมูล
  3. device-config:target= ใช้เพื่อบอก XenServer ว่าอุปกรณ์ iSCSI ใดที่จะสอบถามด้วยที่อยู่ IP
  4. device-config:chapuser= ใช้เพื่อตรวจสอบสิทธิ์อุปกรณ์ iSCSI ในตัวอย่างนี้ โวลุ่ม iSCSI ได้ถูกสร้างขึ้นก่อนหน้านี้สำหรับผู้ใช้ “tecmint ” โดยการส่งชื่อผู้ใช้และรหัสผ่านในคำสั่งนี้ อุปกรณ์ iSCSI จะตอบกลับพร้อมข้อมูลที่จำเป็นเพื่อสร้างพื้นที่เก็บข้อมูลให้เสร็จสิ้น
  5. device-config:chappassword= นี่คือรหัสผ่านสำหรับชื่อผู้ใช้ CHAP ข้างต้น

เมื่อป้อนและส่งคำสั่งแล้ว XenServer จะพยายามล็อกอินเข้าสู่อุปกรณ์ iSCSI และจะส่งคืนข้อมูลบางอย่างที่จำเป็นเพื่อเพิ่มอุปกรณ์ iSCSI นี้เป็นพื้นที่เก็บข้อมูลจริง

ด้านล่างนี้คือสิ่งที่ระบบทดสอบส่งคืนจากคำสั่งนี้


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>

ส่วนที่ถูกเน้นที่นี่เรียกว่า iSCSI IQN สิ่งนี้สำคัญมากและจำเป็นในการกำหนด SCSIid สำหรับพื้นที่เก็บข้อมูล ด้วยข้อมูลใหม่นี้ คุณสามารถแก้ไขคำสั่งก่อนหน้าเพื่อรับ 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"

สิ่งเดียวที่เพิ่มให้กับคำสั่งคือ targetIQN stanza ด้วยการออกคำสั่งใหม่นี้ ระบบจะตอบสนองด้วยข้อมูลชิ้นสุดท้ายที่จำเป็นในการสร้าง iSCSI Storage Repository ข้อมูลชิ้นสุดท้ายคือรหัส 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>

จากจุดนี้ ชิ้นส่วนที่จำเป็นทั้งหมดในการสร้าง iSCSI Storage Repository จะพร้อมใช้งาน และถึงเวลาออกคำสั่งเพื่อเพิ่ม SR นี้ไปยัง XenServer เฉพาะนี้ การสร้าง Storage Repository จากข้อมูลที่รวมกันนั้นทำได้ดังนี้:


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

หากทุกอย่างเป็นไปด้วยดี ระบบจะเชื่อมต่อกับอุปกรณ์ iSCSI จากนั้นส่งคืน UUID ของพื้นที่เก็บข้อมูลที่เพิ่มใหม่


bea6caa4-ecab-8509-33a4-2cda2599fb75

เอาต์พุต UUID ถือเป็นสัญญาณที่ดี! เช่นเดียวกับงานการดูแลระบบทั้งหมด เป็นความคิดที่ดีเสมอที่จะยืนยันว่าคำสั่งสำเร็จ ซึ่งสามารถทำได้โดยใช้คำสั่ง 'xe' อื่น


xe sr-list name-label="Tecmint iSCSI Storage"
ผลลัพธ์ตัวอย่าง

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

จากเอาต์พุต CLI XenServer นี้เชื่อมต่อกับอุปกรณ์ Dell iSCSI ได้สำเร็จ และพร้อมที่จะจัดเก็บไฟล์ Guest VDI

การสร้างพื้นที่เก็บข้อมูล ISO

ขั้นตอนถัดไปจะอธิบายกระบวนการสร้างไลบรารี ISO โดยทั่วไปไฟล์ ISO จะเป็นรูปภาพของสื่อการติดตั้งคอมแพคดิสก์ (CD)

ด้วยการสร้างที่เก็บข้อมูลพิเศษสำหรับไฟล์ ISO เหล่านี้ การติดตั้งเกสต์ใหม่จึงสามารถทำได้อย่างรวดเร็ว เมื่อผู้ดูแลระบบต้องการสร้างแขกใหม่ พวกเขาสามารถเลือกไฟล์ ISO ไฟล์ใดไฟล์หนึ่งที่มีอยู่ในไลบรารี ISO นี้ แทนที่จะต้องใส่ซีดีลงใน XenServer ในพูล

คู่มือส่วนนี้จะถือว่าผู้ใช้มีเซิร์ฟเวอร์ SAMBA ที่ใช้งานได้ หากไม่ได้ตั้งค่าเซิร์ฟเวอร์ SAMBA โปรดอ่านบทความนี้เกี่ยวกับวิธีการทำงานนี้ให้เสร็จสิ้นใน Red Hat/Fedora (ฉันจะมีคู่มือเซิร์ฟเวอร์ Debian SAMBA ในอนาคต):

  1. ตั้งค่าเซิร์ฟเวอร์ Samba สำหรับการแชร์ไฟล์

ขั้นตอนแรกคือการรวบรวมข้อมูลประจำตัวและข้อมูลการกำหนดค่าที่จำเป็นสำหรับไลบรารี SAMBA ISO เมื่อชื่อผู้ใช้ รหัสผ่าน และข้อมูลการเชื่อมต่อพร้อมใช้งานแล้ว คุณสามารถใช้ชุดคำสั่ง 'xe' แบบธรรมดาเพื่อเชื่อมต่อไลบรารี SAMBA กับ XenServer ได้


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

คำสั่งนี้จะไม่ส่งออกสิ่งใดไปที่หน้าจอเว้นแต่จะล้มเหลว เพื่อยืนยันว่าได้เมานต์การแชร์ ISO ของ SAMBA จริงแล้ว ให้ออกคำสั่ง 'xe' อื่น:


xe sr-list
ผลลัพธ์ตัวอย่าง

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

ขณะนี้โฮสต์ XenServer ได้รับการกำหนดค่าด้วยทั้ง iSCSI Storage Repository และ ไลบรารี CIFS ISO เพื่อจัดเก็บสื่อการติดตั้งสำหรับเครื่องเสมือน (แขก)

ขั้นตอนต่อไปคือการสร้างเครื่องเสมือนและการเชื่อมต่อระบบเหล่านั้นกับเครือข่ายที่เหมาะสมจากบทความเรื่องเครือข่ายก่อนหน้านี้