구체적인 내용이 다를 수도 있으나, 기술해주신 문제 내용과 이전에 유사 사 
례를 바탕으로 판단해보면 동일 이슈로 판단됩니다.

이러한 동작은 RFC 1812의 46-49, 55, 90 페이지에 기술되어있는 표준 반응 
이며, 커널 파라미터인  rp_filter(Reverse Path Filtering)를 disable 하시 
면 문제없이 데이터를 받으실 수 있습니다.

rp_filter는 Source IP를 검증(validation)하는 기능으로, Multicast 패킷 
의 Source IP 주소가 있는 Subnet과 이에 대해 응답하는 인터페이스의 Subnet 
이 다를 경우, 해당 패키지를 Drop하는 역할(필터)를 수행합니다.

특히 Red Hat Enterprise Linux 6에서는 이 필터의 룰이 보다 엄격해졌고, 
파라미터 값도 조금씩 차이가 있습니다. 다음과 같이 적용하신 후에 네트워크 
를 재시작하여 테스트 해보시기 바랍니다.

# vi /etc/sysctl.conf
net.ipv4.conf.default.rp_filter = 2
# sysctl -p
# service network restart

'Linux 이야기. > LInux Article.' 카테고리의 다른 글

Linux Shared Memory에 대한 Handling  (0) 2012.05.25
Linux Memory 매니지먼트  (0) 2012.05.14
Linux Memory의 상태를 분석하라  (0) 2012.05.11
OpenStack RedHat Contribution  (0) 2012.04.19
RHEL6에서 Bonding 하기  (0) 2012.02.29
앞장에서 FCP 영역에 대한 SCSI 디스크들을 모두 Remove 했다면.. 그와 관련된 FCP 디바이스들에 대한

Sysfs들 모두를 Remove 해줄 필요도 있다...굳이 재부팅 하지 않아도 된다는...^^

===================================================================

#!/bin/sh
#
# ------------------------------------------------------------------
# | REMOVES ALL ZFCP-RELATED SYSFS ENTRIES |
# | |
# | Author: Marc Beyerle (marc.beyerle@de.ibm.com), 12/12/2008 |
# | Copyright IBM Corp. 2008 |
# ------------------------------------------------------------------

SYSFS_DIRECTORY="/sys/bus/ccw/drivers/zfcp"

if [ -e "${SYSFS_DIRECTORY}" ]; then
 
   # change to the sysfs directory containing all zfcp adapters
     cd "${SYSFS_DIRECTORY}"
 
 # find all zfcp adapters
   ADAPTERS=$(find . -maxdepth 1 -name "0.0.*" | cut -c 3-)
else
   # the sysfs directory for the zfcp adapters does not exist
   ADAPTERS=""
fi

if [ -z "${ADAPTERS}" ]; then
   # print information
   echo -e "\nNo zfcp adapters found."
fi

# iterate over all zfcp adapters found
for ADAPTER in ${ADAPTERS}; do
    # change to this zfcp adapter's directory
    cd "${SYSFS_DIRECTORY}/${ADAPTER}"

# print information
echo -e "\nNow removing all sysfs entries of zfcp adapter ${ADAPTER}."

# find all wwpns of this zfcp adapter
WWPNS=$(find . -maxdepth 1 -name "0x*" | cut -c 3-)

if [ -z "${WWPNS}" ]; then
   # print information
   echo "No WWPNs found for zfcp adapter ${ADAPTER}."
fi

# iterate over all wwpns found
for WWPN in ${WWPNS}; do
   # change to this wwpn's directory
cd "${SYSFS_DIRECTORY}/${ADAPTER}/${WWPN}"

# find all luns of this wwpn
LUNS=$(find . -maxdepth 1 -name "0x*" | cut -c 3-)

if [ -z "${LUNS}" ]; then
   # print information
   echo "No LUNs found for WWPN ${WWPN}."
fi

# iterate over all luns found
for LUN in ${LUNS}; do
   # print information
   echo -n "Removing LUN ${LUN}... "

# remove this lun
echo ${LUN} > unit_remove

 if [ "${?}" -eq "0" ]; then
    # print success message (otherwise the error is printed above)
    echo "OK"
  fi
done

# change (again) to this zfcp adapter's directory
cd "${SYSFS_DIRECTORY}/${ADAPTER}"

# print information
echo -n "Removing WWPN ${WWPN}... "

# remove this wwpn
echo ${WWPN} > port_remove

  if [ "${?}" -eq "0" ]; then
      # print success message (otherwise the error is printed above)
      echo "OK"
  fi
   done
done
# print an empty line
echo
==================================================================

그냥 가져다 써도..잘 작동하네..
일반적인 zLinux의 디스크 운영은 DASD 디스크와 FCP (scsi) 디스크의 혼합해서 운영을 하는 것이 일반적이다.

LVM으로 구성된 SCSI 영역을 Rebooting 없이 SCSI 영역을 Remove 하고..Port 또한 정상적으로  Remove 할수 있는

유용한 스크립트인듯 하다.. (첨부파일 참조)

A.1 Set all SCSI devices offline
File name:

/usr/local/sbin/remove_scsi_devices.sh

A.1 Set all SCSI devices offline

File name:
/usr/local/sbin/remove_scsi_devices.sh

File contents:
#!/bin/sh
#
# ------------------------------------------------------------------
# | REMOVES ALL SCSI DEVICES |
# | |
# | Author: Marc Beyerle (marc.beyerle@de.ibm.com), 12/12/2008 |
# | Copyright IBM Corp. 2008 |
# ------------------------------------------------------------------
#
# the sysfs directory containing all scsi devices
SYSFS_DIRECTORY="/sys/class/scsi_device"

if [ -e "${SYSFS_DIRECTORY}" ]; then
   # change to the sysfs directory containing all scsi devices
   cd "${SYSFS_DIRECTORY}"

  # find all scsi devices
  DEVICES=$(find . -maxdepth 1 | grep -v "^.$" | cut -c 3-)
else
   # the sysfs directory for the scsi devices does not exist
   DEVICES=""
fi

# print an empty line
echo

if [ -z "${DEVICES}" ]; then
   # print information
   echo "No SCSI devices found."
fi

# iterate over all scsi devices found
for DEVICE in ${DEVICES}; do
     # change to this scsi device's directory
     cd "${SYSFS_DIRECTORY}/${DEVICE}/device"

# print information
echo -n "Removing SCSI device ${DEVICE}... "

# remove this scsi device
echo 1 > delete

if [ "${?}" -eq "0" ]; then
   # print success message (otherwise the error is printed above)
   echo "OK"
    fi
done
# print an empty line
echo
====================================================================
스크립트 수행후  lssci 명령어를 수행했을때 SCSI 디스크들이 보이지 않으면 정상..

그냥 가져다가 수행해도..잘 돌아가네..


+ Recent posts