드디어 기다리고 기다리던 RHEL7.5 릴리즈 되었네요

 RHEL 7.5 는 향상된 보안 및 규정 준수, 규모에 따른 사용, 윈도우즈 인프라 및 마이크로 소프트
Azure와의 지속적인 통합, 스토리지 비용 제어에 대한 새로운 기능 등 이 포함 되었다고 하네요.

업데이트 관련 자세한 내용은 아래의 링크에서 확인 가능 합니다.

RHEL 7.5  : [ C L I C K ]
Release Note : [ Release note ]

위 RHEL 7.5버전은 http://access.redhat.com 에서 다운로드 가능 합니다.

이번 포스팅은 Red Hat 의 지원 서비스에 대해서 입니다.

Log Reaper 라고…
쉽게 얘기하면 Log 분석 툴??? 정도 될까요? ( 해결 방법까지 제시를 해 줍니다. )

해당 툴은 아래의 로그 포멧을 지원 합니다.

  • Syslog (/var/log/messages)
  • Log4j logs (JBoss, RHEVM, ect..)
  • LSOF output
  • Apache access
  • VDSM logs

Link : https://access.redhat.com/labs/logreaper/

Link : https://access.redhat.com/labsinfo/logreaper

해당 툴은 서브스크립션 고객에 한하여 제공되는 서비스 입니다.

RHEL 제품에 대한 패치 버전중? z-stream 이 의미하는게 뭘까?
대충 짐작은 가지만??? 자세하게 알길이 없으니…

——————————————————————————————————————–
EUS streams are numbered X.Y.Z, where X is the major release number
Y is the minor release supported by the EUS stream, and Z signifies that
it is an EUS stream.
——————————————————————————————————————–
Link : https://www.redhat.com/f/pdf/rhel/LIFECYCLE_EUS_Datasheet_22_DEC.pdf

문서를 찾아 보던중… 위와 같은 내용을 발견했다.
X.Y.Z 라는 체계를 가져가며… X 는 메이져 번호, Y 는 마이너 번호 , Z 가 붙어 있으면…
EUS 버전이라는 뜻? 이라고 한다.

그리고 메이져, 마이너, 비동기 에레타? 에 대한 비교 자료도 함께 첨부 한다.
What’s the difference between a major, minor, and asynchronous release?
Link : https://access.redhat.com/solutions/401413

일반적인 경우엔 사용 할 일이 없겠지만.
피치 못할 사정으로 특정  CPU 이하로 사용해야 되는 경우가 발생 할 수 있다.
이런 경우??? 사용하는 방법…

우선 CPU 에 대한 정보 확인 해보자.

# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
core id : 0
cpu cores : 6
apicid : 0
initial apicid : 0
.
.
.
processor : 11
1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt
bogomips : 4200.00
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual

# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 12
On-line CPU(s) list: 0-11
Thread(s) per core: 2
Core(s) per socket: 6
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 62
Model name: Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz
Stepping: 4
CPU MHz: 1899.761
BogoMIPS: 4200.00
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 15360K
NUMA node0 CPU(s): 0-11

위 내용 중 6-11 번까지 논리적인 CPU 쓰레드를 활성/비활성화 시키고 싶은경우 아래의 명령을 실행

### Disable
# echo 0 > /sys/devices/system/cpu/cpu6/online

.
.
echo 0 > /sys/devices/system/cpu/cpu11/online 

or

# chcpu -d 6,7,8,9,10,11
CPU 6 disabled
CPU 7 disabled
CPU 8 disabled
CPU 9 disabled
CPU 10 disabled
CPU 11 disabled

### Enable
# echo 1 > /sys/devices/system/cpu/cpu6/online
.
.
echo 1 > /sys/devices/system/cpu/cpu11/online 

or

# chcpu -e 6,7,8,9,10,11
CPU 6 enabled
CPU 7 enabled
CPU 8 enabled
CPU 9 enabled
CPU 10 enabled
CPU 11 enabled

위 명령은 OS 를 재 부팅 하게되면 초기화 되며 /etc/rc.local 등에 넣어서 사용하는게 좋다.

그리고 만약 장기적으로 특정 갯수 이하로 CPU 갯수를 비 활성화 해야 되는경우 아래의 방법을 사용하면 된다.

