SIOS SANless clusters

SIOS SANless clusters High-availability Machine Learning monitoring

  • Home
  • Products
    • SIOS DataKeeper for Windows
    • SIOS Protection Suite for Linux
  • การทดสอบอาหารสัตว์
  • ข่าวสารและกิจกรรม
  • ทำให้เข้าใจง่ายเซิร์ฟเวอร์คลัสเตอร์
  • เรื่องราวความสำเร็จ
  • ติดต่อเรา
  • English
  • 中文 (中国)
  • 中文 (台灣)
  • 한국어
  • Bahasa Indonesia
  • ไทย

ดำเนินการก่อนที่ SQL Server 2008/2008 R2 Support จะหมดอายุ

มกราคม 13, 2019 by Jason Aw Leave a Comment

ดำเนินการก่อนที่ SQL Server 2008/2008 R2 Support จะหมดอายุ

ทำเครื่องหมาย Tock … 6 เดือนจนกว่าการสนับสนุน SQL Server 2008/2008 R2 จะหมดอายุจนกว่าคุณจะดำเนินการ

ยังคงใช้งาน SQL Server 2008/2008 R2 อยู่หรือไม่ คุณอาจเคยได้ยินแล้วว่า ณ วันที่ 9 กรกฎาคม 2019 คุณจะไม่ได้รับการสนับสนุนอีกต่อไป Microsoft ได้เสนอทางเลือกสองทางในการจัดหาการปรับปรุงความปลอดภัยเพิ่มเติมสำหรับลูกค้าที่ยังคงใช้งานบนแพลตฟอร์มนี้อีกสามปีและไม่สามารถอัปเกรดเป็น SQL เวอร์ชันใหม่กว่าก่อนกำหนด

ตัวเลือกแรก

เพื่อป้องกันการสนับสนุน SQL Server 2008/2008 R2 หมดอายุก่อนที่คุณจะพร้อมตัวเลือกแรกที่คุณต้องซื้อรายปีของ "การปรับปรุงการรักษาความปลอดภัยที่ขยาย" การปรับปรุงความปลอดภัยเพิ่มเติมจะมีค่าใช้จ่าย 75% ของค่าลิขสิทธิ์เต็มรูปแบบทุกปี นอกจากนี้ยังกำหนดให้ลูกค้าต้องมีการรับประกันซอฟต์แวร์ที่ใช้งานอยู่ซึ่งโดยทั่วไปแล้วจะมีค่าใช้จ่าย 25% ของค่าลิขสิทธิ์ทุกปี อย่างมีประสิทธิภาพดังนั้นเมื่อต้องการรับการปรับปรุงความปลอดภัยที่เพิ่มขึ้นคุณกำลังจ่ายค่าลิขสิทธิ์ SQL Server ใหม่ทุกปีเป็นเวลาสามปีหรือจนกว่าคุณจะย้ายออกจาก SQL Server 2008/2008 R2

ตัวเลือกที่สอง

อย่างไรก็ตามมีอีกตัวเลือกที่สองก่อนที่ SQL Server 2008/2008 R2 Support ของคุณจะหมดอายุ Microsoft ได้ประกาศว่าหากคุณย้ายอินสแตนซ์ SQL Server 2008 R2 ของคุณไปยัง Azure คุณจะได้รับการปรับปรุงความปลอดภัยเพิ่มเติมโดยไม่มีค่าใช้จ่ายเพิ่มเติม แน่นอนว่ามีการคิดค่าบริการโครงสร้างพื้นฐานรายชั่วโมงที่คุณจะต้องเสียใน Azure และนอกจากนี้ยังมีค่าใช้จ่ายในการจ่ายตามที่คุณไปใช้อินสแตนซ์ของ SQL Server หรือ Software Assurance charge หากคุณต้องการนำใบอนุญาต SQL ที่มีอยู่ไปยัง Azure แต่ค่าใช้จ่ายนั้นรวมถึงสิทธิประโยชน์เพิ่มเติมของการทำงานในสภาพแวดล้อมคลาวด์ที่ทันสมัย สิ่งนี้จะเปิดโอกาสสำหรับการปรับปรุงประสิทธิภาพและสถานการณ์ HA / DR ที่คุณอาจไม่มีใน premise

อาร์เรย์ของตัวเลือก

Azure เสนอตัวเลือกต่าง ๆ มากมายในแง่ของการกำหนดค่า CPU, หน่วยความจำและที่เก็บข้อมูล หากคุณกำลังมองหาการอัพเกรดเซิร์ฟเวอร์หรือพื้นที่จัดเก็บข้อมูลหรือโครงสร้างพื้นฐานในสถานที่ที่มีอยู่ของคุณกำลังมาถึงรอบการรีเฟรชตอนนี้เป็นเวลาที่เหมาะสมในการแช่เท้าสู่ Azure cloud และอัพเกรดประสิทธิภาพและความพร้อมในขณะเดียวกัน อายุการใช้งาน SQL Server 2008/2008 R2 ของคุณ

SLA 99.99%

ในแง่ของความพร้อมใช้งานสูงและการกำหนดค่าการกู้คืนความเสียหาย Azure เสนอ SLA สูงสุด 99.99%  เพื่อให้มีคุณสมบัติสำหรับ SLA คุณต้องใช้ประโยชน์จากโครงสร้างพื้นฐานที่เหมาะสม ถึงอย่างนั้น SLA จะครอบคลุมเฉพาะ "เสียงสัญญาณ" ไปที่อินสแตนซ์เท่านั้น ขึ้นอยู่กับคุณเพื่อให้แน่ใจว่า SQL Server พร้อมใช้งานสูงซึ่งจะทำแบบดั้งเดิมโดยการสร้าง SQL Server Failover Cluster Instance (FCI) Azure มีโครงสร้างพื้นฐานที่ช่วยให้คุณสามารถกำหนดค่า FCI ของเซิร์ฟเวอร์ SQL แต่เนื่องจากการขาดการจัดเก็บข้อมูลแบบคลัสเตอร์ที่ทราบร่วมกันในระบบคลาวด์คุณจะต้องใช้ SIOS DataKeeper เพื่อสร้าง FCI

ประโยชน์ของ SIOS DataKeeper

SIOS DataKeeper เกิดขึ้นแทนการจัดเก็บข้อมูลที่ใช้ร่วมกันตามปกติโดย SQL Server FCI แต่จะช่วยให้คุณสามารถใช้ประโยชน์จากวอลุ่มที่จัดรูปแบบ NTFS ใด ๆ ที่แนบมากับแต่ละอินสแตนซ์ SIOS เก็บไดรฟ์ข้อมูลที่ทำซ้ำระหว่างอินสแตนซ์และนำเสนอที่เก็บข้อมูลไปยังคลัสเตอร์เป็นทรัพยากรที่เรียกว่า DataKeeper Volume เท่าที่คลัสเตอร์เกี่ยวข้องกับ DataKeeper Volume ดูเหมือนดิสก์ที่แบ่งใช้ แต่แทนที่จะควบคุมการจอง SCSI (การล็อกดิสก์) จะควบคุมทิศทางมิเรอร์เพื่อให้แน่ใจว่าการเขียนเกิดขึ้นบนเซิร์ฟเวอร์ที่ใช้งานอยู่และจะถูกซิงโครไนซ์ . ประสบการณ์การใช้งานของผู้ใช้นั้นเหมือนกับคลัสเตอร์การจัดเก็บข้อมูลที่ใช้ร่วมกันแบบดั้งเดิม แม้ว่าภายใต้ฝาครอบคลัสเตอร์จะใช้ประโยชน์จากที่เก็บข้อมูลในตัวเครื่องแทนที่จะเป็นที่เก็บข้อมูลที่ใช้ร่วมกัน

ชั้นวางที่แตกต่างกัน

ใน Azure โหนดคลัสเตอร์ของคุณสามารถทำงานในชั้นวางที่แตกต่างกัน (Fault Domains), ศูนย์ข้อมูล (โซนว่าง) หรือแม้กระทั่งในภูมิภาคทางภูมิศาสตร์ที่แตกต่างกัน SIOS DataKeeper รองรับทั้งสามตัวเลือก: โดเมนความผิด, โซนความพร้อมใช้งานหรือการจำลองแบบข้ามภูมิภาคเพื่อให้ครอบคลุมข้อกำหนด HA และ DR การกำหนดค่าที่คล้ายกันสามารถทำได้ใน AWS และ Google Cloud

ฟ้าฮ่าการกำหนดค่า FCI เซิร์ฟเวอร์ SQL แบบสองโหนดทั่วไปใน Azure พร้อม SIOS DataKeeper [/ caption]

ด้วย Azure Site Recovery (ASR) คุณสามารถทำซ้ำอินสแตนซ์แบบสแตนด์อโลนหรือแบบคลัสเตอร์ของ SQL Server ระหว่าง Region Pairs โดยไม่ต้องปวดหัวและค่าใช้จ่ายในการจัดการไซต์กู้คืนความเสียหายของคุณเอง แน่นอนว่า SQL Server ไม่ค่อยมีชีวิตอยู่คนเดียว ดังนั้นในเวลาเดียวกันคุณย้ายอินสแตนซ์ SQL Server ของคุณไปยัง Azure คุณอาจต้องการย้ายแอปพลิเคชันเซิร์ฟเวอร์ของคุณไปที่นั่นพร้อมกับใช้ประโยชน์จากประสิทธิภาพและความพร้อมใช้งานที่มีอยู่ใน Azure การรวม SIOS DataKeeper สำหรับ HA และ ASR สำหรับ DR ให้กลยุทธ์ HA และ DR ที่คุ้มค่าซึ่งไม่น่าจะเป็นไปได้หรือมีราคาแพงมากในการติดตั้งการจำลองแบบ SAN และไซต์ DR ของคุณเอง

ASR - 2การกำหนดค่าทั่วไปใช้ประโยชน์จาก SIOS DataKeeper สำหรับ HA และ Azure Site Recovery สำหรับ DR [/ caption]

เริ่ม

ในขณะที่ใช้เวลาเพียงไม่กี่นาทีในการหมุนอินสแตนซ์ของ SQL Server ใน Azure ฉันจะไม่รอจนกว่าจะถึงนาทีสุดท้ายเพื่อทำการย้ายข้อมูล โปรดใช้เวลาสองสามเดือนข้างหน้าเพื่อทำความคุ้นเคยกับ Azure เริ่มทำการทดสอบและวางแผนที่จะโยกย้ายภาระงานของคุณให้ดีก่อนวันที่ 9 กรกฎาคม 2019 การเรียกใช้ SQL Server หลังจากวันที่ทำให้คุณไวต่อภัยคุกคามความปลอดภัยใหม่ ๆ และยังทำให้คุณไม่ปฏิบัติตาม เจ้านายของคุณและที่สำคัญลูกค้าของคุณยินดีที่จะทราบว่าข้อมูลของพวกเขายังคงปลอดภัยพร้อมใช้งานและเป็นไปตามเมื่อคุณโอนย้ายปริมาณงานของคุณไปยัง Azure

เพลิดเพลินกับเคล็ดลับเช่นการหาว่าจะทำอย่างไรหลังจากหมดอายุการสนับสนุน SQL Server 2008/2008 R2 ต่อไปนี้เป็นบทความที่ยอดเยี่ยมในการอ่านทำซ้ำได้รับอนุญาตจาก Clusteringformeremortals.com

Filed Under: ทำให้เข้าใจง่ายเซิร์ฟเวอร์คลัสเตอร์ Tagged With: การสนับสนุน sql server 2008 2008 r2 หมดอายุแล้ว

วิธีการทำคลัสเตอร์ MaxDB บน Windows ในคลาวด์

มกราคม 12, 2019 by Jason Aw Leave a Comment

วิธีการทำคลัสเตอร์ MaxDB บน Windows ในคลาวด์

วิธีการทำคลัสเตอร์ MaxDB บน Windows ในคลาวด์

วิธีการทำคลัสเตอร์ MaxDB บน Windows ในคลาวด์ #AZURE #AWS #GCP #SAP

เมื่อเร็ว ๆ นี้ฉันมีลูกค้าจำนวนมากกำลังมองหาโซลูชันความพร้อมใช้งานสูงในการทำคลัสเตอร์ MaxDB บน Windows ในคลาวด์ ลูกค้าบางคนอยู่ใน Azure และบางคนใน AWS แต่ไม่คำนึงถึงแพลตฟอร์มคลาวด์ในที่สุดพวกเขาก็พบโพสต์ใน SAP Community WIKI ที่อธิบายกระบวนการ https://wiki.scn.sap.com/wiki/display/MaxDB/HowTo+-+Embed+SAP+MaxDB+in+MSCS

ความท้าทาย

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

การแก้ไขปัญหา

อย่างไรก็ตามมีคำตอบสำหรับคลัสเตอร์ MaxDB บน Windows ในคลาวด์ SIOS DataKeeper เป็นโซลูชั่นการจัดกลุ่ม SANless จากเทคโนโลยี SIOS จะช่วยให้การจัดเก็บข้อมูลที่แนบมาในท้องถิ่นที่จะใช้ใน Windows Server Failover Cluster สิ่งนี้ทำให้ไม่จำเป็นต้องใช้ SAN SIOS จะเก็บดิสก์ที่เชื่อมต่อแบบโลคัลโดยใช้เทคโนโลยีการจำลองระดับบล็อกแบบซิงโครนัสและแสดงที่เก็บข้อมูลนี้กับ WSFC เป็นทรัพยากรดิสก์แบบคลัสเตอร์ที่เรียกว่าไดรฟ์ข้อมูล DataKeeper

