Red Hat / CentOS EL6의 Linux 컨테이너 (LXC)-lxc-create와 libvirt?


13

Red Hat의 좋은 은총을 유지하고 시스템 수명을 계획하는 것은 까다로운 일입니다 ...

저는 1 년 이상 Linux Containers (LXC) 의 지지자였습니다 . 내 초기 설치는 같은 온라인 자습서에서 수집 한 정보를 기반으로 한 이것이것 . 이것은 중심으로 lxc-create, lxc-start|stop그리고 lxc-destroy명령과 기존의 수정 오픈 VZ 템플릿을 .

이것은 잘 작동하고 행복하게 운영되고 있습니다. 그러나 추가 시스템을 가져와 EL6의 컨테이너에 관한 Red Hat의 현재 문서를 확인하기로 결정했습니다. 나는 이것에 대한 그들의 공식적인 입장을보고 놀랐다.

에서 합니까 RHEL 6 LXC 도구는 리눅스 컨테이너를 사용하는 데 필요한 제공? Red Hat은 LXC를 기술 평가 사항 으로 설명 하고 libvirt를 사용하여 컨테이너 생성 및 관리를 제안 합니다.

그러나 Oracle 은 Unbreakable Linux에서 완전히 다른 컨테이너화 기술옹호합니다 .

libvirt 메소드에 누락 된 기능이있는 것으로 보이지만 lxc- * 명령을 사용한 초기 접근 방식은 약간의 수동 프로세스였습니다. .

  • 오늘날 LXC 및 RHEL 계열 시스템에 대한 기존의 지혜는 무엇입니까?
  • 어떻게하는 당신은 조직에서 구현하기?
  • 한 접근 방식에 비해 다른 접근 방식에 이점이 있습니까?
  • 이것들이 공존 할 수 있습니까?

1
libvirtLXC 컨테이너 드라이버를 가지고 있으며 이를 제어 할 뿐이며 가상화 / 컨테이너 솔루션 자체는 아닙니다.
Cristian Ciupitu

답변:


7

오늘날 LXC 및 RHEL 계열 시스템에 대한 기존의 지혜는 무엇입니까?

개인적으로 현재 설정이 다소 부족하다는 것을 알았습니다. LXC는 최전선에서 더 많이 보입니다. 확실히 더 많이 유지됩니다.

어떻게 구현하고 있습니까?

가상화 옵션으로 제공한다는 점에서 저는 아닙니다. 현재 기술 설정이 부족하다는 것을 알았습니다.

  • 사용자 이름 네임 스페이스가 없습니다.
  • 특정 마운트 포인트는 네임 스페이스를 인식하지 못합니다 (cgroup, selinux)
  • / proc의 값은 네임 스페이스의 리소스 분할을 고려하지 않는 잘못된 시스템 전역입니다.
  • 감사를 중단합니다.

그러나 응용 프로그램 수준의 격리를위한 훌륭한 도구라고 생각합니다. 네임 스페이스와 cgroup을 직접 사용하여 특정 사용자 웹 애플리케이션에 대한 네트워크 및 IPC 리소스를 포함합니다. 우리는 그것을 제어하기 위해 우리 자신의 인터페이스를 제공합니다. RHEL7에서는이 기능을 사용자 ACL의 개념을 지원하는 libvirt-lxc최신 버전으로 옮기는 것을 고려 libvirt하고 있습니다.

완전히 초기화 된 시스템의 관점에서 가상화를 위해 RHEL7에서 제공되는 제품을 기다리는 중이지만 모든 정직하게 말하면 RHEL7의 마이너 릴리스 이후에 충분히 좋은 솔루션을 볼 수 있다고 생각합니다. 기술 미리보기 상태에서만.

에에서 눈을 떼지 systemd-nspawn뭔가하면 향후 18 개월하거나, 그 자리가 완전히 리눅스 포함 가상화를 할 수있는 가장 좋은 도구입니다 걸릴 systemd 저자가 지금은 안전하지 취소 할 것을 그것을 될 수 있도록 나에게 말한다! 결국에는 libvirt방울이 떨어지고 시스템 슬라이스가 정의 된 libvirt-lxc래퍼를 제공하는 것에 놀라지 않을 것 systemd-nspawn입니다.

또한 cgroups를 파일 시스템 인터페이스가 아닌 커널 프로그래머 인터페이스로 다시 구현하는 것과 관련하여 지난 6 개월 동안 많은 이야기가 있었음을주의하십시오 (netlink 또는 무언가를 사용하여 확인하지 않은 경우) systemd는 매우 뜨겁습니다. 바로 그 일을 빨리 끝내는 꼬리에

한 접근 방식에 비해 다른 접근 방식에 이점이 있습니까?

libvirt-lxc가 아닌 LXC 옵션이 더 잘 유지된다고 생각합니다. libvirt-lxc소스 코드 를 읽으면 서두르는 느낌이 듭니다. 전통적인 LXC는 확실히 더 나은 테스트를 거친 새로운 기능을 가지고 있습니다. 둘 다 init 시스템이 실행되어 어느 정도의 호환성이 필요하지만 LXC가 libvirt-lxc특히 배포판을 작동시키는 것과 관련 하여 옵션 보다 약간 더 많은 "턴키"를 발견 할 것으로 생각 됩니다.

이것들이 공존 할 수 있습니까?

물론 모든 의도와 목적을 위해 둘 다 같은 일을하고 있다는 것을 기억하십시오. 네임 스페이스, cgroup 및 마운트 지점 구성 모든 프리미티브는 커널 자체에서 처리됩니다. 두 가지 lxc구현 모두 사용 가능한 커널 옵션과 인터페이스하기위한 메커니즘을 제공합니다.


9

Red Hat은 컨테이너화를 추진하고 있습니다. 그들은 완전히 새로운 제품인 Red Hat Enterprise Linux Atomic Host 를 구축하고 있습니다.

덜 급진적 인 접근 방법은 RHEL7 베타 리소스 관리 및 Linux 컨테이너 안내서를 참조하십시오 . libvirt-lxc를 푸시하고 lxc 도구에 대해서는 언급하지 않습니다.


1
고마워 RHEL Atomic Host는 Docker.io 에 크게 의존하는 것으로 보입니다 . Docker 및 관련 도구가 올바른 경로라는 것을 나타 냅니까?
ewwhite

Red Hat은 도커에 많은 투자를하고 있지만 libvirt-lxc의 주요 개발자이기도합니다. 나는 그들이 각각 제공하는 기능을 살펴보고 귀하의 요구에 더 잘 맞는 것을 봅니다.
sciurus

1
예 @ewwhite 다음 Redhat 문서는 정확하게 언급합니다 : access.redhat.com/articles/1365153
Susinthiran

1

lxc- * 실행 파일은 EPELlxc 패키지에 패키지되어 있습니다. 그러나 이것은 오래된 "장기 지원"릴리스입니다. lxc-ls에는 "-f"옵션조차 없습니다. LXC 호스트에 Ubuntu를 설치하기 만하면됩니다.

LXC를 관리하는 RHEL 방법은 libvirt-lxc를 통한 것으로 보이지만 사용되지 않습니다 .

Ubuntu는 많은 새로운 lxc / lxd 개발을 지원하는 반면 Redhat은 KVM 및 도커에 중점을두고 있습니다.


문제는 관련 RHEL 6되면, 중단은 RHEL (7)의 약자«다음 libvirt를-LXC 패키지는 레드햇 엔터프라이즈 리눅스 7.1로 시작하는 사용되지 않습니다»이 사용할 수 있도록
타 하르 카
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.