의 사진을 가져옴.(문제있을시 글 비공개로 돌리겠습니다!)
일단 LVM에 관해 적는이유는 aws ec2에 새로 몽고디비를 설치하려고 하는데 환경에 문제가 있어서, aws에서 도커로 몽고를 띄울수가 없다. 그래서 온프레미스같이, idc에 설치하듯이 서버에 직접 설치를 해야하는데, 이 경우 완전 새로 만들어진 ec2는 말 그대로 우분투에 디스크를 새로 꼽은 상태이다.
그래서 이 디스크들을 어쩌구저쩌구 가공해주고 마운트해줘야 우리가 쓸수 있는 환경이 나온다.(여태까지 이런 작업을 할 일이 없어서 LVM개념도 최근에 알았다. 이런거 해볼일이 얼마나 될지)
그림도 가져왔다. 이런저런 블로그를 찾아봤었지만 여기 그림이 가장 직관적이고 이해하기가 편해서 그림을 가져왔다.
위 그림의 맨 아래 Block Device가 ec2를 처음 만들었을때의 상태이다. 내 ec2의 인스턴스 타입은 i3.4xlarge이고, 작업은 아래에서부터 위로 올라가야 한다.
lsblk를 하면 Block Device의 상태가 보이는데 아래처럼 보인다.
i3.4xlarge가 1.7TB디스크 두개가 붙어있는데 nvme0n1, nvme1n1로 확인됨을 알수 있다.
이후 fdisk /dev/nvme0n1등으로 nvme디스크를 초기화해준다.(근데 aws ec2같은경우 초기화를 안 해줘도 문제없었음.)
그후 pvcreate /dev/nvme0n1, pvcreate /dev/nvme1n1 명령으로 pv를 만든다.
이후 만들어진 pv들을 vg로 묶어줬다. vgcreate datavg /dev/nvme0n1 /dev/nvme1n1
그리고 만들어진 vg로 lv를 만든다. lvcreate -l +100%FREE -n data datavg (-l +100%FREE는 전체를 모두 사용하도록 하라는 옵션이란다.)
이제 lv까지 만들어졌으니 file system에 마운트를 해주면 된다. 적당한 디렉토리 /data를 만들고 mkdir /data
마운트할 장소를 적기 위해 /etc/fstab를 열어서 맨 끝에 추가해준다.
/dev/datavg/data /data 파일시스템 옵션 ....
이러면 위에서 만들었던 /dev/datavg/data를 /data에 mount해준다는 의미이다. /etc/fstab에 관해서는
http://blog.naver.com/PostView.nhn?blogId=dudwo567890&logNo=130156449983 여길 참조하자..
이후 /etc/fstab에 추가가 완료되었으면 mount -a로 우리가 만든 볼륨을 마운트한다.
df -h를 입력했을때 아래처럼 잘 되었음을 확인할 수 있다. 1.7T두개가 붙어서 3.5T 1개처럼 사용이 가능하다.
이제 그냥 사용하면 된다.
추가참고 : https://kit2013.tistory.com/199
사실 이것저것 찾아 적었긴 하지만 아직까지 왜 block device에서 pv로 가고 거기서 vg로, lv등 이렇게 복잡한 여러 단계를 거쳐가도록 만들었는지 잘 모르겠다. 당연히 뭔가 이점이 있을텐데 처음 만들어본 초보자 입장에서는 한두단계 정도는 더 줄일수있을것 같은데.. 나중에 더 볼일이 있으면 찾아봐야겠다.
인프라 다루는게 진짜 많이 어려운것 같다.
'data engineering' 카테고리의 다른 글
kafka set credentials (0) | 2020.07.13 |
---|---|
jenkins in kubernetes RBAC, configure master, slave node (0) | 2020.06.29 |
elasticsearch disk full 관련 해결법, 리텐션 (0) | 2020.05.16 |
How to get temporary credential from ec2 iam role (0) | 2020.04.24 |
데이터 직군 관련 블로그. (0) | 2020.04.22 |