WSFC 2 โหนดทั่วไปทั่วโซนความพร้อมใช้งานพร้อมโหนดที่ 3 ในภูมิภาคที่แตกต่างกัน

เท่าที่เกี่ยวข้องกับคลัสเตอร์ทรัพยากรคลัสเตอร์ DataKeeper Volume ดูเหมือนดิสก์ที่ใช้ร่วมกัน แต่แทนที่จะควบคุมการล็อคดิสก์ (การจอง SCSI) จะควบคุมทิศทางมิเรอร์ ดังนั้นในความหมายของคำทุกคำมันยังคงเป็น WSFC จริงยกเว้นว่าจะใช้ที่เก็บข้อมูลในเครื่องแทนการใช้ที่เก็บข้อมูลร่วม ที่จัดเก็บในตัวเครื่องสามารถเป็นได้ทุกอย่างตั้งแต่อุปกรณ์บล็อก EBS ไปจนถึงดิสก์ Azure ระดับพรีเมี่ยมหรือแม้กระทั่งพื้นที่จัดเก็บในตัวเครื่องที่มีดิสก์หลายแผ่นแยกกัน ตราบใดที่ Windows เห็นไดรฟ์ข้อมูลที่จัดรูปแบบ NTFS ด้วยตัวอักษรชื่อไดรฟ์และขนาดของไดรฟ์จะเท่ากันในแต่ละอินสแตนซ์ที่สามารถใช้ในคลัสเตอร์ได้

ทรัพยากรคลัสเตอร์ DataKeeper ปริมาณ

คลัสเตอร์ประเภทนี้เป็นที่รู้จักกันทั่วไปว่าเป็น SANless คลัสเตอร์ เป็นเวลาหลายปีที่เปิดใช้งานการรวมกลุ่มทางภูมิศาสตร์และกลุ่มที่ไม่มีที่เก็บข้อมูลที่ใช้ร่วมกัน ผู้ดูแลฐานข้อมูลชอบที่จะใช้อุปกรณ์เก็บข้อมูลความเร็วสูงเช่นแฟลช PCIe หรือไดรฟ์ SSD และในเวลาเดียวกันยังคงใช้ WSFC สำหรับความพร้อมใช้งานสูง SIOS ยังสนับสนุนการเรพลิเคทแบบอะซิงโครนัส ดังนั้นหากคุณต้องการเพิ่มโหนดในตำแหน่งทางภูมิศาสตร์ที่แตกต่างกันสำหรับการกู้คืนระบบคุณสามารถสร้างคลัสเตอร์ 3 โหนดที่มี 2 โหนดในภูมิภาคเดียวกัน แต่โดเมนข้อผิดพลาดที่แตกต่างกันและโหนดที่ 3 ในภูมิภาคที่แตกต่างกันโดยสิ้นเชิงหรืออาจกลับมา on-prem สำหรับตัวเลือกการกู้คืนความเสียหาย หรือถ้าคุณอยู่ใน Azure คุณสามารถใช้ประโยชน์จาก Azure Site Recovery (ASR) สำหรับการกู้คืนจากความเสียหายเนื่องจาก SIOS DataKeeper สามารถทำงานร่วมกับ ASR ได้ ทั้ง WSFC และ SIOS DataKeeper นั้นขึ้นอยู่กับที่อยู่ IP เดียวกัน ดังนั้นสำหรับการกำหนดค่า ASR คุณจะต้องแน่ใจว่าคุณรักษาที่อยู่ IP ของคุณไว้เมื่อเกิดความล้มเหลวตามที่อธิบายไว้ที่นี่ https://docs.microsoft.com/en-us/azure/site-recovery/site-recovery-retain-ip-azure-vm-failover

SAP

SIOS ไม่ใช่คนแปลกหน้าสำหรับความพร้อมใช้งานสูงและการกู้คืนความเสียหายสำหรับ SAP SIOS Protection Suite สำหรับ Linux เป็นโซลูชัน HA Certified ของ SAP สำหรับ SAP และ SAP HANA SIOS DataKeeper เป็นโซลูชัน HA / DR ที่ต้องการสำหรับ SAP ASCS บน Windows ในสภาพแวดล้อมคลาวด์ การจัดหาโซลูชัน HA / DR สำหรับ MaxDB บน Azure จะช่วยเพิ่มความมั่นคงให้กับ SIOS ในฐานะผู้เชี่ยวชาญด้านความพร้อมใช้งานสูงของ SAP หากคุณมีคำถามเกี่ยวกับความพร้อมใช้งานสูงของ SAP หรือรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการทำคลัสเตอร์ MaxDB บน Windows ในคลาวด์ให้ทำตามโพสต์อื่นของเรา

ทำซ้ำโดยได้รับอนุญาตจาก Clusteringformeremortals.com

Filed Under: ทำให้เข้าใจง่ายเซิร์ฟเวอร์คลัสเตอร์ Tagged With: คลัสเตอร์ maxdb บน windows ในคลาวด์

คำแนะนำแบบทีละขั้นสำหรับ SQL Server สำหรับ Linux

มกราคม 9, 2019 by Jason Aw Leave a Comment

SQL Server สำหรับ Linux - ตัวอย่างแบบสาธารณะพร้อมใช้งานแล้ว

ทีละขั้นตอน: SQL Server v.Next Linux ความพร้อมใช้งานสูง – การแสดงตัวอย่างสาธารณะ #azure #sql #sanless

เมื่อต้นปีนี้ Microsoft ประกาศว่าพวกเขาจะเปิดตัว SQL Server สำหรับ Linux รุ่นหนึ่ง  วันนี้ฉันรู้สึกตื่นเต้นที่ได้ทราบว่าในที่สุดไมโครซอฟท์ได้ประกาศตัวอย่างสาธารณะของสิ่งที่พวกเขากำลังเรียกใช้ SQL Server v.Next และมันพร้อมใช้งานสำหรับทั้งระบบปฏิบัติการ Linux และ Windows  ข้อมูลเพิ่มเติมพร้อมกับลิงค์ดาวน์โหลดและเอกสารประกอบอยู่ที่นี่:

https://www.microsoft.com/en-us/sql-server/sql-server-vnext-including-Linux

SQL Server สำหรับ Linux

ในบทความนี้ฉันจะไม่เพียงแสดงวิธีการปรับใช้ Linux VM ใน Azure ที่ใช้ SQL Server แต่ยังรวมถึงวิธีการกำหนดค่าคลัสเตอร์ล้มเหลว 2 โหนดเพื่อให้พร้อมใช้งานสูง! และไม่มีการใช้ที่เก็บข้อมูลที่ใช้ร่วมกัน (หรือที่รู้จักว่ากลุ่ม "ไร้สาระ" หรือ "ไม่มีการแบ่งปัน") ผลลัพธ์ที่ได้จะเป็น SQL Server 2 โหนดสำหรับคลัสเตอร์ Linux (รวมถึงเซิร์ฟเวอร์พยาน) ใน Microsoft Azure IaaS (โครงสร้างพื้นฐานเป็นบริการ)  คำแนะนำประกอบด้วยภาพหน้าจอคำสั่งเชลล์และตัวอย่างโค้ดตามความเหมาะสม  ฉันคิดว่าคุณค่อนข้างคุ้นเคยกับ Microsoft Azure และมีบัญชี Azure ที่มีการสมัครรับข้อมูลที่เกี่ยวข้องอยู่แล้ว  ถ้าไม่คุณสามารถสมัครใช้งานบัญชีฟรีวันนี้  ฉันจะสมมติว่าคุณมีทักษะการบริหารระบบพื้นฐานของ linux เช่นเดียวกับเข้าใจแนวคิดการทำคลัสเตอร์ failover พื้นฐานเช่น IP เสมือนจริงเป็นต้น คำเตือน: สีฟ้าเป็นเป้าหมายที่เคลื่อนไหวอย่างรวดเร็ว  และที่นี่ฉันกำลังทำงานกับรุ่นตัวอย่างสาธารณะของ SQL Server สำหรับ Linux  ดังนั้นคุณสมบัติ / หน้าจอ / ปุ่มจะถูกเปลี่ยนแปลงก่อนที่จะมีการเปิดตัว SQL v.Next อย่างเป็นทางการดังนั้นประสบการณ์ของคุณอาจแตกต่างจากที่คุณเห็นด้านล่างเล็กน้อย  ในขณะที่คู่มือนี้จะแสดงวิธีทำให้ฐานข้อมูล SQL Server สำหรับ Linux พร้อมใช้งานสูงคุณสามารถปรับข้อมูลและกระบวนการนี้เพื่อปกป้องแอปพลิเคชันหรือฐานข้อมูลอื่น ๆ อย่างที่ฉันได้เขียนไว้ก่อนหน้านี้ (ตัวอย่าง MySQL) นี่เป็นขั้นตอนระดับสูงในการสร้างฐานข้อมูล MySQL ที่มีอยู่ภายใน Microsoft Azure IaaS:

  1. สร้างกลุ่มทรัพยากร
  2. สร้างเครือข่ายเสมือน
  3. สร้างบัญชีหน่วยเก็บข้อมูล
  4. สร้างเครื่องเสมือนในชุดความพร้อมใช้งาน
  5. ตั้งค่า VM Static IP Addresses
  6. เพิ่มดิสก์ข้อมูลลงในโหนดคลัสเตอร์
  7. สร้างกฎความปลอดภัยขาเข้าเพื่ออนุญาตการเข้าถึง VNC
  8. การกำหนดค่า Linux OS
  9. ติดตั้งและกำหนดค่าเซิร์ฟเวอร์ SQL
  10. ติดตั้งและกำหนดค่าคลัสเตอร์
  11. สร้างเครื่องมือสร้างสมดุลภายใน
  12. ทดสอบการเชื่อมต่อของคลัสเตอร์

ภาพรวม

บทความนี้จะอธิบายวิธีการสร้างคลัสเตอร์ภายในภูมิภาค Azure เดียว  โหนดคลัสเตอร์ (sql-linux1, sql-linux2 และเซิร์ฟเวอร์พยาน) จะอยู่ในชุดความพร้อมใช้งาน (Fault Domains ที่แตกต่างกัน 3 รายการและอัปเดตโดเมน) ขอบคุณ Azure Resource Manager (ARM) ใหม่ เราจะสร้างทรัพยากรทั้งหมดโดยใช้ Azure Resource Manager ใหม่ การกำหนดค่าจะมีลักษณะดังนีทะเลสีลินุกซ์ sqlserver้: จะใช้ที่อยู่ IP ต่อไปนี้:

  • sql-linux1: 10.0.0.7
  • sql-linux2: 10.0.0.8
  • sql -itness: 10.0.0.9
  • เสมือน /” ลอย” IP: 10.0.0.199
  • พอร์ต SQL Server: 1433

สร้างกลุ่มทรัพยากร

ขั้นแรกสร้างกลุ่มทรัพยากร  กลุ่มทรัพยากรของคุณจะจบลงด้วยการมีวัตถุต่าง ๆ ที่เกี่ยวข้องกับการปรับใช้คลัสเตอร์ของเรา: เครื่องเสมือนบัญชีจัดเก็บข้อมูล ฯลฯ  ที่นี่เราจะเรียกกลุ่มทรัพยากร "sql-cluster" ที่สร้างขึ้นใหม่ของเรา SQL ทรัพยากรกลุ่มที่ 1 ระวังเมื่อเลือกภูมิภาคของคุณ  ทรัพยากรทั้งหมดของคุณจะต้องอยู่ในภูมิภาคเดียวกัน  ที่นี่เราจะปรับใช้ทุกอย่างในภูมิภาค "West US": SQL-ทรัพยากร group2

สร้างเครือข่ายเสมือน (VNet)

ถัดไปหากคุณยังไม่มีให้สร้างเครือข่ายเสมือน  เครือข่ายเสมือนเป็นเครือข่ายแยกภายในคลาวด์ Azure ที่ทุ่มเทให้กับคุณ  คุณสามารถควบคุมสิ่งต่าง ๆ เช่นบล็อกที่อยู่ IP และซับเน็ตการกำหนดเส้นทางนโยบายความปลอดภัย (เช่นไฟร์วอลล์) การตั้งค่า DNS และอื่น ๆ  คุณจะเปิดตัวเครื่องเสมือน Azure Iaas (VMs) ในเครือข่ายเสมือนของคุณ บัญชี Azure ของฉันมี VNet (10.0.0.0/16) ที่มีอยู่ชื่อ "เครือข่ายคลัสเตอร์" ที่ฉันจะใช้ในคู่มือนี้  การสร้าง VNet นั้นตรงไปตรงมาและฉันได้กล่าวถึงการสร้างไว้ที่นี่หากคุณต้องการทบทวน

สร้างบัญชีหน่วยเก็บข้อมูล

