본문 바로가기
클라우드노트/오라클클라우드(OCI)

(10) 오라클클라우드에서 무료로 제공하는 블록볼륨을 연결해 보자

by 테크한스 2022. 8. 25.

1 (1) 오라클 클라우드 Free Tier 가입 (VM2개,100G 하드, 10TB 트래픽 평생무료)
2 (2) 오라클 클라우드 Free Tier 무료계정에 linux,nginx,mariadb,PHP,wordpress 몽땅 쓸어넣자
3 (3) 오라클 클라우드에서 unbuntu, nginx, php7 설치
4 (4) 오라클 클라우드에서 mariadb, phpmyadmin 설치
5 (5) 오라클 클라우드에서 도메인 설정, 샌드메일 설치
6 (6) 오라클 클라우드에서 nginx, https 사용을 위한 무료 SSL인증서 설정
7 (7) 오라클 클라우드에서 사용하는 워드프레스(wordpress) 설정
8 (8) 오라클 클라우드에서 무료로 사용하는 워드프레스, DB 백업과복구
9 (9) 오라클 클라우드에서 무료로 사용하는 오브젝트스토리지(S3)+아카이브 20G
10 (10) 오라클클라우드에서 무료로 제공하는 블록볼륨을 연결해 보자
11 (11) 오라클클라우드 프리티어 마지막 혜택 - Ampere A1 4CPU 24G
12 (12) 오라클 클라우드에서 무료로 제공하는 오라클 데이터베이스 ATP생성과 연결

 

이번 시간은 블록볼륨에 대해서 알아봅니다.

물론 무료로 사용하는 것이죠

 

블록볼륨은 말그대로 추가적인 디스크를 한개더 붙이는 것입니다.

우리가 PC를 구매한 후에 사용하는 디스크 용량이 부족하면 어떻게 하나요?

디스크를 하나 더 추가 하죠. HDD 이든 SSD 이든 말이죠

 

부트불륨은 부팅이 가능한 디스크입니다.

PC에서 첫번째 디스크인 C 드라이브랄까요?

 

이전에 무료 부트볼륨(boot volume)이 디폴트사이즈로 각 인스턴스(VM) 당 50G 라고 설정하였었죠?

 

저는 VM 인스턴스 2개이니 50G X 2 = 100G 를 이미 사용하고 있다는 이야기입니다.

아래 오라클 클라우드 프리티어에서 공개한 서비스 항목을 다시(?) 보시겠습니다.

 

왼쪽 중간 쯤에 이런 문구가 있었뜨랬죠?

 

블록볼륨 스토리지 2개, 총 200GB

 

이게 무슨 의미일까요? 저 문구만 봐서는 헷갈렸습니다.

부트볼륨은 따로인가? 모르겠다

 

그래서 잠시동안 디폴트 부트 볼륨 50기가씩 2개 사용하면 충분하지요

그러면서 잊혀졌다가 최근에 다시 찾아서 삽질을 해보았습니다

 

결론은 오라클 클라우드 프리티어에서 제공하는 무료 스토리지 총 용량이 200GB 라는 의미 
(기본 부트볼륨 포함, 오브젝트 스토리지 20GB 제외)


흠~ 간단혀네요. 결국 저는 기본 부트볼륨을 100GB(50GB+50GB) 사용하니 볼록볼륨으로

사용가능한 사이즈는 결국 남은 100GB 네요 (그래서 더 좋네~ 이놈의 프리티어 정신)

 

본격적으로

제가 사용하는 인스턴스 2개 중 하나인 bluehorse VM에 블록볼륨을 붙여보았습니다.

이 과정에서 약간 팁(?)들이 몇개 나오니 시간되시면 끝까지 내용 보시길~

 

바로 첫번째 팁을 공개할까요?

 

총 200GB 무료 스토리지를 우리는 합리적으로 이용해야 겠죠?

케이스는 딱(!) 생각해도 몇개가 나옵니다.

 

