ezylinux
ลินุกซ์ง่ายนิดเดียว

2
Oct

ใน Red Hat Enterprise Linux ตั้งแต่ version 4.5 ขึ้นไปได้มี feature ใหม่ที่สามารถทำการ implement LVM ให้สามารถใช้งานแบบ HA LVM ได้โดยไม่ต้องใช้ CLVM (อยู่ใน GFS) เข้ามาช่วย

ในความเป็นจริงแล้วการใช้งาน LVM นั้นจะต้องมีโหนดใดโหนดหนึ่งเท่านั้นที่สามารถใช้งานได้ ถ้ามีโหนดมากกว่าหนึ่งโหนดเข้าไป access ข้อมูลใน VG เดียวกันจะทำให้เกิด metadata corrupt ขึ้นมา ดังนั้น HA LVM เป็นเพียงการช่วยให้เราสามารถใช้งาน VG เดิมได้ในตอนที่ เครื่องที่มี VG นั้นอยู่เกิด down ไป ในเรื่องของการตรวจสอบการทำงานของ VG นั้นจะเป็นหน้่าที่ของ rgmanager เพื่อให้ VG ใด VG หนึ่ง active เพียง VG เดียว

เอ้อ ลืมบอกไปว่าการ configure HA LVM นี้จะต้องให้ 1 VG มี 1 LV ที่ทำ HA LVM เท่านั้น เพราะว่าถ้ามีหลาย LV อาจจะทำให้เกิดการแย่งกัน update metadata ซึ่งจะทำให้เกิด metadata corrupt ขึ้นได้ อีกอย่าง อย่า!! ทำการ active VG เดียวกันพร้อมกันทั้ง 2 เครื่องโดยให้ Active LV คนละตัวกัน ถ้าคิดว่าทำไมมันยุ่งยากอย่างงี้ลองไปศึกษา CLVM แทนดูนะครับ เพราะว่าเจ้าตัวนี้ไม่ต้องมาคอนฟงคอนฟิกให้เสียเวลา

ในการติดตั้งใช้งาน HA LVM นี้สิ่งที่ต้องใช้มี เครื่อง 2 เครื่อง และ SAN หรือ NAS ที่เป็น Shared storage สำหรับให้เครื่องทั้งสองเข้าไปใช้งาน HDD ร่วมกันได้ ซึ่งก็เป็น concept เดียวกับ HA Cluster ทั้วไปสามารถอ่านเพิ่มเติมได้ที่ Linux Cluster Concept [Fail-Over and Load-Balancing Cluster]

การ set up LVM Failover นั้นสามารถที่จะทำตามขั้นตอนข้างล่างดังต่อไปนี้

1. สร้าง logical volume และ filesystem โดยที่ต้องมีเพียง 1 logical volume ที่ถูกอนุญาติให้ใช้งานได้ใน volume group ที่ทำ HA LVM ดังตัวอย่าง

#pvcreate /dev/sd[cde]1
#vgcreate <ชื่อ volume group> /dev/sd[cde]1
#lvcreate -L <ขนาดของ logical volume> -n <ชื่อ logical volume> <ชื่อ volume group>
#mkfs.ext3 /dev/<ชื่อ volume group>/<ชื่อ logical volume>  

2. แก้ไขไฟล์ /etc/cluster/cluster.conf เพื่อเพิ่ม logical volume ในส่วนของ resource manager section ดังตัวอย่างด้านล่างนี้ หรือ สามารถใช้คำสั่ง system-config-cluster หรือใช้ Conga GUI.

<rm>
  <failoverdomains>
    <failoverdomain name="FD" ordered="1" restricted="0">
      <failoverdomainnode name="cluster-lvm-01" priority="1"/>
      <failoverdomainnode name="cluster-lvm-02" priority="2"/>
    </failoverdomain>
  </failoverdomains>
  <resources>
    <lvm name="lvm" vg_name="<ชื่อ volume group>" lv_name="<ชื่อ logical volume>"!  />
    <fs name="FS" device="/dev/<ชื่อ volume group>/<ชื่อ logical volume>"
force_fsck="0" force_unmount="1" fsid="64050" fstype="ext3"
mountpoint="/mnt" options="" self_fence="0"/>
  </resources>
  <service autostart="1" domain="FD" name="serv" recovery="relocate">
    <lvm ref="lvm"/>
    <fs ref="FS"/>
  </service>
</rm>