ก่อนที่คุณจะจัดเตรียมเครื่องเสมือนใด ๆ คุณจะต้องมีบัญชีที่เก็บข้อมูลเพื่อจัดเก็บ SQL-จัดเก็บ account1 ถัดไปตั้งชื่อบัญชีที่เก็บข้อมูลใหม่ของคุณ  ชื่อบัญชีที่จัดเก็บข้อมูลต้องไม่ซ้ำกันใน * ALL * ของ Azure  (ทุกวัตถุที่คุณจัดเก็บใน Azure Storage มีที่อยู่ URL ที่ไม่ซ้ำกัน ชื่อบัญชีพื้นที่เก็บข้อมูลเป็นโดเมนย่อยของที่อยู่นั้น) ในตัวอย่างนี้ฉันเรียกบัญชีเก็บข้อมูลของฉัน“ sqllinuxcluster” แต่คุณจะต้องเลือกสิ่งที่แตกต่างเมื่อคุณตั้งค่าของคุณเอง เลือกประเภทการจัดเก็บตามความต้องการและงบประมาณของคุณ  สำหรับวัตถุประสงค์ของคู่มือนี้ฉันเลือก“ Standard-LRS” (เช่น ซ้ำซ้อนในพื้นที่) เพื่อลดต้นทุน ตรวจสอบให้แน่ใจว่าบัญชีหน่วยเก็บข้อมูลใหม่ของคุณถูกเพิ่มไปยังกลุ่มทรัพยากรที่คุณสร้างในขั้นตอนที่ 1 (“ sql-cluster”) ในตำแหน่งเดียวกัน (“ West US” ในตัวอย่างนี้): SQL-จัดเก็บ account2

สร้างเครื่องเสมือนในชุดความพร้อมใช้งาน

เราจะทำการจัดเตรียม 3 เครื่องเสมือนในคู่มือนี้  VMs สองตัวแรก (ฉันจะเรียกพวกเขาว่า "sql-linux1" และ "sql-linux2") จะทำหน้าที่เป็นโหนดคลัสเตอร์ที่มีความสามารถในการนำฐานข้อมูล SQL Server และทรัพยากรที่เกี่ยวข้องออนไลน์  VM ที่ 3 จะทำหน้าที่เป็นเซิร์ฟเวอร์พยานของคลัสเตอร์สำหรับการป้องกันเพิ่มเติมจากสมองแยก เพื่อให้แน่ใจว่ามีความพร้อมใช้งานสูงสุด VM ทั้งหมด 3 เครื่องจะถูกเพิ่มไปยังชุดความพร้อมใช้งานเดียวกันเพื่อให้แน่ใจว่าพวกเขาจะลงเอยด้วย Fault Domains และ Update Domains ที่แตกต่างกัน Azure Marketplace มีเทมเพลต VM ชื่อ“ SQL Server vNext บน Red Hat Enterprise Linux 7.2” ที่มีรุ่นทดลองใช้สาธารณะตัวอย่าง SQL Server v.Next สำหรับ Linux ที่ติดตั้งไว้ล่วงหน้าซึ่งจะช่วยให้คุณประหยัดเวลาได้ไม่กี่ขั้นตอน  หากคุณต้องการเริ่มต้นด้วย VM ที่ว่างเปล่าและติดตั้ง SQL ด้วยตนเองคุณสามารถดูคำแนะนำการติดตั้งได้ที่นี่

สร้าง VM“ sql-linux1”

สร้าง VM แรกของคุณ (“ sql-linux1”) และเลือกภาพตลาดดังกล่าวข้างต้น SQL สร้าง-VM1 ตั้งชื่อโฮสต์ VM (“ sql-linux1”) และชื่อผู้ใช้ / รหัสผ่านที่จะใช้ในภายหลังเพื่อ SSH เข้าสู่ระบบ  ตรวจสอบให้แน่ใจว่าคุณเพิ่ม VM นี้ในกลุ่มทรัพยากรของคุณ (“ sql-cluster”) และอยู่ในภูมิภาคเดียวกับทรัพยากรอื่น ๆ ทั้งหมดของคุณSQL สร้าง-vm2: ถัดไปเลือกขนาดอินสแตนซ์ของคุณ  สำหรับข้อมูลเพิ่มเติมเกี่ยวกับขนาดอินสแตนซ์ต่าง ๆ ที่มีให้คลิกที่นี่ สำหรับวัตถุประสงค์ของคู่มือนี้ฉันเลือกขนาดที่เล็กที่สุด / ราคาถูกที่สุดเท่าที่จะทำได้ในกรณีนี้คือ "DS1_V2 มาตรฐาน" เพื่อลดค่าใช้จ่ายให้น้อยที่สุดเนื่องจากสิ่งนี้จะไม่ทำงานเป็นจำนวนมาก  เลือกขนาดอินสแตนซ์ที่เหมาะสมที่สุดตามสิ่งที่คุณต้องการทดสอบ: สำคัญ: SQL สร้าง-vm3ตามค่าเริ่มต้น VM ของคุณจะไม่ถูกเพิ่มในชุดความพร้อมใช้งาน  ในหน้าจอการตั้งค่าระหว่างตรวจสอบให้แน่ใจว่าคุณสร้างชุดความพร้อมใช้งานใหม่เราจะเรียกว่า "sql-Availability-set"  Azure Resource Manager (ARM) อนุญาตให้คุณสร้างชุดความพร้อมใช้งานด้วย 3 Fault Domains  ค่าเริ่มต้นที่นี่ใช้ได้: ในหน้าSQL สร้าง-VM4จอถัดไปให้ตรวจสอบคุณสมบัติ VM ของคุณและคลิกตกลงเพื่อสร้าง VM เครื่องแรกของคุณ

สร้าง VMs“ sql-linux2” และ“ sql -itness”

ทำซ้ำขั้นตอนด้านบนสองครั้งเพื่อสร้าง VM เพิ่มเติมอีกสองรายการ ข้อแตกต่างเพียงอย่างเดียวที่นี่คือคุณจะเพิ่ม VM เหล่านี้ไปยังชุดความพร้อมใช้งาน (“ sql-Availability-set”) ที่เราเพิ่งสร้างขึ้น อาจใช้เวลาสักครู่สำหรับการเตรียม VM 3 ของคุณ  เมื่อเสร็จแล้วคุณจะเห็น VM ของคุณ (sql-linux1, sql-linux2 และ sql -itness) อยู่ในรายการบนหน้าจอ Virtual Machines ภายใน Azure Portal ของคุณ

ตั้งค่า VM Static IP Addresses

VMs จะถูกตั้งค่าด้วยที่อยู่ IP ต่อไปนี้:

  • sql-linux1: 10.0.0.7
  • sql-linux2: 10.0.0.8
  • sql -itness: 10.0.0.9

ทำซ้ำขั้นตอนนี้สำหรับแต่ละ VM  เลือก VM ของคุณและแก้ไขการเชื่อมต่อเครือSQL ไฟฟ้าสถิต-IP1ข่ายเลือกอินเทอร์เฟซเครือข่ายที่เกี่ยวข้องกับ VM และแก้ไขการกำหนดค่า IP  เลือก“ คงที่” และระบุที่อยู่ IP ที่ต้องการ: SQL ไฟฟ้าสถิต-IP2

เพิ่มดิสก์ข้อมูลลงในโหนดคลัสเตอร์

ต่อไปเราจะต้องเพิ่มดิสก์พิเศษลงในโหนดคลัสเตอร์ของเรา (“ sql-linux1” และ“ sql-linux2”)  ดิสก์นี้จะเก็บฐานข้อมูล SQL ของเราและจะถูกจำลองแบบในภายหลังระหว่างโหนด หมายเหตุ: คุณไม่จำเป็นต้องเพิ่มดิสก์เพิ่มเติมในโหนด“ sql -itness”  เฉพาะ“ sql-linux1” และ“ sql-linux2” แก้ไข VM ของคุณเลือกดิสก์แล้วแนบดิสก์ใหม่  เลือกประเภทดิสก์ (Standard หรือ Premium SSD) และขนาดตามภาระงานของคุณ  ที่นี่ฉันสร้างดิสก์ 10GB Standard บนโหนดคลัสเตอร์ทั้งสองของฉัน  เท่าที่การแคชโฮสต์ดำเนินต่อไปการแคช“ ไม่มี” หรือ“ อ่านอย่างเดียว” ก็ถือว่าใช้ได้  ฉันไม่แนะนำให้ใช้“ อ่าน / เขียน” เนื่องจากมีโอกาสที่ข้อมูลจะสูญหาย: SQL-add-Disk1

สร้างกฎความปลอดภัยขาเข้าเพื่ออนุญาตการเข้าถึง VNC

หาก VM ของคุณเป็นส่วนหนึ่งของกลุ่มความปลอดภัยเครือข่าย (NSG) ซึ่งโดยค่าเริ่มต้นเป็นไปได้ว่าหากคุณไม่ได้ปิดใช้งานในระหว่างการสร้าง VM จะมีเพียงพอร์ตเดียวที่เปิดใน“ ไฟร์วอลล์ Azure” คือ SSH (พอร์ต 22)  ต่อมาในคำแนะนำฉันจะใช้ VNC เพื่อเข้าถึงเดสก์ท็อปของ“ sql-linux1” และกำหนดค่าคลัสเตอร์โดยใช้ GUI  สร้างกฎความปลอดภัยขาเข้าเพื่อเปิดการเข้าถึง VNC  ในคู่มือนี้มีการใช้พอร์ต 5902  ปรับสิ่งนี้ตามการกำหนดค่า VNC ของคุณ เครื่องเสมือน -> (เลือก sql-linux1) -> อินเตอร์เฟสเครือข่าย -> (เลือก NIC) -> กลุ่มความปลอดภัยเครือข่าย -> (เลือก NSG) -> กฎความปลอดภัยขาเข้า -> เพิ่ม SQL การรักษาความปลอดภัยกลุ่มที่ 1

การกำหนดค่า Linux OS

ที่นี่คือที่ที่เราจะออกจาก Azure Portal สักครู่และทำให้มือของเราสกปรกในบรรทัดคำสั่งซึ่งในฐานะผู้ดูแลระบบ Linux ที่คุณควรใช้ในตอนนี้  คุณไม่ได้รับรหัสผ่านรูทแก่ Linux VM ของคุณใน Azure ดังนั้นเมื่อคุณลงชื่อเข้าใช้ในฐานะผู้ใช้ที่ระบุระหว่างการสร้าง VM ให้ใช้คำสั่ง“ sudo” เพื่อรับสิทธิ์รูต:

$ sudo su -

แก้ไข / etc / hosts

นอกจากว่าคุณมีการตั้งค่าเซิร์ฟเวอร์ DNS อยู่แล้วคุณจะต้องการสร้างรายการไฟล์โฮสต์บนเซิร์ฟเวอร์ทั้ง 3 แห่งเพื่อให้พวกเขาสามารถแก้ไขซึ่งกันและกันได้อย่างถูกต้องด้วยชื่อเพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์ / etc / hosts

10.0.0.7 sql-linux1
10.0.0.8 sql-linux2
10.0.0.9 ตารางพยาน
10.0.0.199 sql-vip

ปิดการใช้งาน SELinux

แก้ไข / etc / sysconfig / linux และตั้งค่า“ SELINUX = ปิดใช้งาน”:

# vi / etc / sysconfig / selinux

# ไฟล์นี้ควบคุมสถานะของ SELinux บนระบบ
# SELINUX = สามารถใช้หนึ่งในสามค่าต่อไปนี้:
# enforcing - บังคับใช้นโยบายความปลอดภัยของ SELinux
# permissive - SELinux พิมพ์คำเตือนแทนที่จะบังคับใช้
# disabled - ไม่มีการโหลดนโยบาย SELinux
SELINUX = คนพิการ
# SELINUXTYPE = สามารถรับหนึ่งในสองค่าต่อไปนี้:
# เป้าหมาย - กระบวนการเป้าหมายได้รับการคุ้มครอง
# mls - การป้องกันความปลอดภัยหลายระดับ
SELINUXTYPE = การกำหนดเป้าหมาย

กำหนดค่า iptables เพื่อให้คลัสเตอร์ IP เสมือนทำงานได้

ในการรับการเชื่อมต่อกับ IP เสมือนของคลัสเตอร์ให้ทำงานและตรวจสอบทรัพยากร IP กฎ iptables บางอย่างจำเป็นต้องติดตั้ง  หมายเหตุ: 10.0.0.199 เป็น IP เสมือนจริงที่เราจะใช้ในคลัสเตอร์ของเราและ 1433 เป็นพอร์ตเริ่มต้นที่ใช้ SQL Server ของฉัน หมายเหตุ: RHEL7 เปลี่ยนไฟร์วอลล์เริ่มต้นเป็น FirewallD แทน iptables  ยังไม่ได้ใช้เวลากับ firewalld ดังนั้นในตอนนี้คู่มือนี้จะปิดการใช้งาน firewalld และใช้ iptables แทน คุณจะต้องติดตั้งแพคเกจ“ iptables-services” เพื่อให้คำสั่งบริการและ chkconfig ด้านล่างใช้งานได้

# systemctl หยุดการไฟร์วอลล์
# systemctl ปิดใช้งานไฟร์วอลล์

