ºÎ·Ï B. º¸Á¶ Çϵå¿þ¾î Á¤º¸

´ÙÀ½ ºÎºÐÀº Ŭ·¯½ºÅÍ ½Ã½ºÅÛ¿¡¼­ »ç¿ëµÇ´Â Çϵå¿þ¾î ¼³Á¤ ¹æ¹ý¿¡ ´ëÇÑ Ãß°¡ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù.

B.1. Àü¿ø Á¦¾î±â ¼³Á¤Çϱâ

ÀÌ ºÎºÐ¿¡¼­´Â Àü¿ø Á¦¾î±â¿¡ ´ëÇÏ¿© ¼³¸íÇϰí ÀÖ½À´Ï´Ù. Àü¿ø Á¦¾î±â¿Í Ŭ·¯½ºÅÍ È¯°æ¿¡¼­ Àü¿ø Á¦¾î±âÀÇ ¿ªÇÒ¿¡ ´ëÇÑ º¸´Ù ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¿øÇϽŴٸé, 1.1.3 ÀýÀ» ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.

B.1.1. Àü¿ø ½ºÀ§Ä¡

LVS Ŭ·¯½ºÅÍ Àü¿ø Á¦¾î¸¦ À§ÇØ Red Hat, Inc.ÀÌ Å×½ºÆ®ÇÑ Á÷·Ä-¿¬°á Àü¿ø ½ºÀ§Ä¡³ª ³×Æ®¿öÅ© ¿¬°áµÈ Àü¿ø ½ºÀ§Ä¡ ¸ñ·ÏÀ» º¸½Ã·Á¸é, ´ÙÀ½ URL¿¡¼­ Red Hat Çϵå¿þ¾î ȣȯ¼º ¸ñ·ÏÀ» ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù:

http://hardware.redhat.com/hcl/

B.1.2. °¨½Ã Àü¿ø ½ºÀ§Ä¡ ¼³Á¤Çϱâ

Ŭ·¯½ºÅÍ µ¥ÀÌÅÍÀÇ ¹«°á¼ºÀ» º¸È£Çϱâ À§ÇÏ¿© °¨½Ã ŸÀÌ¸Ó (Watchdog timer)¸¦ »ç¿ëÇÏ´Â ¿¹°¡ 1.1.3 Àý¿¡ ³ª¿Í ÀÖ½À´Ï´Ù. ÀÌ ºÎºÐ¿¡ ¼³¸íµÈ °Íó·³, °¨½Ã ŸÀ̸ӿ¡´Â 2 °¡Áö Á¾·ù°¡ ÀÖ½À´Ï´Ù: Çϵå¿þ¾î ±â¹Ý°ú ¼ÒÇÁÆ®¿þ¾î ±â¹Ý.

´ÙÀ½Àº Ŭ·¯½ºÅÍ Çϵå¿þ¾î ¼³Á¤ °úÁ¤¿¡¼­ °¨½Ã ŸÀ̸Ӹ¦ »ç¿ëÇϴµ¥ ÇÊ¿äÇÑ ¼³Á¤ °úÁ¤À» ÀÚ¼¼È÷ ¼³¸íÇϰí ÀÖ½À´Ï´Ù.

¾î¶°ÇÑ À¯ÇüÀÇ °¨½Ã ŸÀ̸Ӱ¡ »ç¿ëµÇ´ÂÁö¿¡ »ó°ü¾øÀÌ, °¨½Ã ŸÀ̸ӿ¡ ¾Ë¸Â´Â ÀåÄ¡ ÆÄÀÏÀ» ¸¸µå¼Å¾ß ÇÕ´Ï´Ù. ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÏ¿© ÀåÄ¡ ÆÄÀÏÀ» ¸¸µå½Ç ¼ö ÀÖ½À´Ï´Ù:

cd /dev
./MAKEDEV watchdog

