리눅스 심화(3day) - 디스크, 파티션, 파일 시스템, 마운트

chaeyoung·2022년 5월 12일
0

리눅스(CentOS)

목록 보기
9/13

개념

파일 시스템 마운트

마운트

  • 파일 시스템을 디렉토리 계층 구조의 특정 디렉토리와 연결하는 것

옵션

  • -t : 파일 시스템 종류 지정
  • -o : 마운트 옵션 지정
  • -r : 읽기만 가능하게 마운트

옵션 없는 mount

[root@localhost ~]# mount | head -3
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=924100k,nr_inodes=231025,mode=755)

  • 현재 마운트 되어 있는 정보 출력(= # cat /etc/mtab | head -3)
  • mount 명령으로 출력되는 정보
    • 장치명
    • 마운트 포인트
    • 파일 시스템 종류
    • 마운트 옵션
    • 사용하지 않는 항목 두 개

mount 명령으로 장치 연결

  • 하드디스크를 디렉토리 계층 구조에 연결
    $ mount /dev/sdb1 /mnt

umount 파일 시스템을 언마운트

마운트 포인트

  • 디렉토리 계층 구조에서 파일 시스템이 연결되는 디렉토리

/etc/fstab

  • 리눅스 시스템이 부팅될 때 자동으로 파일 시스템 마운트하는 설정 정보 저장

/etc/fstab 구조

장치명/UUID마운트 포인트파일 시스템 종류옵션덤프 관련 설정파일 점검 옵션

/etc/fstab 파일의 구조

▪ 장치명: 파일시스템 장치명, 예를 들어 /dev/hda1, /dev/sda1과 같이 특정 디스크를 지정
▪ 마운트 포인트: 파일 시스템이 마운트될 디렉토리
▪ 파일 시스템의 종류: 파일 시스템의 종류를 설정, ext2, ext3, ext4 외
▪ 옵션: 파일 시스템의 속성을 지정

  • defaults : 일반적인 파일 시스템에 적용하는 속성(rw, exec, suid, auto, nouser)
  • rw : 읽기 쓰기가 가능한 파일 시스템
  • ro : 읽기 전용 파일 시스템
  • exec : 실행 파일이 실행되는 것을 허용
  • noexec: 실행 파일이 실행되는 것을 허용하지 않는다.
  • auto : 부팅시 자동으로 마운트
  • user: 일반 사용자도 마운트 가능
  • nouser: 일반 사용자의 마운트 불가능
  • suid: setuid, setgid 사용을 허용
  • suid: setuid, setgid 사용을 금지

▪ 덤프 관련 설정: 0(dump 불가), 1(dump 가능)
▪ 파일 점검 옵션
• 0: 부팅시 fsck 안함
(fsck: 유닉스, 유닉스 계열 운영 체제(예: 리눅스, macOS, FreeBSD)의 파일 시스템의 무결성을 검사하기 위한 도구)
• 1: 루트 파일시스템
• 2: 루트 파일시스템 이외

예시

• 장치명 : /dev/mapper/fedora-root
• 마운트 포인트 : /
• 파일 시스템의 종류 : ext4
• 옵션 : defaults
• 덤프 관련 설정 : 1
• 파일 점검 옵션 : 1

  • 두 번째 항목의 UUID는 ‘universally unique identifier’의 약자로 로컬 시스템과 다른 시스템에서 파일 시스템을 유일하게 구분해주는 128비트의 숫자

디스크 파티셔닝

파티션

  • 하나의 디스크를 독립된 영역으로 구분하는 것
  • 디스크 전체를 파티션으로 사용 가능
  • 디스크를 여러 개의 파티션으로 나누어 사용 가능

디스크 장치 이름

  • /dev/hd : IDE 컨트롤러에 연결된 디스크
  • /dev/sd : SCSI or SATA 컨트롤러에 장착된 디스크
  • 최근에는 IDE, SCSI 등 구분 없이 /dev/sd 사용
  • 컨트롤러에 연결되는 디스크 순서에 따라 알파벳 추가
    ex) /dev/sda, /dev/sdb

디스크 장치의 이름과 파티션 표시

  • 하나의 디스크를 여러 개의 파티션으로 구분할 경우 파티션은 디스크 장치 이름의 뒤에 숫자를 붙여서 표시
    • /dev/sda : 첫째 디스크 전체를 의미하는 장치 이름
    • /dev/sda0 : 디스크의 첫째 파티션
    • /dev/sda1 : 디스크의 둘째 파티션

fdisk [옵션] [장치명]

  • 디스크 파티션 나누기

사용예

  • fdisk /dev/sdb

fdisk -l

  • 디스크 파티션 정보 보기

fdisk 내부 명령

  • d : 파티션 삭제
  • l : 사용 가능한 파티션의 종류 출력
  • m : 도움말 출력
  • n : 새로운 파티션 추가
  • p : 파티션 테이블 정보 출력
  • q : 작업 내용을 저장하지 않고 종료
  • t : 파티션 시스템 ID를 변경한다.
  • w : 파티션 정보를 디스크에 저장하고 종료

lsblk

  • 해당 디스크의 파티셔닝 상태를 확인

lsblk -f

  • 상세정보 까지~

파일 시스템 생성

  • 파일 시스템은 이 파티션에서 파일과 디렉터리를 관리하기 위한 구조를 만드는 것

mkfs

리눅스 파일 시스템을 만든다.

  • -t 종류 : 파일 시스템의 종류를 지정(default 값 ext2)
  • -b [크기 값] : 블록 크기를 바이트 수로 지정

실습

1. 디스크 설치

  • 설정 ==> 저장소 ==> 컨트롤러 SATA의 하드디스크 추가 ==> 만들기 ==> VDI 선택
  • 동적할당
  • 가상 하드디스크 10GB 만들기

디스크 설치 끝!

주의! 실습 후 추가한 하드디스크는 꼭 삭제하기

2. 디스크 인식

  • 재부팅하면 리눅스 os가 자동으로 디스크 인식

3. 디스크 파티셔닝

  • 디스크 정보 확인
[root@localhost ~]# fdisk -l

Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

방금 설치한 disk /dev/sdb 정보를 확인한다.

  • /dev/sdb의 6개의 파티션 만들기

    • 500M | 500M | 500M | 500M | 8.5G(0.5G + 8G) | 형태
    • sdb1~3 : 500M
    • sdb4 : 나머지 8.5G
      • sdb5 : 500M
      • sdb6: 8G
  1. [root@localhost ~]# fdisk /dev/sdb ==> 디스크 파티션 나누기
    Command (m for help): n ==> 새로운 파티션 만들기
    Select (default p): p ==> primary type으로 만들기
    Partition number (1-4, default 1): 1 ==> 1번 선택
    First sector (2048-20971519, default 2048): ==> default 값인 2048 sector 부터 시작
    Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +500M
    ==> 500M 용량 설정
    Partition 1 of type Linux and of size 500 MiB is set ==> 1번 파티션 완성
  • 2P,3P는 +500M 그리고 4P는 나머지 용량으로(8.5G) 그 후 5P는 500M 6P은 나머지 용량(8G)으로 파티션 만들기
  • 결과
  • 저장 w
  1. lsblk -f, fdisk -l 파티셔닝 상태 확인

4. 파일 시스템 생성

profile
안녕하세요! 풀스택 개발자가 되고싶은 윤채영입니다. 제 블로그에 방문해주셔서 감사합니다!~~

0개의 댓글