บน sql-linux1 (10.0.0.7) ให้รันคำสั่งต่อไปนี้:

# yum ติดตั้ง iptables-services
# iptables - ล้างข้อมูล
# iptables -t nat -A การเตรียมความพร้อม -p tcp - พอร์ต 1433 -j DNAT - ไปยังปลายทาง 10.0.0.199:1433
# iptables -t nat -A การเตรียมความพร้อม -p tcp - พอร์ต 1434 -j DNAT - ไปยังปลายทาง 10.0.0.199:1434
# iptables -t nat -A การนำเสนอ -p icmp -s 10.0.0.199 -j SNAT - ไปยังแหล่ง 10.0.0.7 
# บริการ iptables บันทึก 
# chkconfig iptables เปิดอยู่ 

บน sql-linux2 (10.0.0.8) ให้รันคำสั่งต่อไปนี้:

# yum ติดตั้ง iptables-services
# iptables - ล้างข้อมูล 
# iptables -t nat -A การเตรียมความพร้อม -p tcp - พอร์ต 1433 -j DNAT - ไปยังปลายทาง 10.0.0.199:1433
# iptables -t nat -A การเตรียมความพร้อม -p tcp - พอร์ต 1434 -j DNAT - ไปยังปลายทาง 10.0.0.199:1434
# iptables -t nat -A POSTROUTING -p icmp -s 10.0.0.199 -j SNAT - ไปยังซอร์ส 10.0.0.8 
# บริการ iptables บันทึก 
# chkconfig iptables เปิดอยู่

ติดตั้งและกำหนดค่า VNC (และแพ็คเกจที่เกี่ยวข้อง)

เพื่อเข้าถึง GUI ของเซิร์ฟเวอร์ linux ของเราและเพื่อติดตั้งและกำหนดค่าคลัสเตอร์ของเราในภายหลังติดตั้งเซิร์ฟเวอร์ VNC รวมถึงแพ็คเกจอื่น ๆ ที่จำเป็น (ซอฟต์แวร์คลัสเตอร์ต้องการ redhat-lsb และ patch rpms)

# yum ติดตั้ง tigervnc-server xterm รับการคลายซิปแพทช์ redhat-lsb
# vncpasswd

URL ต่อไปนี้เป็นแนวทางที่ดีในการเรียกใช้เซิร์ฟเวอร์ VNC บน RHEL 7 / CentOS 7: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-remote-access-for -the-gnome-desktop-on-centos-7 หมายเหตุ: การกำหนดค่าตัวอย่างนี้รัน VNC บนจอแสดงผล 2 (: 2, aka พอร์ต 5902) และเป็นรูท (ไม่ปลอดภัย)  ปรับตาม!

# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service
# vi /etc/systemd/system/vncserver@:2.service


[บริการ]
type = ฟอร์ก
# ล้างไฟล์ที่มีอยู่ในสภาพแวดล้อม /tmp/.X11-unix
ExecStartPre = / bin / sh -c '/ usr / bin / vncserver -kill% i> / dev / null 2> & 1 | | :'
ExecStart = / sbin / runuser -l root -c "/ usr / bin / vncserver% i -geometry 1024x768"
PIDFile = / ราก / .vnc / H%% i.pid
ExecStop = / bin / sh -c '/ usr / bin / vncserver -kill% i> / dev / null 2> & 1 | | :'


# systemctl daemon-reload
# systemctl เปิดใช้งาน vncserver @: 2.service
# vncserver: 2 -geometry 1024x768

รีบูตคลัสเตอร์โหนด

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

การแบ่งพาร์ติชันและฟอร์แมตดิสก์“ data”

ในขั้นตอนที่ 6 ของคู่มือนี้ (“ เพิ่มดิสก์ข้อมูลไปยังโหนดคลัสเตอร์”) เราทำแค่นั้น…. เพิ่มดิสก์พิเศษให้กับแต่ละโหนดคลัสเตอร์เพื่อเก็บข้อมูลแอปพลิเคชันที่เราจะปกป้อง  ในกรณีนี้มันเป็นฐานข้อมูล MySQL ใน Azure IaaS, Linux Virtual Machines ใช้การจัดเรียงต่อไปนี้สำหรับดิสก์:

  • / dev / sda – ดิสก์ระบบปฏิบัติการ
  • / dev / sdb – ดิสก์ชั่วคราว
  • / dev / sdc – ดิสก์ข้อมูลที่ 1
  • / dev / sdd – ดิสก์ข้อมูลลำดับที่สอง
  • …
  • / dev / sdj – ดิสก์ข้อมูลที่ 8

ดิสก์ที่เราเพิ่มในขั้นตอนที่ 6 ของคู่มือนี้ควรปรากฏเป็น / dev / sdc  คุณสามารถเรียกใช้คำสั่ง“ fdisk -l” เพื่อตรวจสอบ  คุณจะเห็นว่า / dev / sda (OS) และ / dev / sdb (ชั่วคราว) มีพาร์ติชั่นดิสก์อยู่แล้วและกำลังใช้งานอยู่

# fdisk -l

ดิสก์ / dev / sda: 31.5 GB, 31457280000 ไบต์, 61440000 ภาค
หน่วย = ส่วนของ 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512 ไบต์ / 4096 ไบต์
ขนาด I / O (ต่ำสุด / เหมาะสมที่สุด): 4096 ไบต์ / 4096 ไบต์
ประเภทฉลากดิสก์: dos
ตัวระบุดิสก์: 0x000c46d3

การบูตอุปกรณ์เริ่มต้น End Ids Id System
/ dev / sda1 * 2048 1026047 512000 83 Linux
/ dev / sda2 1026048 61439999 30206976 83 Linux

ดิสก์ / dev / sdb: 7516 MB, 7516192768 ไบต์, 14680064 เซกเตอร์
หน่วย = ส่วนของ 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512 ไบต์ / 4096 ไบต์
ขนาด I / O (ต่ำสุด / เหมาะสมที่สุด): 4096 ไบต์ / 4096 ไบต์
ประเภทฉลากดิสก์: dos
ตัวระบุดิสก์: 0x7cd70e11

การบูตอุปกรณ์เริ่มต้น End Ids Id System
/ dev / sdb1 128 14678015 7338944 83 Linux

ดิสก์ / dev / sdc: 10.7 GB, 10737418240 ไบต์, 20971520 ภาค
หน่วย = ส่วนของ 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512 ไบต์ / 4096 ไบต์
ขนาด I / O (ต่ำสุด / เหมาะสมที่สุด): 4096 ไบต์ / 4096 ไบต์

ที่นี่ฉันจะสร้างพาร์ติชัน (/ dev / sdc1) จัดรูปแบบและเมาต์ที่ตำแหน่งเริ่มต้นสำหรับ SQL ซึ่งเป็น / var / opt / mssql  ทำตามขั้นตอนต่อไปนี้บนทั้ง“ sql-linux1” และ“ sql-linux2”:

# fdisk / dev / sdc
คำสั่ง (m สำหรับความช่วยเหลือ): n
การกระทำคำสั่ง
e ขยาย
p พาร์ติชันหลัก (1-4)
พี
หมายเลขพาร์ติชัน (1-4): 1
กระบอกแรก (1-1305 ค่าเริ่มต้น 1): <enter>
ใช้ค่าเริ่มต้น 1
ไส้กุญแจทรงกระบอกกระบอกสูบหรือขนาด {K, M, G} (1-1305, ค่าเริ่มต้น 1305): <enter>
ใช้ค่าเริ่มต้น 1305
 
คำสั่ง (m สำหรับความช่วยเหลือ): w
มีการเปลี่ยนแปลงตารางพาร์ติชัน!
การเรียก ioctl () เพื่ออ่านตารางพาร์ติชันอีกครั้ง
กำลังซิงค์ดิสก์
[root @ sql-linux1 ~] #
# mkfs.ext4 / dev / sdc1
# mkdir / var / opt / mssql
# chmod 770 / var / opt / mssql

เมานต์ระบบไฟล์:

# mount / dev / sdc1 / var / opt / mssql

ติดตั้งและกำหนดค่าเซิร์ฟเวอร์ SQL

หากคุณเริ่มต้นด้วยระบบ linux ที่ใหม่คำแนะนำการติดตั้งแบบสมบูรณ์สามารถดูได้ที่นี่ หากคุณสร้าง VM ของคุณโดยใช้“ SQL Server vNext บน Red Hat Enterprise Linux 7.2” เทมเพลต Azure ดังที่ฉันได้ทำในคู่มือนี้แล้ว SQL Server จะถูกติดตั้งแล้ว  สิ่งที่คุณต้องทำตอนนี้คือเรียกใช้สคริปต์การตั้งค่า:

# / opt / mssql / bin / sqlservr-setup
การตั้งค่าเซิร์ฟเวอร์ Microsoft (R) SQL (R)

คุณสามารถยกเลิกการตั้งค่าได้ตลอดเวลาโดยกด Ctrl-C เริ่มโปรแกรมนี้
ด้วยตัวเลือก - ช่วยสำหรับข้อมูลเกี่ยวกับการเรียกใช้ในแบบอัตโนมัติ
โหมด.

สามารถดาวน์โหลดข้อกำหนดสิทธิการใช้งานสำหรับผลิตภัณฑ์นี้ได้
http://go.microsoft.com/fwlink/?LinkId=746388 และพบ
ใน /usr/share/doc/mssql-server/LICENSE.TXT

คุณยอมรับข้อกำหนดสิทธิการใช้งานหรือไม่ ถ้าเป็นเช่นนั้นโปรดพิมพ์ "YES": ใช่

โปรดป้อนรหัสผ่านสำหรับบัญชีผู้ดูแลระบบ (SA): <ป้อนรหัสผ่านที่ต้องการ>
โปรดยืนยันรหัสผ่านสำหรับบัญชีผู้ดูแลระบบ (SA): <ป้อนรหัสผ่านที่ต้องการ>

ตั้งค่ารหัสผ่านบัญชีผู้ดูแลระบบ (SA) ...

คุณต้องการเริ่มบริการ SQL Server ทันทีหรือไม่ [y / n]: y
คุณต้องการเปิดใช้งาน SQL Server เพื่อเริ่มระบบหรือไม่ [y / n]: n

คุณสามารถใช้ sqlservr-setup --enable-service เพื่อเปิดใช้งาน SQL Server เพื่อเริ่มต้น
ตอนบูต

การตั้งค่าเสร็จสมบูรณ์

ตรวจสอบว่าบริการกำลังทำงานอยู่:

# systemctl status mssql-server

หยุด SQL Server บนทั้งสองโหนด  ซอฟต์แวร์คลัสเตอร์จะต้องรับผิดชอบในการเริ่มต้นใช้งานในภายหลัง:

# systemctl หยุด mssql-server
# systemctl หยุด mssql-server-telemetry

ติดตั้งและกำหนดค่าคลัสเตอร์

ณ จุดนี้เราพร้อมที่จะติดตั้งและกำหนดค่าคลัสเตอร์ของเรา  SIOS Protection Suite สำหรับ Linux (aka SPS-Linux) จะใช้ในคู่มือนี้เป็นเทคโนโลยีการทำคลัสเตอร์  มันมีทั้งฟีเจอร์การคลัสเตอร์ล้มเหลวที่มีความพร้อมใช้งานสูง (LifeKeeper) รวมถึงการจำลองข้อมูลระดับบล็อกแบบเรียลไทม์ (DataKeeper) ในโซลูชันเดียวที่รวมเข้าด้วยกัน  SPS-Linux ช่วยให้คุณสามารถปรับใช้คลัสเตอร์“ SANLess” หรือที่เรียกว่าคลัสเตอร์“ ไม่มีอะไรที่ใช้ร่วมกัน” ซึ่งหมายความว่าโหนดคลัสเตอร์ไม่มีที่เก็บข้อมูลใด ๆ ที่ใช้ร่วมกันเช่นเดียวกับ Azure VM

ติดตั้ง SIOS Protection Suite สำหรับ Linux

ทำตามขั้นตอนต่อไปนี้บน VM ทั้ง 3 (sql-linux1, sql-linux2, sql -itness): ดาวน์โหลดไฟล์อิมเมจการติดตั้ง SPS-Linux (sps.img) และขอรับใบอนุญาตทดลองใช้งานหรือซื้อใบอนุญาตถาวร  ติดต่อ SIOS เพื่อรับข้อมูลเพิ่มเติม คุณจะวนลูปติดตั้งและรันสคริปต์“ ตั้งค่า” ด้านในในฐานะรูท (หรือ“ sudo su -” เป็นครั้งแรกเพื่อรับรูตเชลล์ถ้าคุณยังไม่ได้ทำ) ตัวอย่างเช่น:

# mkdir / tmp / install
# mount -o loop sps.img / tmp / install
# cd / tmp / install
# ./ติดตั้ง

