[RHEL6] 시스템 관리 명령어 4탄(hdparm, logger, logrotate, losetup)
본문 바로가기
IT 이야기/Linux 명령어

[RHEL6] 시스템 관리 명령어 4탄(hdparm, logger, logrotate, losetup)

by 찬찬이 아빠 2020. 3. 11.
반응형
  15. hdparm(하드 디스크 정보보기/설정)

 1) 경로 : /sbin/hdparm

 2) 요약 : 하드 디스크, CD-ROM 등의 디바이스의 설정을 보여주거나 설정

 3) 사용 방법 : hdparm [옵션] [장치명]

 4) 옵션

 -a [sectcount] : 파일 시스템의 미리 읽기(read-ahead)를 설정하거나 출력

 -A[0 또는 1] : 드라이브의 미리 읽기(read-lookahead)의 설정을 on/off

 -c [chipset_mode] : IDE나 확장 IDE 32비트 I/O를 설정하거나 정보를 출력

 -C : IDE의 전원 모드 상태를 검사

 -d [0 또는 1] : DMA 기능을 on/off

 -E : CD-ROM의 속도를 설정

 -f : 디바이스를 제거하기 위해 버퍼 캐시를 동기화

 -g : 드라이브의 지오메티르(geometry) 정보를 출력

 -h : 사용법 출력

 -i : 부팅 시에 볼 수 있는 드라이브의 정보를 출력

 -l(엘) : 드라이브로부터 직접 드라이브의 정보를 출력

 -k [0 또는 1] : keep_settings_over_reset 정보를 설정하거나 출력

 -K [0 또는 1] : 드라이브의 keep_features_over_reset 정보를 설정

 -L [0 또는 1] : 드라이브의 락을 설정

 -m [sectcount] : 드라이브의 다중 섹터 정보를 설정하거나 출력

 -p [0~5 중 하나] : 드라이브의 프리패치(prefetch) 수를 설정

 -P [sectcount] : 장치의 내부적인 프리패치 구조를 위한 최대 섹터 수를 설정

 -q : 옵션을 화면에 출력하지 않음. -i, -v, -t, -T 옵션에는 적용되지 않음

 -r [0 또는 1] : 읽기 전용 모드로 설정하거나 정보를 출력

 -R : IDE 인터페이스를 등록

 -S [timeout] : 드라이브의 대기(스핀다운, spindown) 시간을 설정

 -T : 캐시 읽기 시간을 출력

 -t : 장치 읽기 시간을 출력

 -u [0 또는 1] : 장치의 interrupt-unmask를 설정하거나 정보를 출력

 -U : IDE 인터페이스를 제거

 -v : -i 옵션을 제외하고, 모든 설정을 출력

 -W [0 또는 1] : IDE 드라이브의 쓰기 캐시(write-caching) 기능을 on/off

 -X [xfermode] : 새로운 IDE/ATA2 드라이브를 위해 IDE 전송 모드를 설정

 -y : IDE 드라이브를 대기 모드로 전환

 -Y : IDE 드라이브를 슬립 모드로 전환

 -Z : 오토 파워세이브(auto-powersaving) 모드를 비활성화

 

 5) 추가 설명

하드 디스크의 정보를 봅시다. 아래 예제에서 드라이브는 16비트 I/O를 지원하고 있습니다.

# hdparm /dev/sda

/dev/sda:
IO_support	= 0 (default 16-bit)
readonly	= 0 (off)
readahead	= 256 (on)
geometry	=9727/255/63, wectors - 156301488, w5q45 = 0

 

CD-ROM의 DMA 기능을 봅시다. using-dma 설정이 활성화되어 있습니다.

# hdparm -d /dev/hdd

/dev/hdd:
using_dma = 1 (on)

 

DMA 기능을 off로 설정하려면, -d 0 옵션을 사용합니다.

# hdparm -d 0 /dev/hdd

/dev/hdd:
settingusing_dma to 0 (off)
using_dma = 0 (off)

 

