컴퓨터의 데이터 :
물리적으로는 전기 신호의 형태, 이진수의 형태이며, 0과 1에 대응하는 전기 신호를 생성하고 이를 저장하거나 전송
| 5V 또는 3.3V 또는 1.8V의 전기 신호 = 1 | 0V의 전기 신호 = 0 (1 bit) |
파일 시스템: 컴퓨터에 존재하는 물리적 데이터를 파일이라는 단위로 접근하고 관리하기 위해 필요한 논리적 구조
사용자가 파일시스템으로 저장공간에 저장된 데이터를 관리함
리눅스 파일 시스템의 구분
| HHD, SSD, SD카드 또는 가상 블록 장치(loop device)에 생성 | 메모리(RAM)에 생성 |
| 디스크(블록 장치)기반 파일 시스템 | 의사(Pseudo) 파일 시스템 |
| 장치에 저장된 데이터를 파일 단위로 관리 | 각 파일 시스템 별 특수한 목적 |
| ext2, 3, 4 : 리눅스 고유 파일 시스템 NTFS: 윈도우OS 기본 파일 시스템 FAT: 주로 SD 카드, USB 메모리 등에 사용 |
tmpfs : 일시적인 파일 저장 (power-off 시 삭제) |
*RAM: Random Access
디스크 설치
1. pc에 설치
2. virtualBox 등의 가상머신에 추가
*네이버 클라우드 서버에 디스크 추가
1.Platform항목 [VPC] 설정 확인
2. Services - compute - server - storage
3. +스토리지 생성, 연결 정보 확인

디스크의 파티션
파티션(Partition): 논리적으로 분할된 디스크의 저장 공간 => 디스크에 파일 시스템 생성을 위해 필요
리눅스 파티션 생성
fdisk
기능 ㅣ 디스크의 파티션을 관리 (생성, 삭제, 조회 등)
형식 ㅣ fdisk [옵션] [디스크 장치 경로]
1. 현재 시스템에 연결된 디스크와 파티션 정보 출력 : fdisk -l
2. /dev/xvdb 디스크에 파티션 생성: fdisk /dev/xvdb
-m : 도움말 출력
- partition type: Primary 파티션 선택
- n : 새로운파티션 추가
-첫번째 파티션 번호 입력 - 시작 섹터 입력, 파티션에 할당할 크기 입력
-p : 파티션 레이블 출력 (디스크 및 파티션 정보 출력)
-w: 파티션 레이블 저장 후 종료
파일 시스템 생성
mkfs
기능 | 옵션으로 지정한 파일 시스템을 디스크 파티션에 생성
형식 | mkfs [옵션] [파티션 장치 경로]
1. /dev/xvdb1에 ext4 파일 시스템 생성 :
mkfs -t ext4 /dev/xvdb1 = mke2fs -t ext4 /dev/xvdb1
2. /dev/xvdb2에 FAT32파일 시스템 생성
mkfs.vfat -F 32 /dev/xvdb2 = mkfs -t vfat -F 32 /dev/xvdb2
리눅스의 파티션 및 파일 시스템 확인
lsblk
기능 | 사용 가능한 블록 장치의 리스트 출력
형식 | lsblk [옵션] [블록 장치 경로]
1. 현재 시스템에 연결된 디스크와 파티션 정보 출력 : lsblk
2. 파티션의 파일시스템 관련 정보 출력: lsblk -f
Ext 파일 시스템의 추상적 구조
Meta Area |
Data Area |
Ext 파일 시스템 - Meta Area 속 메타데이터
메타 데이터 : 파일 시스템, 파일 관련 정보(Info) 저장
- Super Block : 파일 시스템 관련 정보
- inode : 개별 파일 관련 정보
Ext 파일 시스템 - Data Area 속 데이터블록
데이터블록: 파일 시스템이 디스크(저장장치)에 데이터를 저장하는 단위
-블록 1개 사이즈는 일반적으로 4~64KB (파일 시스템마다 다를 수 있음)
파일 시스템의 마운트 (mount)
윈도우 pc에서 디스크를 추가하는 경우: 추가된 디스크에 드라이브 문자(D, E)할당. => 직관적
마운트(mount): 파일 시스템(이 적용된 디스크)를 디렉토리 계층 구조에 연결
=> 사용자가 파일 시스템에 접근하기 위해 필요
mount
기능: 파일 시스템을 디렉토리에 연결
형식: mount [옵션] [장치 경로] [디렉토리 경로]
1. 현재 마운트 되어 있는 파일 시스템 출력: mount
2. /dev/xvdb1, /dev/xvdb2를 마운트
mount -t ext /dev/xvdb1 /mnt/disk1
mount -t vfat /dev/xvdb2 /mnt/disk2
umount
기능: 파일 시스템의 마운트헤제
형식: umount [옵션] [마운트 포인트 경로]
1. /mnt/disk1, /mnt/disk2를 마운트 해제 (마운트된 디렉토리 밖에서 실행)
umount /mnt/disk1
umount /mnt/disk2
부팅시 자동으로 마운트 시키기
nano /etc/fstab