file : /etc/grub.conf
kernel 해당 라인에 maxcpus=??? 갯수를 입력하고 재부팅 하면 된다.

ex)
kernel /boot/vmlinuz-2.6.13 root=/dev/sda1 ro maxcpus=2

해당 시스템은 RHEL6.6 버전이 설치되어 있으며 RHCS 구성을 위하여
관련 패키지만 RHEL6.8 버전으로 설치해 놓은 상황

RHCS 를 다 구성하고 cman_tool version -r 으로 설정 동기화를 실행 하였으나
아무런 반응이 없고 멈춰있는 상태?

원인을 찾던중 아래와 같은 문서를 발견.

A cluster node cannot be added to luci and ccs_sync is not propagating the /etc/cluster/cluster.conf
Link : https://access.redhat.com/solutions/2471081

내용을 보면 ricci-0.16.2-86.el6(RFE: ricci should accept only TLSv1.2 and exclude RC4) 버전이
openssl, nss(nss-3.21.0-8.el6 or later) 에 대해서도 RHEL 6.8 에 포함된 버전으로 업데이트를
진행해야 한다고 함.

대략 난감으로… ricci 버전을 RHEL6.6 버전으로 다운 그레이드.
대박~!
정상 작동 함.

 

문제 :
RHEL6 에서 sosreport 를 실행 시킬경우 iptables 이 활성화 되면서 최악의 경우엔 /var/log/messages 파일
에아래와 같은 메시지가 발생.

내용 : 

“nf_conntrack: table full, dropping packet” <== 해당 메시지

위 메시지로만 보면 nf_contrack table 이 Full 이 되어 packet drop 이 발생된다는 내용으로
사용자는 iptables 를 활성화 한 적이 없으나? 

왜? iptables 이 활성화 되고 “nf_conntrack: table full, dropping packet” 메시지가 발생 되는지?

이해하기 힘들 것이다.

관련 내용을 찾아 보던 중 RHE6.4 에서 관련 Bug 가 확인 되었다.
Link : https://bugzilla.redhat.com/show_bug.cgi?id=980390

 RHEL6.4 환경에서 openswan 패키지가 설치되어 있고 sosreport 를 실행하게되면
sosreport 의 openswan plugin 이 실행 되면서 iptables 이 활성화 되는 문제점.

관련 내용은 위의 bugzilla 를 참고.

해결 발법 : 

1. openswan 패키지 삭제 
해당 패키지가 설치되어 있는 환경에서 sosreport 실행될때 iptables 작동으로 인한 nf_conntrack 모듈이 활성화 됨.
 
방법 : 
# rpm -e openswan-xxx
 
*) 해당 시스템에서 해당 패키지 사용 여부 확인 후 조치 필요
 
2. sos 패키지 업데이트
 
위 버그에 의해서 openswan 이 설치되어 있는 환경에서 sosreport 를 수행하게되면 iptables 가 작동되어 nf_conntrack 모듈이 활성화 됨.
 
방법 : 
# rpm -Uvh sos-xxx.rpm
 
3. /etc/sos.conf 상에 openswan plugin 비 활성화
sosreport 수행할 때 openswan plugin 을 수행하지 않도록 조치
 
방법 : 
# vi /etc/sos.conf

[plugins]
disable = <pluginA>, <pluginB>, <pluginC>
확인 :
# sosreport --list-plugin
 
4. nf_conntrack 모듈을 blacklist 처리
 
해당 모듈을 지속적으로 활성화 되지 않도록 조치
 
 

# vi /etc/modprobe.d/blacklist.conf

 
~~~ 생략
install nf_conntrack /bin/false  <=== 끝에 추가
 
관련 KBase 는 다음과 같습니다.
 
How do I blacklist a kernel module to prevent it from loading automatically?

튜닝 혹은??? 여러가지 설정을 할때 ethtool 명령을 사용하게 된다.

그런데… ethtool 옵션에 대하여 rebooting 을 할때? 혹은 network restart 할때도 적용 시키고
싶을땐 어떻게 해야될까?

찾아보니??? 아래와 같은 방법이 있더라는…

