본문 바로가기

Language/Linux

Linux 파일시스템과 스토리지 마운트 언마운트

파일 시스템

해당 저장 공간에서 작업할 때 적용되는 옵션들을 설정해두는 것(압축, 공유, 작업 설정 등)

계층 구조랑도 관련이 있다.

 

리눅스의 파일 저장 방식

장치에 직접 저장하지 않고, 디렉토리에 마운트를 하고 해당 디렉토리에 파일을 저장한다.

또한 파일 시스템은 장치에 마운트 되어있으므로, 해당 파일 시스템은 디렉토리에 마운트되어있다.

파일 시스템이 장치에 마운트되어있지 않으면, 장치를 디렉토리에 마운트할 수 없다.

 

종류

  • xfs 리눅스에 주로 사용
  • ext 리눅스 초기에 사용하기 위해 만들어진 확장 파일 시스템
  • fat 초기 윈도우용으로 개발된 파일 시스템
    • 현재 USB 등 이동식 저장장치에 많이 사용
  • ntfs 현재 윈도우에서 사용하는 파일 시스템

종류확인

ls -l /user/sbin/mkfs*

lsblk —fs

 

적용

mkfs.[xfs] /dev/sdb1

 

마운트란?

장치를 디렉토리에 얹는 개념

파일 시스템을 적용한 장치에 디렉토리를 마운트할 수 있다.

 

#mount [마운트할 대상][마운트 포인트]

  • 수동으로 하고 재부팅시 자동으로 해제, 일시적이다.

영구설정하기

  • #/etc/fstab
    • 마운트 영구 설정 파일
    • /dev/mapper/centos-root / xfs defaults 0 0
      • 장치이름
      • 마운트포인트
      • 파일시스템
      • 옵션 - mount메뉴얼 페이지에서 옵션 확인
      • 덤프 생성 - 문제 발생 시 어떠한 문제로 마운트 해제되었는지 기록한다.
    • mapper
      • sdb 1 2 3 4 5 6으로 나눴을 경우 물리적인 분리이지만 sdb1 sdb2를 합쳐서 논리적으로 묶어진것.
  • #blkid | grep sdb2
    • 해당 명령어에서 uuid 복사 시 장치이름 대체

마운트 확인

  • lsblk
  • mount
  • mount | grep

#fsck

마운트하기 전 파일 시스템 체크

숫자는 실행 순서를 의미

xfs 파일 시스템의 경우 해당 필드를 0으로 설정

ext4 파일 시스템의 경우 루트 파일 시스템은 1로 설정

다른 ext4파일 시스템은 2로 설정

스토리지가 포함된 장치와 관련된 디렉토리 /dev

lsblk(lsblock) - 스토리지 정보 확인

디스크 파티션

SATA-디스크 직렬 연결

디스크 파티셔닝을 위한 선행 작업 - 디스크 추가

  • 새 저장소 연결 추가

#df

어떤 디렉토리에 마운트되어있는지와 해당 파일 시스템 옵션 저장된 파일 및 시스템 출력

#du-h

디렉토리나 사용자별 디스크 사용량 확인

 

스왑 영역 관리

  • swap
    • 디스크를 임시로 메모리처럼 구성
    • 성능 때문에 스왑 공간을 구성
    • 프로세스의 상태를 저장해두는 공간
    • 메모리를 효율적으로 사용 가능하다.
    • MBR의 경우 주로 logical 공간에 할당
  • 디스크 파티션에 swap 적용 후 활성화
    • #mkswap [경로]
    • #swapon [경로]
  • 메모리 공간 여부
    • #free -h

 

스토리지

개념

  • 물리적인 저장장치(디스크)
  • 컴퓨터 데이터를 저장하는 장치
  • 연결하는 방식
    • DAS(Direct Access Storage)
    • NAS(Network Access Storage)
    • SAN(Storage Area Network)
      • 직접 구축, NAS는 연결만 해도된다.

#lsblk

사용하고 있는 장치의 목록

 

파티션

하드 드라이브를 여러 개의 스토리지로 나눈 공간

 

파티셔닝

