Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- aws사용자모임
- 리눅스
- terraform
- docker
- 변수
- dockerfile
- 표준 라이브러리
- awskrug
- 함수
- open ai
- python
- AWS
- jenkins
- nexus
- it기사
- AI챗봇
- GIT
- git hub
- AI
- Azure
- 명령어
- Linux
- 프로세스 관리
- 사용자 계정 관리
- maven
- 3티어 아키텍처
- 애저
- 파이썬
- go
- 클라우드
Archives
- Today
- Total
We are Architect
9. 파일시스템의 종류와 구조 & 파일 시스템 마운트 본문
* 파일 시스템 이란?
- 컴퓨터가 데이터를 저장하고 관리하는 방법.
- 주로 데이터가 어디에 저장될지 위치를 정하고 데이터를 효율적으로 찾을 수 있게 관리하고 데이터가 사용자의 파일을 쉽게 열고 수정할 수 있도록 경로를 제공하고 저장 위치를 숨겨준다.
* 파일 시스템의 종류
리눅스 고유의 디스크 기반 파일 시스템
- ext(ext1) : Extend File System의 약자. 최초의 파일 시스템이며 매우 기본적이지만 기능이 부실하다.
- ext2 : 이전버전에서 더욱 상용화 된 버전이며 *저널링 기능이 없어서 복구가 매우 느리다. 오늘날 USB와 같은 *플래시 스토리지에 사용된다.
- 저널링: 시스템 장애를 방지하기 위해 관련 로그를 기록함으로써 복구 시 기록된 데이터를 기반으로 복구가 가능하게 하는 시스템.
- 플래시 스토리지: 메모리 칩에 데이터 저장.
- ext3 : ext2기반으로 만들어졌으며 저널링 기능이 도입 되었고 복구 기능까지 강화되었으며 2~32TB까지 지원한다.
- ext4 : 현재 가장 많이 사용하는 파일 시스템이며 최대 1TB까지 지원한다.
- 리눅스에서 파일 시스템을 확인 하려면 /proc/filesystem 경로에서 확인해 봐야 한다.
* 리눅스 파일 시스템의 구조
- 파일 : 데이터를 저장하는 기본단위. 리눅스에서 모든 것은 파일로 표현.
- 디렉터리 : 파일을 체계적으로 관리하기 위한 논리적 그룹. 계층적 트리 구조로 구성.
- 슈퍼블록 : 파일 시스템에 대한 정보를 저장하는 메타데이터.
- inode : 파일의 데이터 블록이 디스크 상의 어디에 위치했는지를 갖고 있는 데이터 구조.
- inode에 저장된 정보(명령어 ls -i 를 사용하면 파일의 노드의 번호를 보여준다.)
- 파일의 소유권 (사용자 정보, 그룹)
- 파일의 액세스 모드.
- 파일의 타임스탬프.
- 파일의 종류
- inode에 저장된 정보(명령어 ls -i 를 사용하면 파일의 노드의 번호를 보여준다.)
- 데이터 블록 : 실제 데이터를 저장하는 기본 단위.
- 저널링 : 데이터의 무결성을 위해 데이터 변경 내용을 로그에 기록. 재해 복구 시 사용.
* 파일 시스템 마운트
- 파일 시스템을 / 하위 디렉터리에 연결하는 방법.
- 마운트 포인트 : 디렉터리 계층 구조에서 파일 시스템이 연결되는 포인트.
- /etc/fstab : 리눅스가 부팅시 해당파일에 있는 장치를 마운트 하는 경로.
- /etc/fstab 파일의 구조
- 장치명 / 마운트 포인트 / 파일 시스템 종류 / 옵션 / 덤프 관련 설정 / 파일 점검 옵션
# <파일 시스템> <마운트 지점> <파일 시스템 유형> <옵션> <덤프> <fsck 순서>
UUID=1234-5678 / ext4 defaults 1 1
/dev/sda2 /home ext4 defaults 1 2
/dev/sdb1 /mnt/data xfs rw,noexec 0 0
/dev/cdrom /media/cdrom iso9660 ro,user,noauto 0 0
tmpfs /run/shm tmpfs defaults 0 0
- 마운트 관련 명령어
- mount : 현재 마운트 되어있는 장치를 보여줌. /etc/mtab 으로도 볼 수 있음.
- mount -t [파일시스템 장치] [마운트 포인트] : 파일시스템 마운트.
- mount [장치명] [마운트 포인트] : 장치를 마운트 포인트.
- mount -o _ _ _ [장치명] [마운트 포인트] : 옵션에 맞게 마운트하라는 뜻. > mount -o sync /dev/sda1 /mnt
- mount -f [장치명] [마운트 포인트] : 마운트 되는지 확인.
- mount -r [장치명] [마운트 포인트] : 읽기 전용으로 마운트.
- umount 장치명/마운트 포인트 : 마운트 해제
* 현재 상용화 되어 있는 파일 시스템
Windows(데스크톱, 랩탑)
- NTFS:
- Windows의 기본 파일 시스템.
- 보안, 저널링, 대용량 파일 지원이 특징.
- 전 세계적으로 가장 널리 사용됨.
- exFAT:
- 플래시 드라이브(USB) 및 SD 카드에서 사용.
- 대용량 파일과 호환성 지원.
- Windows, macOS, 리눅스 모두에서 지원.
macOS(데스크톱, 랩탑)
- APFS:
- macOS 및 iOS의 기본 파일 시스템.
- 스냅샷, 암호화, 빠른 성능을 제공.
- SSD에 최적화.
- HFS+:
- APFS 도입 이전 macOS의 기본 파일 시스템.
- 오래된 macOS 장치에서 여전히 사용.
Linux(데스크톱, 랩탑)
- ext4:
- 리눅스의 표준 파일 시스템.
- 빠르고 안정적이며, 대부분의 배포판에서 기본 사용.
- XFS:
- 고성능 서버 및 데이터베이스 워크로드에 적합.
- RHEL(Red Hat Enterprise Linux) 및 SUSE에서 자주 사용.
엔터프라이즈 및 데이터센터
- XFS:
- 대규모 데이터 및 고성능 워크로드에서 선호.
- Red Hat 계열에서 기본 파일 시스템.
- ZFS (OpenZFS):
- 데이터 무결성과 스냅샷을 지원.
- 고가용성 및 대규모 저장소 관리에 사용.
- 클라우드 환경에서도 채택됨.
- Btrfs:
- 스냅샷, 복제, 데이터 무결성 등 고급 기능 제공.
- OpenSUSE 및 일부 NAS(Network Attached Storage)에서 사용.
클라우드 및 가상화 환경
- ext4:
- AWS EC2, Google Cloud, Azure VM에서 기본적으로 사용.
- EBS의 GP2/GP3 파일 시스템:
- AWS에서 제공하는 EBS 볼륨이 ext4 또는 XFS를 기본 지원.
- F2FS:
- 플래시 기반 스토리지(SSD)에 최적화.
- 삼성 디바이스 및 일부 리눅스 환경에서 사용.
플래시 스토리지 및 외장 드라이브
- exFAT:
- USB 드라이브 및 SD 카드에서 널리 사용.
- Windows, macOS, 리눅스 모두 호환.
- F2FS:
- 스마트폰과 임베디드 장치에서 플래시 스토리지에 최적화되어 사용.
NAS 및 저장소 시스템
- ZFS:
- Synology, TrueNAS 같은 NAS 시스템에서 주로 사용.
- 데이터 중복 제거와 무결성 체크를 지원.
- ext4:
- NAS 기기에서도 기본적으로 많이 사용.
- 일반 사용자 환경: NTFS (Windows), APFS (macOS), ext4 (Linux).
- 서버 및 클라우드: ext4, XFS, ZFS.
- 소비자 장치: exFAT, F2FS.
위 파일 시스템은 각각의 용도에 최적화되어 있어 현재도 폭넓게 상용화되고 있다. 특정 환경에 따라 ext4, NTFS, APFS, XFS가 가장 많이 사용된다..
* 디스크 추가 마운트 하는 법
- 현재 잔여 디스크 확인
- fdisk 명령어로 전체 장치에 대한 정보 출력
- 작업이 안되어 있는 장치의 정보만 출력한다.
- fdisk /dev/sdb 로 파티션 나누기
- 해당 상태에서 ㅣ 을 눌러 어떤 형식의 파티션 타입을 설정할 건지 확인
- n 을 눌러서 새로운 파티션 생성
- 파티션 넘버는 1로 정한다.
- 나눈 파티션을 저장해 준다.
- 현재는 물리적으로 사용할 파티션만 만들어줬을 뿐 논리적인 파일 시스템으로 만들어줘야 사용이 가능하다.
- 이때 파일 시스템 생성 명령어 인 mkfs를 사용하여 ext4타입 파일 시스템을 만들어준다.
- 마운트 할 디렉터리 생성
- 원하는 디렉터리 위치에 원하는 파일시스템 장착
- df -h (디스크 프리 + 휴먼) 명령어를 입력해 디스크의 사용량을 확인.
- 디렉터리로 들어가서 장착된 장치 확인.
- 마운트 해제시에는 umount를 사용.
'운영체제 > Linux' 카테고리의 다른 글
11. 파일 시스템 검사하기 (1) | 2024.11.29 |
---|---|
10. 파일시스템 구축(LVM) (0) | 2024.11.27 |
8. 작업관리 & 작업예약 (0) | 2024.11.25 |
7. 프로세스 관리(2) (0) | 2024.11.25 |
6. 프로세스 관리 (0) | 2024.11.24 |