쿠버네티스 전문가 양성과정 3주차 2일(1/3)

최수환·2023년 1월 3일
0

Kubernetes

목록 보기
13/75
post-thumbnail

이전 포스팅에서 디스크를 사용하기위해 아래 단계를 거쳐야 한다고 언급했다. 이번 포스팅에서는 파티셔닝 단계부터 마운트까지 진행할 것이다.

  • 물리적으로 디스크 추가
  • 디스크 인식
  • 파티셔닝
  • 파일시스템 초기화(포맷)
  • 마운트 : 파일 시스템을 디렉터리 계층 구조의 특정 디렉터리와 연결

파티셔닝(~이어서)

MBR방식 / fdisk사용

  • ls -l /dev/sd* : 정규표현식과 ls를 이용해 dev디렉터리에서 원하는 장치파일을 찾을 수 있다.

fdisk -l을 이용해 디스크 정보를 알 수 있다.
-> 파티셔닝 된 sda와 파티셔닝 되지않은 sdb를 볼 수 있다.

  • fdisk /dev/sdb로 원하는 디스크에 들어가서 원하는 옵션을 눌러서 파티션을 만든다.

  • 1번~3번까지는 primary 파티션으로 생성하고 4번은 extended 파티션으로 생성한다
    -> primay 파티션은 최대 4개까지 밖에 못 만듬으로 그 이상이 필요하다면 extended 파티션을 만들어 logical 파티션으로 쪼개서 사용한다

  • extended 파티션이 다시 4개의 logical 파티션으로 쪼개진 모습이다

  • w를 입력해 저장후 종료하고 -> partprobe /dev/sdb로 sync를 맞추어준다

GPT방식 / gdisk사용

  • 디스크의 용량이 2TB가 넘는다면 GPT방식을 사용해야 한다
  • gdisk /dev/sdb입력 후 원하는 옵션 입력
  • 섹터에 용량을 입력할 때 gdisk는 '-'도 지원한다
    -> -2G는 뒤에서 부터 2기가라는 뜻이다.
  • 나머지는 사용법이 fdisk와 거의 유사하다
  • GPT는 128G까지 지원해주기 때문에 MBR방식보다 파티션을 훨씬 더 많이 만들 수 있다.

파일시스템 초기화(구성)

  • 파일은 inode로 관리된다.
  • 디렉터리는 단순히 파일의 목록을 가지고 있는 파일일 뿐이다.
  • 특수 파일을 통해 장치에 접근할 수 있다.

ext4

  • 저장 장치를 논리적인 블록으로 구분해서 효율적으로 저장한다 / 윈도우는 블록이 아닌 클러스터라고 부른다

  • 블록의 크기는 4KB이다.

  • inode를 이용해서 파일의 메타정보와 데이터를 분리해서 저장

  • 슈퍼블록 : 파일시스템 전체에 대한 주요 정보를 저장 , 매우 중요
    -> 블록 그룹 a에 백업해 놓는다.

  • 그룹 디스크립터 : 블록 그룹에 대한 정보를 가지고 있다
    -> 블록 그룹 a에 백업해 놓는다.

  • 데이터 블록 비트맵 / inode 비트맵
    -> 데이터 블록 / inode 테이블에 지정된 블록들 중 사용 중인 블록과 사용하지 않는 블록을 체크하기 위해 사용
    = 1bit (0과 1로 구분)

  • inode 테이블 : 파일에 대한 정보를 가지고 있는 inode가 모여 있다

  • 데이터 블록 : 실제 데이터가 들어있는 블록

mkfs

  • 리눅스 파일 시스템을 만든다 / 초기화(포맷)
  • 형식 : mkfs [옵션][장치명]
  • -t 옵션 : 파일 시스템의 종류를 지정
    ex) mkfs -t ext4 /dev/sdb1 , mkfs -t xfs /dev/sdb1
    = mkfs.xfs /dev/sdb1

📘 디스크 정보보기 : lsblk , blkid , lsblk -f , fdisk -l, df -Th

마운트

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

마운트 포인트 : 디렉터리 계층 구조에서 파일 시스템이 연결되는 디렉터리를 마운트 포인트

