Centos/RHEL8 기술정보

Centos / Rocky / Alma / RHEL 8버전 기술노트

Centos8에서 nic 이름 변경

  1. NIC이름이 eno1, ens1 이런식으로 인식하는 경우가 있는데, 해당 장치정보 사용하지 않고 eth0, eth1... ethX로 변경할 수 있는 방법
  2. 커널값 적용
    $> grubby --update-kernel ALL --args net.ifnames=0
    $> cat /etc/default/grub
    ...
    GRUB_CMDLINE_LINUX="resume=UUID=da0bac52-eef8-413d-ba2b-904962752f57 rhgb quiet selinux=0 net.ifnames=0"
    ...
  3. 기존에 설정된 NIC정보
    # ifconfig -a
    ens3f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.10.100  netmask 255.255.255.255  broadcast 0.0.0.0
            ether 52:54:00:b1:17:18  txqueuelen 1000  (Ethernet)
            RX packets 1299631  bytes 97471826 (92.9 MiB)
            RX errors 0  dropped 18  overruns 0  frame 0
            TX packets 10224  bytes 12704712 (12.1 MiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  4. 서버 재부팅 후 NIC정보 확인
    $> ifconfig
    eth0: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
            inet 192.168.10.10  netmask 255.255.255.0  broadcast 192.168.10.255
            ether 52:54:00:b1:17:18  txqueuelen 1000  (Ethernet)
            RX packets 55605  bytes 4171181 (3.9 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 262  bytes 38336 (37.4 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

nmcli기반의 네트워크 설정

RHEL8계열부터는 networkscripts를 사용하지 못하고 NetworkManager를 이용한 네트워크 장치를 관리해야 하기 때문에, NetworkManager를 사용할줄 알아야 하네요....

  1. 수동으로 생성된 ifcfg파일을 NetworkManager 로드
    $> nmcli connection load /etc/sysconfig/network-scripts/ifcfg-eth0
    $> nmcli connection up eth0
  2. 네트워크 up/down 설정
    $> nmcli connection up eth0     #nic 활성화
    $> nmcli connection down eth0   #nic 비활성화
  3. 네트워크 연결상태 확인
    $> nmcli device status
    DEVICE  TYPE      STATE          CONNECTION
    eth0    ethernet  연결됨         eth0
    eth1    ethernet  연결됨         eth1
    lo      loopback  관리되지 않음  --
  4. 네임서버 설정 bond0에 네임서버를 8.8.8.8, 219.250.36.130 으로 설정
    $> nmcli connection modify eth0 ipv4.dns "8.8.8.8,219.250.36.130"
    $> nmcli connection up eth0
    $> cat /etc/resolv.conf
    # Generated by NetworkManager
    nameserver 8.8.8.8
    nameserver 219.250.36.130

  5. 본딩구성하기(active-backup 방식으로 설정)
    #bond NIC이름 설정하고 네트워크 정보 설정
    $> nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=1,miimon=100"
    $> nmcli connection mod bond0 ipv4.addresses 192.168.10.100/24
    $> nmcli connection mod bond0 ipv4.gateway 192.168.10.1
    $> nmcli connection mod bond0 ipv4.method manual
    $> nmcli connection mod bond0 ipv6.method disabled


    #eth0과 eth1을 본딩 맴버용 NIC 추가
    $> nmcli connection add type ethernet con-name eth0 ifname eth0 master bond0
    $> nmcli connection add type ethernet con-name eth1 ifname eth1 master bond0


    #본딩 NIC 활성화
    $> nmcli connection up bond0

  6. 본딩 모드 변경
    $> nmcli connection mod bond0 +bond.options "mode=0,miimon=100"
    $> nmcli connection up bond0

reference

Oraclelinux8 버전에서 특정 버전 커널로 부팅 하기

Oracle8 부팅시 커널 버전 선택 절차 (커널 롤백시 사용)

  1. 현재 설치된 커널 버전 리스트 확인
    $> ls -l /boot/vmlinuz-*
    -rwxr-xr-x. 1 root root 10348096  2월  3 17:50 /boot/vmlinuz-0-rescue-21dd73f136ab4c494ec052b5eb5f91e2
    -rwxr-xr-x  1 root root 10225200  1월 21 06:39 /boot/vmlinuz-4.18.0-348.12.2.el8_5.x86_64
    -rwxr-xr-x. 1 root root 10212912 11월 11 04:47 /boot/vmlinuz-4.18.0-348.el8.x86_64
    -rwxr-xr-x. 1 root root 10348096 10월  9 08:29 /boot/vmlinuz-5.4.17-2136.300.7.el8uek.x86_64
    -rwxr-xr-x  1 root root 10368576  1월 29 13:10 /boot/vmlinuz-5.4.17-2136.302.7.2.2.el8uek.x86_64
  2. vmlinuz-4.18.0-348.12.2.el8_5.x86_64 버전으로 커널 버전 선택
    $> grubby --set-default /boot/vmlinuz-4.18.0-348.12.2.el8_5.x86_64
    The default is /boot/loader/entries/21dd73f136ab4c494ec052b5eb5f91e2-4.18.0-348.12.2.el8_5.x86_64.conf with index 2 and kernel /boot/vmlinuz-4.18.0-348.12.2.el8_5.x86_64

oraclelinux8에서 pacemaker 설치하기

Oracle linux8에서 HA구성할때 사용하는 pcs, pacemaker는 addon형식으로 제공되기 때문에 base repo에는 없는것 같네요.

해당버전에서 pacemaker설치하는 방법 공유합니다.

  1. addonrepo 활성화
    $> dnf config-manager --enable ol8_addmons
  2. pacemaker 패키지 설치
    $> dnf install pcs pacemaker fence-agetns-all -y

RHEL/Centos 8.0 Release Note

RHEL / Centos 8.0 출시에 따른 릴리즈 노트 확인

전체 기능을 포함하고 있지는 않으며, 주요기능만 작성되어 있음


  1. 릴리즈 일자

    RHEL
    커널버전
    19.5 4.18.0-80
  2. 추가된 기능
    1. 리포지터리 추가
      1. Base : 기본패키지
      2. Appstream : 응용프로그램 런타임 언어
    2. 패키지 관리 명령어 변경
      1. yum → dnf
    3. 주요 추가/변경 되는 패키지 버전정보

      패키지명
      버전
      gcc 8.2
      git 2.18
      subversion 1.10
      python 3.6
      MadiaDB
      (XtraDB Galera Cluster 내장)
      10.3
      Mysql 8.0
      Nginx 1.14
      node.js 10
      openJDK 8, 11
      pacemaker 2.0
      Varnish 6.0
    4. 웹콘솔(Cockpit) 패키지 추가
    5. OS이미지 빌드 기능
    6. Varnish
    7. rsyslog에 kafka연동을 위한 omnkafka 추가

  3. 변경된 기능
    1. iso 파일사이즈 증가. (7.1G 가량)
      1. Dual layer DVD 혹은  USB을 이용해 설치 필요
    2. Firewall데몬의 백엔드는 nftable로 변경
      1. Firewalld에서 적용하는 직접규칙은 iptables을 사용하고
      2. 나머지 규칙은 nftable을 사용
      3. iptables에 정의한 규칙은 nftable보다 우선 적용
    3. display 방식이 X.org → Wayland로 변경 (UI개선) : 다만 Wayland는 다중모니터 / 다중 GPU설정 불가, Nvidia 드라이버 지원 불가
    4. nfs사용자 정보 변경 : nobody → nfsbody로 변경 (nobody uid삭제)
    5. rpm으로 설치시 시작전에 유효성 검사를 수행
    6. 물리메모리 인식용량 증가 (4PB)
    7. pacemaker 2.0은  마스터 / 슬레이브 개념이 아닌 복제 리소스 개념으로 변경
    8. resolve(/etc/resolv.conf) 내용 변경시 자동으로 reload
    9. ext4 파일시스템에 대한 메타데이터 체크섬 지운
    10. xfs 파일시스템 용량 증가 (600TiB → 1024TiB) : 1024TiB를 사용할 경우 할당하는 그룹크기는 512Gib이상으로 설정해야 함
    11. ssh 7.8p1
      1. ssh v1 프로토콜 삭제
      2. useDNS no로 기본값 변경
      3.  DSA 알고리즘 변경
      4. 최초 RSA키값은 1024bit으로 변경
    12. docker 패키지 삭제, podman으로 패키지 변경
    13. mariadb / Mysql 동시 설치 불가
    14. 커널 파라미터에 selinux를 off하기 위한 절차

      $  grubby --update-kernel ALL --args selinux=0
    15. xfs파일시스템에 dax 옵션을 사용하는 경우 CoW호환 불가
      1. DAX : 페이지 캐쉬를 사용하지 않고 바이트 단위로 파일스템 직접 접근
      2. 파일시스템 생성 예재

        # mkfs.xfs -m netflink=0 /dev/{장치명} <-- extent 비활성화화
        # mount -o dax /dev/{장치명}
    16. 그래픽 환경 변경
      1. 사용자 환경 
        1. Gnome Standard - Version 3에 맞춰서 새로운 UI제공 (기본값)
        2. Gnome Classic -  Version2와 비슷한 UI제공
      2. 지원 프토토콜 
        1. X.org를 사용하는 X11 프로토콜, Gnome shell을 사용하는 Wayland (기본값)
      3. 프로토콜 차이점
        1. X.org는 클라이언트/서버 모델로 서버에서 렌더링 수행 후 클라이언트에서 그래픽를 수신.
        2. Wayland는 프로세스 모델로, 컴포지터(창 관리자)와 직접 통신해서 X11보다 프로토콜 경량화 / 대기시간 감소 
        3. 장치 제어는 Wayland는 ghome shell에서 제어하고, Xorg는 libinput 드라이버로 제어
  4. 삭제된 기능
    1. kickstart 설정 에서 일부 구문 삭제 (auth / device / dmraid  / instlal  / mouse / multipath / bootloader --update / ignoredisk --interactive / partition --active / reboot -kexec)
    2. 네트워크 인터페이서 스크립트  제공하지 않으며 실행시 경고메시지 출력함
    3. 가상화
      1. 스냅샷 제공기능 제거
      2. cirrus VGA 디스플레이 제거
      3. virt-manag 툴 제거
    4. net-snmp 패키지에 python 사용불가
    5. yum-plugin-changelog 명령어 삭제
  5. 알려진 이슈사항
    1. selinux 비활성화
      1. /etc/selinux/config파일에 SELINUX=disabled 옵션을 사용하는 경우, 재부팅시 부팅프로세스에서 비활성화 모드로 전환하는 과정에서 메모리 누수가 발생할 소지가 있음
      2. 조치사항 : /.autorelabel 파일생성 후 selinux=0 내용 적용

 

Reference

RHEL/Centos 8.1 Release Note

RHEL / Centos 8.1출시에 따른 릴리즈 노트 확인

프리뷰를 포함한 전체 내용을 기재하진 않았고, 주로 사용하는 하는 기능 및 패키지 정보들에 한해 작성


  1. 릴리즈 정보

    출시일자
    커널버전
    19.11 4.18.0-147
  2. 주요변경사항

    1. 새로운 기능
      1. selinux정책 을 생성하기 위한 udica 도입
      2. LUKS2형식은 블록장치 재암호화 지원
      3. WindowsVM에서 드라이버용 ISO파일에서 virtio-win드라이버를 자동으로 검색
      4. KVM 가상화를 5단계 페이징으로 확대

    2. 주요 변경사항

      1. 패키지 변경사항
        1. 클러스터
          1. concurrent-fencing 속성  true 추가
            여러 클러스터 노드가 동시에 차단되어야 할때 사용
          2. HA 클러스터 크기 변경 : 16 → 32 노드로 변경
        2. 파일 / 스토리지
          1. ext4 기능 
            1. 기본이 아닌 기능 : proejct / quota / mmp
            2. 기본이 아닌 마운트 옵션 : bsddf, grpid, resgid, error, commit, max_batch, min_batch_time, grpquota, prjquota, dax, lazytime, discard, init_itable, jqfmt
      2. 커널 파라미터
        1. mitigations=
          CPU 취약성에 대한 선택적 완화
          off = 모든 CPU 완화 비활성화 (성능향상되나 CPU 취약점 노출될 수 있음)
          auto(기본값) = CPU취약성을 완화하지만, SMT(Simultaneous Multi Threading)활성화된 상태로 유지
          auto,nosmt = SMT 비활성화, CPU 완화 비활성화
        2. novmcoredd : 장치 덤프를 비활성화 수행
        3. nospectre_v1 : 경계확인 우회에 대한 완화 비활성화
        4. psi = press stole 정보 추적을 활성화하거나 비활성화 
        5. rendom.truese_cpu =
          커널의 CRNG(암호화난수 생성)을  사용을 on / off 가능
        6. creahkernel = {{ 크기 }}
          KN,x86_64 : 먼저 4G미만으로 선택
          offset값이 없는 경우 : 4G 이상의 free 영역으로 대체
        7. l1ft = x86
        8. hyperv_record_panic_msg = 
          커널 패닉 메시지(kmsg)를 hyper-v에 report 여부
          0 : 비활성화
          1(기본값) : 활성화
      3. 버그 수정
        1. Xorg-xx-drv 비디오 드라이버 설치 Nvidia / AMD GPU 장착환경에서 정상적인 GUI기능 작동안하는 문제 수정
        2. Linux 파티션이 없는 시스템에서 rescue mode 진입시 설치 프로그램 구동실패 → 에러팝업출력 으로 수정
        3. python3-rpm라이브러리가 문자열 반환시 프로그램 예외 발생하면서 설치 실패 오류 수정
        4. systemd 디버그 모드에서 시스템 관리자를 사용할때 무한 반복 로그 메시지 발생 수정

    3. 주요 버전업데이트 / 추가된 패키지 리스트

      패키지명
      버전정보
      php 7.3
      ruby 2.6
      Node.js 12
      nginx 1.16
      postgresql 12
      .NET Core 3.1
      virtio-win
      tpm2-tools 2.0
      LLVM Toolset 8.0.1
      Rust Toolset 1.37
      GO Toolset 1.12.8


  3. 드라이버 변경사항

    1. 추가된 드라이버

      드라이버 종류
      모델명
      네트워크 Serial line internal protocol 지원
      네트워크 Baosch C_CAN 컨트롤러 플랫폼 버스 드라이버
      네트워크 Softing DPRAM / Serial line EMS / esd 가상 CAN 인터페이스
      네트워크 SJA1000 소켓 CAN드라이버  / PLX90XX PCI 드라이버
      네트워크 Intel 2.5G 이더넷 드라이버
      네트워크 Realtek 801 무선 PCI / Core 드라이버
      네트워크 MediaTek MT76XX 장치 드라이버
      그래픽+기타 Virtual Kernel mode 
      그래픽+기타 Intel GTT 루틴
      그래픽+기타 Xen FrontEnd / BackEnd 페이지 디렉토리 기반 공유 버퍼
      그래픽+기타 오디오 음소거 제어용 LED트리거
      그래픽+기타 호스트 무선 어댑터 무선 제어 드라이버
      그래픽+기타 네트워크 차단 장치
      그래픽+기타 Intel PCH 드라이버
    2. 업데이트 드라이버

      드라이버 종류
      업데이트 버전
      Intel Gigabit Ethernet 5.6.0-k
      Cisco FCoE HBA 1.6.0.47
      HP Smart Array Controller 3.4.20-170-RH3
      Emulex LightPulse Fibre Channel SCSI 0.12.2.0.3
      LSI MPT Fusion SAS 3.0 28.100.00.00
      VMware SVGA 2.15.0.0
      Broadcom MegaRAID SAS 07.707.51.00-rc1
      HPE Watcgdog 2.0.2


reference

RHEL/Centos 8.2 Release Note

  1. RHEL / Centos 8.2출시에 따른 릴리즈 노트 확인

    프리뷰를 포함한 전체 내용을 기재하진 않았고, 주로 사용하는 하는 기능 및 패키지 정보들에 한해 작성


    1. 릴리즈 정보

      출시일자
      커널버전
      20.4 4.18.0-193

  2. 주요변경사항

    1. 새로운 기능

      1. skopeo 명령어 기능 추가
        1. sync 명령어 지원 - 컨테이너 레지스트리와 로컬레지스트리 동기화 기능 지원
        2. login / logout 기능 추가
      2. container.conf 지원 가능
        1. 컨테이너 엔진 :  /usr/shae/containers/containers.conf, /etc/containers/containers.conf 확인
        2. root-less모드 엔진 : $HOME/.config/containers/containers.conf 확인
      3. podman 명령어 기능 추가
        1. podman system reset : podman 스토리지 초기상태로 재설정
      4. rsyslog기능 추가
        1. omhttp모듈을 사용해서 HTTP REST API 사용해서 메시지 전달
        2. 디스크 대기열이 multi thread로 실행되어 로그처리 기능 향상
      5. sudo 기능 추가
        1. stdout / stderr 대신 pam 메시지를 사용자 터미널에 기록.
      6. nftables 기능추가
        1. python에서 api사용시 python3-nftables패키지 설치
        2. ip대역 입력시 x.x.x.x/24 이외에 x.x.x.10-x.x.x.20 포맷으로도 작성 가능
      7. whois 패키지를 이용해 특정 도메인 이름 혹은 ip정보 검색 가능
      8. Intel OPA(Omni-Path Archituecure)호스트 소프트웨어 지원
    2. 주요 변경사항

        1. tc용 eBPF 지원
        2. GCroup V2 기능 지원
          1. CPU 가중치및 대역폭 제한
          2. 사용자 영역 메모리 및 TCP 소켓버퍼
          3. I/O 리소스 분배
        3. LVM 캐싱방법 지원
          1. 기존 dm-cache에서 dm-writecache방식 제공
          2. dm-cache : 읽기 / 쓰기 모두 캐싱해서 자주 사용하는 데이터에 대해 액세스 속도 향상
          3. dm-writecache : 쓰기작업만 캐싱, SSD혹은 PMEM 디스크와 같이 빠른 볼륨에 먼저 쓰기를 저장 후 백그라운드로 디스크에 마이그레이션 수행
        4. nfs 클라이언트에서 per-op오류수 확인 가능
        5. pcs에서 특정 리소스만 비활성화 가능
          1. pcs resource disable --simulate : 지정한 리소스 비활성화 검증
          2. pcs resource disable --safe :  fail-over할때 마이그레이션하는것 같이 영향받는 다른 리소스가 없을때 지정한 리소스 비활성화
          3. pcs resource disable --safe --no-strict : 다른 리소스가 중지되지 않을때만 지정된 리소스 비활성화
        6. pcs 기능 추가
          1. pcs resource relations : 클러스터 리소스간의 관계를 트리구조로 표시
          2. pcs dr : backup노드를 사용하도록 클러스터 구성된 경우 해당명령어를 통해 active와 backup모두 상태를 표시 기능 추가
          3. 노드 종료시 리소스가 fail-back하지 않고 노드복구 될때까지 중지된 상태로 유지할 수 있도록 클러스터 설정값 지원
          4. 단일 노드에서 클러스터 환경을 구성할 수 있도록 구성
        7. samba
          1. python2지원 종료
          2. ctdbd서비스는 CPU thread가 90%이상 사용할때 기록
        8. Wayland 기능향상 - multi GPU인식가능
        9. Cockpit 기능향상
          1. 15분동안 활동이 없는 경우 자동 로그아웃 기능 추가 (/etc/cockpit/cockpit.conf 파일에 timeout 설정가능)
          2. SSH과 비슷하게 로그인 화면에 배더파일 내용 선택가능 (/etc/cockpit/cockpit.conf 파일에서 설정 가능)
        10. 가상화 기능 향상
          1. 스토리지 볼륨 생성은 모든 libvirt 유형에서 작동
          2. 스토리지 풀은 LVM이나 iSCSI모두 생성 가능
          3. Intel Platinum 9200시리즈 프로세스에서 KVM 사요 ㅇ가능패키지 변경사항컨테이너 기능 향상
        11. 기본 레지스트리 검색 리스트 변경 (/etc/containers/registries.conf)
      1. 커널 파라미터
        1. NVMe장치에 대해 Hotswap 지원 가능 (커널 4.18.0-193.13.2 이상)
        2. kvm.nx_huge_pages_recovery_radio= [KVM]
          주기적으로 재핑되는 4Kib페이지수를 제거 (0은 복구 비활성화, 1이상(초단위)마다 페이지의 1/N정보 삭제
        3. page_alloc.shuffle=
          페이지 할당자가 사용가능한 목록을 랜덤하게 작동하는제 제어
        4. panic print =
          커널패닉 발생시 시스템 정보를 출력하기 위한 비트
          0 : 모든 작업정보 출력
          1 : 시스템 메모리 정보 
          3: 타이머 정보 
          3: CONFIG_LOCKDEP 기능이 켜져있는 경우 시스템 lock 정보 출력
          4: ftrace 버퍼 정보 출력
          5: printk 버퍼에 있는 모든 메시지 출력
        5. tsx = 
          Intel 프로세서의 TSX기능 제어
           on : TSX 기능 활성화
          off : TSX기능 비활성화 (기본값)
          auto : TSX가 있는 경우 비활성화하고, 그렇지 않으면 TSX활성화
        6. tsx_async_abort =
          TAA; TSX Async Abort 취약성 안화를 제어
          특정 CPU모델에서 내부 버퍼 공격에 취약하기 때무넹 설정
          full : TSX가 활성화된 경우 CPU에서 TAA기능을 완화
          full,nosmt : 취약한 CPU에서는 TAA완화를 활성화하고, 동시 다중쓰레딩(SMT)를 비살화ㅅ화
          off : 무조건 TAA완화를 비활성화 (mds=off도 활성화 필요)
        7. intel_iommu = sm_on (기본은 off)
          Intel IOMMU드라이버 DAR;Direct Memory Access Remapping 사용여부
        8. mds = 
          full : 기본
          off : TAA 영향을 받는 시스템에서  MDS를 OFF할경우 동일한 CPU취약점이 완화가능 (비활성화 할경우 tsx_async_abort=off로도 설정필요)
        9. mem_encrypt=
          AMD 보안 메모리 암호화(SME) 제어, OFF할경우 시스템 성능이 향상될수 있지만 CPU취약점 노출가능성 존재
        10. max thread 
          fork 항수가 생성할 수 있는 최대 스레스수 제어
      2. 버그 수정
        1. qdisc_run 함수 lock시 커널 충돌 부분 해소
          pfifo_fast트래픽을 대기열에서 처리하는 과정중에 비정상적으로 종료되는 문제 해결
        2. tcp_wrappers 정보 제거
          /etc/hosts.allow, /etc/hosts.deny 파일에 tcp_wrapper패키지 정보 삭제
        3. SCSI 드라이버에서 메모리 사용량 감소
          일부 SCSI 드라이버가 RHEL(Cehtos)7버전보다 많은 양의 메모리를 사용했고, HBA나 vPort같은 경우에는 더 증가.
          대기열 스케쥴링 개선
        4. make 시 속도저하 개선
          병렬 빌드시 대기하는 과정에서 응답없는 경우가 발생하는 문제 해소
        5. Wayland에서 속도 저하 개선
          소프퉤어 렌더러 사용할때 캐시 프레임 서버를 사용하지 않기 때문에 렌더링처리가 지연되는 문제 해결
        6. Intel 10세대 CPU 지원
          10세대 Intel 프로세스기반에서 VM 구동시 실패
        7. RHEL7호스트에서 RHEL8 VM구성시 해당소 문제로 그래픽 출력 오류 발생 → QXL드라이버 조정을 통해 문제 해결
        8. 컨테이너 레지스트리에서 quay.io 기본 경로 삭제
    3. 주요 버전업데이트 / 추가된 패키지 리스트

      패키지명
      버전정보
      python 3.8
      maven 3.6
      HotSopt JVM용 JMC 7.1.1
      rsyslog 8.1911.0
      audit 3.0-0.14
      sudo 1.8.29-3.el8
      firewalld 0.8
      nftables 0.9.3
      php 7.3
      GCC Toolset 9
      LLVM Toolset 9.0.1
      Rust Toolset 1.41
      GO Toolset 1.13
      grafana 6.3
      samba 4.11.2
  3. 드라이버 변경사항

    1. 추가된 드라이버

      드라이버 종류
      모델명
      네트워크 gVNC드라이버
      네트워크 Broadcom UnuMAC MDIO버스 컨트롤러
      네트워크 iWARP드라이버
      그래픽+기타 DRM VRAM메모리 관리 모두미
      그래픽+기타 stoppoll거버너용 cpuidle드라이버
      그래픽+기타 Radeon RX5600 / RX5700
      그래픽+기타 Nvidia GTX 1650 / 1660 (TU 116 / 3D 가속지원 불가)
      그래픽+기타 Matrox mgag2000
      그래픽+기타 ASPEED ast
      그래픽+기타 Intel i915 
      그래픽+기타 stm_ftrace / console / core / dummy / heartbeart 드라이버
      그래픽+기타 인텔 Tracking hub관련 드라이버
      그래픽+기타 Device DAX 드라이버
      그래픽+기타 PMEM DAX 드라이버
      그래픽+기타 Intel RAPL 코드
      스토리지 MD cluster 
    2. 업데이트 드라이버

      드라이버 종류
      업데이트 버전
      VMware vmxnet3 1.4.17.0-k
      Intel 10G virtual 4.1.0-k-rh8
      Intel 10G PC-E 5.1.0-k-rh8
      Intel Ethernet E800 시리즈 0.8.1-k
      NFP 드라이버 4.18.0-185
      Elastic Network Adapter 2.1.0k
      HPE watchdog 2.0.3
      Intel I/OAT DMA 5.0.0
      Emulex LightPulse Fibre Channel SCSI 0.12.6.0.2
      LSI MPT Fusion SAS 3.0 32.100.00.00
      HP Smart Array Controller 3.4.20-170-RH4
      QLosic Fibre HBA 10.01.00.21.08.2-k
      QLogic FastLinQ 4xxx FCoE 8.42.3.0
      QLogic FastLinQ 4xxx ISCSI 8.37.0.20
      Broadcom MegaRAID SAS 07.710.50.00-rc1

reference

RHEL/Centos 8.3 Release Note

RHEL / Centos 8.3출시에 따른 릴리즈 노트 확인

프리뷰를 포함한 전체 내용을 기재하진 않았고, 주로 사용하는 하는 기능 및 패키지 정보들에 한해 작성


  1. 릴리즈 정보

    출시일자
    커널버전
    20.11 4.18.0-240
  2. 주요변경사항

    1. 새로운 기능

      1. 원격으로 설치하기 위한 Edge기능 도입
        image builder를 사용해서 구성가능.
      2. Flaypak 패키지를 이용한 그래픽 어플리케이션을 컨테이너로 실행(firerox / gimp / thunderbird 등)
      3. 비활성화된 Intel TSX(Transactional Synchronization Extensions) 기술 적용 (활성화시 커널파라미터에 tsx=on 적용)
      4. 페이지 소유자 추적기능 사용 가능 (dirty --args="pgage_owver=on" --update=kernel=0 명령어 수행시 적용)
      5. mlxsw 새로운 기능 적용 : layer 2 / layer 3, tunnel에서 패킷 드롭 모니터링 가능, LLDP에이전트를사용한 기본포트 우선순위 구성 가능, ETS / TBF대기열 규칙 오프로딩 지원
      6. lshw 결과에서 cpu version 필드가 세부적으로 출력
      7. .NET 5 사용 가능

    2. 주요 변경사항

      1. 패키지 변경사항
        1. rsyslog와 elasticsearch 연동 가능
        2. podman 컨테이너 이미지 url 변경 (k8s.gcr.io/pause)
        3. podman 업데이트
          1. docker 호환볼륨 API 사용 가능(create, inspectm list, remove, prune)
          2. podman play kube를 사용해 컨테이너에 cpu / 메모리 제한설정 가능, 영구 볼륨 클레임, k8s configmap 지원 가능
          3. podman image 명령어를 사용해서 이미지를 읽기 전용으로 마운트 후 내용 검사 확인 가능
          4. podman save / load를 사용해서 이미지 아카이빙 및 로드 가능
          5. podman 네트워크 오류로 인해 image pull fail되는 경우 최대 3번까지 재시작 수행함
        4. Buildah 업데이트
          1. buildah inspect 명령어를 통해 manifests 지원
          2. buildah push 명령어 지원 가능
          3. 사용자가 stdin을 특정  컨테이너에 지정 가능
          4. timestamp대신에 omit-timestamp로 플래그 변경
          5. 마운트 옵션시 ro 기능 추가
        5. SKopeo 업데이트
          1. 동기화된 dijest 추가
          2. 동기화 플래그 추가 : --all
          3. skopeo inspect 명령어에 --format 옵션 추가
        6. 설치 절차 변경
          1. 설치 시작전에 root 암호 및 계정 생성 절차로 변경
        7. image builder 이미지 변경
          1. osbuild-compose에서 osbuild-composer로 변경 : tar / qcow2 / vmdk / ami / vhd / qcow2
          2. 단, ext4, 파티션 구성된 디스크, alibaba cloud / GCE는 제외)
        8. Mmcached 업데이트
          1. TLS 활성화
          2. inline_ascii_response옵션 제거
        9. NetworkManager 버전업데이트
          1. 장치 비활성화시 link aggreation 초기화
          2. 모든 NIC가 연결되지 않으면 wifi프로필이 자동 실행
          3. VRF(Virtual Route Forwading) 지원 추가
        10. LVM에서 VDO 볼륨 관리
          1. LVM구성시 VDO(Virtual Data Optimizer)유형 지원
          2. VDO는 block 수준의 중복제거, 압축, thin provisioning 게농
        11. LVM에서 메타데이터 디버그 적용
          1. 메타데이터 추출시 pvck --dump / 복구시 pvck --repair 명령을 통해 메타 데이터 관리
          2. LVM RAID구성에서 무결성 추가
        12. Public Cloud에서 GFS2지원가능
          1. AWS / Azure / 알리바바 클라우드에서 공유 블록장치 지원
        13. NFS 동시연결 가능
          1. nconnect 기능을 사용해 NFS동시에 멀티 동시 연결이 가능 (최대 16개)
        14. samba 기능 변경
          1. 내장 암호화 기능이 GnuTLS로 대체 (SMB3) 성능과 복사속도 향상
          2. python 3.5 이상만 지원
          3. write cache size 파라미터 제거 (성능저하)
          4. vfs_netatalk 모듈 제거
        15. XWayland에서 디스플레이 확장 활성
          1. Xpresent를 사용해서 디스플레이 확장기능 향상
        16. virsh 기능 추가
          1. iothreadset 기능 추가해서 동적으로 I/O쓰레드 폴링을 구성
          2. guestinfo 기능 추가해서 OS및 파일시스템 정보, 활성사용자, 시간대 정보 확인 가능 

            VM XML에 아래내용ㅣ 추가되어 있어야 함
            <channel type='unix'>
               <target type='virtio' name='org.qemu.guest_agent.0'/>
            </channel>
          3. pool-capabilities 기능 추가해서 각 pool내의 스토리지 볼륨과 풀 생성하는데 확인할 수 있는 정보 표시
        17. UMIP(User-Mode Instruction Prevention) 기능은 Intel 10세대 (Ice Lake)에서 지원
        18. libvirt라이브러리 개선
          1. 메모리 대역폭 할당을 지원 <memorytune> 항목 추가
          2. Broadwell에서 제공하는 CQE(Cache QoS Enforcement)확장인 MBA를 사용
        19. qemu 로깅 포맷 추가
          1. qemu이벤트에 timestamp 추가
          2. /var/log/libvirt/qemu 디렉토리에 저장된 로그를 사용하여 VM문제 확인 가능
        20. stdvga장치보다 더 안전한 boch장치 적용
          1. bochs-display와 호환되는 모든VM은 stdvga보다 boch 디스플레이를 기본으로 사용
        21. RADOS 블록장비에서 QCOW2디스크 이미지 생성 가능 (Write성능은 떨어짐)
        22. VFIO를 사용하는 PCI 디바이스 갯수가 최대 64개까지 증가
        23. Windows 드라이버 업데이트 가능
          1. QEMU기반에서 SMBIOS를 통해 Virtio드라이버 업데이트 가능
          2. Windows 10이상, Windows Server 2016이상
      2. 커널 파라미터
        1. Crash kernel 메모리 용량 확장
          1. crashkernel=auto 적용시 기존보다 더 많은 메모리를 예약해서 crash dump 수행 가능
        2. eBPF(Extended Berkeley Packet Filter; 제한된 기능의 샌드박스환경의 커널에서 코드 실행을 허용하는 커널 내부의 가상머신) 기능 제공
          1. BPF Compile Collection(BCC) : 네트워킹을 사용하는 OS 모니터링, I/O 분석도구 제공
          2. BCC Tool Package 제공
          3. Traffic Control eBPF : 커널 네트워크 경로의 내부 프로그래밍이 패킷처리
        3. 새로운 파라미터 추가
          1. acpi_no_watchdog=[HW,ACPI,WDT]
            해당값 사용시 ACPI(고급 구성 및 전원 인터페이스) 기반의 WDAT(워치독 인터페이스)를 무시하고 native 드라이버가 워치독 장치 제어
          2. split_lock_detect=[X86]
            분할 잠금 감지 활성화 (하드웨어 지원시 캐싱 된 데이터를 넘어 액세스 하는 경우 해당 명령은 저열 검사 예외처리)
            off - 활성화하지 않음
            warn - 응용프로그램에 대해 속도 제한 경고 signal 보냄 (기본값)
            fatal - 응용프로그램에 대해 SIGBUS 신호 발생
          3. usbcore.authorized_default=[USB] USB장치 인증
            -1  : 무선 USB를 제외한 인증 (기본값)
            -2  : 승인되지 않음
            1 : 승인
            2 : 장치에 내부 포트에 연결되어 있는 경우에만 인증
      3. 클러스터 구성
        1. pacemaker 구성시 prioity-fencing-delay 속성지원되어 split brain이 발생한 경우 리소스가 가장 적은 노드가 차단됨
        2. 클러스터 리소스에 대그 지정 가능
        3. fail-over수행시 대상장비는 완전히 중지하지 않고 읽기 전용모드 기능으로 전환
      4. 버그 수정
        1. firewald 서비스 중지시 ipsets 정보가 초기화되지 않는 문제 수정
        2. entropy 부족으로 부팅되지 시간 초과 혹은 느린 부팅시간 수정
        3. nouveau 그래픽 드라이버가 절전모드 진입 후 전원이 켜지지 않는 문제 수정

    3. 주요 버전업데이트 / 추가된 패키지 리스트

      패키지명
      버전정보
      tuning 2.13
      nginx 1.18
      node.js 14
      perl 5.30
      php 7.4
      ruby 2.7
      git 2.27
      Squid 4.11
      GCC Toolset 10
      LLVM Toolset 10.0.1
      Rust Toolset 1.45.2
      GO Toolset 1.14.7
      OpenJDK 11
      Podman 2.1
      Buildah 1.19
      SKopeo 1.2.1
      memcached 1.5.22
      libssh-lib 0.9.4
      NetworkManager 1.26.0
      pacemaker 2.0.4
      grafana 6.7.3
      samba 4.12.3
      Cockpit 4
      TigerVNC 1.10.1


  3. 드라이버 변경사항

    1. 추가된 드라이버

      드라이버 종류
      모델명
      네트워크 Mellanox ConnectX-6
      네트워크 Kvaser CAN/USB 용 CAN드라이버
      네트워크 Theobroma System UCAN 드라이버
      네트워크 Pensando NIC 드라이버
      그래픽+기타 원격 프로세서 프레임 워크
      그래픽+기타 Intel 340x 드라이버
      그래픽+기타 Radeon RX5300
      그래픽+기타 Rizen3 4300U / 4500U / 4600U(H) / 4700U / 4800U(H)
      그래픽+기타 AMD 애슬론 실버 3050U / 골드 3150U / Rizen3 3250U
      그래픽+기타 Intel Tiger Lake GPU
      그래픽+기타 virtio 장치용 vDPA드라이버
    2. 업데이트 드라이버

      드라이버 종류
      업데이트 버전
      megaraid_sas 07.713.01.00-RC1
      VMware vmxnet3 1.5.0.0-k
      Realtek  RTL8152/8153 USB드라이버 1.09.10
      Broadcom BCM573XX 1.10.1
      인텔 이더넷 스위치 호스트 0.27.1-ㅏ
      인텔 이더넷 E800 시리즈 0.8.2-ㅏ
      Emulex LightPulse Fibre Channel SCSI 0.12.8.0.1
      LSI MPT Fusion SAS 3.0 34.100.00.00
      HP Smart Array Controller 3.4.20-170-RH5
      QLosic Fibre HBA 10.01.00.25.08.3-k
      Broadcom MegaRAID SAS 07.714.04.00-rh1
      VMware SVGA  2.17.0.0

 

reference


RHEL/Centos 8.4 Release Note

RHEL / Centos 8.4출시에 따른 릴리즈 노트 확인

프리뷰를 포함한 전체 내용을 기재하진 않았고, 주로 사용하는 하는 기능 및 패키지 정보들에 한해 작성


  1. 릴리즈 정보

    출시일자
    커널버전
    21.4 4.18.0-305
  2. 주요변경사항

    1. 새로운 기능

      1. nmstate 패키지를 통해 네트워크 설정 가능
      2. iproute2 명령어를 이용해 traffic control(tc)에서 제공하는 mac_push, push_eth, pop_eth 에 이더넷 헤더를 만들거나 삭제 기능 추가
      3. cgoups를 통해 slab 메모리 활용을 개선하고, 메모리 계정을 페이징수준에서 개체 수준으로 전환하여 커널이 점유하는 메모리 공간 감소 가능
      4. 사전 압축 기능이 적용되어 정기적으로 메모리 압축작업을 수행하게 되어 특정 메모리의 할당시간이 빨라짐 (기본값은 OFF)
      5. Intel CPU 8세대(커피레이크), 9세대(커피레이크 리프레쉬)에 설정된 EDAC을 지원
      6. pacemaker 에이전트에서 장애를 감지한 경우 interval과 상관없이 장애로 판단하고, 각 작업별 health check를 호출하지 않아 오버헤드 감소
      7. virtio_balloon 장치를 사용하는 경우 VM에서 사용하지 않는 메모리 페이지 반환 가능

    2. 주요 변경사항

      1. 패키지 변경사항
        1. NetworkManager 기능추가
          1. ipv4.dhcp-reject-servers 파라미터 추가  :   ip release시 거부하기 위한 값
          2. active_slave옵션사용 불가, primary 컨트롤러에서 옵션을 설정
          3. NetworkManager-wait-online 시간초과시간을 60초로 변경
          4. ethtool 오프로드 기능 추가
        2. 성능관련 
          1. perf Toolset에서 timestamp기록 및 표시
          2. Cockpit 번역률 증가 - 번역 가능한 문자열이 50% 미만인 경우 영문으로 출력
        3. 파일 / 스토리지
          1. Swap파티션 구성시 128GB → 16TiB까지 생성 가능
          2. NVMe 장치의 hot swap 지원
          3. XFS / EXT4 마운트시 dax 옵션 추가
            1. dax=inode : 기본값
            2. dax=never : dax 비활성
            3. dax=always : dax 활성화
      2. 커널 파라미터
        1. eBPF(Extended Berkeley Packet Filter; 제한된 기능의 샌드박스환경의 커널에서 코드 실행을 허용하는 커널 내부의 가상머신) 기능 제공
          1. BPF Compile Collection(BCC) : 네트워킹을 사용하는 OS 모니터링, I/O 분석도구 제공
          2. BCC Tool Package 제공
          3. Traffic Control eBPF : 커널 네트워크 경로의 내부 프로그래밍이 패킷처리
      3. 드라이버 지원
        1. igc(인텔 2.5G NIC 드라이버) 정식 지원
      4. 버그 수정
        1. snmpbulket - 존재하지 않는 pid에 대해 결과를 찾을수 없다는 출력과 실패메시지 제공
        2. cron - ReaR(Relax and Recovery)구성이 잘못된 경우 Cron명령이 관리자에게 이메일 발송해서 트리거링, ReaR 구성이 수행되지 않은 경우에도 관리자는 이메일 수신하게 되는데
          트리커 조건에 따라 이메일이 전송되도록 수정
        3. OpenSCAP - 적은용량의 RAM환경에서 파일 시스템 검사할때 메모리 점유율이 부족해지는 문제 해소
        4. NetworkManager - /etc/hostname이 설정되어 있지 않은 경우 기본경로가 있는 NIC를 통해서만 DNS조회해서 호스트네임 확인수행 하는데 사용가능한 모든 NIC를 통해서 호스트네임을  확인하도록 수정
        5. pmlogger과 NetworkManager의 충돌로 인해 pmlogger가 구동되어 있는 경우 NetworkManager가 구동되지 않는 문제 수정
        6. Container - 컨테이너내의 I/O 혹은 메모리 제한이 적용되는 경우 메모리 회수작업시 lock-up 발생, OOM이 여러번 종료되어 컨테이너가 잠기고 hanup발생하게 되는 문제 수정
        7. Memory - 처음에는 정상이였으나 이휴에 오프라인으로 인식된 메모리에 엑세스 할 경우 커널 패닉이 발생하는 문제 수정
        8. SMB - 마운트 옵션시 cifsacl 옵션을 사용하는 경우 EREMOTE오류로 인해 마운트 실패 오류 수정
        9. NFS - 100,000개 이상의 파일이 있는 디렉토리 리스트 나열시 완료되지 않는 문제 수정
        10. Corosync - 기본토큰 timeout이 1초에서 3초로 변경 
        11. Virtualization - Windows Server 2019호스트에서 RHEL8게스트 연결속도 지연되는 문제 수정
        12. Wayland - 가상머신의 멀티 모니터 인식 가능

    3. 주요 버전업데이트 / 추가된 패키지 리스트

      패키지명
      버전정보
      python 3.9
      swig 4.0
      subversion 1.14
      redis 6
      postgresSQL 13
      Mariadb 10.5
      GCC Toolset 10
      LLVM Toolset 11.0.0
      Rust Toolset 1.49.0
      GO Toolset 1.15.7
      OpenJDK 11
      kabi_whitlist kabi_stablelist


  3. 드라이버 변경사항

    1. 추가된 드라이버

      드라이버 종류
      모델명
      네트워크 Realtek 802.11ac (8822*)
      네트워크 Interface for UDP Encapsulated traffic
      그래픽 + 기타 Regmap SoundWire
      그래픽 + 기타 Intel Quick Assist / Data Accelerator
      그래픽 + 기타 Oracle VM VirtualBox Graphics
      그래픽 + 기타 AMD Energy repotring
      그래픽 + 기타 Elastic Fabric Adapter
      그래픽 + 기타 AMD PIC-E Non-Transparent Bridge
      그래픽 + 기타 PCIe NTPB Performance Measurement Tool / Simple Pingpong Client / Debugging Tool)
      그래픽 + 기타 Software Queue-Pair Trsnport over NTB
      그래픽 + 기타 Intel Elkhart Lake PHC pinctrl/GPIO Driver
      그래픽 + 기타 Dell platform setting Control interface
    2. 업데이트 드라이버

      드라이버 종류
      업데이트 버전
      VMware SVGA drm 2.18.0.0
      Cisco FCoE HBA 1.6.0.53
      HP Smart Array Controller 3.4.20-220-RH1
      Emulex LightPulse Fibre Channel SCSI 0.12.8.0.5
      LSI MPT Fusion SAS 3.0 35.101.00.00
      QLosic Fibre HBA 10.02.00.104-k
      HPE Watcgdig 2.0.4

       


reference



RHEL/Centos 8.5 Release Note

RHEL 8.5출시에 따른 릴리즈 노트 확인

프리뷰를 포함한 전체 내용을 기재하진 않았고, 주로 사용하는 하는 기능 및 패키지 정보들에 한해 작성


  1. 릴리즈 정보

    출시일자
    커널버전
    21.11 4.18.0-348
  2. 주요변경사항

    1. 새로운 기능

      1. NetworkManager(nmcli)를 통해서 트래픽 제어 가능
      2. Timesync에서 NTS(Network Time Security)옵션 추가
      3. UDF(Universal Disk Format) 파일시스템 조작을 위한 유틸리티 제공 (udftools 2.3)
        1. cdrwtool → DVD-R, CD-R/RW등  미디어 쓰기 등의 작업수행
        2. mkfs.udf, mkudffs → UUID(Univeral Disk Format) 파일시스템 생성
        3. pktsetup → 패킷 장치 설정하고 해제
        4. udfinfo → UDF 파일시스템 정보 표시
        5. udflabel → 파일시스템 레이블 관리
        6. wrudf → cp, rm, mkdir 등 대화형 쉘 제공
      4. 지원 Intel CPU 지원 - Sapphire Rapids, Alder Lake, Rocket Lake
    2. 주요 변경사항

      1. 패키지 변경사항
        1. ethtool에서 옵션 추가
          1. TX / RX 버퍼를 관리하기 위한 ring 옵션 기능 추가
          2. rx - 링 항목 수 변경
          3. RX - jumby - Rx 점보 링의 링 항목수 변경
          4. RX - mini - RX Mini 링의 링 항목수 변경
          5. tx - tx링 항목 수 변경
        2. VDO 사용시 볼륨크기를 퍼센트로 표시
          1. LVM 볼륨 크기를 백분율로 표시하도록 표시 기능 추가
        3. Ansible 버전 만료
          1. Ansible 2.9이하버전은 미 지원 (2.9버전 이상사용 가능)
        4. Cockpit 기능 추가
          1. Cockpit을 이용해 VM상태, 디스크, 네트워크 정보 표기
          2. 실시간 마이그레이션 기능 추가
          3. VM NIC MAC주소 변집 가능
        5. 컨테이터 관리
          1. 오버레이 파일 시스템 지원이 되어 컨테이너를 rootless를 실행할때도 기본 오버레이 성능을 보유.
          2. Podmna 컨테이너 이미지 제공 완성 (기존릴리즈는 프리뷰로 제공)
          3. Podman rootless모드에서 CNI플러그인 사용 가능
      2. 커널 파라미터
        1. iommu.forcedac = 0 / 1
          1. PCI 장치에 대한 입/출력 가상 주소 할당 제어
          2. 0 → 필요한 경우 전체 범위로 대체하기 전에 DMA주소를 먼저 할당
          3. 1 → 사용 가능한 전체 범위에서 직접 할당
        2. page_posion = off / on
          1. 부팅시 버디 메모리 할당(가능한 적당하게 메모리 요청을 하도록 여러 부분을 나누는 알고리즘)
          2. off = 기능해제 (기본값)
          3. on = 기능 활성화
        3. rcuscale.gp_async_max
          1. 스레드당 최대 콜백수 지정, 초과하게 되는 경우 이전에 할당한 콜백이 드레이닝 될 수 있도록 호출
      3. 버그 수정
        1. /var/lib/chrony의 폴더 권한이 root및 chrony사용자에 대해서만 액세스 하도록 권한 변경
        2. slab메모리 컨트롤러에서 slab당 메모리 회계 작업 빈도가 늘리고 있어 성능 저하 발생. 메모리 계정 작업이 최대한 많은 캐싱과 원자성 작업 하도록 간소화
        3. BCC 유틸리티에서 macro redefined 경고 메시지 미출력
        4. kdump는 ssh / NFS대상에서 vmcore 덤프 실패 문제 수정
        5. AWS에서 ARM인스턴스에서 실행되는 VM을 RHEL8로 선택하는 경우 iommu.strict=1로 설정하는 경우 네트워크 성능이 지연

    3. 주요 버전업데이트 / 추가된 패키지 리스트

      패키지명
      버전정보
      Ruby 3.0
      nginx 1.20
      Node.js 16
      php 7.4.19
      squid 4.15
      rsyslog 8.2102.0-5
      OpenJDK11 11.0.13
      OpenJDK8 8.0.312
      chrony 4.1
      NetworkManager 1.32.10
      Cmake 3.20.2
      Gcc 11.2
      podman 3,3,1


  3. 드라이버 변경사항

    1. 추가된 드라이버

      드라이버 종류
      모델명
      네트워크 SYNOPSYS DESIGNWARE Ethernet XPCS
      네트워크 INTEL 10/100/1000 이더넷 PCI 
      네트워크 STMMAC 10/100/1000 Ethernet
      네트워크 Chelsio 종료 카드의 암호화 IPSEC
      네트워크 Chelsio NIC TLSD 드라이버
      네트워크 Microsoft Azure Network Adapter
      네트워크 Qualcomm Atheros 802.11ax 무선 LAN 카드를 위한 코어 모듈
      네트워크 Qualcomm Technologies 802.11ax WLAN PCIe
      네트워크 MAC ~ 선택 PY 연결 
      그래픽 + 기타 In-Band ECC를 사용하는 Intel 클라이언트 SoC 용 MC
      그래픽 + 기타 RegmapPodWire MBQ 모듈
      그래픽 + 기타 Intel 플랫폼 모니터링 기술 PMT 드라이버
      그래픽 + 기타 Intel PMT Crashlog 드라이버
      그래픽 + 기타 sysfs 시스템용 sysfs 구조
      그래픽 + 기타 Intel PMT Telemetry Driver
      그래픽 + 기타 Intel PMT 클래스  Driver
      그래픽 + 기타 AMD PMC Driver
      그래픽 + 기타 MHI 호스트 인터페이스
      그래픽 + 기타 MHI(Modem Host Interface) PCI 컨트롤러 Driver
      그래픽 + 기타 블록 장치에 대한 vDPA 장치 시뮬레이션
      그래픽 + 기타 네트워킹 장치에 대한 vDPA 장치 시뮬레이터
      그래픽 + 기타 Mellanox VDPA 드라이버
      그래픽 + 기타 기본 STM framing 프로토콜
      그래픽 + 기타 MIPI SyS-T STM framing protocol driver
      그래픽 + 기타 QMI 인코딩/디코더 도우미
      그래픽 + 기타 ACPI DPTF 플랫폼 전원 드라이버
      그래픽 + 기타 ACPI 플랫폼 프로파일 sysfs 인터페이스
      그래픽 + 기타 Intel Emmitsburg PCH pinctrl/GPIO 드라이버
      그래픽 + 기타 Intel Alder Lake PCH pinctrl/GPIO 드라이버
      그래픽 + 기타 MPI3 스토리지 컨트롤러 장치 드라이버
      그래픽 + 기타 장치 매퍼 측정 서비스 
    2. 업데이트 드라이버

      드라이버 종류
      업데이트 버전
      Mellanox 5세대 네트워크 어댑터 18.0-348
      Realtek RTL8152/RTL8153 기반 USB 이더넷 어댑터 1.11.11
      LSI MPT Fusion SAS 3.0 장치 드라이버 37.101.00.00
      Emulex LightPulse Fibre Channel SCSI 드라이버  0:12.8.0.10
      Qlogic 파이버 채널 HBA 드라이버 10.02.00.106-k
      Microsemi Smart Family Controller 2.1.8-045
      Broadcom RAID SAS Driver 07.717.02.00-rh1

 

reference

 

RHEL/Centos 8.6 Release Note

RHEL 8.5출시에 따른 릴리즈 노트 확인

프리뷰를 포함한 전체 내용을 기재하진 않았고, 주로 사용하는 하는 기능 및 패키지 정보들에 한해 작성


  1. 릴리즈 정보

    출시일자
    커널버전
    22.05 4.18.0-372
  2. 주요변경사항

    1. 새로운 기능

      1. RHEL 9용 XFS이미지 사용 가능
      2. HA기능 구현
        1. 리소스 이동 (pcs resource move) 리소스 이동시 현재 실행중인 노드에서 실행되지 않도록 기능 구현
        2. pacemkaer가 리소스를 실행할 수 없는 경우 자세한 종료 이슈 표시
      3. 패키지 추가
        1. nginx-mod-devel 패키지 추가되어 .NET용 외부 모듈을 빌드할때 필요한 파일 제공 
        2. Mariadb Galera에 garbd와 garbd-wrapper 스크립트 포함
      4. 하드웨어 추가
        1. Intel Alder Lake-P GPU 지원 (IntelCore i7-1260, 1270, 1280P, IntelCore i5-1240, 1250P, Intel Core i3 - 1220P)
        2. 커널 파라미터 추가 필요(기본값은 비활성화)

        3. 시스템 모니터링 및 이벤트 처리 유틸리티 제공 (rig)
          i915.force_probe= PCI_ID

    2. 주요 변경사항

      1. pcp 버전 업데이트
        1. CPU 및 디스크 포화상태 규칙 추가 (pmieconf)
        2. Nvidia GPU 메트릭 추가
        3. Linux 커널 및 KV, 네트워킹 메트릭 추가
        4. MongoDB 메트릭 에이전트 추가
      2. Grafana 
        1. MS SQL 대시보드 추가
        2. PCP 벡터값 추가
        3. PCP Redis의 메트릭 이름을 반환하지 않는 문제 수정 
      3. Container
        1. NFS스토리지 사용 가능
        2. podman v3 이하버전에서 생성된 컨테이너는 podman 4.0에서 사용 불가.
      4. VGA디스플레이 오류수정
        1. Matrox MGA G200, VGA 컨트롤러가 연결된 디스플레이, 레거시 모드로 전환된 환경
          에서 그래픽 출력시 표시되지 않는 문제 수정
    3. 주요 버전업데이트 / 추가된 패키지 리스트

      패키지명
      버전정보
      php 8.0
      perl 5.32
      GCC Toolset 11
      LLVM toolset 13.0.1
      java

      java-1.8.0
      java-11
      java-17

      bind 9.16
      audit 3.0.7
      pcp 5.3.5
      grafana 7.5.11
      grafana-pcp 3.2.0
      container-tools 4.0

 

reference

RHEL8 기본소개

  1. OS종류별 테스트 의견

    1. Oracle / Rocky / Alma 3종 모두 RHEL의 Fork버전의 OS로 대부분 비슷한 기능을 구현하고 있음
    2. 단, Oralce의 경우 자체 개발한 UEK커널을 사용하고 있는데, 수동으로 커널 드라이브에 올려야 하는 경우(ex. drbd / vdo) 커널 모듈에 올라가지 못하는 이슈가 있음
    3. docoker-compose기반으로 container를 사용할 경우 AWX의 구동 제약조건 확인.  
  2. 하드웨어 최대 인식 용량

    1. cpu / 메모리 정보


      RHEL6 (x86_64)
      RHEL7
      RHEL8
      cpu (core / Thread) 448 768 768
      최대 지원 메모리 12TB 12TB (7.2이상) 24TB
      최소 요구 메모리 1GB(cpu당 1GB필요) 1GB(cpu당 1GB필요) 1.5GB(cpu당 1.5GB필요)
    2. 디스크  용량


      RHEL6 (x86_64)
      RHEL7
      RHEL8
      최소 디스크 용량 1GB 10GB 10G
      권장 디스크 용량 5GB 20GB 20G
    3. 파일시스템별 용량

      1. EXT3


        RHEL6 (x86_64)
        RHEL7
        RHEL8
        최대 파일크기 2TB 2TB 2TB
        최대 파일시스템 크기 16TB 16TB 16TB
        최대 생성 디렉토리 수 32000 32000 32000
        최대 심볼릭링크 크기 8 8 8
      2. EXT4


        RHEL6 (x86_64)
        RHEL7
        RHEL8
        최대 파일크기 16TB 16TB 16TB
        최대 파일시스템 크기 50TB 50TB 50TB
        최대 생성 디렉토리 수 65000 65000 65000
        최대 심볼릭링크 크기 8 8 8
      3. XFS


        RHEL6 (x86_64)
        RHEL7
        RHEL8
        최대 파일크기 100TB 500TB 8EB
        최대 파일시스템 크기 300TB 500TB 1PB
        최대 생성 디렉토리 수 무제한 무제한 무제한
        최대 심볼릭링크 크기 8 8 8
    4. 최대 부트 크기


      RHEL6 (x86_64)
      RHEL7
      RHEL8
      BIOS 2TB 2TB 2TB
      UEFI 16TB 50TB 8EB
    5. 커널 및 OS기능


      RHEL6 (x86_64)
      RHEL7
      RHEL8
      커널버전 2.6.32 ~ 2.6.34 3.1 4.18
      GCC 4.4 4.8.2 8.2.1
      Graphic X.org 7.4 X.org 7.7 Wayland 1.15
  3. 확인된 주요 변경사항
    1. OS 영역
      1. tcp wrapper를 사용하지 않기 때문에 /etc/hosts.allow, /etc/hosts.deny 정책이 없음
      2. NetworkManager기반으로 네트워크 사용 (network script 사용하지 않고, 네트워크 설정시 nmcli, nmtui를 사용해서 네트워크 구성)
        NIC 이중화 구성은 nmcli를 통해서 team, bond 드라이브 구현이 가능한데, RHEL9버전에서는 Team을 사용하지 않기 때문에  8버전에서도 bond구성
      3. selinux on/off를 커널 파라미터로 조정 (파일내용으로 조정시 부팅과정에서 memory leak 가능성 존재)

        $> grubby --update-kernel ALL --args selinux=0
      4. 기본적으로 설치되는 container 런타임은 podman으로 구성
      5. 기본적으로 rsyslog에 elasticsearch 연동 
      6. VDO 볼륨관리 지원 (중복제거, 압축 기능이 포함된 스토리지 기능, Oracle linux에서는 제공안함)
    2. 네트워크 설정
      1. NIC이름을 ethX로 일괄 설정 방법

        $> grubby --update-kernel ALL --args net.ifnames=0
        $> cat /etc/default/grub
        ...
        GRUB_CMDLINE_LINUX="resume=UUID=da0bac52-eef8-413d-ba2b-904962752f57 rhgb quiet net.ifnames=0"
        ...
      2. nmcli기반으로 본딩 구성

        #1. NIC 연결상태 확인
        $> nmcli device status
        DEVICE  TYPE      STATE          CONNECTION
        eth0    ethernet  연결됨         eth0
        eth1    ethernet  연결됨         eth1
        lo      loopback  관리되지 않음  --
         
        #2. 본딩 구성하기 (bond NIC이름 설정하고 네트워크 정보 설정)
        $> nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=1,miimon=100"
        $> nmcli connection mod bond0 ipv4.addresses 192.168.10.100/24
        $> nmcli connection mod bond0 ipv4.gateway 192.168.10.1
        $> nmcli connection mod bond0 ipv4.method manual
        $> nmcli connection mod bond0 ipv6.method disabled
          
        #eth0과 eth1을 본딩 맴버용 NIC 추가
        $> nmcli connection add type ethernet con-name eth0 ifname eth0 master bond0
        $> nmcli connection add type ethernet con-name eth1 ifname eth1 master bond0
          
        #본딩 NIC 활성화
        $> nmcli connection up bond0
         
        #본딩 모드 변경
        $> nmcli connection mod bond0 +bond.options "mode=0,miimon=100"
        $> nmcli connection up bond0
      3. nmcli로 네임서버 설정

        $> nmcli connection modify eth0 ipv4.dns "8.8.8.8,219.250.36.130"
        $> nmcli connection up eth0
        $> cat /etc/resolv.conf
        # Generated by NetworkManager
        nameserver 8.8.8.8
        nameserver 219.250.36.130
    3. 가상화 / 컨테이너관련
      1. GuestOS 사용할때 Spice를 사용하지 않고, VNC 권장
      2. 컨테이너 레지스트리(skopeo / container, podman 기능 추가, 8.2 이상 지원)
      3. Intel cpu 10세대 (코멧레이크지원, 8.2 이상 지원)
    4. S/W
      1. Graphic 드라이버가  Xorg → Wayland로 변경
      2. Wayland 비활성화 (서버 재부팅 혹은 세션 로그아웃 필요)

        $> vi /etc/gdm/custom.conf
        ...
        WaylandEnable=false
        ...
      3. GCC 업데이트되어 nginx 1.14 설치 불가
      4. Wayland 다중모니터 인식 가능(8.4 이상 지원)

RHEL8계열의 root 패스워드 초기화절차

RHEL8계열 Root패스워드 초기화 절차

  1. 장비 부팅할때 grub화면이 출력회면 e키를 눌러서 부팅과정 중지

  2. 부팅하는 커널 버전 선택 후 e 눌러서 편집모드 
  3. linux로 시작하는 행의 맨 끝으로 이동 후 rd.break 문자열 입력 -> Ctrl + x키 눌러서 부팅

  4. Emergency mode 진입 

  5. write모드로 마운트 후 root 패스워드 패스워드 설정
  6. 패스워드 설정절차
    $> mount -o remount,rw /sysroot
    $> chroot /sysroot
    $> passwd

    패스워드 입력 2회
    # selinux를 사용할 경우 레이블 변경 프로세스 설정
    $> touch /.autolabel
    $> exit
    $> exit

RHEL8에서 selinux OFF하는방법

기존에는 /etc/selinux/config에서 SELINUX=disabled로 설정했는데 RHEL8에서 해당 파일로 변경시 부팅과정 중에 memory leak이 발생할 수 있어 다른 방법으로 변경하라고 합니다.

  1. 기존 절차
$> cat /etc/selinux/config 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
  1. 변경절차 (커널 파라미터에서 selinux를 off하도록 설정
    $> grubby --update-kernel ALL --args selinux=0
    $> cat /etc/default/grub
    ...
    GRUB_CMDLINE_LINUX="resume=123 rhgb quiet selinux=0"
    



시스템 반영을 위해 재부팅 필요.

 

RHEL환경에서 ssh 접속시 locale warning 메시지 출력시 조치사항

  1. RHEL8 버전에서 ssh접속시 아래내용으로 setlocale 메시지가 출력하는 경우 해당서버에 필요한 언어팩이 없어서 발생한 것. 
    Last login: Tue Sep 28 15:36:49 2021 from 192.168.0.10
    -bash: warning: setlocale: LC_ALL: cannot change locale (en_US.utf-8)
    /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.utf-8)
    /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.utf-8)
    /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.utf-8)

  2. 조치사항
    $> yum install glibc-langpack-en -y
    Failed to set locale, defaulting to C.UTF-8
    Last metadata expiration check: 1:14:53 ago on Tue Sep 28 14:35:14 2021.
    Dependencies resolved.
    ===========================================================================================================================================================================================================
     Package                                                Architecture                                Version                                              Repository                                   Size
    ===========================================================================================================================================================================================================
    Installing:
     glibc-langpack-en                                      x86_64                                      2.28-151.el8                                         baseos                                      825 k
    
    Transaction Summary
    ===========================================================================================================================================================================================================
    Install  1 Package
    
    Total download size: 825 k
    Installed size: 6.0 M
    Downloading Packages:
    glibc-langpack-en-2.28-151.el8.x86_64.rpm                                                                                                                                  8.0 MB/s | 825 kB     00:00
    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Total                                                                                                                                                                      2.2 MB/s | 825 kB     00:00
    Running transaction check
    Transaction check succeeded.
    Running transaction test
    Transaction test succeeded.
    Running transaction
      Preparing        :                                                                                                                                                                                   1/1
      Installing       : glibc-langpack-en-2.28-151.el8.x86_64                                                                                                                                             1/1
      Running scriptlet: glibc-langpack-en-2.28-151.el8.x86_64                                                                                                                                             1/1
      Verifying        : glibc-langpack-en-2.28-151.el8.x86_64                                                                                                                                             1/1
    
    Installed:
      glibc-langpack-en-2.28-151.el8.x86_64
    
    Complete!

