[2021.04.20] 인턴 +50 Linux (VM - Azure) 데이터 디스크 마운트 방법
* 마운트(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 <마운트 그림>
댓글