Ŭ·¯½ºÅÍ ¼³Á¤ µµ±¸¸¦ »ç¿ë½Ã, Ŭ·¯½ºÅÍ¿¡ »õ·Î Ãß°¡µÇ´Â ±¸¼º¿ø¿¡´Â ±âº»À¸·Î °¨½Ã ±â´ÉÀÌ È°¼ºÈ­µË´Ï´Ù.

B.1.2.1. ¼ÒÇÁÆ®¿þ¾î °¨½Ã ŸÀÌ¸Ó ¼³Á¤Çϱâ

¾Æ¹«·± Àü¿ë Çϵå¿þ¾î°¡ ÇÊ¿äÇÏÁö ¾ÊÀ¸¹Ç·Î, ¸ðµç Ŭ·¯½ºÅÍ ½Ã½ºÅÛ¿¡¼­ ¼ÒÇÁÆ®¿þ¾î °¨½Ã ŸÀ̸Ӹ¦ »ç¿ëÇÏ¿© µ¥ÀÌÅÍÀÇ ¹«°á¼ºÀ» º¸È£ÇÒ ¼ö ÀÖ½À´Ï´Ù. Ŭ·¯½ºÅÍ ¼ÒÇÁÆ®¿þ¾î´Â ÀÚµ¿À¸·Î softdogÀ̶ó°í ºÎ¸£´Â Ä¿³Î ¸ðµâÀ» ·ÎµùÇÕ´Ï´Ù.

¸¸ÀÏ Å¬·¯½ºÅͰ¡ ¼ÒÇÁÆ®¿þ¾î °¨½Ã ŸÀ̸Ӹ¦ »ç¿ëÇϵµ·Ï ¼³Á¤µÇ¾îÀÖ´Ù¸é, Ŭ·¯½ºÅÍ ±¸¼º¿ø µ¥¸ó (clumembd)Àº Á¤ÇØÁø Áֱ⸶´Ù ½Ã°£ °£°ÝÀ» Àç¼³Á¤ÇÕ´Ï´Ù. ¸¸ÀÏ clumembd µ¥¸óÀÌ Å¸À̸Ӹ¦ Àç¼³Á¤Çϴµ¥ ½ÇÆÐÇÑ´Ù¸é, ½ÇÆÐÇÑ Å¬·¯½ºÅÍ ±¸¼º¿øÀ» ½º½º·Î ÀçºÎÆÃÇÕ´Ï´Ù.

¼ÒÇÁÆ®¿þ¾î °¨½Ã ŸÀ̸Ӹ¦ »ç¿ë½Ã ¼ÒÇÁÆ®¿þ¾î °¨½Ã ½º·¹µå°¡ ½ÇÇàµÇÁö ¾Ê¾Æ ½Ã½ºÅÛÀÌ ¸ØÃâ ¼ö ÀÕ´Â ÀÛÀº À§Çè ºÎ´ãÀÌ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ °æ¿ì¿¡´Â, ´Ù¸¥ Ŭ·¯½ºÅÍ ±¸¼º¿øÀÌ ¸ØÃá Ŭ·¯½ºÅÍ ±¸¼º¿øÀÇ ¼­ºñ½º¸¦ À̾î¹Þ¾Æ ½ÃÀÛÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î ÀÌ·¯ÇÑ ÀÛ¾÷Àº ¾ÈÀüÇÏÁö¸¸, ¸ØÃá Ŭ·¯½ºÅÍ ±¸¼º¿øÀÌ ´Ù½Ã ÀÛ¾÷À» ½ÃÀÛÇÏ°ÔµÇ¸é µ¥ÀÌÅÍ¿¡ ¼Õ»óÀ» ÁÙ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¼ÒÇÁÆ®¿þ¾î °¨½Ã ŸÀ̸Ӹ¦ »ç¿ë½Ã ¹®Á¦ ¹ß»ý È®À²À» ÁÙÀ̱â À§Çؼ­ °ü¸®ÀÚ´Â NMI °¨½Ã ŸÀ̸ӵµ ÇÔ²² ¼³Á¤ÇϽô °ÍÀÌ ÁÁ½À´Ï´Ù.

