본문으로 바로가기

Day-14 파일 시스템 관리 1

category Linux 2017. 1. 8. 13:47

/proc
- 부팅될때 커널에 의해 생성되는 가상 파일 시스템
- 각종 시스템과 네트워크에 관련된 정보를 포함
- 시스템 정보, 메모리, 파티션 등 다양한 정보가 있다.

 

cpuinfo - CPU 정보
filesystems - 파일 시스템 종류
version - 커널 버전
net - 네트워크에 관련된 정보를 가진 디렉토리
kmsg - 커널 메세지
meminfo - 메모리 정보
mounts - 마운트 정보

- tmpfs    /dev/shm 일종의 램디스크 파일 시스템 (메모리 기반)
  만약에 메모리 공간이 부족하면 해당 내용들은 스왑영역으로 이동된다.


free - 시스템의 메모리 및 swap 메모리 출력
-m 메가 바이트 단위
-g 기가 바이트 단위

umount [마운트포인트] - 해제
remount [마운트포인트]

 

파일시스템 타입을 알 수 없을때 사용하는 옵션

mount -t auto [장치이름] [마운트포인트]
auto를 이용하여 마운트 할 수 있는 파일 시스템
- ext2~4, reiserfs, xfs

/etc/fstab - 부팅시 마운트할 파일시스템의 위치 및 설정 정보가 정의된 파일
      -  /etc/fstab파일에 기록외어있는 순서대로 마운트되어 디렉토리 구조가 만들어 진다.

 

   
1. 파일 시스템 장치명
- 파일 시스템 장치명은 곧 파티션들의 위치이며 장치명 혹은 Label, UUID를 사용

2. Mount Point
- 등록한 파티션이 어디에 위치한 디렉토리에 연결할 것인지 설정하는 필드
- 마운트 할 디렉터리의 경로

3. 파일시스템 종류
파티션 생성시 만들었던 파일시스템의 종류를 작성 ex) ext4

4. Mount 옵션
마운트 옵션 설정 필드

5. 덤프(dump)
- 덤프(백업) 사용 유무
- 0 : 덤프 사용 안함
- 1 : 덤프 사용

6. 파일 시스템 체크(File Sequence Check option)
- fsck에 의한 무결성 검사 우선순위를 정하는 옵션
- 0 : 무결성 검사 하지 않음
- 1 : 우선순위 1위를 뜻하며 대부분 루트 파티션에 설정되어있음
- 2 : 우선순위 2위를 뜻하면 1위를 검사한후 진행

 

범용 공용 식별자 (Universal Unique identifier, UUID)
- 파일 시스템 생성 시, 자동으로 부여되는 고유 번호
- 32개의 16진수로 표현되며 16옥텟(128비트)의 수이다.

 

blkid - UUID 확인
findfs [UUID] - UUID값으로 디바이스명 확인

UUID로 파티션 디바이스 명을 나타내는 방식은 디스크의 위치가 변경되더라도 UUID값은 변함이 없기 때문에 부트로더와 /etc/fstab에서 마운트 정보를 수정하지 않아도 장치명 문제로 인하여 커널 패닉(hang)에 빠질 염려가 없으며, 정상적으로 마운트가 이루어 진다.

RAID

 

Hardware RAID
- RAID컨트롤러 내부의 하드웨어 및 펌웨어에 의해 구현된다.
- 안정적이나 대부분 고가이다.

 

Software RAID
- RAID컨트롤러 없이 운영체제에서 지원하는 방식이다.
- H/W RAID에 비해 신뢰성이나 속도 등이 떨어진다.
- 저렴한 비용으로 H/W RAID와 동일하게 구현이 가능하다.


mdadm
RAID 생성
mdadm --create [장치명] --level =[레이드레벨] -- raid-devices=[Disk][장치명][장치명]

RAID 확인
mdadm --detail --scan 혹은 --detail [장치명]

RAID 정보 파일
/proc/mdstat

