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 계열 시스템에 대한 기존의 지혜는 무엇입니까?
- 어떻게하는 당신은 조직에서 구현하기?
- 한 접근 방식에 비해 다른 접근 방식에 이점이 있습니까?
- 이것들이 공존 할 수 있습니까?
답변
오늘날 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
구현 모두 사용 가능한 커널 옵션과 인터페이스하기위한 메커니즘을 제공합니다.
답변
Red Hat은 큰 컨테이너화를 추진하고 있습니다. 그들은 완전히 새로운 제품인 Red Hat Enterprise Linux Atomic Host 를 구축하고 있습니다.
덜 급진적 인 접근 방법은 RHEL7 베타 리소스 관리 및 Linux 컨테이너 안내서를 참조하십시오 . libvirt-lxc를 푸시하고 lxc 도구에 대해서는 언급하지 않습니다.