디스크 관리 명령
df (Disk Free)
기능: 파일 시스템의 용량 정보를 출력
형식 : df[옵션]
| 옵션 | 설명 |
| -h | 용량 단위(KB, MB, GB) ㅠㅛ시 |
| -k | KB 단위로 표시 |
| -m | MB 단위로 표시 |
| -T | 각 파티션에 대한 파일 시스템 타입 표시 |
| -i | 아이노드 (i-node) 사용량 표시 |
디스크 관리 명령
fsck (File System ChecK)
기능: 리눅스의 파일 시스템을 점검하고 복구
형식: fsck [옵션] [파티션 장치 경로]
1. /dev/xvdb1에 대한 파일 시스템 점검: fsck /dev/xvdb1
파일 시스템이 마운트 되어 있는 경우 해제 후 점검.
-f 옵션: 강제 실행(v파일 시스템이 손상된 경우에만 사용 권장)
스왑(swap) 영역 생성 및 관리
스왑(swap) : 메모리 부족 상황에서 사용되는 보조 메모리. 디스크에 저장되므로 메모리보다 훨씬 느리게 작동하며, 시스템이 지연될 가능성이 높음으로, 일반적으로 서버에서는 swap을 최소화하거나 비활성화 하는 것이 좋음
| mkswap 기능: 스왑 파티션 또는 파일을 생성 형식: mkswap[옵션] [스왑 파티션 경로] [크기] |
mkswap /dev/sdb2 10240 : /dev/sdb2 파티션에 10MiB의 스왑 영역 생성 swapon /dev/sdb2 : /dev/sdb2를 활성화 swapon -s : 활성화된 스왑 영역 상태를 출력 swapoff -a : 활성화된 모든 스왑 영역 중지 |
| swapon 기능 : 스왑 영역 활성화 형식 : swapon [옵션] [스왑 파티션 경로] |
|
| swapoff 기능 : 활성화된 스왑 영역 중지 형식 : swapoof [옵션] [스왑 파티션 경로] |
의사 파일 시스템 - proc
proc 파일 시스템 : 보통 /proc에 마운트, 시스템 관련 정보를 파일 형태로 제공
/proc에 현재 실행중인 PID와 같은 이름의 폴더들이 생성됨

네이버 클라우드 추가 디스크 제거
1. 나노 편집기로 /etc/fstab 오픈 후 /dev/xvdb1, /dev/xcdb2 설정 내용 통으로 삭제 후 저장
2. shutdown -f now 명령으로 서버 power-off , 네이버클라우드 웹에서 서버 정지 확인
3. Swerver - Storage에서 추가한 디스크 선택 후 [스토리지 삭제]
4. 서버 선택 후 [시작 ]
5. ssh로 서버에 접속 후 lsblk 실행 => xvdb 항목 삭제 확인
Appendix - GB와 GiB
GB : 10의 거듭제곱 1,000,000,000 바이트 (기가)
GiB : 2의 거듭제곱 1,073,741,824 (기비)
실생활에선 혼용 사용
'강의 > DevOps Linux' 카테고리의 다른 글
| [DevOps-Linux] 7. Shell -2 (0) | 2023.07.16 |
|---|---|
| [DevOps-Linux] 7. Shell -1 (0) | 2023.07.15 |
| [DevOps-Linux] 2. 소프트웨어 관리 및 유틸리티 (0) | 2023.07.11 |
| [DevOps-Linux] 1. 서버 생성 및 기본 사용 (0) | 2023.07.10 |
| [DevOps-Linux] 6. 프로세스와 서비스- 4. 프로세스 동작 전환 및 종료 (0) | 2023.07.09 |