Ncloud Tool Kit 점검(Linux)

Prev Next

Classic 환경에서 이용 가능합니다.

Linux Ncloud Tool Kit(Linux NTK)은 네이버 클라우드 플랫폼에서 제공하는 Linux 서버 진단을 위한 Tool Kit입니다. 제공하는 기능은 다음과 같습니다.

  • Linux 서버 상태 진단 기능
    • 계정 설정 파일 확인
    • 필수 프로세스 및 필수 스크립트 확인
    • DNS 설정 상태
    • 네트워크 설정 정보 확인
    • 루트 파일 시스템 상태
    • 파일 시스템 마운트 설정 상태
    • grub 정보 확인
    • 커널 이미지 목록 확인
    • 리포지토리 설정 상태
    • 필수 패키지 확인
  • 스토리지 IOPS 측정
참고

여기에서는 네이버 클라우드 플랫폼 XEN 하이퍼바이저 Linux 서버에 관한 내용만 설명합니다.

Linux 서버 상태 진단

Linux NTK를 활용하여 Linux 서버의 상태를 진단하고 문제 증상 및 원인을 확인할 수 있습니다.

Account Config File

계정 관련 설정 파일을 확인합니다.

기능 원인 조치 내용
/etc/passwd 파일 존재 여부 확인
  • NTK 수행 결과:
    [NOK] /etc/passwd file does not exist
/etc/passwd 파일이 존재하지 않음 다음 명령어를 실행하여 기본 백업 파일을 복사
# cp -p /etc/passwd- /etc/passwd
/etc/shadow 파일 존재 여부 확인
  • NTK 수행 결과:
    [NOK] /etc/shadow file does not exist
/etc/shadow 파일이 존재하지 않음 다음 명령어를 실행하여 기본 백업 파일을 복사
# cp -p /etc/shadow- /etc/shadow
/etc/group 파일 존재 여부 확인
  • NTK 수행 결과:
    [NOK] /etc/group file does not exist
/etc/group 파일이 존재하지 않음 다음 명령어를 실행하여 기본 백업 파일을 복사
# cp -p /etc/group- /etc/group

Mandatory Process

네이버 클라우드 플랫폼 Linux 서버를 운영하는 데 있어 필수적인 프로세스를 확인합니다.

기능 원인 조치 내용
Xentools 패키지 설치 유무 확인
  • NTK 수행 결과:
    [NOK] xe-guest-utilites installation status is Not OK... Please Check
Xentools 패키지 설치 상태가 비정상임 Xentools 재설치(Linux)를 참고하여 Xentools 재설치
부팅 시 Xentools 서비스 등록 상태(enable) 확인
  • NTK 수행 결과:
    [NOK] xentools auto start is Not OK.. Please check
부팅 시 Xentools 서비스가 실행되도록 설정되지 않음

Ncloud Setup Script

네이버 클라우드 플랫폼 Linux 서버를 운영하는 데 있어 필수적인 설정 스크립트를 확인합니다.

주의

내 서버 이미지 생성 시 관리자 비밀번호 초기화할 경우, 다음 표의 내용을 반드시 확인해 주십시오.

기능 원인 조치 내용
ncloud_auto.sh 스크립트 확인
  • NTK 수행 결과:
    [NOK] ncloud_auto.sh file does NOT exist.. Please Check
ncloud_auto.sh 파일이 존재하지 않음
  • ncloud_auto.sh 셋업 스크립트 설치 필요
  • 신규 서버 생성 후 /usr/local/etc/ncloud_auto.sh 스크립트를 문제 서버의 /usr/local/etc/ 하위로 복사
ncloud_auto.sh 파일은 존재하지만, 퍼미션이 기준에 불일치함 다음 명령어를 실행하여 파일 퍼미션 설정
# chmod 700 /usr/local/etc/ncloud_auto.sh
ncloud_auto.sh 스크립트 내에 필수 내용 확인
  • NTK 수행 결과:
    [NOK] Mandatory Content does not exist in ncloud_auto.sh