ระหว่างสคริปต์การติดตั้งคุณจะได้รับแจ้งให้ตอบคำถามจำนวนหนึ่ง  คุณจะกด Enter บนเกือบทุกหน้าจอเพื่อยอมรับค่าเริ่มต้น  สังเกตข้อยกเว้นต่อไปนี้:

  • บนหน้าจอชื่อ“ High Availability NFS” คุณอาจเลือก“ n” เนื่องจากเราจะไม่สร้างเซิร์ฟเวอร์ NFS ที่มีความพร้อมใช้งานสูง
  • ในตอนท้ายของสคริปต์การตั้งค่าคุณสามารถเลือกที่จะติดตั้งรหัสสัญญาอนุญาตรุ่นทดลองใช้ทันทีหรือใหม่กว่า เราจะติดตั้งรหัสลิขสิทธิ์ในภายหลังเพื่อให้คุณสามารถเลือก“ n” ได้อย่างปลอดภัยในจุดนี้
  • ในหน้าจอสุดท้ายของ“ การตั้งค่า” เลือก ARKs (ชุดกู้คืนแอพพลิเคชั่นเช่น "ตัวแทนตัวแทน") ที่คุณต้องการติดตั้งจากรายการที่แสดงบนหน้าจอ
    • ARK จำเป็นต้องใช้กับ "sql-linux1" และ "sql-linux2" เท่านั้น  คุณไม่จำเป็นต้องติดตั้งบน“ sql -itness”
    • นำทางรายการด้วยลูกศรขึ้น / ลงและกด SPACEBAR เพื่อเลือกรายการต่อไปนี้:
      • lkDR – DataKeeper สำหรับ Linux
    • ซึ่งจะส่งผลให้มีการติดตั้ง RPM เพิ่มเติมต่อไปนี้ใน“ sql-linux1” และ“ sql-linux2”:
      • Steeleye-lkDR-9.0.2-6513.noarch.rpm

ติดตั้งแพ็คเกจ Witness / Quorum

แพคเกจการสนับสนุน Quorum / Witness Server สำหรับ LifeKeeper (steeleye-lkQWK) รวมกับกระบวนการ failover ที่มีอยู่ของแกน LifeKeeper ช่วยให้การล้มเหลวของระบบเกิดขึ้นพร้อมความมั่นใจในสถานการณ์ที่เครือข่ายล้มเหลวทั้งหมด สิ่งนี้มีประสิทธิภาพหมายถึงการล้มเหลวสามารถทำได้ในขณะที่ลดความเสี่ยงของสถานการณ์ "สมองแตก" อย่างมาก ติดตั้ง Witness / Quorum rpm บนทั้ง 3 โหนด (sql-linux1, sql-linux2, sql -itness):

# cd / tmp / install / quorum
# rpm -Uvh steeleye-lkQWK-9.0.2-6513.noarch.rpm

 

 

 

 

 

 

 

 

  

 

 

 

   

 

   

 

  

  •  
  •  

    

  •  
  •  
  •  

       

 

  

  

    

 
 
 
 
 
 
 
 
 

  

 
 
 
 
 
 
 
 
 
 

  

 

  

 
 
 
 
 
 
 

 

 
 
 
 
 
 
 
 

 

          

 

   

  •  
  •  
  •  
  •  
 

 

 

 
 
 

 

 
 
 

 

 
 
 

 

 
 
 

 

 

 

   

 
 
 
 
 
 
 
 
 
 

 

 
 
 
 
 
 

  

 

        

 

              

 

  

 

 

 
 

 
 

 

  

 

 

 
 

 
 

 

 

 

Filed Under: ทำให้เข้าใจง่ายเซิร์ฟเวอร์คลัสเตอร์ Tagged With: SQL Server สำหรับ Linux, ลินุกซ์

ทีละขั้นตอน: วิธีกำหนดค่าคลัสเตอร์ล้มเหลว Linux บนแพลตฟอร์ม Google Cloud (Google Compute Engine) โดยไม่มีที่เก็บข้อมูลที่ใช้ร่วมกัน #google #gce #sanless #cluster

มกราคม 6, 2019 by Jason Aw Leave a Comment

ทีละขั้นตอน: วิธีกำหนดค่าคลัสเตอร์ล้มเหลว Linux บนแพลตฟอร์ม Google Cloud (Google Compute Engine) โดยไม่มีที่เก็บข้อมูลที่ใช้ร่วมกัน #google #gce #sanless #cluster

ในขั้นตอนนี้ฉันจะแนะนำคุณในทุกขั้นตอนที่จำเป็นในการกำหนดค่าคลัสเตอร์ MySQL แบบ 2 โหนด (พร้อมเซิร์ฟเวอร์พยาน) ที่มีความพร้อมใช้งานสูงในแพลตฟอร์ม Google Cloud (Google Compute Engine หรือ GCE)  คำแนะนำประกอบด้วยภาพหน้าจอคำสั่งเชลล์และตัวอย่างโค้ดตามความเหมาะสม  ฉันคิดว่าคุณค่อนข้างคุ้นเคยกับแพลตฟอร์ม Google Cloud และมีบัญชีอยู่แล้ว  ถ้าไม่คุณสามารถสมัครทดลองใช้ฟรีวันนี้  ฉันจะสมมติว่าคุณมีทักษะการบริหารระบบพื้นฐานของ linux เช่นเดียวกับเข้าใจแนวคิดการทำคลัสเตอร์ failover พื้นฐานเช่น IP เสมือนโควรัม ฯลฯ

Disclaimer: เมฆเป็นเป้าหมายที่เคลื่อนไหวอย่างรวดเร็ว  ดังนั้นฟีเจอร์ / หน้าจอ / ปุ่มจะเปลี่ยนแปลงตลอดเวลาดังนั้นประสบการณ์ของคุณอาจแตกต่างจากที่คุณเห็นด้านล่างเล็กน้อย  ในขณะที่คู่มือนี้จะแสดงวิธีทำให้ฐานข้อมูล MySQL มีความพร้อมใช้งานสูงคุณสามารถปรับเปลี่ยนข้อมูลและกระบวนการเพื่อปกป้องแอปพลิเคชันหรือฐานข้อมูลอื่น ๆ เช่น SAP, PostgreSQL, Oracle, WebSphere MQ, ไฟล์เซิร์ฟเวอร์ NFS และอื่น ๆ นี่คือขั้นตอนระดับสูงในการสร้างฐานข้อมูล MySQL ที่มีอยู่ใน Google Compute Engine:

  1. สร้างโครงการ
  2. สร้างอินสแตนซ์ (เครื่องเสมือน)
  3. สร้างกลุ่มอินสแตนซ์
  4. สร้างกฎไฟร์วอลล์เพื่ออนุญาตการเข้าถึง VNC
  5. การกำหนดค่า Linux OS
  6. ติดตั้งและกำหนดค่า MySQL
  7. ติดตั้งและกำหนดค่าคลัสเตอร์
  8. สร้างเครื่องมือสร้างสมดุลภายใน
  9. สร้างกฎไฟร์วอลล์สำหรับตัวโหลดบาลานซ์ภายใน
  10. ทดสอบการเชื่อมต่อของคลัสเตอร์

ภาพรวม

บทความนี้จะอธิบายวิธีสร้างคลัสเตอร์ภายในภูมิภาค Google Cloud เดียว  โหนดคลัสเตอร์ (node1, node2 และเซิร์ฟเวอร์พยาน) ทั้งหมดจะอยู่ในพื้นที่“ us-central1” (10.128.0.0/20 เครือข่าย) แต่คุณสามารถเลือกภูมิภาคของคุณได้ การกำหนดค่าจะมีลักษณะดังนี้: จะใช้ที่อยู่ IP ต่อไปนี้:

  • node1: 10.128.0.2
  • node2: 10.128.0.3
  • พยาน: 10.128.0.4
  • ตัวโหลดบาลานซ์ภายใน: 10.128.0.99
  • พอร์ต MySQL: 3306

สร้างโครงการ

เมื่อลงชื่อเข้าใช้ครั้งแรกคุณจะเห็นหน้าแดชบอร์ดว่างเปล่าและจะถูกขอให้สร้างโครงการ  ทรัพยากร Google Compute Engine ทั้งหมดที่เราจะสร้างจะเป็นของโครงการ Google Cloud Platform นี้ ที่นี่เราจะเรียกโครงการ“ LinuxCluster” ที่สร้างขึ้นใหม่ของเรา:

สร้างอินสแตนซ์ (เครื่องเสมือน)

เราจะทำการจัดเตรียม 3 เครื่องเสมือนในคู่มือนี้  VMs สองรายการแรก (ฉันจะเรียกพวกเขาว่า "node1" และ "node2") จะทำหน้าที่เป็นโหนดคลัสเตอร์ที่มีความสามารถในการนำฐานข้อมูล MySQL และเป็นทรัพยากรที่เกี่ยวข้องทางออนไลน์  VM ที่ 3 จะทำหน้าที่เป็นเซิร์ฟเวอร์พยานของคลัสเตอร์สำหรับการป้องกันเพิ่มเติมจากสมองแยก เพื่อให้แน่ใจว่ามีความพร้อมใช้งานสูงสุด VMs ทั้ง 3 แห่งจะอยู่ในโซนต่างๆภายในภูมิภาค (ในตัวอย่างนี้: us-central1-a, us-central1-b, us-central1-c)

สร้าง“node1” อินสแตนซ์

สร้างอินสแตนซ์ VM แรกของคุณ (“ node1”)  หากนี่เป็นครั้งแรกที่คุณสร้างอินสแตนซ์หน้าจอของคุณจะมีลักษณะคล้ายกับภาพด้านล่าง คลิกปุ่ม“ สร้างอินสแตนซ์” ที่กึ่งกลางหน้าจอของคุณ: หากคุณมีอินสแตนซ์อื่นที่ทำงานอยู่ใน GCE แล้วหน้าจอของคุณจะดูแตกต่างออกไปเล็กน้อย  ยังคงคลิก "สร้างอินสแตนซ์" เพื่อดำเนินการต่อ: ตามค่าเริ่มต้น Debian linux จะถูกเลือกตามค่าเริ่มต้น  เรา * ไม่ต้องการสิ่งนี้เพราะเราจะใช้ CentOS 6.X ในคู่มือนี้ ตั้งชื่ออินสแตนซ์ (“ node1”) เลือกโซนแรก (a) ภายในภูมิภาคของเรา (us-central1) และตรวจสอบให้แน่ใจว่าได้คลิก“ เปลี่ยน” เพื่อเลือกอิมเมจสำหรับบูตที่เหมาะสม  คุณสามารถปรับขนาดอินสแตนซ์ตามความต้องการปริมาณงานของคุณ แต่สำหรับวัตถุประสงค์ของคู่มือนี้เราจะใช้ขนาดเริ่มต้นเพื่อลดค่าใช้จ่ายซึ่งเป็น VM ขนาดเล็กพอสมควร (1 vCPU และ RAM เพียง 3.75GB) ใน Boot disk pop บนหน้าจอเลือก CentOS 6 และที่ด้านล่างเราจะไปกับดิสก์สำหรับบูต SSD  10GB นั้นมากเกินพอสำหรับจุดประสงค์ของคู่มือนี้  คุณสามารถปรับขนาดระบบตาม: หลังจากคลิก“ เลือก” คุณจะถูกนำกลับไปที่หน้าจอสร้างอินสแตนซ์  ที่ด้านล่างคลิก“ การจัดการดิสก์เครือข่ายคีย์ SSH” เพราะเราจะเพิ่มดิสก์ที่สองใน VM ของเรา  ดิสก์ที่สองนี้จะถูกใช้เพื่อจัดเก็บฐานข้อมูลของเราและเป็นสิ่งที่จะถูกทำซ้ำ / ซิงค์ในภายหลังโดยซอฟต์แวร์การทำคลัสเตอร์   เลือกแท็บ“ ดิสก์” และคลิก“ เพิ่มรายการ” เพื่อเพิ่มดิสก์ตัวที่ 2 ในอินสแตนซ์นี้: คลิก“ สร้างดิสก์”: ตั้งชื่อดิสก์ใหม่เลือกประเภทที่ต้องการและเริ่มต้นด้วยดิสก์เปล่า  10 GB ควรเพียงพอสำหรับความต้องการของเราที่นี่ในการกำหนดค่าตัวอย่างนี้  หมายเหตุ: จำค่าที่คุณตั้งไว้ที่นี่  ทั้งโหนดคลัสเตอร์ (node1 และ node2) จำเป็นต้องเป็นขนาดเดียวกัน: ในที่สุดคลิกแท็บ“ ระบบเครือข่าย” และให้ IP ภายในลูกค้าของโหนด 1 คลิก "สร้าง" เพื่อเปิดตัวอินสแตนซ์ใหม่ของคุณ:

สร้าง“ node2”

ทำซ้ำขั้นตอนด้านบนสองครั้งเพื่อสร้างโหนดคลัสเตอร์ที่สองของคุณ (“ node2”)  สร้างอินสแตนซ์นี้เช่นเดียวกับที่คุณทำ node1 รวมถึงการเพิ่มดิสก์ที่สอง สำคัญ: ตรวจสอบให้แน่ใจว่ามันอยู่ในโซนอื่น (us-central1-b) และให้ IP ที่ไม่ซ้ำกัน (10.128.0.3)

สร้าง VM "พยาน"

