본문 바로가기
Cloud/Azure

[2021.04.20] 인턴 +50 Linux (VM - Azure) 데이터 디스크 마운트 방법

by injekim97 2021. 4. 20.
반응형

[2021.04.20] 인턴 +50  Linux (VM - Azure)  데이터 디스크 마운트 방법

 

 

portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Compute%2FVirtualMachines

 

Microsoft Azure

 

portal.azure.com

 

* 마운트(Mount) 란?
-> 하드디스크의 파티션, CD/DVD, USB 메모리 등을 사용하려면 특정한 위치에 연결을 해 줘야 하는데. 특정한 위치(디렉터리)에 연결시켜 주는 과정을 마운트라 함.

-> 실제 공간인 디스크를 사용하기 위해서 현재 사용하고 있는 운영체제에 연결하는 것

 

 

 

<마운트에 대한 깔끔한 그림 설명>

기차는 서울역에서 정차한다. (=디스크를 디렉토리에 마운팅)
홍길동은 서울역에서 기차를 탄다. (=데이터를 마운트 디렉터리에 저장)
기차는 홍길동을 태우고 목적지까지 간다. (=실제 물리적으로 디스크에 저장됨)


기차는 리눅스 상에 있는 물리적 장치서울역은 마운트 된 디렉토리홍길동은 저장될 데이터


test.txt라는 데이터를 /data 아래에 저장하면 실제로 해당 데이터는 /dev/sda1 디스크에 저장됨 

그렇다면 그 후 /dev/sda1에 /data2 디렉터리를 마운트 시키면 test.txt 데이터는 어떻게 될까?
정답은 test.txt는 안 보이는 것일 뿐, 실제로는 /dev/sda1에 저장

마운트 되어있는 상태에서는 CDROM 드라이브의 eject 버튼 X

-> 원마운트 명령을 주어야 그제서 eject 가능해짐 (mount <-> umount)

 

 

--------------------------------------------------------------------------------------------------------------------------

이제, Azure에서 제공해주는 데이터 디스크를 Linux(Ubuntu)에 연결해보자.

 

* 가상 머신에 디스크를 연결하기 전 주의사항

-> 가상 머신의 크기 및 가상 머신 종류를 검토 (디스크 개수가 제한)

-> 가상 머신에 연결된 디스크는. vhd 확장자를 가짐.

 

 

 

 

 

목차

1. Azure에서 가상 머신을 만들기

2. Azure에서 만든 Linux에 접속하기

3. Linux안에서 Azure에서 추가 한 디스크를 찾기

4. 새로운 디스크 분할 

5. 디스크 마운트(disk Mount) 

6. 데이터 디스크를 자동 마운트 하기 위해 UUID 등록 

 

 

 

 

1. Azure에서 가상머신을 만들어줌 (기존에 만들어져 있으면 Virtual Machine -> Disks 클릭 후 새 디스크 만들기)

-> Add 누르고 , Vritual Machine 클릭

 

 

-> Basics 부분을 설정한 후에 Next : Disks 클릭

 

 

 

-> Create and attach a new disk (새로운 디스크 만들기 클릭)

 

 

-> Size를 설정해 준 후에, Ok 클릭 (나머진 저대로 하면 됨)

 

 

-> OK 누르면 위와 같이 사진이 나옴

-> 이후에 가상머신을 만들어 주면 됨

 

 

 

<이미 만들어진 가상 머신에 디스크를 추가하고 싶은 경우>

-> Virtual Machine 클릭 -> Disks 클릭 -> Create and attach a new disk 클릭 -> 클릭하면 하나가 뜨는데 바로 연필 모양(숫자 3번) 클릭하면 위에 사진처럼 디스크 사이즈를 클릭 후, OK 누르면 됨

 

 

------------------------------------------------------------------------------------------------------------

2. Azure에서 만든 Linux에 접속

 

 

 

ssh -i. pem파일 ubuntu@52.188.20.167

 

---------------------------------------------------------------------------------------------------------------------------------

3. Linux안에서 Azure에서 추가 한 디스크를 찾아보자

 