(1) VM 인스턴스 한개 사용할 경우

 

   (1-1)  부트볼륨 100G + 블록볼륨 100G

           인스턴스를 최초 만들 때 디폴트 사이즈인 50GB -> 100GB 로 올려서 구성 할수도 있고

 

   (1-2)  부트볼륨 50G   + 부트볼륨 150G 확장 = 부트볼륨 200G

           인스턴스 디폴트 사이즈인 50GB로 구성 후에 수정모드를 통해 50GB->150GB로 구성 할 수도 있음

            (단, 프리티어 이기에 부트볼륨에서 설정 후에 리스트에 always free(항상무료) 가 있는지 확인 필요)

           사실 나는 부트볼륨 확장은 테스트 안해 보았다   (그럼 무엇을 테스트 한 건가?)

              

   

(2) VM 인스턴스 두개 사용할 경우 (나의 경우)

 

   (2-1)  VM1  : 부트볼륨 50G + 블록볼륨 50G      (* 테스트 완료)

             VM2  : 부트볼륨 50G + 블록볼륨 50G     

 

  (2-2)  VM1  : 부트볼륨 50G + 부트볼륨 50G = 부트볼륨 100G

             VM2  : 부트볼륨 50G + 부트볼륨 50G = 부트볼륨 100G

 

자 여기서 부트볼륨으로 때려서 확장하면 편하겠네? 라고 할 수도 있지만 

개인마다 목적마다 그 용도가 다를 수가 있다 하겠다

 

우리가 윈도우 피씨를 구매한 후에 디스크를 C 드라이브 한개로 파티셔닝해서 사용하는 사람도 있지만

대다수가 어떤 목적에 의해서 몇개로 디스크를 나누어 사용하는 것이 일반적일 것이다

 

그래서 나는 그냥 블록볼륨을 추가로 생성하고 마운트하기로 하였다 (2-1 을 기준으로 하기에 설명)

(부트볼륨은 한번 사이즈를 올리면 내리지 못하게 된다)

 

부트볼륨은 한번 사이즈를 50기가에서 그 이상으로 늘리게 되면
다시 줄일 수 없다는 정보가 있으니 신중하게 사이징 바랍니다.

 

 

아무리 무료이지만 프리티어가 어디까지 지원 되는지는 항상 신중하게 확인하고 선택해야 하겠다.

 

사실 작업하기전에 자신이 무슨 작업을 하는지 그려보고 시작하는 것이 맞긴하다

그러나 워낙 단순한 작업이라지만 그래도 아래와 같이 작성하면 먼가 있어(?) 보인다

중간 VM에 오른쪽에 연결된 Block Storage 원통이 보이는가? 클라우드 설계 별거 아니다

 

먼저 오라클클라우드에 접속해서 콘솔에 접속하여 하기의 메뉴로 이동해보자

메인>>스토리지>>블록스토리지 

 

 

자~ 블록볼륨생성 버튼을 눌러보자

 

여기서 우리의 목적인 블록볼륨 50G를 설정하면 되는데

중간에 볼륨크기 및 성능이 나온다.

여기서 우리는 선택을 해야 하는데 여기 팁(?)이라는 것이 나올 수 있겠다.

 

기본값을 선택하지 말고 사용자정의를 선택해보자 (어차피 100GB 설정하려면 기본값으로는 안됨)

바로 볼륨 성능이라는 것이다.

PC에서 사용하는 SSD가 초당 MB/S 가 몇인지 아는 분 있나요?

 

 

아무튼 아무 설정도 하지 않는 다면 아마도 가장 낮거나 Balanced 에 설정이 되어서 만들어질 것입니다.

 

저 또한 이것이 프리티어 범주에서 사용할 수 있는 것이지 구글링을 해보았을 때 정말로 관련 정보가 적었음을 느꼈지만

일부 저에게 확신을 주는 정보가 있기에 과감하게 볼륨 성능을 UHP (high performance)로 선택을 해본다.

그래서 혹시 몰라서 VM1에만 적용해 보고 며칠 지켜보기로 했다 (무료 사용자란 이래야 한다 ㅠ)

 

UHP 설정에 민감해야 하는 이유는 아래와 같이 유료인 경우 성능에 따른 가격차이가 상당히 많이 난다.

 

(참고) 스토리지 유료 가격

오오~ 10 VPU balanced 가격과 120 VPU 가격 차이를 보라 (저게 20배 차이남?)

 

걱정하지 마시라.

우리는 프리티어 민족 입니다.

 

역시나 시작이 기네요 (죄송)

바로 설정해 보겠습니다.

 