สร้าง VM ที่สามของคุณ (“ พยาน”) และตรวจสอบให้แน่ใจว่าอยู่ในโซนที่แตกต่าง (us-central1-c) จากสองอินสแตนซ์แรก หมายเหตุ: อินสแตนซ์นี้ไม่จำเป็นต้องเพิ่มดิสก์เสริม อาจใช้เวลาสักครู่สำหรับอินสแตนซ์ VM 3 ของคุณในการจัดเตรียม  เมื่อเสร็จแล้วคุณจะเห็นรายชื่อ VMs ของคุณบนหน้าจอ VM Instances ภายใน Google Cloud Console ของคุณ  ตรวจสอบว่าคุณเปิดใช้ VM อย่างถูกต้องในโซนอื่น:  

สร้างกลุ่มอินสแตนซ์

ต่อไปในคู่มือนี้เราจะสร้าง Internal Load Balancer เพื่อกำหนดเส้นทางทราฟฟิกไปยังโหนดคลัสเตอร์ที่ใช้งานอยู่  การกำหนดค่าโหลดบาลานเซอร์ที่เป็นไปได้ทั้งหมดที่มีอยู่บนแพลตฟอร์ม Google Cloud ต้องการกลุ่มอินสแตนซ์เพื่อรับส่งข้อมูลที่ส่งจากโหลดบาลานซ์ กลุ่มอินสแตนซ์สองกลุ่มจะถูกสร้างขึ้นและแต่ละกลุ่มจะมีโหนดคลัสเตอร์หนึ่งโหนด

สร้างกลุ่มอินสแตนซ์ 1

ตั้งชื่อกลุ่มอินสแตนซ์แรกของคุณ (“ instance-group-1a”) เลือก“ Single-zone” และตรวจสอบให้แน่ใจว่าได้เลือกโซนที่ VM อินสแตนซ์แรกของคุณตั้งอยู่อย่างถูกต้อง  ที่นี่เราเลือก us-central-1a เนื่องจากเป็นจุดที่“ node1” ถูกปรับใช้  ด้านล่างเลือก“ เลือกอินสแตนซ์ที่มีอยู่” และเลือก“ node1” จากดรอปดาวน์ VM อินสแตนซ์:

สร้างกลุ่มอินสแตนซ์ 2

ทำซ้ำขั้นตอนก่อนหน้าอีกครั้งคราวนี้เลือกโซนที่โหนดที่สองของคุณตั้งอยู่  us-central-1b และ node2:

สร้างกฎไฟร์วอลล์เพื่ออนุญาตการเข้าถึง VNC

คุณสามารถดูกฎไฟร์วอลล์ที่มีอยู่ทั้งหมดของคุณได้โดยไปที่: ระบบเครือข่าย -> กฎไฟร์วอลล์โดยค่าเริ่มต้นเฉพาะพอร์ตที่เปิดใน“ ไฟร์วอลล์ Google” จากโลกภายนอกสู่ VMs ของคุณคือ ping, SSH (พอร์ต 22) และ RDP ( พอร์ต 3389) ต่อมาในคำแนะนำเราจะใช้ VNC เพื่อเข้าถึงเดสก์ท็อปของ "node1" และกำหนดค่าคลัสเตอร์โดยใช้ GUI  สร้างกฎไฟร์วอลล์เพื่ออนุญาตการเข้าถึง VNC  ในคู่มือนี้มีการใช้พอร์ต 5902  ปรับสิ่งนี้ตามการกำหนดค่า VNC ของคุณ  

การกำหนดค่า Linux OS

ต่อไปเราจะต้องกำหนดค่า Linux OS ของอินสแตนซ์ของเราและทำให้มือของเราสกปรกในบรรทัดคำสั่งซึ่งในฐานะผู้ดูแลระบบ Linux ที่คุณควรใช้ในตอนนี้ มีหลายวิธีในการเชื่อมต่อกับคอนโซลของ linux VM ของคุณ  คุณสามารถเริ่มต้นการเชื่อมต่อ SSH ได้โดยตรงจากเว็บอินเตอร์เฟส GCE หรือคุณสามารถติดตั้ง Google Cloud SDK ในเครื่องแล็ปท็อป / เวิร์กสเตชันของคุณ ในการใช้ SSH ด้วยเบราว์เซอร์ของคุณไปที่ Compute -> VM Instances และทางด้านขวาของ VM ที่คุณต้องการเชื่อมต่อภายใต้“ Connect” เลือก“ Open in window browser” หากคุณต้องการติดตั้งเครื่องมือบรรทัดคำสั่ง Google Cloud บนแล็ปท็อป / เวิร์กสเตชันของคุณโปรดดูเอกสารประกอบที่นี่: https://cloud.google.com/sdk/docs/quickstarts เมื่อเชื่อมต่อใช้คำสั่ง“ sudo” เพื่อ รับสิทธิ์รูท:

$ sudo su -

แก้ไข / etc / hosts

นอกจากว่าคุณมีการตั้งค่าเซิร์ฟเวอร์ DNS อยู่แล้วคุณจะต้องการสร้างรายการไฟล์โฮสต์บนเซิร์ฟเวอร์ทั้ง 3 แห่งเพื่อให้พวกเขาสามารถแก้ไขซึ่งกันและกันได้อย่างถูกต้องด้วยชื่อเพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์ / etc / hosts

10.128.0.2 node1
10.128.0.3 node2
10.128.0.4 พยาน
10.128.0.99 mysql-vip

ปิดการใช้งาน SELinux

แก้ไข / etc / sysconfig / linux และตั้งค่า“ SELINUX = ปิดใช้งาน”:

# vi / etc / sysconfig / selinux

# ไฟล์นี้ควบคุมสถานะของ SELinux บนระบบ
# SELINUX = สามารถใช้หนึ่งในสามค่าต่อไปนี้:
# enforcing - บังคับใช้นโยบายความปลอดภัยของ SELinux
# permissive - SELinux พิมพ์คำเตือนแทนที่จะบังคับใช้
# disabled - ไม่มีการโหลดนโยบาย SELinux
SELINUX = คนพิการ
# SELINUXTYPE = สามารถรับหนึ่งในสองค่าต่อไปนี้:
# เป้าหมาย - กระบวนการเป้าหมายได้รับการคุ้มครอง
# mls - การป้องกันความปลอดภัยหลายระดับ
SELINUXTYPE = การกำหนดเป้าหมาย

ติดตั้งแพ็กเกจ RPM ต่างๆ

ถัดไปติดตั้งแพ็กเกจ rpm จำนวนหนึ่งซึ่งจะต้องใช้ในภายหลังเป็นข้อกำหนดเบื้องต้นสำหรับซอฟต์แวร์การทำคลัสเตอร์ของเรา:

# yum ติดตั้งแพทช์ redhat-lsb

ติดตั้งและกำหนดค่า VNC (และแพ็คเกจที่เกี่ยวข้อง)

ในการเข้าถึง GUI ของเซิร์ฟเวอร์ linux ของเราในภายหลังเพื่อกำหนดค่าคลัสเตอร์ของเราให้ติดตั้งเซิร์ฟเวอร์ VNC บนโหนดคลัสเตอร์ของคุณ  ในการตั้งค่าของฉันฉันทำสิ่งนี้กับ "node1" เท่านั้น

# yum ติดตั้ง tigervnc-server xterm
# vncpasswd
# vi / etc / sysconfig / vncservers

      VNCSERVERS = "2: ราก"
      VNCSERVERARGS [2] = "- รูปทรงเรขาคณิต 1024x768"

# บริการ vncserver เริ่มต้น
# chkconfig vncserver เปิด

ทดสอบการเชื่อมต่อโดยการเปิดไคลเอนต์ VNC บนแล็ปท็อป / เดสก์ท็อปของคุณและเชื่อมต่อกับ Public IP ของโหนดคลัสเตอร์ของคุณ

รีบูตคลัสเตอร์โหนด

รีบูตเพื่อให้ SELinux ถูกปิดใช้งาน ระบบทั้งหมด 3 ระบบ (โหนด 1, โหนด 2, พยาน) ต้องถูกรีบูต

การแบ่งพาร์ติชันและฟอร์แมตดิสก์“ data”

ในระหว่างการสร้างอินสแตนซ์ VM จะมีการเพิ่มดิสก์พิเศษในแต่ละโหนดคลัสเตอร์เพื่อเก็บข้อมูลแอปพลิเคชันที่เราจะปกป้อง  ในกรณีนี้มันเป็นฐานข้อมูล MySQL การกำหนดค่าดิสก์ของ VMs ของเรามีดังนี้:

  • / dev / sda – ดิสก์ระบบปฏิบัติการ
  • / dev / sdb – ดิสก์ข้อมูล

ดิสก์ที่สองถูกเพิ่มระหว่างการสร้างอินสแตนซ์ / dev / sdb  คุณสามารถเรียกใช้คำสั่ง“ fdisk -l” เพื่อตรวจสอบ  คุณจะเห็นว่า / dev / sda (OS) มีพาร์ติชั่นดิสก์อยู่แล้วและกำลังใช้งานอยู่

# fdisk -l

ดิสก์ / dev / sda: 10.7 GB, 10737418240 ไบต์
255 หัว, 63 ส่วน / เส้นทาง, 1305 กระบอกสูบ
หน่วย = ไส้กุญแจ 16065 * 512 = 8225280 ไบต์
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512 ไบต์ / 4096 ไบต์
ขนาด I / O (ต่ำสุด / เหมาะสมที่สุด): 4096 ไบต์ / 4096 ไบต์
ตัวระบุดิสก์: 0x00035e98

 การบูตอุปกรณ์เริ่มต้น End Ids Id System
/ dev / sda1 * 1 1306 10484736 83 Linux

ดิสก์ / dev / sdb: 10.7 GB, 10737418240 ไบต์
64 หัว, 32 ส่วน / เส้นทาง, 10240 กระบอก
หน่วย = ภาชนะบรรจุ 2048 * 512 = 1048576 ไบต์
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512 ไบต์ / 4096 ไบต์
ขนาด I / O (ต่ำสุด / เหมาะสมที่สุด): 4096 ไบต์ / 4096 ไบต์
ตัวระบุดิสก์: 0x762b810b


ที่นี่เราจะสร้างพาร์ติชัน (/ dev / sdb1) จัดรูปแบบและเมานต์ที่ตำแหน่งเริ่มต้นสำหรับ MySQL ซึ่งเป็น / var / lib / mysql  ทำขั้นตอนต่อไปนี้บนทั้ง“ node1” และ“ node2”:

# fdisk / dev / sdb
คำสั่ง (m สำหรับความช่วยเหลือ): n
การกระทำคำสั่ง
e ขยาย
p พาร์ติชันหลัก (1-4)
พี
หมายเลขพาร์ติชัน (1-4): 1
กระบอกแรก (1-1305 ค่าเริ่มต้น 1): <enter>
ใช้ค่าเริ่มต้น 1
ไส้กุญแจทรงกระบอกกระบอกสูบหรือขนาด {K, M, G} (1-1305, ค่าเริ่มต้น 1305): <enter>
ใช้ค่าเริ่มต้น 1305
 
คำสั่ง (m สำหรับความช่วยเหลือ): w
มีการเปลี่ยนแปลงตารางพาร์ติชัน!
การเรียก ioctl () เพื่ออ่านตารางพาร์ติชันอีกครั้ง
กำลังซิงค์ดิสก์
[root @ node1 ~] #

# mkfs.ext4 / dev / sdb1
# mkdir / var / lib / mysql

บนโหนด 1 ให้เมาต์ระบบไฟล์:

# mount / dev / sdb1 / var / lib / mysql

ติดตั้งและกำหนดค่า MySQL

จากนั้นติดตั้งแพคเกจ MySQL เริ่มต้นฐานข้อมูลตัวอย่างและตั้งค่ารหัสผ่าน "root" สำหรับ MySQL

บน“ node1”:

# yum -y ติดตั้ง mysql mysql-server
# / usr / bin / mysql_install_db --datadir = "/ var / lib / mysql /" --user = mysql
# mysqld_safe --user = root --socket = / var / lib / mysql / mysql.sock --port = 3306 - ข้อมูล = / var / lib / mysql --log &
#
# # หมายเหตุ: คำสั่งถัดไปนี้อนุญาตการเชื่อมต่อระยะไกลจากโฮสต์ใด ๆ  ไม่ใช่ความคิดที่ดีสำหรับการผลิต!
# echo "อัปเดตผู้ใช้ตั้งค่า Host = '%' โดยที่ Host = 'node1'; สิทธิ์ล้าง" | mysql mysql
#
# #Set รหัสผ่านรูทของ MySQL เป็น 'SIOS'
# echo "อัปเดตชุดผู้ใช้รหัสผ่าน = PASSWORD ('SIOS') โดยที่ User = 'root'; สิทธิ์ล้าง" | mysql mysql

สร้างไฟล์คอนฟิกูเรชัน MySQL เราจะวางสิ่งนี้ลงในดิสก์ข้อมูล (ซึ่งจะถูกจำลองแบบในภายหลัง – /var/lib/mysql/my.cnf)  ตัวอย่าง:

# vi /var/lib/mysql/my.cnf

[mysqld]
datadir = / var / lib / MySQL
ซ็อกเก็ต = / var / lib / MySQL / mysql.sock
pid = ไฟล์ / var / lib / MySQL / mysqld.pid
ผู้ใช้ = ราก
พอร์ต = 3306
# แนะนำให้ปิดการใช้งานลิงก์สัญลักษณ์เพื่อป้องกันความเสี่ยงด้านความปลอดภัยที่หลากหลาย
สัญลักษณ์การเชื่อมโยง = 0
 