B.1.2.2. NMI °¨½Ã ŸÀÌ¸Ó È°¼ºÈ­Çϱâ

µ¥ÀÌÅÍ ¹«°á¼º º¸È£¸¦ À§ÇØ ¼ÒÇÁÆ®¿þ¾î °¨½Ã ŸÀ̸Ӹ¦ »ç¿ëÇϽŴٸé, Non-Maskable Interrupt (NMI) °¨½Ã ŸÀ̸Ӹ¦ Ȱ¼ºÈ­ÇÏ¿© º¸´Ù È®½ÇÇÑ µ¥ÀÌÅÍ ¹«°á¼ºÀ» º¸ÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. NMI °¨½Ã ŸÀ̸Ӵ ÀÎÅÍ·´Æ®°¡ ¸·Çô ½Ã½ºÅÛÀÌ ¸ØÃß¾úÀ» ¶§, ½Ã½ºÅÛÀ» ÀçºÎÆÃÇÏ´Â ´Ù¸¥ ¸ÞÄ«´ÏÁòÀÔ´Ï´Ù. ÀÌ NMI °¨½Ã ŸÀ̸Ӵ ¼ÒÇÁÆ®¿þ¾î °¨½Ã ŸÀÌ¸Ó¿Í º´ÇàÇÏ¿© »ç¿ëÀÌ °¡´ÉÇÕ´Ï´Ù.

Ŭ·¯½ºÅÍ Quorum µ¥¸ó (cluquorumd)¿¡ ÀÇÇØ Àç¼³Á¤µÇ´Â ¼ÒÇÁÆ®¿þ¾î °¨½Ã ŸÀ̸ӿʹ ´Ù¸£°Ô, NMI °¨½Ã ŸÀ̸Ӵ ½Ã½ºÅÛ ÀÎÅÍ·´Æ®¸¦ °è»êÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î ¹®Á¦°¡ ¾ø´Â ½Ã½ºÅÛÀº ÀÏÃÊ¿¡ ¼ö¹é°³ÀÇ ÀåÄ¡ ¹× ŸÀÌ¸Ó ÀÎÅÍ·´Æ®¸¦ ¹Þ½À´Ï´Ù. ¸¸ÀÏ 5ÃÊ ³»¿¡ ¾Æ¹«·± ÀÎÅÍ·´Æ®°¡ ¾ø´Ù¸é, ½Ã½ºÅÛÀÌ ¸ØÃß°í NMI °¨½Ã ŸÀ̸Ӱ¡ ¸¸·áµÇ¾î ½Ã½ºÅÛÀ» Àç½ÃÀÛÇÕ´Ï´Ù.

¼ÒÇÁÆ®¿þ¾î °¨½Ã ŸÀ̸Ӹ¦ »ç¿ëÇÏ¿© Ŭ·¯½ºÅÍ quorum µ¥¸óÀÇ »óŸ¦ °¨½ÃÇϰí NMI °¨½Ã¸¦ ÅëÇØ Àú¼öÁØ ½Ã½ºÅÛ »óÅ Á¡°ËÀ» ÅëÇÏ¿© °­·ÂÇÑ µ¥ÀÌÅÍ ¹«°á¼º º¸È£ ¼Ö·ç¼ÇÀ» ±¸ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù.

NMI °¨½Ã ŸÀÌ¸Ó ¸ÞÄ¿´ÏÁòÀ» Á¤»óÀûÀ¸·Î ÀÛµ¿Çϱâ À§Çؼ­´Â Ŭ·¯½ºÅÍ ±¸¼º¿øÀÇ ¸ÞÀÎ ½Ã½ºÅÛ º¸µå¿¡ APIC ĨÀÌ ÀÖ¾î¾ß ÇÕ´Ï´Ù.

