1. 디스크 파티션 (Disk Partition)
- 디스크 내의 섹터 (디스크 블록으로 플래터에서 가장 작은 단위)들을 일정 범위의 구역으로 나누어 공간 구획
1) MBR (Master Boot Record) Partitioning
- BIOS 펌웨어가 탑재된 시스템
- Primary Partition 4개 지원
- 최대 2TB 지원
2) GPT (GUID Partition Table) Partitioning
- EFI / UEFI 펌웨어가 탑재된 시스템
- 128개의 Partition 지원
- 최대 8ZB 지원
BIOS (Basic Input Output System)
- 시스템 보드의 칩에 포함된 아주 작은 코드
- 컴퓨터 시작할 때 하드웨어와 운영 체제 이의 펌웨어 인터페이스 ex) cpu와 주변 장치 활성화 여부 등
UEFI (Unified Extensible Firmware Interface)
- BIOS와 유사하지만 2TB 크기 이상의 디스크로 부팅 가능
- 네트워크 연결이 가능한 GUI 보유
출처: https://support.lenovo.com/us/ko/videos/vid100790
2. 리눅스 시스템 스토리지 장치명
- 하드웨어 장치는 /dev 디렉토리 내에 파일로 생성 -> 생성된 장치 파일명 사용하여 파티셔닝 수행
인터페이스별 장치며 + 장치 번호 + [파티션번호(숫자)]
1) E-IDE 인터페이스 (현재는 sd로 통일)
- 'hd' 장치명 사용 ex) /dev/hda, /dev/hdb
- 파티션 예시 ex) /dev/hda1, /dev/hd2
2) SATA/SCSI/SA-SCSI
- 'sd' 장치명 사용 ex) /dev/sda, /dev/sdb
3. 파일 시스템
- 파티션 구성 후 파일 시스템을 생성해야함
- 파일시스템이 생성된 파티션에 디렉토리 형태로 접근할 수 있도록 연결하는 작업 수행 (mount)
- 구조화된 일련의 정보를 구성하는 파일과 디렉토리의 집합 (디스크에 데이터를 논리적으로 저장하고 관리하는 방식)
1) 디스크 기반 파일 시스템 (Disk-based File System)
- MINIX: Minix에서 사용하는 파일 시스템
- EXT (ext2, ext3, ext4): 리눅스 파일 시스템으로 리눅스 운영체제의 표준 파일시스템
- XFS: RHEL7, CentOS, Oracle Linux 등에서 기본 파일시스템으로 사용하는 파일시스템
- FAT, VFAT: DOS, Windows 운영체제에서 사용하는 파일시스템
- NTFS: Windows NT 계열에서 사용하는 파일시스템
- ISO9660: CD-R에서 사용되는 파일시스템
- UDFS: UDF 규격의 파일시스템
2) 분산 파일시스템 (Distributed File System)
- NFS (Network Filesystem): Unix/Linux 시스템에서 파일을 공유하기 위한 파일시스템
- SMB (Server Message Block): Windows 시스템에서 파일을 공유하기 위한 파일시스템
3) Pseudo 파일시스템
- swapfs, tmpfs, fdfs, procfs, devfs
4. 디스크 장착 후 사용하기까지 과정
1) fdisk (fixed disk) - Partitioning
- 설치한 디스크를 장착한다는 의미
# 파티션 구성
fdisk /dev/<disk-name>
# 정보 확인
p
# 파티션 생성
# primary parition: MBR은 4개까지 가능
# extended partition: 4개만 나눌 수 있는 파티션을 추가로 나눔 가능
# logical parition: extended partition을 원하는 만큼 나눌 수 있으며 번호는 5번부터 배정됨.
n
2) mkfs (make file system)
# mkfs 명령어
mkfs -t [filesystem-type] <partition>
# or
mkfs.[filesystem-type] <partition>
# 파일시스템 초기화
mkfs -t <filesystem-type> <partition>
3-1) mount (일회성)
# mount
mount [option] {partition|UUID} <mount-point>
# 예시
mount /dev/sdb1 myworkspace/
# mount 해제
unmount <parition or mounted directory>
3-2) /etc/fstab (영구)
- mount 명령을 사용해 파일시스템을 마운트하면 시스템이 부팅될 때 마운트하지 않음
# /etc/fstab
vi /etc/fstab
# 순서
[disk name or disk UUID] [mount point] [filesystem] [mount option] [dump 유무][fsck검사순서]
DEVICE MOUNT_POINT FSTYPE MOUNT_OPTION DUMP FSCK
/dev/sdb1 /mnt/data ext3 defaults 0 0
# UUID로 사용하는 것이 권장됨
# UUID 확인
blkid <disk partition>
5. Swap memory
1) 가상 메모리
- RAM의 용량 제약을 해결하기 위해 운영체제가 사용
- Swap은 디스크 장치에 생성되는 영역
- CPU가 데이터에 접근하기 위해 프로세스가 반드시 물리 메모리 영역에 존재해야 함
-> paging을 통해 물리메모리와 스왑의 데이터 교환이 일어남 (디스크 성능 저하로 인해 최소한으로 둠)
2) 스왑 영역 구성
# 메모리 용량 확인
free -h
# 스왑 영역 확인
swapon -s
# 스왑 파티션 생성
fdisk <DEVICE>
# 생성 후 스왑 장치용 파티션으로 변경
t
# 커널에 파티션 테이블 변경 사항 적용
partprobe <DEVICE>
# 스왑 영역으로 파일시스템 초기화
mkswap <partition device>
# 스왑 영역을 시스템에 연결 (swapon 명령어; 1회성)
swapon <partition device>
# 스왑 영역 확인
swapon -s
# 스왑 영역 연결 해제
swapoff <partition device>
# 스왑 영역을 영구적으로 시스템에 연결
vim /etc/fstab
DEVICE MOUNT_POINT FSTYPE MOUNT_OPTION DUMP FSCK
/dev/sdc1 swap swap defaults 0 0
'MLOps > Linux' 카테고리의 다른 글
Systemd (0) | 2022.01.26 |
---|---|
논리 볼륨(Logical Volume) 관리 (0) | 2022.01.26 |
작업 스케줄링 (0) | 2022.01.25 |
고급 권한 관리 (0) | 2022.01.24 |
사용자 및 그룹 관리 (0) | 2022.01.24 |