최근 회사에서 스테이징 서버 용량 문제로 장애가 일어나 서버에 vdb를 추가했다.
추가된 디스크는 vda vdb vdc와 같이 순서대로 추가되며 알파벳이 하나씩 올라간다.
/dev/vda describes itself: [v]irtual [d]isk
끝이 b이므로 두번째 디스크라고 볼 수 있으며 vdb는 바로 사용할 수 없으며 마운트해서 사용해야 하는데 마운트 하는 과정을 상세히 적어보려고 한다.
일단 크게 순서를 요약하자면 추가된 디스크를 파티셔닝 해주고 파티셔닝된 결과를 특정 폴더에 마운트해줘야한다.
추가된 vdb 확인하기
우선 추가된 vdb는 아래의 명령어로 확인해볼 수 있다.
fdisk -l
lsblk
현재 파티셔닝 된 디스크를 조회할 수 있다.
/dev/vda 라는 디스크가 /dev/vda1이라는 이름으로 파티셔닝되었다는 뜻이다.
/dev/vdb 는 파티셔닝이 안된 것을 볼 수 있다.
lsblk 명령어로 확인해보면 vdb는 특정 MOUNTPOINT에 경로 할당이 안된 것을 볼 수 있다.
vdb 파티셔닝
fdisk -l로 검색된 디스크 이름으로 파티셔닝을 진행한다.
sudo fdisk /dev/vdb
위 명령어를 입력하면 옵션들을 단계별로 선택해줘야하는데 일반적이라면 아래의 순서를 따르면 된다.
n > p > 1 > enter > enter > w
순서대로 어떤 의미를 갖는지 알아보자.
Command
n: 새 파티션 생성
d: 파티션 삭제
p: 파티션 목록 표시
q: fdisk 종료
p 명령을 사용하여 첫 번째 파티션을 선택합니다.
1 명령을 사용하여 첫 번째 파티션의 번호를 지정합니다.
Partition type
p: Primary Partition(기본 파티션 or 주 파티션)
e: Extended Partition(확장 파티션)
기본 파티션은 주 파티션이라고도 불리며 주로 부팅 가능한 운영 체제가 설치되는 곳을 의미한다. 물론 데이터 저장소로 쓰이기도 한다.
위의 사진에서 나와있듯이 4 free는 기본 파티션은 4개까지 설정이 가능하다는 뜻이다.
확장 파티션은 기본 파티션 4개 중 1개를 가져와서 사용한다.
확장 파티션은 실제 용량이 할당되는 파티셔닝 개념은 아니다.
확장 파티션은 내부에 다시 논리 파티션을 여러개 만들어서 실제 용량이 할당되도록 파티셔닝을 할 수 있다.
확장 파티션의 용도는 기본 파티션 4개가 부족한 경우에 확장 파티션으로 여러개 논리 파티션을 나누어서 용량을 관리하는 개념이라고 보면 된다.
일단 vdb를 파티셔닝으로 잘게 쪼개는 것이 목적은 아니기 때문에 p를 선택한다.
Partition number
만들어진 파티션이 없으니 1을 선택한다.
First Sector
디스크의 용량 할당 시작 지점을 설정한다.
기본 2048을 유지하면 되므로 엔터를 눌러주자
Last Sector
Last sector도 여러개의 파티션으로 나눌게 아니라면 엔터를 눌러준다.
변경 사항 저장
w를 입력하면 변경 사항을 저장한다.
파티셔닝 된 vdb 확인하기
fdisk -l 로 실제 파티셔닝된 것을 볼 수 있다.
이제 파티셔닝 됐으니 실제 폴더에 마운트를 해보자.
파티셔닝 된 디스크를 마운트 하기
sudo mount /dev/vdb /root/harbor/data/registry/docker/registry/v2/blobs
추후 수정 요망
위의 명령어를 입력하면 아래와 같은 에러가 발생한다.
mount: /dev/vdb is write-protected, mounting read-only
mount: unknown filesystem type '(null)'
/dev/vdb가 읽기 전용으로 설정된 것을 볼 수 있다.
해당 디스크가 파일 시스템 포맷이 안된 것이다.
파일 시스템 포맷한 뒤 다시 mount 하기
mkfs.ext4 /dev/vdb
sudo mount /dev/vdb /root/harbor/data/registry/docker/registry/v2/blobs
추후 수정 요망
mkfs: "make file system"의 약어로, 파일 시스템을 생성하는 명령어입니다.
ext4: Extended File System 4의 약어로, 리눅스에서 사용되는 파일 시스템 중 하나입니다.
ext4는 ext3의 후속 버전으로, 더 빠르고 안정적인 성능을 제공하며 더 큰 파일과 디렉터리를 지원합니다.
추후에 마운트 해제하려면 umount /dev/vdb 하면 된다.
마운트 결과 확인하기
df -h로 vdb가 올바르게 마운트된걸 확인할 수 있다.
fstab으로 자동 마운팅 환경 구성하기
서버가 재기동 될 경우 마운트 된 볼륨이 설정 해제가 되는데 fstab을 수정해서 자동으로 마운트 볼륨 설정이 가능하다.
[root@harbor ~]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Aug 17 07:14:34 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=e96b3d5d-0314-48ba-9b7c-7444543618c0 / xfs defaults 0 0
위 형식에
디스크명(UUID), 마운트 대상 폴더, 포맷명, dump사용여부, 백업 여부, 파일 시스템 복구 우선순위 순서로 적어주면 된다.
UUID를 아래와 같이 조회해서
UUID="47eb9da2-32e7-4e3e-925f-1c71ac712586" /파일 저장 경로 ext4 defaults 0 0
를 기입해주고 저장하면 됨.
'🐧 Linux' 카테고리의 다른 글
Java 코딩 컨벤션을 위해 리눅스 명령어로 뜯어 고치기 (1) | 2023.11.27 |
---|---|
리눅스 정규 표현식 활용 A to Z (0) | 2023.07.25 |
리눅스 필수 기초 명령어 정리 (0) | 2022.07.30 |
리눅스 시스템에서 깨진 파일명 지우기 (0) | 2022.07.28 |