반응형

 

 

1. fstab - 부팅시 자동으로 마운트 할 대상을 정의하는 시스템 기본 설정파일

 

리눅스가 부팅과정 중 4단계 Init 프로세스 단계 (/etc/inittab 파일에 정의된 순서에 따라서 시스템 초기화) 에서 /etc/fstab 파일에 정의된 모든 파일시스템을 마운트 함.

 

■ 설정 방법

=> /dev/md127 (raid1 한 장치)을 , /raid0 (디렉토리), ext4(파일 시스템 종류) default(옵션 기본),

1 ( 백업 가능하게 설정), 2 (우선순위 2 – 루트부분 검사 후 검사진행)

[파일시스템장치명] [마운트포인트] [파일시스템종류] [옵션] [dump관련설정] [파일점검옵션]

 

■ 첫번째 항목에 파일시스템 장치명 입력

=> /dev/sdb1 , /dev/sdb2 등과 같이 입력

 

■ 두번째 항목에 마운트 시켜줄 디렉토리 경로 지정

=> /, /home, /backup 등과 같이 지정

 

■ 세번째 항목에 파일시스템 종류 입력

=> ext, ext2. ext3. ext4. iso9660, nfs 

 

■ 네번째 항목에 마운트 옵션 입력

=> default (기본값)

=> auto (부팅시 자동마운트)

=> exec ( 실행파일이 실행되는 것을 허용) 

 

■ 다섯째 항목에 백업 가능/불가능

=> 0 - 백업 불가능하게 설정

=> 1 - 백업 가능하게 설정

 

■ 여섯째 항목에 fsck에 의한 무결성 검사 우선순위 옵션 설정 입력

=> 0 - 무결성 검사 x

=> 1 - 우선순위 1(대부분 루트부분 설정)

=> 2 - 우선순위 2(루트부분 검사 후 검사진행)

 

=> raid를 구성한 md0(device) 이름이 md127로 바뀌는 현상으로 uuid로 등록

※ uuid : 네트워크 상에서 서로 모르는 개체들을 식별하고 구별하기 위한 고유한 이름

 

■ 파일시스템 속성(옵션)

default - rw, nouser, auto, exec, suid 속성을 모두 가지는 속성으로 가장 일반적으로 사용

auto - 부팅시 자동으로 마운트 됨 (↔ noauto)

noexec - 실행파일이 실행되는 것을 허용하지 않음 (↔ exec)

nosuid – SetUID  SetGID의 사용을 허용하지 않음 (↔ suid)

ro – 읽기 전용으로 사용

rw – 읽고 쓰기 사용

user – 일반 계정 사용자들도 마운트를 할 수 있음 (↔ nouser)

discard – 더 이상 유효하지 않은 Data가 존재하는 sector가 있음을 알려, SSD의 수명을 연장

 

 SetUID - 사용자가 실행 파일 소유자로 실행 파일을 실행하고 디렉토리의 동작을 변경 가능

 SetGID - 사용자가 그룹 권한으로 실행 파일을 실행하고 디렉토리의 동작을 변경 가능

 

■ fstab 잘 못 작성 했을 때

부팅 중 마운트를 시도하다 실패 했다는 메세지가 뜨면서 중간에 멈춤

root 패스워드를 입력 하면 repair filesystem 쉘로 로그인 됨

vi /etc/fstab => 파일 내용 수정 안됨

mount -o remount,rw / => 읽기 전용을 읽기 쓰기 로 바꿈

이후 vi /etc/fstab 실행후 내용 수정 및 저장 후 재부팅

 

■ 원격에서 확인하는 법

umount -a 로 마운트 해제 후 ( -a 옵션은 /etc/fstab에 명시된 파일 시스템)

mount -a 로 다시 마운트 시킬 때 오류가 발생하면 오류 발생 부분 수정 후 저장

 

 

2. Fastboot  커널 자체에서 보다 빠른 부팅을 하기 위한 프로세스

설정 방법

vi /boot/grub/grub.conf  vi /boot/grub/menu.lst 파일 실행
=> 커널 라인 끝에 fastboot 삽입

fastboot를 사용하는 이유

서버 장애가 발생하여 리부팅이 진행 되었을 때

디스크 size가 큰 경우 부팅과정에서 fsck가 오랜시간 소요되어 사용하는 옵션

 

 

 

3. 파일 시스템 종류

■ ext – 초기 리눅스에서 사용되었던 파일 시스템 (현재 사용x)

ext2 – 현재도 사용되고 있으며 긴 파일명을 지원하는 것이 특징

ext3 – 저널링 파일시스템으로서 ext2에 비해 파일시스템 복구기능과 보안부분을 크게 향상