CD-ROM이 CD를 인식하지 못하거나 다운되는 현상이 있다면 이는 DMA 기능에 문제가 있을 수 있습니다. 아래 예제에서는 hdparm 명령어로 DMA를 off 시키고, IO_support를 32비트로 설정합니다.

# hdparm -c1 -d0 /dev/CD-ROM

/dev/CD-ROM:
setting 32-bit IO_support flag to 1
settingusing_dma to 0 (off)
 HDIO_SET_DMA failed : Operation not permitted
 IO_support = 1 (32bit)
 using_dma = 0  (off)

 

 

하드 디스크 정지 시키기

시스템이 5분 이상 아무것도 하지 않을 때 하드 디스크를 대기(Standby) 상태로 만들 수 있습니다.

 

# hdparm -S 60 /dev/sda

 

/dev/sda:

setting standy to 60 (5 minutes)

 

 

 

  16. logger(시스템 로그 기록)

 1) 경로 : /usr/bin/logger

 2) 요약 : 주어진 메시지를 /var/log/messages 파일에 기록

 3) 사용 방법 : logger [옵션] [메시지...]

 4) 옵션

 -f file : 파일(file)에 로그를 기록

 -i : 각각의 라인마다 logger의 프로세스 ID를 기록

 -p pri : 우선순위(pri)를 메시지와 같이 기록. 기본값은 user.notice

 -s : 시스템 로그 뿐만 아니라 표준 출력으로도 메시지를 기록

 -t tag : 태그(tag)를 각각의 라인마다 기록

 

 5) 추가 설명

logger 명령어는 주어진 메시지를 보내 /var/log/messages 파일에 로그 정보를 저장합니다.

예를 들어 아래 메시지를 로그 파일에 저장해 봅시다.

# logger System Logger Testing

 

/var/log/messages 파일의 최근 로그에서 logger 명령어로 저장한 메시지를 볼 수 있습니다.

# tail -3 /var/log/messages
Mar 11 14:20:22 localhost dhclient: DHCPACK from 129.168.1.1
Mar 11 14:22:10	localhost dhclient: bound to 192.168.1.105 -- renewal in 40513 seconds.
Mar 11 15:00:10 localhost root: System Logger Testing

 

 

 

  17. logrotate(로그 파일 관리)

 1) 경로 : /usr/sbin/logrotate

 2) 요약 : 로그 파일을 주기적으로 압축하고 이름을 바꾸어 관리

 3) 사용 방법 : logrotate [옵션] <설정파일>

 4) 옵션

 -d : 디버거 모드

 -f, --force : 새로운 목록이 추가되었거나 오래된 로그 파일을 수동으로 삭제할 경우 강제로 실행

 -s, --state [statefile] : 지정한 정책 파일(statefile)로 logrotate를 실행

 --usage : 사용법 출력

 

 5) 추가 설명

logrotate 명령어는 log 파일들으르 주기적으로 관리합니다. 지정된 주기에 맞춰 로그 파일의 이름을 변경 또는 압축, 삭제합니다. 보통 /etc/cron.daily 파일에 logrotate라는 스크립트를 생성하여 매일 정기적으로 실행합니다.

 

/etc/cron.daily/logrotate 파일을 한번 살펴 봅시다.

# cat /etc/cron.daily/logrotate
#!/bin/sh

/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [$EXITVALUE != 0]; then
	/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

 

/usr/sbin/logrotate 명령은 /etc/logrotate.conf 파일을 참조하여 매일 실행합니다.

 

/etc/logrotate.conf의 파일은 아래의 내용들을 포함합니다.

구분 설명
weekly 1주일에 한 번씩 로그 파일이 순환
rotate 4 최대 4개까지의 백업 로그 파일을 남김
create 오래된 ㄹㅗ그 파일의 순환 후 새로운 로그 파일을 생성
compress 압축으로 로그 파일을 보관
include /etc/logrotated.d rpm 등의 패키지 매니저로 설치되는 프로그램들은 logrotate 설정 파일을 이 위치에 저장