어쨌든 아래와 같이 50GB에 120 VPU로 설정하였습니다.

(팝업 설정 계속)

이제 연결해 보겠습니다.

 


 

(여기서 잠깐!!!)

저는 지금까지 블록볼륨에 대한 VPU (불륨성능)에 대한 설정을 마쳤지만

자세히 보면 VM 인스턴스를 최초 만들때 설정하는 부트볼륨에도 이 VPU를 설정할 수 있습니다.

정말 확인해보니 제 설정에도 VPU가 10 으로 설정되어 있는 것을 보고 이것도 120으로 올려보기로 하였습니다.

다시 메인메뉴>>인스턴스>>리소스>>부트볼륨으로 들어가 아이콘의 편집을 누르면 블록볼륨처럼 VPU를 늘리는 

그래프가 나오니 거기서 늘려주면 됩니다.

아마도 과도한 퍼포먼스를 사용하는 서버라면 IO 시간과 용량이 늘어나는 것이기에

10 VPU -> 120 VPU 의 스토리지 속도 향상은 체감속도가 상당히 빠르게 느껴질거라 생각됩니다. (좋은 것임)

 

(최근 업데이트)

VPU 수동기능에 자동기능이 추가 되었습니다.  즉 미리 기능을 확장하지 않고 사용량이 많아지만 늘어난다는 개념입니다.

잘 모르면 아래와 같은 자동기능을 사용하세요

저도 기본 10 VPU 에 최대 120 VPU로 설정해 놓았습니다. (무료티어는 계속 무료이지요!)

이것은 부트볼룸과 블록볼륨 모두 설정가능합니다.


 

다시 블록볼륨 연결을 위해서

메인메뉴 >> 인스턴스 >> 하단 리소스 메뉴 >> 연결된 블록 볼륨 클릭

미리 만들어 놓은 블록볼륨(여기서는 bluehorse-data 라는 이름)을 선택

나머지는 그대로해서 설정해 줍니다.

(설마 여기서 디스크 마운트가 끝났다고 생각하지는 않겠죠?)

실제 리눅스 터미널에서 마운트를 위한 명령어가 필요

즉, 연결 완료후에 리스트중 맨 우측에 쩜3개 짜리를 누르면 

위의 드롭다운 메뉴 중에 iSCSI 명령 및 정보를 클릭해서 아래와 같은 터미널 스크립트를 카피해야 합니다.

 

(리스트 항목중 다중경로에 대한 느낌표에 대한 정보를 보고 싶다면 아래 원문링크를 참조바랍니다. 무시해도 상관없 ?) 

https://docs.oracle.com/en-us/iaas/Content/Block/Tasks/attachingavolume.htm#multipath

 

Attaching a Volume

 

docs.oracle.com

 

별도 메모장 등에 카피한 후에

여러분이 볼록볼륨을 연결할 대상 VM 인스턴스의 SSH 터미널 접속을 한 후에

sudo 명령으로 3 줄을 차례대로 실행해 주면 아래와 같이 맨마지막에 successful 이 나오면 OK

 

자자 거의 끝나갑니다.

 

fdisk -l로 하면 해당 디스크가 보입니다.

그러나 df -h 하면 아직 디스크가 보이지 않습니다.

 

마지막으로 실제 터미널에서 우리가 익숙한 fdisk로 간단하게 파티셔닝과 마운트를 해줘야 합니다.

그리고 마지막으로 포맷하면 됩니다.

포맷하면서 UUID를 카피해 놓습니다.  (나중에 모르면 sudo blkid로도 찾습니다)

마운트하기 위한 실제 디렉토리 이름을 만들어야 합니다

부팅시 자동적으로 마운트가 되게 하려면 /etc/fstab 파일에 마운트 정보(UUID)를 추가 입력해야 합니다.

nano 편집기로 열어서 한줄 추가해 줍니다.

한줄 내용은 아래와 같습니다. (카피 가능)

UUID=20xxxxxxxxxxxxxxx /data1 ext4 defaults 0 0

저장하고 나옵니다.

 

 

마지막으로 화룡점정하겠습니다.

df -h 명령어로 최종확인 합니다.

 

블록볼륨을 분리하는 것은 역순이지만 휠씬 간단합니다.