ext4 - 16TB 까지만 지원하던 ext3 타입보다 훨씬 더 큰 용량지원, 삭제파일복구 기능 이 있음

swap – 스왑 파일 시스템으로 스왑 공간으로 사용

XFS – 큰파일에 강하고 저널링 지원, 온라인 조각모음과 명령어 한줄로 백업과 복구가 가능

저널링 이란? - 주 파일 시스템에 변경사항을 반영하기 전에, 저널안에 생성되는 변경사항을

추적하는 파일 시스템

 

 

 

 

 fdisk - 리눅스의 디스크 파티션을 생성, 수정, 삭제 할 수 있는 유틸리티

디스크 또는 파티션 최대 크기 약 2.2TB

fdisk -l => 파티션 확인

fdisk /dev/xvda => 실행

Partition number(1-4): 1 => patition 번호 선택(최대 4개 까지 생성가능)

Firsy cylinder (1-17849, default 1): 1 =>시작 실린더 번호 입력 (기본 1)

Last cylinder or +size or +sizeM or +sizeK (1-17849, default 17849):17849 =>마지막 실린더 번호 입력 (기본 17849) , +1G ( 용량 설정)

Command (m for help): w => 설정 저장

=> xvda xvda6(1G)  xvda7(1G) 으로 파티션 나눔

mkfs.ext4 /dev/xvda6 => mkfs 명령어 이용하여 파일시스템 ext4 형식으로 생성

 

 

 parted

2TB 이상의 고용량 디스크의 파티션 구성

설정과 동시에 디스크에 기록됨

파티션을 생성, 삭제, 축소, 확장이 가능

/dev/sdb 를  parted 2TB 로 나눔

 


 
fdisk -l  명령어로 확인

 

 
ext4  파일 시스템으로 생성

 

 
파일 시스템 확인

 

 

 

■ mount : 특정 디렉토리에 파일시스템을 탑재 하는것

주요 옵션

-a : /etc/fstab에 명시된 모든 파일 시스템을 마운트 할때 쓰이는 옵션

-t fs_type : 파일 시스템의 유형을 지정하는 옵션, 지정하지 않으면 /etc/fstab 파일 참조

test : 아무런 옵션 없이 mount 명령어만 실행했을 경우( 마운트된 정보 확인)

-o : 마운트할 때 추가적인 설정을 적용할 때 사용하는 옵션

-o 주요 항목

ro : 읽기 전용 마운트

rw : 일기 쓰기 모드 마운트(기본값)

remount : 해당 파티션을 다시 마운트 (파티션 정보를 바꾸었을 때 사용)

loop : loop 디바이스로 마운트 ( CD-ROM 이미지 파일인 iso를 마운트해서 사용할 때 사용)

