Room 1 - 1 - Benoit TELLIER - On premise email inbound service with Apache James
Viet stack 2nd meetup - Virtualization & Nova in OpenStack
1. ẢO HÓA TRONG OPENSTACK
LÊ QUANG LONG
longlq@vdc.com.vn
02/02/2015
VietStack Summit 2
2. ẢO HÓA TRONG OPENSTACK
NỘI DUNG
1. KHÁI NIỆM VỀ ẢO HÓA
2. GIỚI THIỆU VỀ KVM
3. OPENSTACK COMPUTE
4. DEMO & TRAO ĐỔI
2
3. ẢO HÓA TRONG OPENSTACK
1.KHÁI NIỆM VỀ ẢO HÓA
• Type 1: VMWare ESXi, Microsoft Hyper-V, Xen Server
• Type 2: VMWare WorkStation, Oracle Virtual Box, Microsoft Virtual PC,…
Hardware
Bare-metal
Hypervisor
VM
OS/APP
VM
OS/APP
TYPE I
Hardware
Hypervisor
Operating
System
TYPE II
VM
OS/APP
VM
OS/APP
3
4. ẢO HÓA TRONG OPENSTACK
1.KHÁI NIỆM VỀ ẢO HÓA
Các dạng ảo hóa:
• Full virtualization
• Paravirtualization
• Hardware-assisted virtualization
Nguồn:
http://www.slideshare.net/Rishikese/seminar-on-virtualization-and-cloud-computing
4
FULL PARA- HARDWARE-ASSISTED
5. ẢO HÓA TRONG OPENSTACK
2.GIỚI THIỆU KVM
KVM là gì?
• Ra đời năm 2008 bởi công ty Qumranet tại Israel
• Red Hat đã mua lại Qumranet năm 2008
• Kernel-based Virtual Machine là giải pháp ảo hóa dạng full
virtualization
• Hỗ trợ native virtualization (Intel-VT hay AMD-V)
• Đã được tích hợp sẵn trong Linux kernel từ 2.6.20
5
Nguồn:
http://www.linux-kvm.org/page/Main_Page
6. ẢO HÓA TRONG OPENSTACK
2.GIỚI THIỆU KVM
Tại sao lại chọn KVM?
• KVM là OpenSource
• Cung cấp máy ảo mà không cần phải tinh chỉnh lại các images
của OS
• Hỗ trợ nhiều loại OS
• Tận dụng cơ chế quản lý vùng nhớ của Linux (KSM)
• Tận dụng các cơ chế bảo mật sẵn có của Linux (SELinux)
• Hỗ trợ nhiều loại phần cứng
6
7. ẢO HÓA TRONG OPENSTACK
2.GIỚI THIỆU KVM
Kiến trúc của KVM
• Linux Kernel
• QEMU
• KVM
LINUX KERNEL
User
Process
KVM Driver
User
Process
Guest
Mode
QEMU I/O
Guest
Mode
QEMU I/O
7
Tham khảo: http://www.innervoice.in/blogs/2014/03/10/kvm-and-qemu/
HARDWARE
8. ẢO HÓA TRONG OPENSTACK
2.GIỚI THIỆU KVM
8
Virtio-net Virtio-blk Virtio-pci Virtio-balloon Virtio-console
Virtio frontend
Transport
Virtio backend
VirtIO
9. ẢO HÓA TRONG OPENSTACK
2.GIỚI THIỆU KVM
9
VirtIO
LINUX KERNEL
Guest Mode
QEMU
pNIC
TAP
Virtio front-end
Virtio back-end
Bridge
LINUX KERNEL
Guest Mode
QEMU
pNIC
TAP
Virtio front-end
Bridge
Vhost_net
Vhost-NETVirtIO-NET
10. ẢO HÓA TRONG OPENSTACK
3.OPENSTACK COMPUTE
Chức năng chính:
• Làm việc với các Hypervisor (KVM, QEMU, Vmware, Hyper-V …).
• Quản lý các máy ảo (Instance <=>Virtual Machine).
• Tạo, sửa, xóa các máy ảo thông qua API.
Các thành phần bên trong:
• Nova-compute
• Nova-api (port 8773, 8744)
• Nova-scheduler
• Nova database
• Nova-console, nova-consoleauth
• Queue
• Nova-cert
• Nova-conductor
10
Nova
11. ẢO HÓA TRONG OPENSTACK
Nova
Nova-api
Nova
Database
Client
Nova-conductor
Nova-compute
GLANCE
NEUTRON
CINDER Hypervisor
3.OPENSTACK COMPUTE
Nova-scheduler
Queue
11
Tài liệu: http://docs.openstack.org/training-guides/content/
12. ẢO HÓA TRONG OPENSTACK
Định nghĩa
• Libvirt là một nhóm các công cụ cung cấp một cách thức quản lý các máy ảo và các tính năng ảo
hóa khác như network interface hay storage
• Mục đích của libvirt là đưa ra một phương thức đơn giản, quản lý tập trung các hypervisor
• Các Hypervisor hỗ trợ: KVM, Xen, VMWare ESX, Hyper-V,…
Libvirt
3.OPENSTACK COMPUTE
Các thành phần
• API: Phương thức để kết nối tới các hypervisor
• Libvritd: daemon chạy trên các host để quản lý các máy ảo của hypervisor
• Virsh: cung cấp một giao diện dòng lệnh cho người dùng
12
13. ẢO HÓA TRONG OPENSTACK
libvirt
(libvirt daemon)
(libvirt api)
virt-manager virsh virt-install OpenStack
User-space ManagementLibvirt
3.OPENSTACK COMPUTE
KVM VMWare Hyper-VXEN
13
Tham khảo: http://en.wikipedia.org/wiki/Libvirt
Trình bày qua về 2 loại Hypervisor
Nêu bật ưu điểm của Type 1 so với Type 2
Trình bày sơ lược về các dạng ảo hóa
Sự khác nhau giữa chúng
Tương lai của ảo hóa
Định nghĩa về KVM
Nói về lịch sử ra đời
Nói về các ưu điểm của KVM
Nhấn mạnh việc tích hợp vào kernel của KVM
KVM sử dụng các cơ chế quản lý thiết bị của Linux, CPU scheduling, Memory page sharing
Trình bày về kiến trúc của KVM
Phân biệt QEMU và KVM, làm rõ được sự liên hệ giữa QEMU và KVM
Mục đích của Virtio
Các thành phần drive của VirtIO
Nêu ra 2 option khi dử dụng virtio, điều kiện
Mô tả 2 option này
Nêu lên chức năng của nova
Nói lên được chức năng của các thành phần trong Nova
Trình bày về luồng khởi tạo 1 máy ảo
Nói được định nghĩa về libvirt và các hypervisor hỗ trợ
Giới thiệu các thành phần trong kibvirt
Cách kiểm tra CPU có hỗ trợ ảo hóa hay ko?
Demo sử dung KVM để tạo máy ảo