우선 network 서비스 스크립트를 확인 해 볼 필요가 있다.

file : /etc/sysconfig/network-scripts/ifup-eth ( CentOS7.2 기준 )

    335 exec /etc/sysconfig/network-scripts/ifup-post ${CONFIG} ${2}

 CentOS7.2 버전의 경우 335번째 라인에 위와 같은 내용이 포함되어 있다.

ifup-post 를 호출하는??? 

그럼 ifup-post 에 어떤 내용이 들어 있을까?

file : /etc/sysconfig/network-scripts/ifup-post ( CentOS7.2 기준 )

    101 # Notify programs that have requested notification
    102 do_netreport
    103 
    104 if [ -x /sbin/ifup-local ]; then
    105     /sbin/ifup-local ${DEVICE}
    106 fi

엇??? Default 로는 ifup-local 파일이 없는뎅?

심지어 실행까지 하네???

여기서 확인해볼 내용은 아래의 Red Hat 문서 되시겠다.

Link : https://access.redhat.com/solutions/8694 ( RHN ID 필요 )

해당 문서에는 이렇게 언급되어 있다.

네트워크가 ifup 되고 스크립트 또는 프로그램을 실행 시키고 싶을땐 어떻게 하나요?

그렇다… ifup-local 파일은 이런 이유로 사용 될 수 있다.

파일의 예제는 아래처럼?

#!/bin/bash
if [ "$1" == "bond0" ]; then
  /sbin/ethtool -G eth0 rx 1024 tx 1024
  /sbin/ethtool -G eth1 rx 1024 tx 1024
fi

위 예제는 bond0 인터페이스의 slave 인터페이스인 eth0, eth1 에 대한 rx, tx  링 버퍼 사이즈 값을
설정 한 예제이다.

여기에 설정을 하면 network 인터페이스가 ifup 되면서 ifup-local 파일도 함께 실행 시켜줄 것이다.

끝.

Oracle 관련하여 RAC를 사용 할 경우 ASM 패키지가 필요한 경우가 발생한다.
도대체? 패키지를 어디서 받아야 되지? 누가 지원 해주는거야?
라는 질문을 하는경우가 발생된다.

관련하여 아래의 사이트를 먼저 참고해 보기 바란다.

Oracle ASMLib Availability and Support
Link : https://access.redhat.com/solutions/315643

Oracle ASMLib Downloads for Red Hat Enterprise Linux 6
Link : http://www.oracle.com/technetwork/server-storage/linux/asmlib/rhel6-1940776.html

No kmod-oracleasm package available with the 6.6 kernel.
Link : https://access.redhat.com/solutions/698613

위의 내용대로 “kmod-oracleasm” 패키지는 RHEL 같은경우 의 레포지토리에서 제공을 하지만 “Supplementary software package”  로 Red Hat 에서 게런티를 하지 않는다고 한다.

Note that the ASMLib kernel module package ABIs are not guaranteed per Red Hat’s Supplementary software package support terms as stated athttps://access.redhat.com/support/offerings/production/scope_moredetail.html.

그럼 이만.

이 사건의 발단은 RHEL 6.6 환경에서 RHCS 의 luci 를 구동하는 과정에서 발생이 되었다.
이때는 luci 가 오픈되지 않아 구성을 다른 방법으로 해야되나… 고민까지 하는 상황이었다.
뭐… 물론 luci 가 없으면 구성을 못 하는건 아니지만 luci 를 통해서  확인해야되는 설정이 있
었다고나 할까?

자…

sslv3_issue

페이지를 열려고 하였으나…
실패…ㅠㅠ

 

sslv3_issue_log

luci 관련 로그는 인증서에 대한 경고를 한다.
어쩌란건지?

 

 

sslv3_issue_Resoultion

인터넷을 찾아본 결과 위와 같은 옵션을 변경해주면 luci 의 ssl 페이지가 열리더라.
관련 내용 : https://wiki.mozilla.org/SecurityEngineering/Certificate_Verification

짧은 영어 실력으로 보면…
firefox 의 Verification Library 의 Default 라이브러리가 지정됨으로 인해서 발생 된 것으로
보인다. 자세한 내용은 위의 링크를 참고 하길…