noatime : 시스템의 작업을 줄여 성능 향상 가져옴 (파일이 변경되기 전까지 Access time 변경되지 않음

umouint : 마운트 해제

 

옵션

-n : /etc/mtab 파일을 갱신하지 않고 마운트 해제

-v : 자세한 정보를 출력

-t : 파일시스템  종류

-at : /etc/mtab파일에 명시된 모든 파일시스템 중 유저가 입력한 파일시스템만 마운트 해제

-a : /etc/mtab파일에 명시된 모든 파일시스템의 마운트 해제

 

 

■ mount 설정

 

 

=> /parted 폴더 만듦
=> /dev/sdb1 /parted 라는 디렉토리에 마운트함

※ mount [device] [directory]

 

 

 swap  4G 에서 6G 로 수동으로 변경

swap - 리눅스에서 물리적 메모리(RAM)의 용량이 가득 차게될 경우 사용되는 여유 공간

 

swap 만들기

mkdir /swap =>swap 파일 저장할 디렉토리 생성

dd if=/dev/zero of=/swap/swapfile bs=1024 count=2097152

=> swapfile 파일 생성 (2G)

mkswap /swapfile => swap 파일로 포멧

swapon swapfile = > swapfile 즉시 활성화

swapon -s => 확인

vi /etc/rc.d/rc.local => 리부팅시에도 적용되게 설정 하는 파일

=> swapon /swapfile 추가

 

 

3. 각각의 RAID 레벨의 이해

 RAID 0

Concatenate 방식 (두 개 이상의 디스크에 데이터를 순차적으로 쓰는 방법)

장점 : 디스크 기본 공간이 부족할 때 데이터는 보존하며 여분의 디스크를 볼륨에 포함하여 용량 증설 가능

단점 : RAID 0 의 특성상 디스크 중 하나의 디스크라도 장애가 발생하면 복구가 어렵고, 패리티(오류검출기능)를 지원하지 않음

Stripe 방식 (두 개 이상의 디스크에 데이터를 랜덤하게 쓰는 방법)

장점 : 데이터를 사용할 때 디스크 수 만큼 분할하여 쓰기 때문에 속도 향상

단점 : Stripe를 구성할 시 기존 데이트는 모두 삭제

 

 RAID 1(Mirror) => 자주 쓰는 방식

Mirror 볼륨 내의 패리티를 사용하지 않고 디스크에 같은 데이터를 중복 기록하여 데이터를 보존, 적어도 동알한 용량의 디스크 두 개 필요

장점 : 볼륨 내 디스크 중 하나의 디스크만 정상이어도 데이터 보존(안정성 높음)

단점 : 용량이 절반으로 줄고, 쓰기 속도가 느려짐

 

 RAID 2

에러 체크와 수정을 할 수 있도록 Hamming code를 사용, 하드 디스크에서 ECC를 지원 안함(별도의 드라이브에 저장)

ECC를 위한 드라이브가 손상될 경우 문제 발생, RAID 4가 나오면서 거의 사용

 

 RAID 3, RAID 4

RAID 0, RAID 1의 문제점을 보완하기 위한 방식

기본적으로 RAID 0과 같은 striping 구성(성능 보안, 디스크 용량 온전히 사용)

RAID 3 : 데이터를 바이트 단위로 나누어 디스크에 동등하게 분산 기록, 동기화 필수

RAID 4 : 데이터를 블록 단위로 나눠 기록 (RAID 3보다 많이 사용)

 RAID 5

별도의 패리티 정보 디스크를 사용함으로써 발생하는 문제점을 보완하는 방식

장점 : 1개의 하드가 고장 나더라도 남은 하드들을 통해 데이터 복구 가능

 RAID 6

다른 드라이브들 간에 분포되어 있는 2차 패리티 정보를 넣어 2개의 하드에 문제가 생겨도 복구할 수 있게 설계됨

RAID 5보다 데이터의 안정성을 고려

 

 RAID 1+0 , RAID 0+1

RAID 1+0 : 각각 미러링 한 볼륨을 스트라이빙 한 것.

RAID 0+1 : 스트라이핑한 볼륨 두개를 서로 미러링한 것.

공통점 : 가용량이 같고, 속도가 같다.

차이점 : 볼륨이 깨지고, 볼륨을 재구성하는 방법이 다르다

 

=> /dev/xvda6/  와  /dev/xvda7 를  md127  으로 레이드함

 

 

1. soft RAID 구성 및 마운트

fdisk  로 파티션 설정 후

 

 

RAID 구성 ( mdadm --create [볼륨명] --level [레이드레벨] --raid-devices=[디스크 갯수][장치명]....[장치명]

mdadm --create /dev/md0 --level=1 --raid-device=2 /dev/xvda6 /dev/xvda7 => raid1 생성

mdadm --detail /dev/md127 => 상세정보 확인

mkdir /raid0 => raid0 디렉토리 생성

 

mount -t ext4 /dev/md127 /raid0 => 마운트 설정

 

 

2. 문제 생긴 디스크와 soft RAID 구성한 disk 교체

) mdadm 명령에 --fail 옵션을 주어 장애를 발생 시킴

xvda6  상태 불안정함

 

 

mdadm --detail /dev/md127 =>  레이드 정보 확인

=>마찬가지로 /dev/xvda6 상태가 불안정 함

 

 
mdadm --manage /dev/md127 --remove /dev/xvda6 =>  교체할 디스크 제거

=>dev/xvda6 를 제거 함

 

mdadm --manage /dev/md127 --add /dev/xvda6 =>  교체할 디스크 추가

=> 교체할 디스크(/dev/xvda6) 추가

 

 

cat /proc/mdstat => RAID 정보 확인

=>  정상으로 돌아옴

 

 주의할 점 : 디스크 교체 시 남아 있는 디스크의 파티션 정보와 새로 추가할 디스크의 파티션 정보가 같아야함

 

 

4. syslog

- 로깅 메세지 프로그램의 표준

- 다양한 프로그램들이 생성하는 메세지를 저장, 그리고 이용해서 다양한 분석이 가능하도록 로그 메세지 제공

- 프로그램 뿐만 아니라 device와 같은 장비들도 syslog를 사용 할 수 있도록 제공

- 관리자들은 device 장비에서 로그 메세지들을 통해 문제사항이나 성능 등을 확인할 수 있음

- 컴퓨터 시스템의 관리, 보안 알림, 일반적인 정보, 분석, 디버깅 메시지 제공

- 중앙 저장소에 다양한 타입의 시슴템들의 로그데이터의 저장소로 사용되기도 함

 

■ syslog 실행단계

시스템 부팅 → /etc/syslog.conf파일 읽음 → /etc/syslog.pid에 기록 → syslog.conf에 정의된 대로 기록 → cron에 의해 반복 수행

syslogd demon

=> /var/log/cron  의  syslog  자세히 보기

 

시스템에서 발생하는 오류 메시지를 구별하고, 각각의 오류 메시지에 따라서 처리 방법을 결정하는 역할을 담당

/etc/rc2.d/S74syslog 스크립트에 의해 /etc/syslog.conf 파일을 참조하여 실행

로그 수준(level)

emergenecy(0) : 시스템이 전면 중단되는 패닉 상태, 전체 공지가 필요한 상황

alert(1) : 즉각적인 조치가 필요한 상황(시스템 데이터베이스 오류)

critical(2) : 하드웨어 등의 심각한 오류가 발생한 상황

error(3) : 일반적인 에러/오류가 발생한 상황

warning(4) : 경고 메시지

notice(5) : 에러/오류는 아니지만 관리자의 조치가 필요한 상황

informaiton(6) : 의미 있는 정보 관련 메시지

debug(7) : 디버깅용 메시지

 

 logrotate

로그파일을 관리해주는 소프트웨어

로그 순환은 시스템 관리에 사용되는 자동화 된 프로세스로, 로그 파일이 너무 오래되거나 너무 커지면 로그 파일이 압축, 이동, 이름 바꾸기 또는 삭제됨

새로운 수신 로그 데이터는 새로운 새로운 파일로 보내짐 -d  옵션  :  디버그 모드

 

 

 

 

 

 

5. 파일체크시스템(fsck)  리눅스의 파일 시스템의 무결성을 검사하기 위한 도구

옵션

-a : 명령 수행에 대한 확인 질문 없이 무조건 수행

-r : 명령 수행에 대한 확인 질문을 함

-A : /etc/fstab에 정의되어 있는 모든 파일 시스템을 체크

-P : -A 옵션을 사용할 때, 루트 파일시스템을 다른 파일시스템과 병렬로 함께 체크

-R : -A 옵션을 사용할 때, 루트 파일시스템은 체크하지 않고 건너 뜀

-N : 실행을 하지 않고 단지 어떤 것이 실행 되어지는지 보여줌

-T : 검사를 시작할 때 제목을 보여주지 않음

-s : fsck동작을 시리얼화 함

-V : 실행되는 각 파일시스템용 명령을 포함해 자세한 출력을 수행

-t fstype : 점검할 파일시스템의 유형을 지정함

-f : 파일시스템이 이상이 없더라도 강제적으로 파일 시스템을 점검할 때 사용

 

 

특정 프로세스가 해당 파티션을 사용중일 때에는 umount 가 되지 않는다. 그때의 확인 방법은 ?

) /export/home 디렉토리에 이상 이 있음