RockyLinux OS설치 절차

  1. Rockylinux8버전에 대해 GUI기반의 OS설치 절차확인
  2. 지원 H/W
    1. AMD 및 x86서버에서 설치가 가능하며, 32bit는 제공되지 않음
  3. 최소 파티션 용량
    1. /boot : 커널버전별로 약 60MB(kdump 활성화시 +40MB)추가
    2. /var: 최소 3GB 이상 ~
    3. /usr: 최소10GB 이상 ~ 
  4. NVDIMM(Non-Volatile Dual In-line Memory Module)을 스토리지로 사용시 제약사항
    1. RHEL 7.6 이상 제공 가능
    2. 부팅 장치로 사용시 UEFI를 사용해야 함
  5. 설치 절차
    1. Install Rocky Linux~로 시작하는 메뉴 선택
    2. 언어 선택 : 한국어
    3. 설치 요약

      image.png


    4. 소프트웨어 → 소프트웨어 선택

      image.png


      1. 기본환경 : 서버
      2. 추가소프트웨어: 개발용 툴
    5. 디스크 파티션 용량 설정
      1. 시스템 → 설치 목적지 선택 후 OS설치할 디스크 선택

        image.png


    6. 기타 설정
      1. Kdump 활성화 (용량은 자동으로 설정)
      2. 보안정책 미사용
      3. root 비밀번호 입력