RAID 구성 후 설정 파일 적용
mdadm --detail --scan > /etc/mdadm.conf

 

※ RAID를 구성하기 전에 VM기능의 snap shot을 찍자.

 

 

각 RAID를 구성할때 snap shot 을 돌리고 시작한다.

 

디스크 추가 및 마운트 방법


1. #fdisk -l          // 현재 시스템 연결된 디스크 정보를 확인
                          // 추가된 Disk 정보 확인
2. #fdisk [장치명] 
m  help                                                 //도움말 출력
n   add a new partition                          //새로운 파티션 생성
p   print the partition table                  //파티션 정보 출력
t   change a partition's system id         //파티션ID 변경

2번째 disk에 하나의 파티션을 만들경우
'n' 새로운 파티션 생성
'p' 주파티션 생성
'1' 첫 번째 주파티션 생성
'1' 디스크 첫번째 실린더 값 입력
'enter' 디스크 마지막 실린더 값 (Default)

'p' 만들어진 파티션 확인
'w' 저장 후 종료

fdisk -l [장치명/파티션명]                 //해당 장치에 대한 정보 확인
                                                         //fdisk를 통해 만든 파티션 정보 확인
        
mkfs -t ext4 [파티션명]                   //파티션을 만든 디스크를 사용하기 위해
                                                         //파일 시스템 타입을 지정하여 생성

mkdir [마운트 포인트]                       //추가한 장치를 연결시킬 마운트 포인트 생성

mount [장치명] [마운트 포인트]         // 마운트

 

Linear RAID
- 선형 RAID는 여러개의 드라이브를 연결해 하나의 큰 가상 디스크를 만든다.
- 첫 번째 드라이브가 완전히 채워지면 순차적으로 다음 드라이브에 데이터를 저장한다.
- 여러개의 디스크가 아닌 한개의 디스크에서 입/출력 작업을 실행한다.
- 성능면에서는 별다른 장점이 없으며, 하나의 디스크에서 오류가 나면 묶여있는 모든 파티션 전체에 오류가 나기 때문에 안정성이 떨어진다.
- 선형RAID의 용량은 모든 디스크의 총량과 같다.
- 2개 이상의 DISK가 필요하다.

 

 

 

 

 

 

 

 

 

 

 

 


 

RAID 0
- 스트라이핑(STRIPING)RAID
- 데이터를 여러개의 디스크에 나누어서 쓰고 일겅 들임으로써, 데이터를 중복해서 기록하지 않기 때문에 가장 높은 입출력 성능을 제공한다
- RAID 0의 용량은 모든 디스크의 총량과 같다.
- 최소 2개 이상의 Disk를 필요로 한다.
- 데이터 보호 기능이 없다. (Fault-Tolerant 기능X) 

 

 

디스크 추가 과정은 Linear-RAID와 동일하다.

 

 

 

 Linux! -> 한글자 저장하는데 1초
 Linear RAID -> 6초
 RAID 0         -> 3초

예를들어 1TB Disk 1개, 10TB Disk -> RAID
Linear-RAID -> 11TB
RAID 0         -> 2TB (저장속도를 높이기 위해 데이터를 나눠서 각각의 디스크에 저장 되도록 설계)
                        한쪽 1TB가 꽉차면 나머지 9TB는 사용할수 없다.

Linear-RAID를 제외한 나머지 RAID 구성시 동일한 회사의 동일한 용량을 가진 모델을 사용하여 RAID를 구성하는 것이 좋다.        

'Linux' 카테고리의 다른 글

Day-16 파일 시스템 관리 3  (0) 2017.01.09
Day-15 파일 시스템 관리 2  (0) 2017.01.09
Day-13 프로세스 관리 3 & 파일 시스템 관리 1  (0) 2017.01.06
Day-12 프로세스 관리 2  (0) 2017.01.06
Day-11 프로세스 관리 1  (0) 2017.01.03