이번 글은 요즘 핫한 PaaS 솔루션인 OpenShift Online 에 대한 내용 입니다.
아시는 분들도 있을지 모르겠지만??? 

OpenShift Online 가 체험판 격인 제품이 있어서 무료로 이용을 할 수 있답니다. ( 물론 작은 규모용 이죠 )

우선 아래의 링크를 클릭합니다.
Link : https://www.openshift.com/devpreview/register.html

웹페이지가 열리면 “LOGIN WITH RED HAT” 를 클릭 합니다. ( 계정 생성을 해야겠죠? )

 

위에 보시면 아시겠지만…
일반 계정을 생성하셔도 되지만… 그 외 SNS 계정과의 연동도 가능 합니다.
만약 위의 SNS 계정이 있으시다면 연동을 해 보세요.

계정 생성이 완료되고 email 확인까지 끝나면 이제 상품 신청이 가능 해 진답니다.

메뉴가 2가지네요.
Starter 버전과 Pro 버전 보시면 아시겠지만 Starter 은 FREE 버전이며 Pro 버전은 실제 서비스를 하기위한
상품 이라고 보시면 됩니다.
일단 맛 보기??? 이므로 FREE 를 선택 합니다.

그리고 Cluster/Region 을 선택 합니다.
한국 Region 이 있으면 좋겠지만… US Ease, US West 밖에 없군요.
전 US East(Virginia) 를 선택 합니다.

최종적으로 신청한 내역을 화인하고 Confirm 을 누릅니다. ( 일부 내용이 변경 되었습니다. )
이 경우 메일로 계정 활성화 정보가 날라올 것입니다.

계정 활성화가 되면…
콘솔 화면에 로그인을 할 수 있습니다.

 

 

 

 

 

이 후 프로젝트를 생성하고 서비스를 디플로이 할 수 있습니다. ( 기존 오픈 쉬프트와 거의 유사해요. )
리소스가 작아서 큰 서비스는 사용 할 수 없지만.

테스트 용도 또는 오픈쉬프트에 대한 확인 용도로 충분 하리라 생각 됩니다.

 

 

 

 

 

이번 포스팅은 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

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

SNS 에서 netdata 관련 포스팅을 보고 급… 궁금해져서 설치를 진행 함.

요즘은 좋은 세상이라???  힘들게 컴파일 하지 않아도 되는???
컨테이너란 편리한 실행 방법이 있음.

관련 내용 : https://hub.docker.com/r/titpetric/netdata/

실행 방법 : ( RHEL7, CentOS7 기준 )

# yum install docker -y
>> docker 를 설치 함.
# systemctl start docker
>> docker 서비스 실행
# docker run -d --cap-add SYS_PTRACE -v /proc:/host/proc:ro -v /sys:/host/sys:ro -p 19999:19999 titpetric/netdata
>> docker 가 구동되어 있는 상태에서 위의 명령어를 입력하면 docker image 를 먼저 pull 하고  컨테이너를 run 함.
# docker ps -a
>> 실행 상태 확인

docker 컨테이너가 실행 되었다면 브라우져에서 아래의 주소로 접속

http://$(ip):19999
ex)
http://192.168.10.2:19999

 

페이지가 접속되면 아래와 같은 화면을 볼 수 있음.

호스트에 대한 전체 리소스 사용량

현재 docker 로 구동된 컨테이너 자원 사용량

kvm 기반 windows vm 자원 사용량

 

netdata 관련 정보 모음

표출 가능한 정보들 : 
Link : https://github.com/firehol/netdata

netdata 관련 Demo 모음 : 
Link : https://github.com/firehol/netdata/wiki

그 외 추가 가능한 챠트들을 제공함.
Link : https://github.com/firehol/netdata/wiki/Add-more-charts-to-netdata

마지막으로 시스템별 netdata 설치 방법 안내 :
Link :  https://github.com/firehol/netdata/wiki/Installation

 

 

아래의 문구가 출력되면서 Tvheadend-Testing 버전이 설치가 안 되는 경우?

Tvheadend-Testing :
이 패키지에 대해 구성된 포트 undefined이(가) 다른 서비스에서 사용 중이거나 시스템 용도로 예약되어 있습니다.
충돌하는 서비스를 비활성화 또는 수정하거나 개발자에게 연락하여 패키지 구성을 수정하십시오.

검색 결과??? 기존에 파일이 정상적으로 삭제가 되지 않아 문제가 된 것으로 추측됨.

# pwd
/usr/local/etc/services.d

# cat tvheadend-testing.sc
[tvheadend]
title=”Tvheadend-Testing”
desc=”Tvheadend-Testing”
port_forward=”yes”
dst.ports=”9981,9982/tcp”

위 파일을 삭제 하면 해결됨.

 

RHEL7(CentOS7) 기반의 grub2 의 사용법에 대해서 간단히 알아 보려고 한다.

 

1. grub2 의 커널 파라미터 설정(CMDLINE) 

기존에는 /etc/grub.conf or /boot/grub/grub.conf 를 수정해야 했으나 grub2 에서는 아래의 파일에 내용을 수정한다.

file : /etc/default/grub

 
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="vconsole.font=latarcyrheb-sun16 vconsole.keymap=ko crashkernel=256M

위 내용을 수정하고 아래 명령어를 실행 한다.

 

# grub2-mkconfig -o /boot/grub2/grub.cfg
 
Found linux image: /boot/vmlinuz-3.10.0-514.26.2.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-514.26.2.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-514.10.2.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-514.10.2.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-89f67b9113e64947ab85be3002ef89c9
Found initrd image: /boot/initramfs-0-rescue-89f67b9113e64947ab85be3002ef89c9.img

grub2-mkconfig 명령을 실행하면 위 /etc/default/grub 에 설정한 내용을 기반으로 모든 커널 라인에 해당 설정을 적용 해 준다.

 

2.  Default 커널 버전을 어떻게 설정 하는가?

우선 아래의 명령으로 커널 버전별 엔트리 및 인덱스 넘버를 확인 합니다.

 

 
# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub2/grub.cfg

0 : CentOS Linux (4.12.2-1.el7.elrepo.x86_64) 7 (Core)
.
.
4 : CentOS Linux (3.10.0-514.26.2.el7.x86_64) 7 (Core)
5 : CentOS Linux (3.10.0-514.10.2.el7.x86_64) 7 (Core)
6 : CentOS Linux (0-rescue-89f67b9113e64947ab85be3002ef89c9) 7 (Core)

기본 항목은 / etc / default / grub 파일의 GRUB_DEFAULT 행에 의해 정의됩니다.
그러나 GRUB_DEFAULT 행이 saved로 설정되면 매개 변수는 / boot / grub2 / grubenv 파일에 저장됩니다.

# grub2-editenv list
 saved_entry=0

/boot/grub2/grubenv 파일은 수동으로 편집 할 수 없습니다. 아래의 명령어를 사용 하시기 바랍니다.

# grub2-set-default 2    <== 설정
# grub2-editenv list  <== 확인
saved_entry=2   <== 설정 결과

설정이 완료되면 reboot 을 합니다. 위에서 지정한 커널 버전으로 부팅 된 것을 확인 할 수 있습니다.

 

참고 : 
Link : https://wiki.centos.org/HowTos/Grub2

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