/var/logwtmp {

   monthly

   minsize 1M

   create 0664 root utmp

   root 1

}

wtmp의 logrotate 설정 정보는 다음과 같이 표현

 - 한 달에 한 번씩 로그 파일 순환

 - 로그 파일 크기가 1M가 넘으면 순환

 - 새로운 로그 파일의 정보(권한, 사용자명, 그룹)

 - 단일 파일을 사용. 백업 파일이 없음

 

logrotate 설정 파일이 있는 /etc/logrotate.d/ 디렉터리를 살펴봅니다.

# ls /etc/logrotate.d/
acpid conman cups httpd kdm libvirtd mgetty named ppp psacct radiusd rpm samba sa-update setroubleshoot squid syslog tux vsftpd.log wpa_supplicant yum

 

위의 파일 중 rpm의 logrotate 설정을 살펴봅니다. 아래 내용 중 notifempty는 log 파일이 비어 있을 경우 교체하지 말라는 뜻입니다. 또한 missingok는 순환하는 로그 파일을 찾을 수 없다면 무시하고 다음 파일을 사용하라는 의미입니다.

# cat /etc/logrotate.d/rpm
/var/log/rpmpkgs {
   weekly
   notifempty
   missingok
}

 

 

 

  18. losetup(루프 장치 설정)

 1) 경로 : /sbin/losetup

 2) 요약 : 루프 장치를 설정/제어

 3) 사용 방법 : losetup [옵션] 루프장치

 4) 옵션

 -a, all : 모든 루프 디바이스 상태를 출력

 -c, --set-capacity loopdev : 루프 디바이스에 속한 파일의 크기를 다시 지정

 -d, --detach loopdev : 루프 디바이스에 속한 파일이나 디바이스를 분리

 -e, -E, --encryption encryption_type : 지정한 이름이나 숫자의 데이터를 암호화

     NONE : 암호화 하지 않음(기본값)

     XOR : XOR 암호화

     DES : DES 암호화

 -f, --find : 사용 가능한 처 번째 루프 디바이스를 찾음

 -h, --help : 사용법 출력

 -o, --offset offset: 파일이나 디바이스의 오프셋 바이트를 지정

 

 5) 추가 설명

losetup 명령어는 루프 디바이스를 파일 또는 블록 장치와 연결하거나 루프 디바이스의 상태를 확인할 수 있습니다. losetup 명령어는 loop 모듈이 로딩ㄷ외어야만 사용할 수 있습니다.

# modprobe loop

 

만인 모듈이 없다면 커널 이미지 설정 파일에 CONFIG_BLK_DEV_LOOP 값이 y로 설정되어 있기 때문입니다.

# cat /boot/config-2.6.32-23-generic | grep LOOP
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_CRYPTOLOOP=m
CONFIG_AUFS_BDEV_LOOP=y

 

먼저 -f 옵션으로 사용할 수 있는 루프 디아비스를 확인합니다.

# losetup -f
/dev/loop0

 

현재 디렉터리에 루프 디바이스에 연결할 losetup.file 파일을 하나 생성합니다.

# dd if=/dev/zero of=./losetup.file bs=1k count=100
100+0 records in
100+0 records out
102400 bytes (102 kB) copied, 0.000416833 s, 246 MB/s

 

생성한 파일을 /dev/loop0 디바이스에 연결할 수 있습니다.

# losetup /dev/loop0 ./losetup.file
# losetup -a
/dev/loop0: [0801]:1048696 (/root/losetup.file)

 

루프 디바이스에 연결한 파일을 ext3 포맷으로 생성하고 마운트 할 수 있습니다.

# mkfs -t ext3 /dev/loop0
# mount -t ext3 /dev/loop0 /mnt

 

모든 작업이 끝난 후에는 -d 옵션으로 루프 디바이스에서 연결을 해제합니다.

# losetup -d /dev/loop0
반응형

댓글