ncloud_auto.sh 스크립트 내용이 비정상적임
  • 기존의 ncloud_auto.sh 스크립트 삭제 후 재설치 필요
  • 신규 서버 생성 후 /usr/local/etc/ncloud_auto.sh 스크립트를 문제 서버의 /usr/local/etc/ 하위로 복사
부팅 시 실행되어야 하는 필수 스크립트 설정 확인
  • NTK 수행 결과:
    [NOK] ncloud_auto Not exist in /etc/rc.local... Please Check
rc.local에 ncloud_auto.sh 구문이 존재하지 않음 /etc/rc.local에 아래 구문 삽입
/usr/local/etc/ncloud_auto.sh > /tmp/. ncloud_out.log 2> /tmp/.ncloud_error.log &
부팅 시 실행되어야 하는 필수 서비스 상태 확인
  • NTK 수행 결과:
    [NOK] ncloud_auto.service is not enabled... Please Check
ncloud_auto.service가 비활성화 상태 다음 명령어를 실행하여 ncloud_auto 서비스 활성화
# systemctl enable ncloud_auto.service
rc.local 파일 및 관련 서비스 상태 확인
  • NTK 수행 결과:
    [NOK] /etc/rc.local or permission(-rwxr-xr-x) is Not OK.. Please Check
rc.local 파일 퍼미션이 기준에 불일치 다음 명령어를 실행하여 파일 퍼미션 설정
# chmod 755 /etc/rc.local
rc-local.service가 비활성화 상태 다음 명령어를 실행하여 서비스 활성화
  • CentOS 7.x
  • # systemctl unmask rc-local.service
  • Ubuntu
  • # systemctl enable rc-local.service

DNS Config

DNS 설정 및 상태를 확인합니다.

기능 원인 조치 내용
/etc/resolv.conf 파일 확인
  • NTK 수행 결과:
    [NOK] There is no exsit /etc/resolv.conf
/etc/resolv.conf 파일이 존재하지 않음 1. 다음 명령어를 실행하여 `resolv.conf` 파일 생성 및 퍼미션 업데이트
    # touch /etc/resolv.conf
    # chmod 644 /etc/resolv.conf
2. DNS 설정 점검을 참고하여 DNS 설정 점검
네이버 클라우드 플랫폼 내부 서버와 연결 상태 확인
  • NTK 수행 결과:
    [NOK] Can't connect to Naver Cloud internal server
네이버 클라우드 내부 서버와 연결 실패 DNS 설정 점검을 참고하여 DNS 설정 점검
/etc/resolv.conf 파일 내에 필수 내용 확인
  • NTK 수행 결과:
    [NOK] The configuration does not exist or is incorrect(127.0.0.53) in resolv.conf
    [NOK] The configuration does not exist or is incorrect(10.250.255.11,10.250.255.12) in resolv.conf
/etc/resolv.conf 파일 내에 필수 설정이 누락되거나 잘못 표기됨
/etc/resolv.conf 파일 혹은 systemd-resolve 내에 첫 번째 DNS 정보 확인
  • NTK 수행 결과:
    [NOK] First DNS Information in /etc/resolv.conf
    [NOK] First DNS Information in systemd-resolve
첫 번째 DNS 정보가 네이버 클라우드 플랫폼에서 제공하는 IP 정보가 아님

Network Config

네트워크 설정 정보를 확인합니다.

기능 원인 조치 내용
네트워크 설정 파일 확인
  • NTK 수행 결과:
    [NOK] /etc/networks file does not exist
    [NOK] /etc/sysconfig/network file does not exist
네트워크 설정 파일이 존재하지 않음 네트워크 설정 파일 재생성 후, 네트워크 서비스 재시작
eth0 인터페이스 DHCP 설정 확인
  • NTK 수행 결과:
    [NOK] eth0 is configured by [BOOTPROTO 값]