파일 시스템 마운트 설정 파일 : 리눅스에서 시스템이 부팅될 때 자동으로 파일 시스템이 마운트되게 하려면 /etc/fstab파일에 설정

mount

  • 파일 시스템을 마운트한다.
  • 형식 : mount [옵션][장치명 or 마운트 포인트]
  • ex) 게스트 pc에서 장치 - 게스트 확장 CD이미지 삽입 클릭해서 CD삽입 -> 터미널에 lsblk -f로 sr0확인 -> umount sr0 (연습하기위해 자동 마운트 된거 해제) -> 셸에서 mount -t iso9660 /dev/cdrom /mnt/cdrom -o ro입력
    📗 -o rw 옵션 : 파일시스템을 읽기/쓰기 가능 상태로 마운트
  • ex) mkdir -p /mnt/disk1 -> mount /dev/sdb1 /mnt/disk1

📗 mount : 현재 컴퓨터의 mount된 것들의 정보들을 볼 수 있다
= /etc/mtab에 mount정보를 담고있다

umount

  • 파일 시스템을 언마운트한다.
  • 형식 : umount [옵션][장치명 or 마운트 포인트]
  • 옵션 -t 파일 시스템 종류 : 파일 시스템 종류를 지정한다.
  • ex) umount /dev/sdb1 = umount /mnt/disk1

컴퓨터 부팅시 자동마운트 설정

  • vi /etc/fstab 접속후
    /dev/sdb1 /mnt/disk1 ext4 defaults 1 2
    /dev/sdb2 /mnt/disk2 ext4 defaults 1 2
    /dev/sdb3 /mnt/disk3 xfs defaults 1 2
    /dev/sdb4 /mnt/disk4 xfs defaults 1 2 입력 후 저장
    mount -a 입력후 lsblk -f와 df -Th입력해서 마운트된거 확인
    -> 시스템 껏다켜도 부팅시 자동으로 파일시스템이 마운트된다

📘 호스트 pc : 가상머신을 실행시키는pc
📘 게스트 pc : 가상머신안에 여러 서버들

스왑 메모리

메모리

  • 주기억장치
  • 속도는 빠르지만 전원을 내리면 데이터가 사라지는 휘발성 기억장치
  • RAM , 용량당 가격이 비싸다

디스크(스토리지)

  • 보조기억장치
  • 메모리에 비해 느리다
  • 용량당 가격은 메모리보다 싸다
  • 전원을 내려도 데이터가 유지되는 비휘발성 장치

리눅스의 가상 메모리 = 실제 물리 메모리 + SWAP

  • SWAP은 SWAP파티션과 SWAP파일 두가지 방법으로 생성 가능
    📒 SWAP영역은 보통 물리 메모리의 2배 이상으로 설정
    📙 물리 메모리가 부족한 경우를 해결하기 위하여 가상 메모리 사용

페이징

  • paged-in = 자주쓰는건 SWAP -> 메모리
  • paged-out = 자주안쓰는건 메모리 -> SWAP
    💡 메모리가 SWAP보다 빠르기 때문에

스압메모리 만들기

  • fdisk /dev/sdb입력
  • n입력해서 3개파티션 만든후 t입력 후 HEX CODE 82입력
    -> 3개의 파티션 id를 swap으로 전환

swapon -s , free -h : swap정보 확인

수동으로 스왑 마운트 :

  • mkswap /dev/sdb1 : 스왑 파티션으로 만듬
  • swapon /dev/sdb1 : 스왑 메모리로 전환
    -> swap메모리 1기가 늘어남 (부족할 시 늘려도 됨)

자동으로 스왑 마운트

  • vi /etc/fstab 입력후
    /dev/sdb2 swap swap defaults 0 0
    /dev/sdb3 swap swap defaults 0 0 저장
  • swapon -a : 설정된 스왑 마운트

추가정보

fsck

  • 리눅스의 파일 시스템을 검사한다
  • 형식 : fsck [옵션][장치명]
  • ex) fsck /dev/sda/1

du

  • 디스크의 사용 공간에 대한 정보를 출력한다
  • 형식 : du [옵션][디렉터리]
  • ex) du -h /root , du -s -h /root
profile
성실하게 열심히!

0개의 댓글