[mysqld_safe]
เข้าสู่ระบบข้อผิดพลาด = / var / log / mysqld.log
pid = ไฟล์ / var / ทำงาน / mysqld / mysqld.pid
 
[ลูกค้า]
ผู้ใช้ = ราก
รหัสผ่าน = SIOS

ลบไฟล์การกำหนดค่า MySQL ดั้งเดิมซึ่งอยู่ใน / etc หากมีอยู่:

# rm /etc/my.cnf

บน“ node2”:

บน“ node2” คุณจะต้องติดตั้งแพ็คเกจ MySQL เท่านั้น  ขั้นตอนอื่น ๆ ไม่จำเป็น:

[root @ node2 ~] # yum -y ติดตั้ง mysql mysql-server

ติดตั้งและกำหนดค่าคลัสเตอร์

ณ จุดนี้เราพร้อมที่จะติดตั้งและกำหนดค่าคลัสเตอร์ของเรา  SIOS Protection Suite สำหรับ Linux (aka SPS-Linux) จะใช้ในคู่มือนี้เป็นเทคโนโลยีการทำคลัสเตอร์  มันมีทั้งฟีเจอร์การคลัสเตอร์ล้มเหลวที่มีความพร้อมใช้งานสูง (LifeKeeper) รวมถึงการจำลองข้อมูลระดับบล็อกแบบเรียลไทม์ (DataKeeper) ในโซลูชันเดียวที่รวมเข้าด้วยกัน  SPS-Linux ช่วยให้คุณสามารถปรับใช้คลัสเตอร์“ SANLess” หรือที่เรียกว่าคลัสเตอร์“ ไม่มีอะไรที่ใช้ร่วมกัน” ซึ่งหมายความว่าโหนดคลัสเตอร์ไม่มีที่เก็บข้อมูลใด ๆ ที่ใช้ร่วมกันเช่นเดียวกับ Azure VM

ติดตั้ง SIOS Protection Suite สำหรับ Linux

ทำขั้นตอนต่อไปนี้บน ALL 3 VMs (node1, node2, พยาน): ดาวน์โหลดไฟล์อิมเมจการติดตั้ง SPS-Linux (sps.img) และขอรับใบอนุญาตทดลองใช้งานหรือซื้อสิทธิ์ใช้งานถาวร  ติดต่อ SIOS เพื่อรับข้อมูลเพิ่มเติม คุณจะวนลูปติดตั้งและรันสคริปต์“ การตั้งค่า” ภายในเช่นเดียวกับรูท (หรือ“ sudo su -” เพื่อรับรูทเชลล์) ตัวอย่าง:

# mkdir / tmp / install
# mount -o loop sps.img / tmp / install
# cd / tmp / install
# ./ติดตั้ง

ระหว่างสคริปต์การติดตั้งคุณจะได้รับแจ้งให้ตอบคำถามจำนวนหนึ่ง  คุณจะกด Enter บนเกือบทุกหน้าจอเพื่อยอมรับค่าเริ่มต้น  สังเกตข้อยกเว้นต่อไปนี้:

  • บนหน้าจอชื่อ“ High Availability NFS” คุณอาจเลือก“ n” เนื่องจากเราจะไม่สร้างเซิร์ฟเวอร์ NFS ที่มีความพร้อมใช้งานสูง
  • ในตอนท้ายของสคริปต์การตั้งค่าคุณสามารถเลือกที่จะติดตั้งรหัสสัญญาอนุญาตรุ่นทดลองใช้ทันทีหรือใหม่กว่า เราจะติดตั้งรหัสลิขสิทธิ์ในภายหลังเพื่อให้คุณสามารถเลือก“ n” ได้อย่างปลอดภัยในจุดนี้
  • ในหน้าจอสุดท้ายของ“ การตั้งค่า” เลือก ARKs (ชุดกู้คืนแอพพลิเคชั่นเช่น "ตัวแทนตัวแทน") ที่คุณต้องการติดตั้งจากรายการที่แสดงบนหน้าจอ
    • ARK จำเป็นต้องใช้กับ“ node1” และ“ node2” เท่านั้น  คุณไม่จำเป็นต้องติดตั้งใน "พยาน"
    • นำทางรายการด้วยลูกศรขึ้น / ลงและกด SPACEBAR เพื่อเลือกรายการต่อไปนี้:
      • lkDR – DataKeeper สำหรับ Linux
      • lkSQL – ชุดการกู้คืน LifeKeeper MySQL RDBMS
    • สิ่งนี้จะส่งผลให้มีการติดตั้ง RPM เพิ่มเติมต่อไปนี้บน“ node1” และ“ node2”:
      • Steeleye-lkDR-9.0.2-6513.noarch.rpm
      • Steeleye-lkSQL-9.0.2-6513.noarch.rpm

ติดตั้งแพ็คเกจ Witness / Quorum

แพคเกจการสนับสนุน Quorum / Witness Server สำหรับ LifeKeeper (steeleye-lkQWK) รวมกับกระบวนการ failover ที่มีอยู่ของแกน LifeKeeper ช่วยให้การล้มเหลวของระบบเกิดขึ้นพร้อมความมั่นใจในสถานการณ์ที่เครือข่ายล้มเหลวทั้งหมด สิ่งนี้มีประสิทธิภาพหมายถึงการล้มเหลวสามารถทำได้ในขณะที่ลดความเสี่ยงของสถานการณ์ "สมองแตก" อย่างมาก ติดตั้ง Witness / Quorum rpm บนทั้ง 3 โหนด (โหนด 1, โหนด 2, พยาน):

# cd / tmp / install / quorum
# rpm -Uvh steeleye-lkQWK-9.0.2-6513.noarch.rpm

บนโหนดทั้ง 3 (node1, node2, พยาน), แก้ไข / etc / default / LifeKeeper, ตั้งค่า NOBCASTPING = 1 เฉพาะเซิร์ฟเวอร์ Witness (“ พยาน”), แก้ไข / etc / default / LifeKeeper, ตั้งค่า WITNESS_MODE = off / none

ติดตั้งรหัสสิทธิ์การใช้งาน

บนทั้ง 3 โหนดใช้คำสั่ง“ lkkeyins” เพื่อติดตั้งไฟล์ลิขสิทธิ์ที่คุณได้รับจาก SIOS:

# / opt / LifeKeeper / bin / lkkeyins <path_to_file> / <filename> .lic

เริ่ม LifeKeeper

บนทั้ง 3 โหนดใช้คำสั่ง“ lkstart” เพื่อเริ่มซอฟต์แวร์คลัสเตอร์:

# / opt / LifeKeeper / bin / lkstart

ตั้งค่าการอนุญาตผู้ใช้สำหรับ LifeKeeper GUI

บนทั้ง 3 โหนดให้แก้ไข / etc / group และเพิ่มผู้ใช้“ tony” (หรือชื่อผู้ใช้ใด ๆ ที่คุณเข้าสู่ระบบเป็น) ไปยังกลุ่ม“ lkadmin” เพื่อให้สามารถเข้าถึง LifeKeeper GUI  โดยค่าเริ่มต้นเฉพาะ“ รูท” เป็นสมาชิกของกลุ่มและเราไม่มีรหัสผ่านรูทใน:

# vi / etc / group

lkadmin: x: 502: ราก tony

เปิด LifeKeeper GUI

สร้างการเชื่อมต่อ VNC ไปยัง Public IP address ของ node1  จากการกำหนดค่า VNC และ Firewall Rule จากด้านบนคุณจะต้องเชื่อมต่อกับ <Public_IP>: 2 โดยใช้รหัสผ่าน VNC ที่คุณระบุไว้ก่อนหน้านี้  เมื่อเข้าสู่ระบบเปิดหน้าต่างเทอร์มินัลและเรียกใช้ LifeKeeper GUI โดยใช้คำสั่งต่อไปนี้:

# / opt / LifeKeeper / bin / lkGUIapp &

คุณจะได้รับแจ้งให้เชื่อมต่อกับโหนดคลัสเตอร์แรกของคุณ (“ node1”)  ป้อนรหัสผู้ใช้ linux และรหัสผ่านที่ระบุในระหว่างการสร้าง VLK-GUI-connect1M: ถัดไปเชื่อมต่อกับทั้ง "node2" และ "พยาน" โดยคลิกที่ปุ่ม "เชื่อมต่อกับเซิร์ฟเวอร์" เน้นในภาพหน้าจอต่อไปนี้: ตอนนLK-GUI-connect2ี้คุณควรเห็นเซิร์ฟเวอร์ทั้ง 3 แห่งใน GUI ไอคอนเครื่องหมายถูกสีเขียวแสดงว่าพวกเขาออนไลน์และมีสุขภาพดี: LK-GUI-connect3

สร้างเส้นทางการสื่อสาร

คลิกขวาที่“ node1” และเลือกสร้างเส้นทางการสืcomm path1่อสารเลือกทั้ง“ node2” และ“ พยาน” แล้วทำตามตัวช่วยสร้าง  สิ่งนี้จะสร้างเส้นทางการสื่อสารระหว่าง:

  • node1 & node2
  • โหนด 1 & พยาน

comm path2 ต้องสร้างเส้นทางการสื่อสารระหว่าง node2 และผู้ชม   คลิกขวาที่“ node2” และเลือกสร้างเส้นทางการสื่อสาร  ทำตามตัวช่วยสร้างและเลือก“ พยาน” เป็นเซิร์ฟเวอร์ระยcomm path3ะไกล: ณ จุดนี้มีการสร้างเส้นทางการสื่อสารต่อไปนี้:

  • node1 <—> node2
  • โหนด 1 <—> พยาน
  • โหนด 2 <—> พยาน

ไอคอนที่อยู่ด้านหน้าของเซิร์ฟเวอร์เปลี่ยนจาก "เครื่องหมายถูก" สีเขียวเป็น "สัญญาณอันตราย" สีเหลือง  นี่เป็นเพราะเรามีเพียงเส้นทางการสื่อสารเดียวระหว่างโหนด หาก VMs มี NIC หลายตัว (ข้อมูลเกี่ยวกับการสร้าง Azure VM ที่มี NIC หลายตัวสามารถพบได้ที่นี่ แต่จะไม่ครอบคลุมในบทความนี้) คุณจะสร้างเส้นทาง comm ที่ซ้ำซ้อนระหว่างแต่ละเซิร์ฟเวอร์ comm path4 ในการลบไอคอนคำเตือนให้ไปที่เมนูมุมมองและยกเลิกการเลือก“ คำเตือนความซ้ำซ้อนของเส้นทางเส้นทาง”: comm path5ผลลัพธ์: comm path6

ตรวจสอบเส้นทางการสื่อสาร

ใช้คำสั่ง“ lcdstatus” เพื่อดูสถานะของทรัพยากรคลัสเตอร์  รันคำสั่งต่อไปนี้เพื่อตรวจสอบว่าคุณได้สร้าง comm path อย่างถูกต้องบนแต่ละโหนดไปยังอีกสองเซิร์ฟเวอร์ที่เกี่ยวข้อง: # / opt / LifeKeeper / bin / lcdstatus -q -d node1 เครื่องจักรเครือข่ายที่อยู่ / อุปกรณ์สถานะ PRIO node2 TCP 10.128.0.2/ 10.128.0.3 ยังมีชีวิตอยู่ 1 พยาน TCP 10.128.0.2/10.128.0.4 ยังมีชีวิตอยู่ 1 # / opt / LifeKeeper / bin / lcdstatus -q -d node2 เครื่องจักรที่อยู่เครือข่าย / อุปกรณ์สถานะ PRIO โหนด 1 TCP 10.128.0.3/10.128.0.2 มีชีวิต 1 10.128.0.3/10.128.0.4 ALIVE 1 # / opt / LifeKeeper / bin / lcdstatus -q -d เป็นสักขีพยานในที่อยู่เครือข่ายของเครื่อง / อุปกรณ์สถานะ PRIO โหนด 1 TCP 10.128.0.4/10.128.0.2 มีชีวิต 1 โหนด 2 TCP 10.128.0.4/10.12.0.0 ยังมีชีวิตอยู่ 1

สร้างทรัพยากรคลัสเตอร์การจำลองแบบข้อมูล (เช่น กระจกเงา)

จากนั้นสร้างรีซอร์ส Data Replication เพื่อทำซ้ำพาร์ติชัน / var / lib / mysql จาก node1 (ต้นทาง) ถึง node2 (เป้าหมาย)  คลิกที่ไอคอน“ บวกสีเขียว” เพื่อสร้างทรัพยากรใหม่: การจำลองข้อมูล 1ทำตามตัวช่วยสร้างด้วยตัวเลือกเหล่านี้:

โปรดเลือกชุดการกู้คืน: การจำลองข้อมูล
ประเภท Switchback: อัจฉริยะ
เซิร์ฟเวอร์: node1
ประเภทลำดับชั้น: ทำซ้ำระบบไฟล์ที่ออก
จุดเมานต์ที่มีอยู่: / var / lib / mysql
แท็กทรัพยากรการจำลองแบบข้อมูล: datarep-mysql
แท็บทรัพยากรระบบไฟล์: / var / lib / mysql
ไฟล์ Bitmap: (ค่าเริ่มต้น)
เปิดใช้งานการจำลองแบบอะซิงโครนัส: ไม่