eth0의 BOOTPROTO 값이 DHCP가 아님 BOOTPROTO 값을 DHCP로 변경 후 네트워크 서비스 재시작
  • CentOS 파일 경로: /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    MTU=8950
    BOOTPROTO=dhcp
    ONBOOT=yes
  • Ubuntu 파일 경로: /etc/network/interfaces
    auto eth0
    iface eth0 inet dhcp
    post-up /sbin/ifconfig eth0 mtu 8950
추가 네트워크 인터페이스 BOOTPROTO 값 설정 확인
  • NTK 수행 결과:
    [NOK] BOOTPROTO entry does not exist in [NIC명]
추가 네트워크 인터페이스의 BOOTPROTO 값이 설정되어 있지 않음 BOOTPROTO 값 설정 후 네트워크 서비스 재시작
Network Manager 서비스 상태 확인(CentOS 7만 해당)
  • NTK 수행 결과:
    [NOK] NetworkManager is active
CentOS 7 환경에서 Network Manager 활성화 시 DHCP 동작에 오류 발생 다음 명령어를 실행하여 Network Manager 서비스 비활성화
# systemctl disable NetworkManager
# systemctl stop NetworkManager
# systemctl mask NetworkManager
# chkconfig network on
# systemctl restart network.service

root 파일 시스템

루트 파일 시스템 상태를 확인합니다.

기능 원인 조치 내용
루트 파일 시스템(/) 전체 사용률 확인
  • NTK 수행 결과:
    [NOK] rootfs is Not OK.. (90%) Please Check
    [NOK] rootfs can't write(/tmp)
    [NOK] rootfs can't touch and delete(/tmp/rotest-temps)
루트 파일 시스템(/)의 사용률(90% 이상)이 높은 상태 루트 파일 시스템(/)의 불필요한 파일 삭제
/tmp 디렉터리 존재 여부 확인
  • NTK 수행 결과:
    [NOK] /tmp does not exist.
/tmp 디렉터리가 존재하지 않음 다음 명령어를 실행하여 디렉터리 생성
# mkdir /tmp
/tmp 디렉터리 퍼미션 확인
  • NTK 수행 결과:
    [NOK] /tmp permission(drwxrwxrwt.) is not ok
/tmp의 퍼미션이 기준에 불일치 다음 명령어를 실행하여 퍼미션 설정
# chmod 1777 /tmp
/tmp 디렉터리 소유자 확인
  • NTK 수행 결과:
    [NOK] /tmp user(user명) is not ok
/tmp의 소유자가 기준에 불일치 다음 명령어를 실행하여 디렉터리 소유자 설정
# chown root: /tmp
/tmp 디렉터리 소유 그룹 확인
  • NTK 수행 결과:
    [NOK] /tmp group(user명) is not ok
/tmp의 소유 그룹이 기준에 불일치 다음 명령어를 실행하여 디렉터리 소유 그룹 설정
# chown :root /tmp

fstab File

파일 시스템 마운트 정보 설정 파일(/etc/fstab)을 확인합니다.

기능 원인 조치 내용
/etc/fstab 존재 여부 확인
  • NTK 수행 결과:
    [NOK] /etc/fstab file does not exist
/etc/fstab 파일이 존재하지 않음 다음 명령어를 실행하여 파일을 생성한 후 fstab 사용을 참고하여 fstab 파일 점검 진행
# touch /etc/fstab
# chmod 644 /etc/fstab
/etc/fstab 문법 확인
  • NTK 수행 결과:
    Field(*),Number of fields in fstab: [NOK]
    Field(1),Source device: [NOK]
    Field(2),Mount point dir: [NOK]
    Field(3),Filesystem exist: [NOK]
    Field(4),Options value: [NOK]
    Field(5),Config of filesystem dump: [NOK]
    Field(6),Config of filesystem check: [NOK]
/etc/fstab에 등록된 내용이 올바르지 않은 형식 또는 잘못된 내용임 fstab 사용을 참고하여 fstab 파일 점검 진행

grub Config

설정된 grub 정보를 확인합니다.

