Joo's
article thumbnail
반응형

준비물 - 네이버 클라우드 서버, MobaXterm 접속

1. 블록 스토리지를 사용하여 디스크 추가

  • Server -> Storage -> 스토리지 생성

  • Storage를 보면 처음 서버를 생성할 때 만들어지는 기본 스토리지가 있다. 
  • 이 기본 스토리지는 SSD는 50GB로 고정되어 있다. 
  • 더 많은 용량을 사용하기 위해서는 스토리지를 생성하여 추가해야 한다.

  • 하이버바이저 : XEN(2세대)
  • 스토리지 이름 : test-storage1(3개를 만들 것이기 때문에 순번을 붙인다.)
  • Zone : KR-2(서버와 같은 Zone을 선택해야 한다.)
  • 스토리지 종류 : SSD(빠르지만 비쌈)
  • 적용 서버 선택 : test 서버(미리 만들어둔 서버, 서버 이름을 정하지 않아 기본값이 들어가 있다.)
  • 크기 : 10GB(용량 마음대로 선택, 용량이 클수록 비용 증가)
  • 같은 방법으로 test-storage1, test-storage2, test-storage3 총 3개의 스토리지를 만든다.

  • 총 3개의 스토리지를 만들었다.(마지막 하나는 HDD로 만들었다.)
  • 서버 상세정보를 보면 스토리지에 3개의 스토리지가 추가된 것을 볼 수 있다.

2. 콘솔에서 생성한 블록 스토리지를 서버에 마운트

  • 위에서 보면 생성한 3개의 스토리지가 /dev/xvdb, /dev/xvdc, /dev/xvdd 라는 이름으로 생성된다.
  • 콘솔에서 블록 스토리지를 생성해도 실제 서버에는 적용되지 않는다.
  • 용량을 보는 명령어인 df -h를 해보면 기본 스토리지만 있는 것을 알 수 있다.

  • 파티션을 보는 명령어인 lsblk를 해보면 기본 스토리지인 xvda가 /boot, / 에 마운트 되어 있는 것을 확인할 수 있지만, 새로 생성한 xvdb, xvdc, xvdd는 마운트 되어 있지 않다는 것을 확인할 수 있다.

  • 마운트 하기 위해서는 root 계정으로 접속해야 한다.
su root
  • 여기서부터는 그냥 따라하기
    fdisk /dev/xvdb
  • 위 과정을 통해 스토리지1을 위한 파티션을 마련했다.
  • 생성한 /dev/xvdb1 파티션에 대해 포맷(파일 시스템 생성)을 진행한다.
mkfs.ext4 /dev/xvdb1

  • 마운트 하기 위한 디렉터리(/disk1) 생성 작업 후 /dev/xvdb1 파티션 마운트 및 데이터를 생성
mkdir /disk1
mount /dev/xvdb1 /disk1

  • df -h 를 해보면 /disk1에 /dev/xvdb1 이 마운트 되어 제대로 용량 표시 됨을 알 수 있다.

3. 여러 개의 디스크를 논리적으로 묶어서 하나의 디스크처럼 사용(LVM)

  • 위 과정을 통해 하나의 스토리지를 마운트하였다.
  • 이번 과정에서는 여러 개의 스토리지를 하나로 묶어 하나의 디스크처럼 사용하고자 한다.
  • LVM(Logical Volume Manager)이란?
    • 물리적인 디스크(H/W)를 OS단(S/W)에서 논리적으로 구성하여 유동적으로 사용하는 것
    • PV(physical volume, 물리 볼륨) : 실제 하드디스크 파이션을 물리적인 볼륨 단위로 정의
    • VG(volume group, 볼륨 그룹) : 여러 개의 PV를 그룹으로 묶은 것
    • LV(logical volume, 논리 볼륨) : VG를 다시 적절한 크기의 파티션으로 나눈 각 파티션

  • 먼저 fdisk를 통해 파티션 생성 작업을 한다.(그대로 따라하기)
fdisk /dev/xvdc

  • /dev/xvdd도 위와 같이 동일한 작업을 수행
  • 위 작업을 통해 storage2(/dev/xvdc), storage3( /dev/xvdd)에 대한 파티션을 마련하였다.
  • pvcreate로 물리적인 볼륨을 생성하기
pvcreate /dev/xvdc1
pvcreate /dev/xvdd1

  • 두 볼륨을 합치기 위한 볼륨 그룹을 생성한다.
    • lvmVG라는 볼륨 그룹에 /dev/xvdc1, /dev/xvdd1을 넣음
vgcreate lvmVG /dev/xvdc1 /dev/xvdd1

    • vgdisplay로 확인
      • 볼륨 사이즈가 20GB이다.
vgdisplay

  • 논리적 볼륨 생성 및 포맷
lvcreate --extents 100%FREE -n lvmLV lvmVG

mkfs.ext4 /dev/lvmVG/lvmLV

  • 마운트 및 파일시스템 확인
mkdir /lvm 
mount /dev/lvmVG/lvmLV /lvm

  • 새로 추가한 storage1(10GB)와 storage2+storage3(LVM)(20GB) 확인 

4. 스토리지 용량 늘리기

  • 이전에 만들었던 storage1의 용량을 10GB -> 20GB로 늘리려고 한다.
  • 먼저 마운트 되어 있는 디스크를 unmount 해야 한다.
  • 혹시 unmount가 안될 경우 서버를 재부팅해야 한다.
    • sudo reboot 하거나 콘솔에서 재부팅
umount /dev/xvdb1
  • lsblk로 파티션 정보 확인
      • xvdb에 마운트가 없는 것을 확인할 수 있다. 
lsblk

  • Growpart 설치
yum install -y cloud-utils-growpart

  • 콘솔 화면으로 돌아가 디스크 용량을 증설합니다.
  • 콘솔 -> Server -> Storage -> test-storage1 체크 후 스토리지 설정 -> 서버에 연결해제 

  • test-storage1 체크 후 스토리지 설정 -> 스토리지 변경 
    • 크기를 10GB -> 20GB로 변경

  • test-storage1 체크 후 스토리지 설정 -> 서버에 연

  • 상태가 사용 중으로 바뀌면 리눅스 서버에서 변경된 내용을 확인
    • xvdb가 20GB로 변경됐지만 파티션1인 xvdb1은 10GB인 상
lsblk

  • growpart 명령어로 파티션 크기를 늘려준다.
growpart /dev/xvdb 1

  • 다시 lsblk로 확인해보면 20GB로 늘었음을 확인할 수 있다.

  • 파일 시스템 점검 및 파티션 공간 확장
e2fsck -f /dev/xvdb1 
resize2fs /dev/xvdb1

  • Mount를 하여 데이터와 공간 확인하기
    • /disk1에 20GB 디스크가 마운트 되었다.
 mount /dev/xvdb1 /disk1

5. 마운트 정보 유지 설정(fstab 설정)

마운트 해도 리부트하면 마운트가 해제 된다.

https://guide.ncloud-docs.com/docs/blockstorage-use-vpc

 

Block Storage 사용

 

guide.ncloud-docs.com

반응형
profile

Joo's

@JooJY

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!