컴퓨터의 데이터 :
물리적으로는 전기 신호의 형태, 이진수의 형태이며, 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 |