หลังจากสร้างทรัพยากรตัวช่วยสร้าง“ ขยาย” (เช่นกำหนดเซิร์ฟเวอร์สำรอง) จะปรากฏขึ้น  ใช้ตัวเลือกต่อไปนี้:

เซิร์ฟเวอร์เป้าหมาย: node2
ประเภท Switchback: อัจฉริยะ
ลำดับความสำคัญของเทมเพลต: 1
เป้าหมายลำดับความสำคัญ: 10
Target Disk: / dev / sdb1
แท็กทรัพยากรการจำลองแบบข้อมูล: datarep-mysql
ไฟล์ Bitmap: (ค่าเริ่มต้น)
เส้นทางการจำลองแบบ: 10.128.0.2/10.128.0.3
จุดเมานต์: / var / lib / mysql
แท็กรูต: / var / lib / mysql

คลัสเตอร์จะมีลักษณะเช่นนี้: การจำลองข้อมูล 2  

สร้างลำดับชั้นของทรัพยากร MySQL

ถัดไปสร้างทรัพยากรคลัสเตอร์ MySQL  ทรัพยากร MySQL มีหน้าที่รับผิดชอบในการหยุด / เริ่ม / ตรวจสอบฐานข้อมูล MySQL ของคุณ  วิธีสร้างคลิกไอคอน“ สีเขียวบวก” เพื่อสร้างทรัพยากรใหม่: ทำตามตัวช่วยสร้างเพื่อสร้างทรัพยากร IP ด้วยการเลือกเหล่านี้:

เลือกชุดการกู้คืน: ฐานข้อมูล MySQL
ประเภท Switchback: อัจฉริยะ
เซิร์ฟเวอร์: node1
ตำแหน่งของ my.cnf: / var / lib / mysql
ตำแหน่งของไฟล์ปฏิบัติการ MySQL: / usr / bin
แท็กฐานข้อมูล: mysql

ขยายทรัพยากร IP ด้วยการเลือกดังต่อไปนี้:

เซิร์ฟเวอร์เป้าหมาย: node2
ประเภท Switchback: อัจฉริยะ
ลำดับความสำคัญของเทมเพลต: 1
เป้าหมายลำดับความสำคัญ: 10

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

สร้างเครื่องมือสร้างสมดุลภายใน

หากนี่เป็นคลัสเตอร์ทั่วไปในสถานที่โดยใช้เซิร์ฟเวอร์จริงหรือเซิร์ฟเวอร์เสมือนคุณจะต้องดำเนินการในขั้นตอนนี้  ลูกค้าและแอปพลิเคชันจะเชื่อมต่อกับ IP เสมือนของคลัสเตอร์ (10.128.0.99) เพื่อเข้าถึงโหนดที่ใช้งานอยู่  ใน Google Cloud สิ่งนี้จะไม่ทำงานหากไม่มีการกำหนดค่าเพิ่มเติม ในการเชื่อมต่อเข้ากับคลัสเตอร์ Google มีฟีเจอร์ที่คุณสามารถตั้งค่า Internal Load Balancer (ILB)  โดยพื้นฐานแล้วเมื่อคุณเชื่อมต่อกับที่อยู่ IP ของ ILB (ซึ่งเราจะตั้งค่าเป็น 10.128.0.99) คุณจะถูกกำหนดเส้นทางไปยังโหนดคลัสเตอร์ที่ใช้งานอยู่ในปัจจุบัน สร้าง TCP Load Balancer: นี่จะเป็น load balancer ภายในดังนั้นให้เลือก“ เฉพาะระหว่าง VMs ของฉัน”: ถัดไปตั้งชื่อ load balancer (“ internal-lb”) จากนั้นคลิก Backend configuration: ตรวจสอบให้แน่ใจว่าคุณเลือกเหมาะสม ภูมิภาค (“ us-central1”) และกำหนดค่าแบ็กเอนด์  คลิก "เพิ่มแบ็กเอนด์" และเพิ่มกลุ่มอินสแตนซ์ทั้งสอง (อินสแตนซ์กลุ่ม 1A และอินสแตนซ์กลุ่ม 1b): ตัวโหลดบาลานซ์ตัดสินใจว่าโหนดใดที่จะกำหนดเส้นทางทราฟฟิกไปตามการตรวจสุขภาพ  ในตัวอย่างนี้การตรวจสอบสุขภาพเพื่อดูว่า MySQL กำลังทำงานอยู่ (ตรวจสอบพอร์ตเริ่มต้น 3306) หรือไม่  เลือก“ สร้างการตรวจสอบสุขภาพ”: ตั้งชื่อการตรวจสุขภาพใหม่ (“ mysql-health-check”) และกำหนดค่าสำหรับพอร์ต TCP 3306: ถัดไปกำหนดค่า Frontend ของ load balancer  เลือก“ การกำหนดค่าส่วนหน้า” และภายใต้ที่อยู่ IP ให้กำหนด IP ภายในแบบคงที่ที่กำหนดเองที่ 10.128.0.99  พอร์ตควรเป็น 3306 ซึ่งเป็นพอร์ตเริ่มต้นสำหรับ MySQL: ในที่สุดให้ตรวจสอบและทำการสร้าง load balancer ให้เสร็จ  คลิก“ สร้าง”: ผลลัพธ์  คุณจะเห็นว่าตัวโหลดบาลานซ์นั้นออนไลน์อย่างไรก็ตามจะไม่แสดงกลุ่มอินสแตนซ์ที่ดีต่อสุขภาพ! (ตามที่ระบุโดย 0/0)  เราจะแก้ไขในส่วนถัดไป:

สร้างกฎไฟร์วอลล์สำหรับตัวโหลดบาลานซ์ภายใน

สำหรับเอกสารของ Google (ดูที่หัวข้อ“ กำหนดค่ากฎไฟร์วอลล์เพื่อให้สามารถทำโหลดบาลานซ์ภายใน”) ต้องสร้างกฎไฟร์วอลล์สองข้อ  วิธีแรกให้ทราฟฟิกไปที่ load balancer และจาก load balancer ถึงอินสแตนซ์ ครั้งที่สองอนุญาตให้ตรวจสอบสุขภาพจากการตรวจสุขภาพ สร้างกฎไฟร์วอลล์ใหม่: ตั้งชื่อกฎใหม่ (allow-internal-lb) และระบุ“ 10.128.0.0/20” เป็นช่วง IP ต้นทาง  โปรโตคอลและพอร์ตที่อนุญาตควรเป็น“ tcp: 3306“: หลังจากคลิก“ สร้าง” คุณจะกลับสู่หน้ากฎไฟร์วอลล์และสามารถดูกฎที่สร้างขึ้นใหม่ในรายการ  คลิก“ สร้างกฎไฟร์วอลล์” อีกครั้งเพื่อให้เราสามารถสร้างกฎที่ต้องการอันดับที่สอง: ตั้งชื่อให้กฎที่สอง (“ อนุญาตให้ตรวจสอบสุขภาพ”)  ต้องกำหนดช่วง IP ต้นทางที่แตกต่างกันสองช่วง:

  • 130.211.0.0/22
  • 35.191.0.0/16

หมายเหตุ: ควรตรวจสอบเอกสาร Google Cloud ทุกครั้งเพื่อให้แน่ใจว่าช่วง IP เหล่านี้ยังคงใช้ได้ ตอนนี้คุณควรเห็นทั้งกฎไฟร์วอลล์ที่สร้างขึ้นใหม่ในรายการ:

ทดสอบการเชื่อมต่อของคลัสเตอร์

ณ จุดนี้การกำหนดค่า Google Cloud และ Cluster ของเราทั้งหมดเสร็จสมบูรณ์แล้ว! รีซอร์สคลัสเตอร์กำลังแอ็คทีฟบน node1: คุณจะสังเกตเห็นว่า Internal Load Balancer กำลังแสดง node1 ซึ่งเป็นสมาชิกของกลุ่ม -a-1a เป็น“ แข็งแรง” และเป็นเช่นนั้นทราฟฟิกทราฟฟิกที่เข้ามาใน IP เสมือน (10.128.0.99 ) ถึง node1: SSH ไปยังเซิร์ฟเวอร์พยาน“ sudo su -” เพื่อเข้าถึงรูท   ติดตั้งไคลเอนต์ mysql หากต้องการ:

[root @itness ~] # yum -y ติดตั้ง mysql

ทดสอบการเชื่อมต่อ MySQL กับคลัสเตอร์:

[root @itness ~] # mysql --host = 10.128.0.99 mysql -u root -p

ดำเนินการแบบสอบถาม MySQL ต่อไปนี้เพื่อแสดงชื่อโฮสต์ของโหนดคลัสเตอร์ที่ใช้งาน:

mysql> select @@ ชื่อโฮสต์;
 ------------ 
| @@ ชื่อโฮสต์ |
 ------------ 
| โหนด 1 |
 ------------ 
1 แถวในชุด (0.00 วินาที)
MySQL>

ใช้ LifeKeeper GUI, failover จาก Node1 -> Node2″  คลิกขวาที่ทรัพยากร mysql ใต้ node2 และเลือก“ In Service …”: หลังจากล้มเหลวทรัพยากรจะถูกนำมาออนไลน์บน node2: ตอนนี้คุณจะเห็นว่า Internal Load Balancer กำลังแสดง instance-group-1b ซึ่งมี node2 ที่แข็งแรง .  ทราฟฟิกถูกจัดเส้นทางไปยังโหนด 2: หลังจาก failover เสร็จสิ้นให้รันเคียวรี MySQL อีกครั้ง  คุณจะสังเกตเห็นว่าไคลเอนต์ MySQL ตรวจพบว่าเซสชันนั้นหายไป (ระหว่างการทำงานล้มเหลว) และเชื่อมต่อใหม่โดยอัตโนมัติ: ดำเนินการแบบสอบถาม MySQL ต่อไปนี้เพื่อแสดงชื่อโฮสต์ของโหนดคลัสเตอร์ที่ใช้งานอยู่ซึ่งยืนยันว่าตอนนี้“ node2” เปิดใช้งานแล้ว:

mysql> select @@ ชื่อโฮสต์;
ข้อผิดพลาด 2006 (HY000): เซิร์ฟเวอร์ MySQL หายไป
ไม่มีการเชื่อมต่อ. กำลังพยายามเชื่อมต่อใหม่ ...
ID การเชื่อมต่อ: 48
ฐานข้อมูลปัจจุบัน: mysql
 ------------ 
| @@ ชื่อโฮสต์ |
 ------------ 
| โหนด 2 |
 ------------ 
1 แถวในชุด (0.56 วินาที)
MySQL>

 

Filed Under: ทำให้เข้าใจง่ายเซิร์ฟเวอร์คลัสเตอร์

SQL Server for Linux – ตัวอย่างสาธารณะพร้อมใช้งานแล้ว

ธันวาคม 21, 2018 by Jason Aw Leave a Comment

SQL Server for Linux – ตัวอย่างสาธารณะพร้อมใช้งานแล้ว

มีการดูตัวอย่างสาธารณะสำหรับ SQL Server v.Next ในขณะนี้แล้ว Microsoft ได้เพิ่มการสนับสนุนลีนุกซ์แล้ว  ดูลิงก์ด้านล่างสำหรับข้อมูลเพิ่มเติม   ฉันจะดาวน์โหลดและมองหาคุณลักษณะการมีอยู่สูงในไม่ช้า  คอยติดตาม!

SQL Server v.Next Public Preview: https://www.microsoft.com/en-us/sql-server/sql-server-vnext-including-Linux ข้อความประกาศ SQL Server Linux ต้นฉบับ: https://blogs.microsoft.com / blog / 2016/03/07 / announcing-sql-server-on-linux / ทำซ้ำได้รับอนุญาตจาก Linuxclustering

Filed Under: ทำให้เข้าใจง่ายเซิร์ฟเวอร์คลัสเตอร์ Tagged With: SQL Server สำหรับ Linux

  • « Previous Page
  • 1
  • …
  • 80
  • 81
  • 82
  • 83
  • 84
  • …
  • 112
  • Next Page »

โพสต์ล่าสุด

  • ระบบความพร้อมใช้งานสูง (High Availability หรือ HA) คืออะไร?
  • เอาตัวรอดจากวิกฤตการณ์วันศุกร์: จากระบบคอมพิวเตอร์แบบดิบๆ สู่การจำลองข้อมูลที่ราบรื่น
  • ติดดิน: สิ่งที่การพลาดชม Percona Live Amsterdam สอนฉันเกี่ยวกับ HA
  • เปรียบเทียบ SIOS LifeKeeper กับ Red Hat High Availability Add-On:
  • สถานะของความยืดหยุ่นของแอปพลิเคชัน: ผลสำรวจความพร้อมใช้งานสูงของ SIOS ปี 2026

กระทู้ยอดนิยม

เข้าร่วมรายชื่อผู้รับจดหมายของเรา

Copyright © 2026 · Enterprise Pro Theme on Genesis Framework · WordPress · Log in