NMI °¨½Ã ŸÀ̸Ӵ Áö¿øÇÏ´Â ½Ã½ºÅÛ¿¡¼­ Ä¿³Î¿¡ nmi_watchdog=1 ¿É¼ÇÀ» Ãß°¡ÇÏ´Â ¹æ¹ýÀ¸·Î Ȱ¼ºÈ­½Ãų ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½Àº ¿¹½Ã /etc/grub.conf ÆÄÀÏÀÔ´Ï´Ù:

¾Ë¸²¾Ë¸²
 

´ÙÀ½ GRUB°ú LILO ºÎÆ®·Î´õ ¼³Á¤Àº Red Hat Enterprise LinuxÀÇ x86 ±¸Á¶¿¡¸¸ Àû¿ëµË´Ï´Ù.

# grub.conf
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title HA Test Kernel (2.4.9-10smp)
        root (hd0,0)
        # This is the kernel's command line.
        kernel /vmlinuz-2.4.9-10smp ro root=/dev/hda2 nmi_watchdog=1

# end of grub.conf

LILO¸¦ »ç¿ëÇÏ´Â ½Ã½ºÅÛ¿¡¼­´Â, ´ÙÀ½°ú °°ÀÌ /etc/lilo.conf ÆÄÀÏ¿¡¼­ append ºÎºÐ¿¡ "nmi_watchdog=1"À» Ãß°¡ÇϽʽÿÀ:

# lilo.conf
prompt
timeout=50
default=linux
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
lba32

image=/boot/vmlinuz-2.4.9-10smp
        label=linux
        read-only
        root=/dev/hda2
        append="nmi_watchdog=1"

# end of lilo.conf

/etc/lilo.conf ÆÄÀÏÀ» ¼öÁ¤ÇϽŠÈÄ¿¡´Â º¯°æ »çÇ×ÀÌ Àû¿ëµÇµµ·Ï /sbin/lilo ¸í·ÉÀ» ½ÇÇàÇϽñ⠹ٶø´Ï´Ù.

¼­¹ö°¡ NMI °¨½Ã ŸÀ̸Ӹ¦ Áö¿øÇÏ´ÂÁö ¾Ë¾Æº¸½Ã·Á¸é, ¸ÕÀú ¾Õ¿¡¼­ ¼³¸íµÈ °Íó·³ Ä¿³Î ¸í·ÉÇà¿¡ "nmi_watchdog=1"À» Ãß°¡ÇϽʽÿÀ. ½Ã½ºÅÛÀÌ ºÎÆÃÇϸé, ·çÆ® »ç¿ëÀÚ·Î ·Î±×ÀÎÇϽŠÈÄ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇϽʽÿÀ:

cat /proc/interrupts

´ÙÀ½°ú °°Àº °á°ú°¡ Ãâ·ÂµÉ °ÍÀÔ´Ï´Ù:

           CPU0       
  0:    5623100          XT-PIC  timer
  1:         13          XT-PIC  keyboard
  2:          0          XT-PIC  cascade
  7:          0          XT-PIC  usb-ohci
  8:          1          XT-PIC  rtc
  9:     794332          XT-PIC  aic7xxx, aic7xxx
 10:     569498          XT-PIC  eth0
 12:         24          XT-PIC  PS/2 Mouse
 14:          0          XT-PIC  ide0
NMI:    5620998       
LOC:    5623358 
ERR:          0
MIS:          0

°ü·ÃÀÖ´Â ºÎºÐÀº ¿ÞÂÊ¿¡ º¸ÀÌ´Â NMI id ÀÔ´Ï´Ù. ¸¸ÀÏ NMI °ªÀÌ 0 º¸´Ù Å©¸é, ¼­¹ö´Â NMI °¨½Ã ŸÀ̸Ӹ¦ Áö¿øÇÕ´Ï´Ù.