3.แก้ไข volume_list ที่อยู่ในไฟล์ /etc/lvm/lvm.conf. ให้ใส่ชื่อของ volume group, locking_type ให้เซ็ตเป็น 1 และ
ชื่อเครื่องที่มีอยู่ในไฟล์ /etc/cluster/cluster.conf โดยใส่ @ นำหน้าชื่อเครื่อง ดังตัวอย่างด้านล่าง:

volume_list = [ "VolGroup00", "@cluster-lvm-01" ]

ข้อควรระวัง: volume_list จะต้องเซ็ตเฉพาะ VG ที่จะใช้งานเท่านั้นไม่อย่างงั้นแล้วมันจะถูก activate ทั้งหมดที่เว็ตไว้

4.Update initrd ทุกเครื่องที่ทำ cluster ด้วยคำสั่งด้านล่าง:

#new-kernel-pkg –mkinitrd –initrdfile=/boot/initrd-`uname -r`.img –install `uname -r` –make-default

5.Reboot เครื่อง

ท้ายสุดการ configure HA VLM นี้ไม่ได้แก้ไขปัญหาได้ครบถ้วนหมดจด ถ้าเกิดปัญหาจากการเชื่อมต่อระหว่างเครื่อง server กับ SAN หรือ NAS แล้วการ configure ครั้งนี้อาจจะไม่เกิดผลเลยก็ได้ เนื่องจาก HA LVM ไม่มี feature ที่คอยจัดการด้าน Connectivity ของ SAN/NAS แต่อย่างไรปัญหาทุกอย่างก็ย่อมมีทางแก้ไขแน่นอน 555 เพื่อป้องกันการเกิดปัญหานี้ให้ใช้ feature multipath เข้ามาช่วยนั้นเอง ก็ลองไปอ่านเพิ่มเติมดูนะที่ ติดตั้ง device mapper multipathing บน SAN/NAS

Related posts:

  1. Fix the following error; LVM error VG meta data inconsistent เมื่อเกิด error ของ LVM โดยขึ้นข้อความว่า “LVM error VG meta data inconsistent” เราสามารถทำการแก้ไขโดยทำตามขั้นตอนดังข้างล่างนี้ได้ Boot เข้าสู่โหมด Rescue Restore VG Meta data...
  2. Reduce a non-root LVM. การลดขนาดของ LVM สามารถที่ไม่ไม่ใช้ root user ทำก็ได้ ซึ่งจากตัวอย่างนี้จะสมมติการลดขนาดของ LVM ที่มีเนื้อที่จำนวน 10GB โดยต้องการที่จะลดขนาดของ LVM ให้มีขนาดเหลือ 8GB โดยสมมติว่าเราได้ Mount LVM นี้ใน directory...
  3. คอมพิวเตอร์คลัสเตอร์, Computer Cluster คืออะไร คอมพิวเตอร์คลัสเตอร์ คือ กลุ่มของคอมพิวเตอร์ที่เชื่อมต่อกันและทำงานด้วยกันเสมือนว่าเป็นเครื่องคอมพิวเตอร์เพียง 1 เครื่อง การเชื่อมต่อแต่ละเครื่องจะผ่านเครือข่าย fast local area network โดยทั่วไปแล้วคลัสเตอร์จะถูกนำมาใช้ในการเพิ่มประสิทธิภาพหรือความมีตัวตนอยู่ของเครื่องคอมพิวเตอร์เครื่องหนึ่ง ระบบคลัสเตอร์สามารถแบ่งเป็น 4 ประเภทด้วยกัน คือ High-availability (HA) clusters หรือที่รู้จักกันในชื่อ...
  4. ติดตั้ง device mapper multipathing บน SAN/NAS เป็นบทความเก่าเอามาปัดฝุ่นใหม่ครับ เนื่องจากคิดว่าบางท่านอาจจะไม่ทราบว่าเอาไว้ืทำอะไร device-mapper multipathing มีไว้เพื่อใช้งานเพื่อทำ multipathing ควบคู่กับอุปกรณ์ที่เป็นพวก storage ครับ เช่น SAN หรือ NAS ครับ โดยเจ้าตัว device-mapper multipathing มีความสามารถที่จะทำงานในลักษณะ Load-Balance...
  5. Make a clone of a virtual guest operating system in RHEL 5 xen ใน Red Hat 5 ไม่ได้ใส่ฟีเจอร์ที่จะสามารถทำการโคลนตัว guest os ได้ แต่มีวิธีอื่นที่สามารถทำการโคลนตัว guest os ได้ซึ่งมีอยู่ด้วยกัน 2 วิธี คือ ใช้ dd และั...

Category : HDD Management / Linux Cluster