* File System 에 대해 궁금하신 부분은 아래 글을 참고해주시기 바랍니다.

2013/12/31 - [Infomation's] - File System 이란 무엇인가?

 

리눅스에서는 파일시스템을 ext 계열로 사용하고 있으며, 현재는 ext3/ext4 형태로 사용하고 있습니다.

파일시스템을 만들기 위해 파티션 작업을 하는 부분과 파일시스템 생성/사용 부분으로 알아봅시다.

 

우선적으로 Device 를 인식하는 부분을 알고 아래의 내용을 따라서 진행해보시기 바랍니다.

※ 단, CentOS 6.X 부터는 IDE Type 에 대한 부분도 SCSI 로 인식되어집니다.

* SCSI Device : /dev/sdX(a ~ )    -> ex) 1번째 SCSI HDD : /dev/sda

- Partition : /dev/sdXN(0 ~ )  -> ex) 1번째 SCSI HDD 2번째 Partition : /dev/sda2

   -> ex) 3번째 SCSI HDD 5번째 Partition : /dev/sdc6 (extended 파티션 때문에 1개가 늘어남)

* IDE Device : /dev/hdX(a ~ )      -> ex) 1번째 IDE HDD : /dev/hda

- Partition : /dev/hdXN(0 ~ )  -> ex) 2번째 IDE HDD 3번째 Partition : /dev/hdb3

   -> ex) 1번째 SCSI HDD 6번째 Partition : /dev/hda7 (extended 파티션 때문에 1개가 늘어남)

 

 

##### Partitioning (파티션 설정) #####

 

- fdisk -
1. 정의 : 물리적인 HDD를 논리적으로 분할하여 사용하기 위한 명령어
             (파티션 설정을 위한 명령어)

 

2. 형식
   - #fdisk [옵션] [장치명] : 상세 옵션의 경우 fdisk 메뉴얼 참조

 

3. 옵션
  - l : List 형태로 파티션의 정보를 확인

 

 

※ Partition 알아두기

Disk 라고 불리는 HDD 는 아래와 같이 세 종류의 파티션 설정을 Default 로 가지고 있다.

또한, 각 Disk 별로 가질 수 있는  갯 수 제한이 있으니 참고하기 바랍니다.

 

  * Primary (주 파티션)  [ 4개 제한]

=> 기본적인 파티션영역, 디스크 저장소 역할

※ Extended 영역 뒤로 생성 금지 (파티션 무빙이 불가능하므로)

 

  * Extended (확장 파티션) [ 1개 제한 ]

=> Primary 영역의 갯 수 제한을 보완, Logical 의 그릇 역할 (저장소 역할 X)

※ 생성시 Primary 1개 역할을 겸함, 5개 이상 파티션 필요시 필수 파티션,
    생성시 디스크의 마지막까지 영역을 설정할 것.

 

  * Logical (논리 파티션) [ ∞ 개 제한 ]

=> Extended 영역 안에서만 존재 가능, Extended 영역 안에서는 Primary 와 동일함 (저장소 역할 O)

 

※ 파티션명이 "5" 부터 시작 (/dev/sda5, /dev/hdb5, /dev/sdc7 등)

 

 


 

##### Creating File System (파일시스템 생성) #####
- mkfs(Make File System) -
1. 정의 : 설정된 파티션을 mount 할 수 있는 상태의 파일시스템으로 변환시켜주는 명령어
            (Windows의 "format" 과 유사)

 

2. 형식
   - #mkfs.[파일 시스템 형식] [파티션명]
   - #mkfs -t [파일 시스템 형식] [파티션명]
     ※mkfs 명령어 이용시 Extended 형식의 파티션은 사용할 필요가 없다.

 

3. 실습
   - #mkfs -t ext4 /dev/sdb5

   - #mkfs.ext4 /dev/hda7

 

  ※ 예외사항

    - #mkfs.ext3 /dev/sdc
        -> mkfs 명령어 의 Argument 로 파티션이 아닌 장치명으로 입력하면 해당장치의 설정했던 파티션 정보를

      모두 삭제되는 오류가 발생

 

 

##### Using File System (파일시스템 사용) #####
- mount/umount -
1. 정의 : 물리적인 파티션을 논리적인 저장소로 인식하거나 해제하는 과정

 

2. 형식
  [mount]
   - #mount [파티션명] [마운트지점(디렉터리)]

 

  [umount]
   - #umount [파티션명]
   - #umount [마운트지점(디렉터리)]

 

  [ 마운트 정보확인 ]
  - #mount
  - #df -h  : 옵션을 제외한 Mount 정보가 한 눈에 보기 쉽게 출력

 

 ※ 단, mount 명령어로 사용한 정보는 시스템이 reboot 되거나 halt 상태가 되면 초기화된다.


- 부팅시 자동 Mount -
1. 정의 : 시스템이 reboot 되거나 halt 상태가 되면 mount 정보를 가지는 /etc/mtab 파일의 내용이

            모두 초기화 되므로 시스템이 부팅하면서 참조되는 /etc/fstab 파일을 이용하여 자동 마운트를 설정한다.

 

2. 설정파일 : /etc/fstab

 ※ "/etc/fstab" 부분의 상세 내용은 아래글을 참조하여 주세요^^

 

2011/04/14 - [Linux/Tip & Tech] - "/etc/fstab" 파일을 활용하여 자동 마운트하기

 

3. 참고사항

- /etc/fstab 파일내 정의된 정보는 mount 명령어 사용시 Device 또는 Mount Point 만으로도 Mounting 이 가능

- /etc/fstab 파일의 편집에서 실수하는 경우 시스템이 로딩이 불가능할 수 있으므로 필히 백업하거나 Rescue 를 알아두기

 

 

##### Using File System (파일시스템 사용-추가) #####

CentOS 와 RHEL 을 기준으로 6.X 버전에서는 IDE Type 의 HDD 를 지원하고 있지 않습니다.

그래서 IDE HDD 를 추가하게 되면 "/dev" 로 표기되던 파티션 및 디스크정보가 순서가 뒤바뀌는 경우가

종종 발생하게 됩니다. 이를 방지하기 위해 UUID 라고 하는 물리주소를 이용하는데요.

위에서 배운 부팅시 자동마운트를 설정할때도 UUID를 이용하여 적용하는 사례가 많습니다.

아래의 "blkid" 명령어로 UUID 를 확인해서 적용하시면 문제가 해결될 수 있습니다.

 

- blkid -
1. 정의 : 블럭장치에 대한 속성 정보를 설정하거나 출력시 사용

 

2. 형식

   - #blkid    : 현재 시스템내 존재하는 모든 블럭장치의 UUID를 출력

 

   - #blkid -p -u filesystem 파티션

                 : 해당 파티션의 상세 속성정보 출력

AND