※ 업무하면서 습득한 내용들을 정리해 놓은 포스팅입니다 :P 추가로 궁금하신 점은 댓글로 남겨주시고 필요한 자료 있으면 요청주세요! 잘못된 내용이 있으면 고쳐주시면 감사하겠습니다. 자료 퍼가실 때는 출처 남겨주세요!
ο 목차
※ 코드 보는 방법 참고
ㅇ 달러 기호($)가 있는 경우 -> 리눅스 터미널에서 CLI 명령어 입력
ㅇ "=#" 기호가 있는 경우 -> psql 쉘에서 명령어 입력
ㅇ 꺽쇠가 하나 있는 경우(>) -> 윈도우 명령 프롬프트(cmd)에서 명령어 입력
ㅇ 꺽쇠가 세개 있는 경우(>>>) -> python 쉘에서 명령어 입력
안녕하세요, 네모입니다~~
주먹구구식으로 작업했던 디스크 관리 내용을 한방에 정리해보고자 이렇게 글 쓰게 되었습니다 :P
디스크 관리 개념부터 실제 실무 작업까지 한 방에 싹 잡고 가세요!
1. 디스크 관리 개념
1) 디스크 관리 개념도
2) 디스크 관리 프로세스
(1) 디스크 장치 생성
디스크 장치는 실제 물리 디스크 장비를 파일화한 것으로 디스크 파일 자체로는 마운트하여 사용할 수 없음.
(2) 파티션 분할
디스크 장치를 사용하기 위해서는 파티션 분할이 꼭 필요하며 디스크 용량을 통으로 쓰는 경우에도 반드시 파티션 분할(1개)을 해야 사용할 수 있음.
※ 디스크명, 파티션 명과 관련된 기본 개념은 ↓ 아래 더보기 클릭하면 확인 가능
* 디스크명 : 디스크 종류에 따라 /dev/sd-, /dev/xvd- 등 디스크명이 정해지고 디스크를 여러개 사용하는 경우 a,b,c 등의 알파벳으로 구분
(ex) 하드 디스크를 두개 사용하는 경우 앞에서부터 /dev/sda, /dev/sdb로 구분
* 파티션명 : 파티션 용도 및 구분에 따라 번호를 구분하여 사용
(ex) - 주파티션 : 파티션 번호1~4 사용 (/dev/sda1, /dev/sda2...)
- 확장 파티션 : 주 파티션 중 하나를 확장 파티션으로 설정할 수 있음, 파티션 번호 1~4 사용
- 논리 파티션 : 확장 파티션으로 설정된 파티션을 여러개의 논리 파티션으로 나누어 사용함. 파티션 번호 5부터 사용
(논리 파티션 갯수의 제한은 없다고 하지만 너무 자잘하게 나누면 성능 저하가 있을 수 있기 때문에 12개 이상 생성하지 않는 것을 권장함)
(3) 파일시스템 생성
마운트를 하고, 실제 디스크에 데이터를 쓰기 위해서는 디스크 파티션에 파일 시스템을 생성해줘야 함.
(4) 마운트
파일 시스템이 생성된 디스크 파티션은 다른 디렉토리에 마운트하여 데이터를 쓸 수 있음.
2. 디스크 관리방법
1) 디스크 용량 확인
$ df
: disk free의 약자로 파일 시스템, 디스크 크기, 사용량, 여유공간, 사용률, 마운트된 위치를 출력하는 명령어
예제)
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 393M 1.5M 391M 1% /run
/dev/sda1 20G 9.6G 8.6G 53% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/sdb1 50G 3.0G 45G 7% /mnt/data
$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
udev devtmpfs 1953164 0 1953164 0% /dev
tmpfs tmpfs 396712 1480 395232 1% /run
/dev/sda1 ext4 20420908 9866328 9547568 51% /
tmpfs tmpfs 1983568 0 1983568 0% /dev/shm
tmpfs tmpfs 5120 0 5120 0% /run/lock
tmpfs tmpfs 1983568 0 1983568 0% /sys/fs/cgroup
/dev/sdb1 ext4 52403200 3008224 46773392 7% /mnt/data
옵션)
-h : Size를 KB, MB, GB 단위로 출력
-T : 파일 시스템의 타입도 함께 출력
2) 디스크 파티션 관리(목록, 생성, 수정, 삭제)
$ fdisk
: 파티션 테이블을 관리하는 명령어로 파티션의 생성, 수정, 삭제를 수행
(1) 파티션 테이블 내용 출력하기
$ fdisk -l
예제)
$ fdisk -l
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes, 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x12345678
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 102402047 51200000 83 Linux
/dev/sda2 102402048 1953523711 925560832 5 Extended
/dev/sda5 102404096 204802047 51298976 83 Linux
/dev/sda6 204804096 307202047 51298976 83 Linux
(2) 파티션 생성하기
$ fdisk 디스크장치명
예제)
$ fdisk /dev/sdb
Command (m for help):
- n : 새로운 파티션 생성
- d : 파티션 삭제
- l : 파티션 목록 출력
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):
- p : 새로운 파티션을 주파티션으로 사용함을 의미
- e : 새로운 파티션을 확장 파티션으로 사용함을 의미
Select (default p): p
Partition number (1-4, default 1):
- Partition number : 파티션 번호 선택, 아무것도 입력하지 않고 Enter를 치는 경우 default 번호로 설정됨
Partition number (1-4, default 1): 1
First sector (2048-10485759, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-10485759, default 10485759):
Created a new partition 1 of type 'Linux' and of size 5 GiB.
- First sector : 파티션 시작 지점 설정, 아무것도 입력하지 않고 Enter를 치는 경우 default 섹터로 설정됨
- Last sector : 파티션 끝 지점 설정, 아무것도 입력하지 않고 Enter를 치는 경우 default 섹터로 설정됨
Command (m for help): w
- w : 설정을 저장하고 fdisk 종료
- q : 설정을 저장하지 않고 fdisk 종료
3) 파일시스템 생성
(1) 파일 시스템 생성하기
$ mkfs -t 파일시스템종류 파티션명
예제) /dev/sdb1 디스크에 ext4 파일 시스템 생성하기
$ mkfs -t ext4 /dev/sdb1
혹은
$ mkfs.ext4 /dev/sdb1
* 둘 다 가능
(2) 파일 시스템 설정값 확인하기
$ fsck -N /dev/sdb1
4) 마운트하기
(1) 마운트 명령어
$ mount 파티션명 마운트포인트
예제) /dev/sdb1 디스크를 /data에 마운트하기
$ mount /dev/sdb1 /data
(2) 부팅시에 자동으로 마운트하도록 설정
** 서버를 재부팅하게 되면 마운트가 풀리기 때문에 해당 설정 필요
$ vi /etc/fstab
(아래와 같이 fstab 파일에 마운트 설정 추가)
# 장치명 마운트포인트 파일시스템유형 마운트옵션 레벨덤프주기 부팅파일시스템점검순서
/dev/sdb1 /data ext4 defaults 0 0
- 마운트옵션 : defaults, uquota, gquota, ad
- 레벨덤프주기 : 0 - dump 사용 X, 1 - 매일 수행, 2 - 이틀에 한번 꼴로 수행
- 부팅파일시스템점검순서 : 1 - 가장 먼저 점검 (보통 root 파일), 2 - 두번째로 점검, 0 - 점검 X
이렇게 마운트까지 완료하면 이제 디스크에 데이터를 쓸 수 있게 됩니다~
마운트 관련해서는 좀 더 다양한 내용이 있지만 다 쓰면 너무 길어질 것 같아서 다음에 기회되면 다루도록 하겠습니다
모쪼록 디스크 관리에 대해 총체적인 개념은 이 포스팅으로 어느 정도 알아가셨으면 좋겠네용 :P
혹시 더 궁금하거나 틀린 내용 있으면 댓글 남겨주세요!
※ 좋아요와 구독은 큰 힘이 됩니다. 감사합니다.
'리눅스(Redhat) > 시스템 관리' 카테고리의 다른 글
이미 생성된 계정의 uid, gid 변경하기 (0) | 2023.12.15 |
---|---|
[Tomcat] 로그 관리 - catalina.out 로그 하루씩 롤링(rolling)하기 (0) | 2023.03.30 |
댓글