¸¸ÀÏ ÀÌ ¹æ¹ýÀÌ ¼Ò¿ë¾øÀ¸¸é, Áï NMIÀÌ 0À̸é, ¾Õ¿¡¼­ ¼³¸íµÈ ¹æ¹ýó·³ Ä¿³Î¿¡ nmi_watchdog=1 ´ë½Å nmi_watchdog=2 ¿É¼ÇÀ» Àü´ÞÇØ º¸½Ê½Ã¿À. ´Ù½Ã Çѹø, ½Ã½ºÅÛ ºÎÆÃ ÈÄ /proc/interrupts ÆÄÀÏÀ» È®ÀÎÇϽñ⠹ٶø´Ï´Ù. ¸¸ÀÏ NMIÀÇ °ªÀÌ 0º¸´Ù Å©´Ù¸é, NMI °¨½Ã ŸÀ̸Ӱ¡ ÀûÀýÈ÷ ¼³Á¤µÈ °ÍÀÔ´Ï´Ù. ¸¸ÀÏ NMI°¡ 0À̶ó¸é, ½Ã½ºÅÛÀº NMI °¨½Ã ŸÀ̸Ӹ¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.

B.1.2.3. Çϵå¿þ¾î °¨½Ã ŸÀÌ¸Ó ¼³Á¤Çϱâ

Ä¿³ÎÀº ´Ù¾çÇÑ À¯ÇüÀÇ Çϵå¿þ¾î °¨½Ã ŸÀ̸ӿ¡ ´ëÇÑ µå¶óÀ̹ö Áö¿øÀ» Á¦°øÇÕ´Ï´Ù. ±× Áß ÀϺΠŸÀ̸ӵéÀº ½Ã½ºÅÛ º¸µå¿¡¼­ ¹Ù·Î ½ÇÇàµÇÁö¸¸, ¹Ý¸é ±× ¿Ü ´Ù¸¥ ŸÀ̸ӵéÀº PCI Ä«µå¿Í °°ÀÌ º°°³ÀÇ Çϵå¿þ¾î ±¸¼º ¿ä¼ÒÀÔ´Ï´Ù. Çϵå¿þ¾î ±â¹Ý °¨½Ã ŸÀ̸Ӵ ½Ã½ºÅÛ ÇÁ·Î¼¼¼­¿Í ¹«°üÇÏ°Ô ½ÇÇàµÇ¸ç ½Ã½ºÅÛÀÌ ¸ØÃß¾úÀ»¶§ ¿Ïº®ÇÏ°Ô »ç¿ëµÉ ¼ö Àֱ⿡, Ŭ·¯½ºÅÍ¿¡¼­ ¾ÆÁÖ ¶Ù¾î³­ µ¥ÀÌÅÍ ¹«°á¼ºÀ» º¸ÀåÇÕ´Ï´Ù.

Àú¼öÁØ Çϵå¿þ¾î °¨½Ã ŸÀ̸ÓÀÇ ±¸¼º ¿ä¼Òµé¿¡ °øÅëÁ¡ÀÌ ¾ø¾î¼­, ÀüüÀûÀ¸·Î ¾î´À ½Ã½ºÅÛ¿¡ ±×·± ±¸¼º ¿ä¼Ò°¡ ÀÖ´ÂÁö ¾ø´ÂÁö È®ÀÎÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇϱâ Èûµì´Ï´Ù. ¸¹Àº Àú¼öÁØ Çϵå¿þ¾î °¨½Ã ŸÀÌ¸Ó ±¸¼º ¿ä¼ÒµéÀº Ç¥½ÃµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù.

Ä¿³ÎÀÌ Áö¿øÇÏ´Â °¨½Ã ŸÀ̸Ӹ¦ ¼³Á¤ÇϽǶ§, /etc/modules.conf ÆÄÀÏ¿¡ »óÀÀÇÏ´Â Ç׸ñÀ» ÀÔ·ÂÇÏ¼Å¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, Intel-810 ±â¹Ý TCO °¨½Ã ŸÀ̸Ӹ¦ »ç¿ëÇÏ´Â °æ¿ì, ´ÙÀ½°ú °°Àº ÁÙÀ» /etc/modules.conf ÆÄÀÏ¿¡ Ãß°¡ÇÏ¼Å¾ß ÇÕ´Ï´Ù:

alias wdt i810-tco