일반적인 경우엔 사용 할 일이 없겠지만.
피치 못할 사정으로 특정  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

튜닝 혹은??? 여러가지 설정을 할때 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 파일도 함께 실행 시켜줄 것이다.

끝.

이번 이슈는 glibc 라이브러리 이슈 입니다.
해당 이슈는 gethostbyname() 과 gethostbyname2() 함수를 호출하는 과정에서 발생되며
해당 취약점을 이용하여 임의의 코드 실행이 가능한 부분 입니다.

관련 자세한 내용은 아래의 링크를 참고 하시기 바랍니다.

Link : http://www.krcert.or.kr/kor/data/secNoticeView.jsp?p_bulletin_writing_sequence=22446
Link : https://www.qualys.com/research/security-advisories/GHOST-CVE-2015-0235.txt
Link : https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0235

관련 해결 방법 :

Link : https://access.redhat.com/articles/1332213
Link : http://www.ubuntu.com/usn/usn-2485-1/
Link :  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=776391
Link : http://lists.centos.org/pipermail/centos/2015-January/149413.html

 

RHEL 환경에서 bonding 을 구성하게되면 아래와같이 ethX 보다도 ethXX 가 먼저 인식되는 경우가 발생된다.

ex)
# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: none
Currently Active Slave: eth12
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth12
MII Status: up
Link Failure Count: 0
Permanent HW addr: x2:x4:00:x0:e8:x0
Slave queue ID: 0

Slave Interface: eth4
MII Status: up
Link Failure Count: 0
Permanent HW addr: x2:x4:00:xd:db:x3
Slave queue ID: 0

이 경우는 script  의 아래의 부분때문에 발생 된다고 한다.
file : /etc/sysconfig/network-scripts/ifup-eth – ( centOS 5.10 기준 )

    138     for device in $(LANG=C grep -l “^[[:space:]]*MASTER=\”\?${DEVICE}\”\        ?\([[:space:]#]\|$\)” /etc/sysconfig/network-scripts/ifcfg-*) ; do
    139             is_ignored_file “$device” && continue
    140             /sbin/ifup ${device##*/}
    141     done

@ 테스트 방법은 아래의 내용을 참고 하세요
#cd /tmp
#for i in $(seq 1 15); do touch ./ifcfg-eth$i; echo “MASTER=” > ./ifcfg-eth$i; done

# LANG=C grep -l “^[[:space:]]*MASTER=\”\?${DEVICE}\”\?\([[:space:]#]\|$\)” ./ifcfg-*
./ifcfg-eth0
./ifcfg-eth1
./ifcfg-eth10
./ifcfg-eth11
./ifcfg-eth12
./ifcfg-eth13
./ifcfg-eth14
./ifcfg-eth15
./ifcfg-eth2
./ifcfg-eth3
./ifcfg-eth4
./ifcfg-eth5
./ifcfg-eth6
./ifcfg-eth7
./ifcfg-eth8
./ifcfg-eth9

위와 같은 경우로 eth4번 보다 eth12 번이  bonding device 에 먼저 인식이 된다.
뭐… 위 방법을 회피 하기 위해서는 아래의 옵션을 사용하라고 하지만…
ex)BONDING_OPTS=”mode=1 miimon=100 primary=eth4 primary_reselect=2

Link : https://bugzilla.redhat.com/show_bug.cgi?id=747418 해당 이슈로 정상 작동하지 않았음.

결론 : ethX 와 ethXX 순서 바뀌는건 bonding 환경에선 어떻게 할 수 없음 ( 개인이 script 를 수정해서 쓰면 몰라도 … )

요 근래 Linux 환경에서 fdisk 를 사용하다보면 아래와 같은 메시지를 보게 된다.

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help):

왜 생기고? 어떻게 처리 해야 될까???
일단 c 와 u 옵션에 대해서 알아보면 아래와 같다.

   c   toggle the dos compatibility flag ( dos 호환 모드 On, Off )
   u   change display/entry units ( cylinders, sectors 모드 변경 )

그리고 해당 이슈와 관련하여 아래의 몇가지 링크를 첨부 한다.
Link : http://www.oracle-base.com/articles/linux/linux-disk-partitioning.php ###fdisk 부분
Link : http://www.techotopia.com/index.php/Allocating_a_Windows_Disk_Partition_to_CentOS_6

결론은… 그냥 사용하면 된다.