명령어 순서대로 Linux(Ubuntu)에서 입력해준다(빨간색)

sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%
sudo mkfs.xfs /dev/sdc1
sudo partprobe /dev/sdc1

 

Mount the disk

sudo mkdir /datadrive
sudo mount /dev/sdc1 /datadrive

 

Ensure disk mounted on VM reboot

sudo blkid
sudo nano /etc/fstab

nano 파일명 사용법. 
-> 화살표로 움직여서, 원하는 곳에 문장 입력 후 
-> 컨트롤 + O 누르면, 해당 파일 이름이 쳐져있음 test 파일이면 test -> Enter
-> 그런 후 , 컨트롤 + X 누르면 저장됨

 

 

 

자, 이제 디스크를 추가하기 전에, 연결된 리스크 확인

 df -h

-> 밑에 sdc 3:0:0:0  1T 라고 되어있는데, 이게 우리가 Azure에서 가상 머신에 디스크를 추가한 것이다.

 

 

 

 

 lsblk -o NAME,HCTL,SIZE,MOUNTPOINT

-> lsblk 디스크를 Name, HCTL, SIZE, MOUNTPOINT 형식으로 출력

 

 

 

 

 lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"

-> 위의 명령어를 쓰면, 출력한 형식에서 단어 sd가 포함된 형식은 빨간색으로 표시해줌 (가독성 증가)

 

 

 

 

--------------------------------------------------------------------------------------------------------------------------------

4. 새로운 디스크를 만들어서 연결하는 경우엔, 디스크를 분할해줘야 함

* 디스크 크기가 2TB 이상인 경우엔 GPT or MBR 분할을 사용 

 

sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%

-> 가상 머신은 일반적으로 첫 번째 디스크란에 존재

->  parted에 / dev / sdc를 사용해서,  XFS파일 시스템을 사용하여 포맷

 

 

 

 

sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%
sudo mkfs.xfs /dev/sdc1
sudo partprobe /dev/sdc1

-> 차례대로 입력

 

* partprobe 명령어 사용 O 

-> 커널이 새 파티션과 파일 시스템을 인식하는지 확인 O

 

* partprobe 명령어 사용 X

-> blkid or lslbk 명령이 새 파일 시스템에 대한 UUID를 즉시 반환 X

 

 

 

-----------------------------------------------------------------------------------------------------

5. 디스크 마운트(disk Mount) 

 

sudo mkdir /datadrive
sudo mount /dev/sdc1 /datadrive

-> mkdir 명령어를 통해 /datadrive라는 폴더를 만듦

-> mount 명령어를 통해, /dev/sdc1을 /datadrive라는 폴더에 마운트 함

 

 

---------------------------------------------------------------------------------------------------------------------

6. 디스크에 저장된 파일이 재부팅 후, 자동 마운트 하기 위해 UUID 등록 

* 장치 이름은 /etc /fstab에서 UUID를 사용할 것

 

sudo blkid

-> 새 드라이브의 UUID를 찾는다.

 

 

 

sudo nano /etc/fstab

* nano 파일명 사용법. 
-> 화살표로 움직여서, 원하는 곳에 문장 입력 후 
-> 컨트롤 + O 누르면, 해당 파일 이름이 쳐져있음 test 파일이면 test -> Enter
-> 그런 후 , 컨트롤 + X 누르면 저장됨

 

 

 

UUID={UUID NUMBER}  /{경로} xfs  defaults, nofail  1    2

* 나의 가상 머신 에선

-> UUID=f6aa74fc-ef2f-4a4c-ac48-962e6ace01ff  /datadrive  xfs  defaults,nofail  1    2

 

 

 

 

 

잘 적용됐는지, 디스크 마운트(disk Mount)를 확인해보자 

lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"

 

 

 

 

 

정리하면서 참고한 사이트 

www.youtube.com/watch?v=PmswUaf96ZA <마운트 유투브 영상>      

400error.tistory.com/85 <마운트>         

https://sksstar.tistory.com/7 <마운트 그림>

반응형

댓글