기능 원인 조치 내용
grub 파일 확인
  • NTK 수행 결과:
    [NOK] /boot/grub2/grub.cfg file does not exist
    [NOK] /boot/grub/grub.cfg file does not exist
부팅에 필요한 필수 파일이 삭제 또는 손상됨 1. 스토리지 스냅샷 백업 후 신규 서버 생성 및 복구
2. 다음 명령어를 실행하여 grub 파일을 생성
# grub2-mkconfig -o /boot/grub2/grub.cfg

Kernel Image

커널 이미지 목록을 확인합니다.

기능 원인 조치 내용
커널 이미지 확인
  • NTK 수행 결과:
    [NOK]/boot folder does not exist
/boot 디렉터리가 존재하지 않음 스토리지 스냅샷 백업 후 신규 서버 생성 및 복구

Repo Config

리포지토리 설정 파일을 확인합니다.

기능 원인 조치 내용
리포지토리 설정 관련 디렉터리 확인
  • NTK 수행 결과:
    [NOK] /etc/apt folder does not exist
    [NOK] /etc/yum.repos.d folder does not exist
리포지토리 설정 관련 디렉터리가 존재하지 않음 다음 명령어를 실행하여 리포지토리 설정 디렉터리 생성
  • CentOS
  • # mkdir -p /etc/yum.repos.d/
  • Ubuntu
  • # mkdir -p /etc/apt/
리포지토리 설정 관련 파일 확인
  • NTK 수행 결과:
    [NOK] /etc/apt/sources.list file does not exist
    [NOK] /etc/yum.repos.d/CentOS-Base.repo file does not exist
리포지토리 설정 관련 파일이 존재하지 않음 다음 명령어를 실행하여 리포지토리 설정 파일 다운로드
  • CentOS 7.x
  • # wget -q http://init.ncloud.com/server/linux/repo/centos7/CentOS-Base.repo -O /etc/yum.repos.d/CentOS-Base.repo
  • Ubuntu 18.04
  • # wget -q http://init.ncloud.com/server/linux/repo/ubuntu18/sources.list -O /etc/apt/sources.list

Mandatory Package

네이버 클라우드 플랫폼 Linux 서버를 운영하는 데 있어 필수적인 패키지를 확인합니다.

기능 원인 조치 내용
wget 패키지 존재 여부 확인
  • NTK 수행 결과:
    [NOK] wget package is not installed
wget 패키지가 설치되지 않음 다음 명령어를 실행하여 패키지 다운로드
  • CentOS
  • # yum install wget
  • Ubuntu
  • # apt install wget
/usr/bin/wget 파일 실행 가능 여부 확인
  • NTK 수행 결과:
    [NOK] /usr/bin/wget file does not exist or permission is not OK... Please Check
wget 실행 파일이 존재하지 않거나 실행 권한이 없음 다음 명령어를 실행하여 패키지 다운로드
  • CentOS
  • # yum install wget
  • Ubuntu
  • # apt install wget
dos2unix 패키지 존재 여부 확인
  • NTK 수행 결과:
    [NOK] dos2unix package is not installed
dos2unix 패키지 설치되지 않음 다음 명령어를 실행하여 패키지 다운로드
  • CentOS
  • # yum install dos2unix
  • Ubuntu
  • # apt install dos2unix
/usr/bin/dos2unix 파일 실행 가능 여부 확인
  • NTK 수행 결과:
    [NOK] /usr/bin/dos2unix file does not exist or permission is not OK... Please Check
dos2unix 실행 파일이 존재하지 않거나 실행 권한이 없음 다음 명령어를 실행하여 패키지 다운로드
  • CentOS
  • # yum install dos2unix
  • Ubuntu
  • # apt install dos2unix
rpcbind 패키지 존재 여부 확인(Ubuntu 제외)
  • NTK 수행 결과:
    [NOK] rpcbind package is not installed
rpcbind 패키지 설치되지 않음 다음 명령어를 실행하여 패키지 다운로드
  • CentOS
  • # yum install rpcbind