fuser -cu /export/home => /export/home 를 누가 사용하고 있는지 확인

fuser -ck /export/home => kill signal을 보내 /export/home 에 있는

모든 프로세서 종료

umount /export/home=> umount 설정

 

 

6. xinetd  ? (슈퍼데몬관리)

- 오픈 소스 슈퍼 서버 데몬으로 시스템에서 돌아가며 인터넷 기반 연결을 관리

- inetd 보다 더 강력한 보안을 제공

- 네트워크서비스에 대한 접근제어, login 에 대한 접근제어 역할을 함

 

설정 확인 (vi /etc/xinetd.conf)

instances : 동시에 서비스할 수 있는 서버의 최대 개수 지정

log_type : 어떠한 형태로 로그 기록을 저장할 것인가를 지정

syslog : 지정된 facility에서 syslog로 로그기록이 전달

file : 지정된 크기를 가진 파일명에 로그 기록이 저장

log_on _success : 서버가 시작될 때와 끝날 때 기록될 것을 지정

log_on_failure : 서버가 리소스 부족으로 시작될 수 없거나 설정 파일내의 규칙에 의한 접근이 거부되었을 때 기록될 값들을 지정하는 속성

cps : 초당 요구수, 초당요구수 이상 발생시 제한시간

only_from : 특정서비스를 이용 가능한 원격호스트를 설정

per_source : 똑같은 ip 주소로 로컬서비스에 접속할 수 있는 최대 접속수를 지정해준다.

no)access : 서버 서비스를 이용하지 못하도록 서버에 접근하지 못하게 할 원격 호스트의 주소를 지정해준다.

 

 

 

 

반응형

+ Recent posts