위의 스크립에서 두번째 접속 해제의 2문장의 명령어를 터미널에서 한줄 실행하고 두번째줄 실행하면 

연결된 블록볼륨이 사라지게 됩니다. 

 

(기존 블록볼륨 path 는?

Just to elaborate on @camh answer: Use mount | grep <path>. That shows any /dev/<abc> might be mounted on the the <path>. Use sudo umount -lf /dev/<abc> and then try to remove <path>. Works for me

 

 

많이 부족하지만

이것으로 오라클클라우드 10편을 마칩니다.

감사합니다.


[오라클클라우드 무료티어 운영상 주의사항]

 

(update) 지난 1년 넘게 오라클클라우드 프리티어를 서버로서 운영하면서 정말 주의해야 할 점은 재기동의 방법입니다.

콘솔에서 정지, 시작, 재부팅 이렇게 보여서 이것으로 운영하는 경우 그리고 자주 이것을 이용하는 경우가 있는데

그 방법이 상당히 서버에 fault가 예기치 않게 발생할 수 있습니다.

그리고 그것을 fix 하기가 상당히 어려운 경우가 많으므로 애초에 운영시 아래와 같은 문구에서도 유추할 수 있듯이

 

재기동과 재시작은 OS에서 수동으로 명령어에 의해 운영하기를 추천드립니다.

예를 들어 sudo shutdown now -r 이런 명령어 말이죠

이렇게 운영하면 나중에 대형 참사(?) 막을 수 있습니다. 윈도우 처럼 어느 시점의 이미지 백업을 받는 방법도 좋겠고요

아무튼 저는 절대로 콘솔에서 버튼으로 인스턴스를 재기동하지 않기를 강력히 추천드립니다.

 

쉽게 말해 콘솔에서 강제 재부팅하고 나서 영원히 원격터미널 SSH 접속이 막힐 지도 모릅니다.

저는 오늘 2대 모두 위의 상황에서 한대씩 수동 복구중입니다.

 

결코 사용하지 말아야 할 콘솔 재부팅 버튼과 더욱 위험한 강제 재부팅 체크박스

 

한가지 더 언급하자면

 

어느날 갑자기 터미널 접속이 안되고 Network  Error: Connection refused 발생하면

아래와 같이 클라우드콘솔에서 직접 다이렉트 터미널 접속이 되서 root로 접근하게 해줍니다.

첫번째 root 접속하면 반드시 root 계정의 패스워드 설정하시고 시작하세요

 

여기서 접속하면 터미널과 동일한 오퍼레이션을 할 수 있습니다.

그러나 치명적인 오류인 경우 몇칠동안의 삽질보다 인스턴스 재생성이 정신건강에 좋을 것으로 생각됩니다. 

콘솔 강제 재부팅 이후에 이상해진 서버 상태

 

아무튼 무료 서버와 즐거운 시간되세요   (2023년 1월 28일)

 


 

(참고) 무료클라우드에 대한 벤더별 비교 영상은 아래를 확인해 보세요

 

 

 

 

 

1 (1) 오라클 클라우드 Free Tier 가입 (VM2개,100G 하드, 10TB 트래픽 평생무료)
2 (2) 오라클 클라우드 Free Tier 무료계정에 linux,nginx,mariadb,PHP,wordpress 몽땅 쓸어넣자
3 (3) 오라클 클라우드에서 unbuntu, nginx, php7 설치
4 (4) 오라클 클라우드에서 mariadb, phpmyadmin 설치
5 (5) 오라클 클라우드에서 도메인 설정, 샌드메일 설치
6 (6) 오라클 클라우드에서 nginx, https 사용을 위한 무료 SSL인증서 설정
7 (7) 오라클 클라우드에서 사용하는 워드프레스(wordpress) 설정
8 (8) 오라클 클라우드에서 무료로 사용하는 워드프레스, DB 백업과복구
9 (9) 오라클 클라우드에서 무료로 사용하는 오브젝트스토리지(S3)+아카이브 20G
10 (10) 오라클클라우드에서 무료로 제공하는 블록볼륨을 연결해 보자
11 (11) 오라클클라우드 프리티어 마지막 혜택 - Ampere A1 4CPU 24G
12 (12) 오라클 클라우드에서 무료로 제공하는 오라클 데이터베이스 ATP생성과 연결

 

댓글