/usr/sbin/rpcbind 파일 실행 가능 여부 확인(Ubuntu 제외)
  • NTK 수행 결과:
    [NOK] /usr/sbin/rpcbind file does not exist or permission is not OK... Please Check
rpcbind 실행 파일이 존재하지 않거나 실행 권한이 없음 다음 명령어를 실행하여 패키지 다운로드
  • CentOS
  • # yum install rpcbind
chrony 패키지 존재 여부 확인(Ubuntu 제외)
  • NTK 수행 결과:
    [NOK] chrony package is not installed
chronyd 패키지가 설치되지 않음 다음 명령어를 실행하여 패키지 다운로드
  • CentOS
  • # yum install chrony
/usr/sbin/chronyd 파일 실행 가능 여부 확인(Ubuntu 제외)
  • NTK 수행 결과:
    [NOK] /usr/sbin/chronyd file does not exist or permission is not OK... Please Check
chrony 실행 파일이 존재하지 않거나 실행 권한이 없음 다음 명령어를 실행하여 패키지 다운로드
  • CentOS
  • # yum install chrony

스토리지 IOPS 측정

Linux NTK가 제공하는 FIO 테스트 툴을 이용하여 Linux 서버에 연결된 스토리지의 성능을 측정할 수 있습니다.

1. Linux NTK 수행

Linux NTK를 실행하는 방법은 다음과 같습니다.

  1. cd /usr/local/etc 명령어를 입력해 주십시오.
    • NTK가 위치한 경로로 이동합니다.
  2. tar zxvf ntk.tar.gz 명령어를 입력해 주십시오.
    • NTK 파일 압축이 해제됩니다.
    • ntk.tar.gz 파일이 없거나 해당 파일을 최신 버전으로 교체하려면 wget -P /usr/local/etc http://init.ncloud.com/server/ntk/linux/xen/ntk.tar.gz을 입력해 파일을 다운로드해 주십시오.
  3. 다음 명령어를 입력하여 NTK를 실행해 주십시오.
    # cd /usr/local/etc/ntk
    # ./ntk
    

2. FIO TEST 실행

스토리지 디스크의 IOPS를 측정하는 방법은 다음과 같습니다.

  1. NTK를 실행한 후 (E) EXECUTE - << Run System Apps >>를 클릭해 주십시오.
    server-ts-ntk-classic_fio-test-01
  2. (F) FIO TEST - << FOR DISK IO TEST >>를 클릭해 주십시오.
    server-ts-ntk-classic_fio-test-02
  3. [YES] 버튼을 클릭하여 디스크 IOPS 측정을 실행해 주십시오.
    server-ts-ntk-classic_fio-test-03
  4. 디스크 IOPS 측정을 진행할 디스크를 선택한 후 [OK] 버튼을 클릭해 주십시오.
    참고

    서버에 연결된 디스크가 1개인 경우에는 자동 선택되어 이 단계가 SKIP 됩니다.

    server-ts-ntk-classic_fio-test-04
  5. IOPS 테스트 옵션을 선택한 후, [OK] 버튼을 클릭해 주십시오.
    server-ts-ntk-classic_fio-test-05
    • random read: 랜덤 읽기
    • random write: 랜덤 쓰기
    • 디스크 IOPS 측정이 실행됩니다.
      server-ts-ntk-classic_fio-test-06
  6. 측정이 완료되면 결과를 확인한 후 [OK] 버튼을 클릭해 주십시오.
    server-ts-ntk-classic_fio-test-07
  7. 네이버 클라우드 플랫폼 기술 지원 센터로 로그 파일을 전달하려면 [Yes] 버튼을 클릭해 주십시오. 전달하지 않을 경우, [No] 버튼을 클릭하여 종료해 주십시오.
    server-ts-ntk-classic_fio-test-08
    • 로그가 성공적으로 전달된 경우, 전달 성공 메시지와 함께 로그 다운로드 Short-URL을 확인할 수 있습니다.