데몬이란?
- 실제 서비스를 제공하는 프로세스의 집합
데몬의 동작유형
- xinetd 모드와 Standalone 모드
xinetd (eXtended Internet Services Daemon / 슈퍼데몬 )
- 외부의 요청이 있을때만 반응하기때문에 반응속도가
느리지만, 리소스 소모는 적다.
Standalone
- 슈퍼데몬에 의지하지 않고 요청이 있을때 신속히
반응 할 수 있지만, 항상 커널에 상주 하고 있기
때문에 리소스 소모가 크다.
데몬의 종류
- network 네트워크 관련된 정보를 설정을 활성화 하는 데몬
- iptables 패킷 필터링 방화벽 데몬
- postfix 메일 전송 역할을 하는 메일서버 데몬
리눅스마스터 1,2 급 시험용 데몬
ALSA - 사운드 관련 데몬
CUPS - 프린터 관련 데몬
SANE - 스캐너,캠 관련 데몬
-----------------------------------------------------------------
파일 시스템
리눅스에서 지원하느 파일 시스템의 종류
- EXT3, EXT4, SWAP, XFS, NFS, ISO9660
EXT4 ( Extended File System )
- 1EB의 최대 파일 시스템 사이즈와 16TB의 최대 파일 사이즈 지원
- 서브 디렉토리 64000개 지원, 파일은 약 40억개 지원
Block Group
- 슈퍼 블록
- 그룹 디스크립터 테이블
- 블록 비트맵
- 아이노드 비트맵
- 아이노드 테이블
- 데이터 블록
inode
소유자, 소유그룹 정보
파일 접근 권한 정보
타임 스탬프
파일의 종류, 크기, 하드링크 수
파일이 위치한 데이터 블록의 주소
Disk의 타입의 종류
1. IDE (Integrated Drive Electronics)
2. SATA (Serial Advanced Technology Attachment)
3. SCSI (Small Computer System Interface)
4. SAS (Serial Attachment SCSI)
- 크기가 작고 안정적이며 성능이 우수하여 서버용으로
자주 사용되는 디스크 타입이다.
파티션 (Partition)
- 하나의 물리적인 하드 디스크를 여러 개의 논리적인
디스크로 나누는 것
리눅스 파티션
- 주(Praimary) 파티션과 확장(eXtended)파티션, 그리고 논리(Logic)
파티션으로 구분된다.
- 디스크 하나당 주 파티션은 4개까지만 생성이 가능
그 이상의 파티션이 필요할 경우에는 확장 파티션을 생성 한 후에
다시 논리 파티션으로 나누어 최대 12개까지 생성 할 수 있다.
- 파티션 명칭
ex) /dev/sda /dev/sdb
1개의 디스크 1개의 파티션
/dev/sda1
1개의 디스크 3개의 파티션
/dev/sda1
/dev/sda2
/dev/sda3
2개의 디스크에 각 2개의 파티션
1번 디스크 sda (SCSI, SAS 타입 디스크)
/dev/sda1 /dev/sda2 hda (IDE타입,SATA타입 디스크)
2번 디스크
/dev/sdb1 /dev/sdb2
df (Disk Free) - 파일 시스템 및 파티션별 자세한 용량 정보 확인
-a 모든 파일 시스템 출력
-h 용량을 읽기 쉽게 출력
-i inode 사용정보를 출력
du (Disk Usage) - 디렉토리나 파일의 용량을 확인
-h 용량을 읽기 쉽게 출력
-s 요약
#fdisk (파티션 생성 / 수정)
#fdisk [옵션] [장치명]
-l 디스크 파티션 정보 출력
파티션 생성 실습
1. 시스템 종료 후, 오늘 날짜로 스냅샷
2. 디스크 1GB 추가
3. fdisk 확인
#fdisk -l
4. 디스크 사용을 위한 설정 과정
파티션 생성
(1) #fdisk [장치명]
#fdisk /dev/sdb
d delete a partition
l list known partition types
m print this menu
n add a new partition
p print the partition table
q quit without saving changes
t change a partition's system id
w write table to disk and exit
Device Boot Start End Blocks Id System
/dev/sdb1 1 130 1044193+ 83 Linux
1GB - 총 4개의 파티션으로 설정
주파티션 200MB /dev/sdb1
주파티션 200MB /dev/sdb2
확장파티션
논리파티션 200MB /dev/sdb5
논리파티션 나머지전부 /dev/sdb6
/dev/sdb1 1 26 208813+ 83 Linux
/dev/sdb2 27 52 208845 83 Linux
/dev/sdb3 53 130 626535 5 Extended
/dev/sdb5 53 78 208813+ 83 Linux
/dev/sdb6 79 130 417658+ 83 Linux
mkfs (make filesystem)
#mkfs [옵션] [장치명]
-t 파일 시스템의 타입을 지정
#mkfs -t ext4 /dev/sdb1
#mkfs -t ext4 /dev/sdb2
#mkfs -t ext4 /dev/sdb5
#mkfs -t ext4 /dev/sdb6
마운트 - 특정 디렉토리에 파일시스템을 탑재하는것
- 리눅스는 파일 단위로 모든 장치를 관리하기때문
에 새롭게 만든 파일 시스템을 사용하기 위하여
추가한 디스크 장치를 임의의 디렉토리에 마운트하여
사용해야한다.
마운트 포인트
- 파일시스템을 디렉토리 연결시켜야하는데, 이때 연결되는
디렉토리르 의미함
mount [장치명] [마운트포인트]
# mount /dev/sdb1 /DISK_1
# mount /dev/sdb2 /DISK_2
# mount /dev/sdb5 /DISK_3
# mount /dev/sdb6 /DISK_4
#vi /etc/fstab
(1) 파일시스템 장치명
- 장치명
- UUID (범용 고유 식별자 / Universal Unique IDentifier)
#blkid
UUID=5d678039-b1a7-49df-8540-455cae233370 /DISK_1 ext4 defaults 0 0
UUID=1edbe3c3-a09e-418b-af85-1e9985f12574 /DISK_2 ext4 defaults 0 0
UUID=86a06f88-03fe-4c39-8675-f117f7d110c7 /DISK_3 ext4 defaults 0 0
UUID=180c5f29-89a2-4dd3-a44d-89d604b4bfbd /DISK_4 ext4 defaults 0 0
장치명
/dev/sda
/dev/sdb
/dev/sdc
(2) 마운트 포인트
(3) 파일시스템 타입
(4) 마운트 옵션
- defaults (rw, suid, dev, exec, auto, nouser, async)
(5) 덤프 생성 유무
- 덤프(백업) 생성 1
- 덤프 파일 생성하지 않음 0
(6) 파일시스템 검사 유무 (#fsck - 파일시스템 검사)
0 - 무결성 검사 하지 않음
1 - 우선순위 1위를 뜻하며, 대부분 / 파티션에 설정
2 - 우선순위 2위를 뜻하며, 1순위 검사 후 검사
/DISK_1 ext4 defaults 0 0
/DISK_2 ext4 defaults 0 0
/DISK_3 ext4 defaults 0 0
/DISK_4 ext4 defaults 0 0
디스크추가 -> 파티션 생성 -> 파일 시스템 생성
-> 마운트 추가 -> 마운트 -> UUID확인 -> fstab 등록
1. 스냅샷으로 초기화
2. 3GB 디스크 1개 추가
3. 3개의 파티션 으로 생성 (#fdisk)
주파티션 1G
주파티션 1G
주파티션 나머지 전부
4. 파일 시스템 생성 ext4 (#mkfs)
5. 마운트 포인트 /TEST_1 (#mkdir)
/TEST_2
/TEST_3
6. 마운트 확인 (#mount)
7. 부팅 시 자동으로 마운트 하도록 fstab 등록, 단 UUID 이용 (#blkid)
8. 리부팅 후 마운트 확인 (#df -h, #mount)
==============================================================================
RAID (Redundant Array Of Inexpensive/Independent Disk)
RAID 구성 방식
Hardware
- RAID 컨트롤러 내부의 하드웨어 및 펌웨어에 의해 구현
- 독자적인 메모리와 프로세서를 가지고 있다.
- 안정적이나 대부분 고가
Software
- 운영체제에서 지원하는 방식
- 저렴한 비용으로 H/W RAID와 동일하게 구현이 가능
- 속도나 신뢰성은 H/W RAID보다 떨어진다.
Linear RAID
- 여러개의 디스크를 하나의 디스크처럼 사용하도록 만든다.
- 첫 번째 디스크 완전히 채워지면 순차적으로 다음 디스크에 저장을한다.
- 하나의 디스크에서 입/출력 작업이 실행된다.
- 성능면에서 별다른 장점이 없음
- 하나의 디스크가 장애가 발생하면, 전체 볼륨을 사용할 수 없게 된다.
- 모든 디스크의 총량과 RAID볼륨의 용량이 같다.
- 2개의 이상의 디스크를 필요로 한다.
작업 준비
스냅샷 초기화
1. 디스크 추가
0.25GB HDD * 9EA
2. 디스크 추가 확인
#fdisk -l // /dev/sda를 제외한 /dev/sdb ~/dev/sdj 까지
9개 디스크 추가 확인
3. 파티션 생성
Linear Raid 사용 디스크 (/dev/sdb, /dev/sdc)
#fdisk /dev/sdb
새로운 파티션 n
주파티션 p
파티션번호 1
파티션 크기 처음부터 마지막까지 전부 사용
파티션 타입 변경 't'
파티션 타입 설정 'fd'
4. 파티션 생성 확인
#fdisk -l /dev/sdb
Id System
fd Linux raid autodetect
#fdisk -l /dev/sdc
Id System
fd Linux raid autodetect
5. RAID 구성
#mdadm
(1) RAID 생성
#mdadm --create [장치명] --level [레이드레벨] --raid-devices=[디스크 수] [장치명] [장치명]
(2) RAID 확인
#mdadm --detail --scan mdadm --detail [장치명]
(3) RAID 적용
#mdadm --detail --scan > /etc/mdadm.conf
#mdadm --create /dev/md9 --level=linear --raid-devices=2 /dev/sdb1 /dev/sdc1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md9 started
6. 파일 시스템 생성
#mkfs -t ext4 /dev/md9
7. 마운트 포인트 생성
#mkdir /RAID-LINEAR
8. 마운트
#mount /dev/md9 /RAID-LINEAR
9. UUID 확인
#blkid /dev/md9
UUID=42d6fa80-07a7-46c7-8181-f4dd4df4693f
vi /etc/fstab << 여기에 입력
11. RAID 확인
#mdadm --detail /dev/md9
#df -h
12. RAID 적용
#mdadm --detail --scan > /etc/mdadm.conf
RAID 0
- 스트파이핑(striping) RAID라고도 불린다.
- 데이터를 여러 개의 디스크에 나누어서 쓰고 읽어 들임으로서
데이터를 중복해서 기록하지 않기때문에 가장 높은 입/출력 성능을 제공한다. (가장 큰 장점!)
- RAID 0의 용량은 모든 DISK 총 용량과 같다.
- 최소 2개의 DISK를 필요로 한다.
- 데이터 보호 기능이 없다. (Fault Tolerant 기능 제공 X)
문제
ex) 1TB 디스크 1개 LINEAR -> 데이터를 저장할 수 있는 공간은 ? 11TB
10TB 디스크 1개 RAID 0 -> 데이터를 저장할 수 있는 공간은 ? 2TB
1. 파티션 생성
#fdisk /dev/sdd - 주파티션 1개 타입 FD
#fdisk /dev/sde - 주파티션 1개 타입 FD
2. 파티션 생성 확인
#fdisk -l /dev/sdd Linux raid autodetect
#fdisk -l /dev/sde Linux raid autodetect
3. RAID 구성
#mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdd1 /dev/sde1
4. 파일 시스템 생성
#mkfs -t ext4 /dev/md0
5. 마운트 포인트 생성
#mkdir /RAID-0
6. 마운트
#mount /dev/md0 /RAID-0
7. UUID 확인
#blkid /dev/md0
8. fstab 등록
UUID=f878311c-157e-4ad2-98d2-8374749d7282
vi /etc/fstab
9. RAID 확인
#mdadm --detail /dev/md0
#df -h
10. RAID 적용
#mdadm --detail --scan > /etc/mdadm.conf