여러개의 파티션으로 나누는 기술

  • MBR 파티셔닝
    • 2TB까지만 지원
    • 최대 주 파티션 개수 제한(4개)
    • 모든 파티션 합쳐 15개
    • extended 뒤에 주 파티션이 올 수 없다. 그러므로 파티션 3개 생성 후 나머지 한 공간에 extended를 적용하여 logical하게 사용한다
  • GPT
    • MBR 체계의 2TB 디시크 및 파티션 개수 제한 해결
    • 8ZB
    • 파티션 개수 128개 까지
  • 부팅방식
    • BIOS
      • 펌웨어 인터페이스
      • 운영체제와 컴퓨터 펌웨어 간의 통역사 같은 역할 수행
      • 펌웨어란 하드웨어와 소프트웨어의 특성 모두 갖춘 것
      • MBR 방식
      • 운영체제 가동시키기 위해 설계된 오래된 유틸리티
    • UEFI
      • 최신 pc용 표준 펌웨어 인터페이스
      • 온도, 전력 모니터링, 원격 보안 관리, 가상화 등의 프로세스 등 BIOS지원할 필요가 생김
      • 2TB 이상의 고용량 하드디스크 제어에 적합
      • 하드웨어를 진단하지 않고 빠른 OS부팅 가능하다.
  • 파티셔닝 도구
    • fdisk parted gdisk

fdisk / gdisk

MBR 방식 전용 파티셔닝 도구

#lsblk로 저장소 확인

#fdisk /dev/sdb

  • 옵션
    • [m] 도움말
    • [n] 파티션 새로 만들기
    • [p] 파티션 테이블 확인
    • [d] 파티션 제거
    • [w] 저장
    • [q] 종료
    • [d] 파티션 제거
    • udevadm settle
      • 동기화

MBR GPT 방식 파티셔닝

  • #parted
    • [-l] 파티셔닝 정보 출력
    • [/dev/sdb] 디스크 선탹
    • 내부
      • #print 정보출력
      • #help mklabel
      • #mklabel
        • 새로운 label type 입력
        • msdos MBR
        • gpt
      • #mkpart
        • 디스크 크기는 % 혹은 정확하게 입력(500MB)
      • #p 파티션확인

논리볼륨이란?

물리장치 → 물리 볼륨 → 볼륨 그룹 → 논리볼륨

물리장치가 볼륨을 가지고 다른 장치의 볼륨과 볼륨그룹을 만들어서 나누어쓰면 논리볼륨이된다.

  • 물리장치(디스크) : 데이터를 저장하는데 사용하는 스토리지 장치
  • PV(물리 볼륨) : LVM을 사용하기 위한 기본 물리 스토리지
  • PE(Pysical Extent) : PV의 최소 단위, LE(Logical Extent)와 일대일 맵핑 PE와 LE 사이즈가 동일
  • VG(볼륨 그룹) : 하나 이상의 물리 볼륨으로 구성된 스토리지(PV 묶음)
  • LV(논리 볼륨) : VG를 나눈 공간, LE는 LV의 최소 단위

논리볼륨 만들기 순서

  1. 물리 볼륨 만들기
    1. pvcreate [/dev/sdc1 /dev/sdd1]
  2. VG만들기
    1. vgcreate vg01 /dev/sdc1 /dev/sdd1
  3. LV 만들기lvcreate -n lv01 -l 50 vg01 → PE사이즈로 용량을 지정, 4mib*50
  4. lvcreate -n lv01 -L 100M vg01 → 논리볼륨의 크기를 용량 단위로 지정
  5. 확인
    1. pvdisplay
    2. vgdisplay
    3. lvdisplay

논리볼륨 확장

lvextend -L +300M /dev/vg01/lv01

논리볼륨에 파일 시스템 적용해보기

  • #mkfs -t xfs /dev/vg01/lv01

논리 볼륨 마운트 적용

mount /dev/vg01/lv01 /mnt/data3

적용 후 사이즈 늘어나는 경우, xfs_growfs /mnt/data3

 

논리 볼륨 제거

  • 마운트제거 및 논리볼륨 설정 제거
    • #umount [/mnt/data3]
    • #lvremove /dev/vg01/lv01

볼륨 그룹 제거 및 PV해제

  • #vgremove vg01
  • #pvremove /dev/sdc1 /dev/sdd1

'Language > Linux' 카테고리의 다른 글

Linux 방화벽과 SELinux  (0) 2022.03.10
Linux 강제 부팅  (0) 2022.03.10
Linux 작업 스케줄링  (0) 2022.03.10
Linux 프로세스 우선순위 조정  (0) 2022.03.10
Linux 시스템 성능 튜닝  (0) 2022.03.10