[Devops..?] Proxmox와 베어메탈 가상화CS/Linux2024. 5. 12. 19:23
Table of Contents
0. 학습 계기
devops 혹은 SE관련 경력이 없음에도 불구하고, 한 회사의 Jr.Devops 포지션에 casualChat을 통과해 TechChat을 진행하게 되었다.
캐주얼 챗에서 입사하게되면 가장 먼저 다루어보게 될 기술에 대해서 여쭈었고, proxmox와 VM으로 서버를 구축하고 그 위에 서비스를 붙이는 일들을 하게 될것이라는 답변을 받았다. 이에 처음 들어봤던 Proxmox에 대해 찾아보다가 베어메탈 가상화와 관련되어 공부하게 된 부분을 정리한 글이다.
1. Proxmox와 베어메탈 가상화
✅ Yana language
왜 사용할까? - ”유연하고 비용 효율적인 데이터 센터”
결론은 하드웨어적 의미의 컴퓨터 위에 Proxmox와 같은 하이퍼바이저 OS를 설치해 사용함으로써,
- Host OS 를 설치하는 것 보다 자원낭비도 방지하고,
- VM 대신 LXC를 채택함으로써 커널을 공유해 최고의 효율을 내고자하는거구나..!
개념
✔️ 데비안을 베이스로하는 오픈소스 Type1 하이퍼바이저 OS로 Qemu/KVM 기반 VM과 도커의 베이스가 되었던(0.9버전 이전) LXC를 지원한다
- 데비안 : 데비안 커뮤니티에서 개발중인 Linux 배포판
- Q : 얘도 xz utils 관련 이슈가 있나….?
- 하이퍼바이저 : 호스트 컴퓨터로 다수의 운영체제를 동시에 실행하기 위한 논리적 플랫폼
- 게스트 운영체제 + 그 운영체제에서 구동되는 프로그램을 실제 물리적 장치에서 분리하는 프로세스
- Q : 왜 쓰지…?
- 이곳에서 이야기하는 호스트 컴퓨터는 베어본 컴퓨터와 비슷한 의미로, 깡통 하드웨어를 말한다
- Host OS를 설치하지 않고 하이퍼바이저를 설치한 뒤 가상머신을 구현하면, Window와 같은 Host OS에 비해 자원낭비를 줄일 수 있다
- Q : 왜 쓰지…?
- Type 1 : OS 없이 직접 작동하는 하이퍼바이저(Bare-metal arch)
- Type 2 : 단독으로는 작동하지 못하고 OS 위에서 작동하는 버추얼박스 같은 것(호스트 arch)
- 게스트 운영체제 + 그 운영체제에서 구동되는 프로그램을 실제 물리적 장치에서 분리하는 프로세스
- Qemu/KVM : Kernel-based Virtual Machine
- KVM : Type 1.5
- OS가 있어야 작동하지만 "커널기반 가상 머신"이라고 하는 이 패키지의 이름처럼 커널 상에서 CPU의 가상화 지원을 기반으로 구동
- KVM : Type 1.5
- LXC : 리눅스 컨테이너
- Proxmox 와 커널을 공유함
- 도커의 기반이 되었던(0.9 버전 이전) 리눅스 컨테이너 기술
- cf) 도커는 공식적으로는 arm을 지원하지 않음
- 직접적인 하드웨어 자원의 사용량이 적다
- 도커의 기반이 되었던(0.9 버전 이전) 리눅스 컨테이너 기술
- cf) VM
- 별도의 OS 를 추가로 생성하기 때문에 하드웨어 자원 많이 먹음
- Proxmox 와 커널을 공유함
2. Proxmox setting
- 이 **링크**에서 ISO를 다운 받은 뒤, USB로 부팅디스크를 생성해준다.
- 부팅디스크를 만들 OS 환경별로 사용할 프로그램 - window | macOS
- 컴퓨터에서 해당 USB를 부팅 1순위로 수정한 뒤, 재부팅한다.
- 설치 완료후 나오는 IP:PORT로 접속시 웹콘솔에 접속 할 수 있다
- 접속 비밀번호는 설치중 입력한 비밀번호
cf) 라이센스 제거 필요시
- change setting from pre-enterprise
nano /etc/apt/sources.list.d/pve-enterprise.list
#deb <https://enterprise.proxmox.com/debian/pve> bullseye pve-enterprise
deb <http://download.proxmox.com/debian/pve> bullseye pve-no-subscription
- remove subscription popup
curl --proto '=https' --tlsv1.2 -sSf <https://raw.githubusercontent.com/rickycodes/pve-no-subscription/main/no-subscription-warning.sh> | sh
systemctl restart pveproxy.service
3. LXC setting
- [서버조회] - [local] - [템플릿] - search ‘ubuntu’ - [다운로드]
- [CT생성(RU)] - CT ID 입력 - pw입력 - check ‘권한 없는 컨테이너’
- 템플릿 지정 - CPU, memory setting - DHCP(자동으로 내부 IP 할당)
4. simple linux server setting
apt-get update
apt-get install curl
apt-get install git
- apt-get update 되지 않는 경우 Proxmox enterprise 버전 관련 확인하기
- 나머지는 ubuntu와 같겠…지?
'CS > Linux' 카테고리의 다른 글
[Linux] 기본 리눅스 명령어 조사 (0) | 2021.10.28 |
---|
@Yanako :: Yana's coding story였는데요, 우당탕탕 개발일지가 맞는것같
야나의 코딩 일기장 :) #코딩블로그 #기술블로그 #코딩 #조금씩,꾸준히
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!