Tìm hiểu về nền tảng ảo hóa với Proxmox

Ngày nay, công nghệ ảo hóa đang ngày càng phát triển. Dẫn đến sự ra đời của công nghệ ảo hóa phần mềm, phần cứng, server. Proxmox là công cụ giúp ảo hóa các server mã nguồn mở. Vậy cụ thể hơn, Proxmox là gì?

Khái niệm về ảo hóa

Ảo hóa (Virtualization) là công nghệ cho phép tạo ra một phiên bản ảo từ tài nguyên của máy chủ vật lý. Tài nguyên có thể là không gian lưu trữ (storage), mạng (network), máy chủ (server), hay bất kỳ một ứng dụng nào đó

tim hieu nen tang ao hoa

Công nghệ ảo hóa máy chủ giúp tạo ra nhiều máy ảo (Virtual Machine) từ một máy chủ vật lý (Bare Metal), mỗi máy ảo được cấp phát tài nguyên phần cứng ảo như máy vật lý: CPU, RAM, Storage, Network. Mỗi máy ảo chạy một hệ điều hành và các ứng dụng độc lập với nhau.

2 loại ảo hoá phổ biến

Hypervisor-based: hay còn gọi là bare-metal hypervisor

Trong kiến trúc này, lớp phần mềm hypervisor chạy trực tiếp trên nền tảng phần cứng của máy chủ, không thông qua bất kì một hệ điều hành hay một nền tảng nào khác. Qua đó, các hypervisor này có khả năng điều khiển, kiểm soát phần cứng của máy chủ. Đồng thời, nó cũng có khả năng quản lý các hệ điều hành chạy trên nó. Một số ví dụ về các hệ thống Bare-metal hypervisor như là Oracle VM, VMware ESX Server, IBM’s POWER Hypervisor, Microsoft’s Hyper-V, Citrix XenServer…6473956 image

Hosted-based: còn gọi là Hosted hypervisor

Nó sử dụng 1 lớp hypervisor chạy trên nền tảng hệ điều hành và dùng các dịch vụ được hệ điều hành cung cấp để phân chia tài nguyên tới các máy ảo. Một số ví dụ cụ thể về hệ thống Hosted-based: VMWare Workstation, Virtual Box,…

6473957 image

Tổng quan về Proxmox

Proxmox VE là một nền tảng quản lý máy chủ mã nguồn mở hoàn chỉnh dành cho ảo hóa doanh nghiệp. Nó tích hợp chặt chẽ bộ ảo hóa KVM và Linux Container (LXC), chức năng lưu trữ và mạng được định nghĩa bởi phần mềm trên một nền tảng duy nhất. Với giao diện web, bạn có thể quản lý máy ảo và container, tính sẵn sàng cao cho các Cluster hoặc các công cụ khắc phục thảm họa tích hợp một cách dễ dàng.

Proxmox được phát triển bởi Proxmox Server Solutions ở Áo, bởi quỹ Internet Foundation của nước này. Proxmox được phát hành chính thức theo giấy phép GNU General Public License. Đây là một công cụ mã nguồn mở hoàn toàn.

Lợi ích của Proxmox

  • Thống nhất và tích hợp cho các môi trường vận hành và trải nghiệm
  • Bạn có thể re-hosting ứng dụng riêng
  • Phòng chống khôi phục sự cố đơn giản và tối ưu nhất
  • Phần mềm mã nguồn mở
  • Không khóa nhà cung cấp
  • Nền tảng Linux
  • Cài đặt nhanh chóng và dễ dàng
  • Dễ sử dụng với giao diện quản lý dựa trên web trực quan
  • Chi phí quản trị thấp và triển khai đơn giản
  • Cộng đồng tích cực lớn

Các thông số của Proxmox

  • Giải pháp dựa trên Debian 6 64 bit
  • Hỗ trợ chipset Intel và AMD mới nhất
  • Kết hợp công nghệ ảo hóa KVM và OpenVZ
  • Giao diện web quản lý dễ dàng
  • Có quyền kiểm soát hoàn toàn để tạo và quản lý các cơ sở hạ tầng ảo
  • Hỗ trợ phần cứng lớn
  • Tối ưu hóa ảo hóa bare-metal, hỗ trợ workload lớn
  • Có thể mở rộng đến 32 node

Các tính năng của Proxmox là gì?

1. KVM và Container

Server Virtualization

Proxmox Virtual Environment dựa trên Debian GNU / Linux và sử dụng Linux Kernel tùy chỉnh. Mã nguồn Proxmox VE là miễn phí, được phát hành theo Giấy phép Công cộng GNU Affero, v3 (GNU AGPL, v3). Điều này có nghĩa là bạn có thể tự do sử dụng phần mềm, kiểm tra mã nguồn bất cứ lúc nào và tự mình đóng góp cho dự án.

Đồng thời, sử dụng phần mềm nguồn mở đảm bảo truy cập đầy đủ vào tất cả các chức năng cũng như mức độ tin cậy và bảo mật cao.

Công nghệ ảo hóa phần cứng (KVM)

KVM là công nghệ ảo hóa Linux hàng đầu trong ngành để ảo hóa toàn phần. Đó là một kernel module, được kết hợp với kernel Linux dòng chính và hoạt động trên tất cả phần cứng x86 có hỗ trợ ảo hóa — Intel VT-x hoặc AMD-V.

Với KVM, bạn có thể chạy cả Windows và Linux trong các máy ảo (VM), trong đó mỗi máy ảo có phần cứng riêng, được ảo hóa: card mạng, đĩa, bộ điều hợp đồ họa,… Chạy một số ứng dụng trong VM trên một hệ thống, giúp bạn tối ưu nguồn cấp và tiết kiệm chi phí, đồng thời đem đến sự linh hoạt để xây dựng một trung tâm dữ liệu được xác định bằng phần mềm linh hoạt và có thể mở rộng, đáp ứng nhu cầu kinh doanh của bạn.

Proxmox VE đã tích hợp KVM kể từ khi bắt đầu dự án, vào năm 2008 (tức là từ phiên bản 0.9beta2).

Công nghệ ảo hóa dựa trên container

Công nghệ ảo hóa dựa trên container là một giải pháp thay thế nhẹ nhàng cho ảo hóa toàn bộ máy vì nó chia sẻ kernel của hệ thống máy chủ.

Linux Container (LXC)

LXC là một một loại thiết lập ảo hóa cấp hệ điều hành để chạy nhiều hệ thống Linux riêng biệt trên một máy chủ điều khiển Linux duy nhất. LXC hoạt động như một không gian người dùng (userspace) cho các tính năng chứa Linux kernel. Người dùng có thể dễ dàng tạo và quản lý các vùng chứa hệ thống hoặc ứng dụng với một API mạnh mẽ và các công cụ đơn giản.

2. Quản lý

Proxmox cung cấp một giao diện quản lý web-based, có thể dễ dàng truy cập sau khi tham gia server. Người dùng không cần phải cài đặt bất kỳ công cụ bổ sung, node quản lý, CSDL bổ sung nào. Việc quản lý được thực hiện thông qua giao diện web dựa trên javascript framework. Do đó, nó cho phép quản trị viên có quyền kiểm soát mọi tính năng.

Giao diện quản lý Web-based

Proxmox VE rất dễ sử dụng. Bạn có thể thực hiện tất cả các tác vụ quản lý được tích hợp giao diện đồ họa (GUI), không cần cài đặt công cụ quản lý riêng biệt.

Giao diện web trung tâm dựa trên khung JavaScript ExtJS và dễ dàng truy cập từ bất kỳ trình duyệt hiện đại nào. Ngoài các nhiệm vụ quản lý, nó cũng cung cấp một cái nhìn tổng quan về lịch sử tác vụ và nhật ký hệ thống của từng node.

Theo đó, các tác vụ sao lưu, di chuyển trực tiếp, lưu trữ do phần mềm xác định hoặc các hoạt động được kích hoạt HA. Công cụ đa tổng thể cho phép bạn quản lý toàn bộ cụm của mình từ bất kỳ node nào trong cụm của bạn; bạn không cần đến một node quản lý chuyên dụng nào.

Giao diện dòng lệnh (CLI)

Đối với người dùng chuyên nghiệp đã quen với sự thoải mái của Unix shell hoặc Windows Powershell, Proxmox VE cung cấp giao diện dòng lệnh để quản lý tất cả các thành phần của Virtual Environment (môi trường ảo) của bạn. Giao diện dòng lệnh này có tính năng hoàn thành tab và có tài liệu đầy đủ dưới dạng trang người dùng UNIX.

Proxmox VE Mobile

Bạn có thể truy cập Proxmox VE trên thiết bị di động thông qua ứng dụng Android hoặc thông qua phiên bản di động dựa trên HTML5 của giao diện web.

Ứng dụng Proxmox VE Android dựa trên Flutter framework và cho phép bạn truy cập máy chủ Proxmox VE và cluster, nodes, VMs và containers.

Ứng dụng di động Proxmox VE HTML5 cho phép bạn quản lý Proxmox VE khi đang di chuyển, bao gồm quyền truy cập vào bảng điều khiển SPICE và HTML5. Điều này cho phép bạn quản lý và xem cấu hình VMs, containers.

Thiết kế multi-master độc đáo

Để đơn giản hóa việc quản lý cluster, bạn có thể thực hiện các nhiệm vụ bảo trì trên toàn cụm, từ bất kỳ node nào. Giao diện quản lý dựa trên web được tích hợp cung cấp cho bạn cái nhìn tổng quan rõ ràng về tất cả các khách KVM và containers Linux trên toàn bộ cụm của bạn.
Bạn có thể dễ dàng quản lý VMs và containers, lưu trữ hoặc cluster từ GUI. Mà không cần phải bổ sung một máy chủ quản lý riêng biệt, phức tạp và đắt tiền.

Hệ thống tệp Proxmox Cluster (pmxcfs)

Proxmox VE sử dụng Hệ thống tệp Proxmox Cluster (pmxcfs) , một hệ thống tệp hướng cơ sở dữ liệu do Proxmox phát triển.

Pmxcfs cho phép bạn đồng bộ hóa các tệp cấu hình trên toàn bộ Cluster của bạn. Bằng cách sử dụng Corosync, các tệp này được sao chép trong thời gian thực tới tất cả các node trong Cluster.

Hệ thống tệp lưu trữ tất cả dữ liệu bên trong cơ sở dữ liệu liên tục trên đĩa, tuy nhiên, một bản sao của dữ liệu nằm trong RAM. Kích thước lưu trữ tối đa hiện là 30 MB -đủ để lưu trữ cấu hình của hàng nghìn VMs.

Proxmox VE là nền tảng ảo hóa duy nhất sử dụng cluster file system duy nhất này, pmxcfs.

Di chuyển Trực tiếp / Trực tuyến

Được tích hợp tính năng di chuyển trực tiếp / trực tuyến, bạn có thể di chuyển các virtual đang chạy từ cluster node Proxmox VE này sang cluster node Proxmox khác mà không có xảy ra downtime hoặc ảnh hưởng nào từ phía người dùng cuối.

Quản trị viên có thể bắt đầu quá trình này từ giao diện web hoặc dòng lệnh. Điều này cho phép bạn giảm thiểu downtime, trong trường hợp bạn cần làm cho hệ thống máy chủ ngoại tuyến để bảo trì.

API REST

Proxmox VE sử dụng API RESTful. JSON chính là định dạng dữ liệu chính và toàn bộ API được xác định chính thức bằng cách sử dụng JSON. Điều này cho phép tích hợp nhanh chóng và dễ dàng cho các công cụ quản lý của bên thứ ba, chẳng hạn như môi trường máy chủ tùy chỉnh.

Quản lý quyền hạn, user dựa trên vai trò

Bạn có thể xác định quyền truy cập chi tiết vào tất cả các đối tượng (như VMs, bộ lưu trữ,nodes,…) thông qua việc sử dụng hệ thống quản lý quyền dựa trên vai trò.

Điều này cho phép bạn xác định các đặc quyền và giúp bạn kiểm soát quyền truy cập vào các đối tượng. Khái niệm này còn được gọi là danh sách kiểm soát truy cập: Mỗi quyền chỉ định một chủ thể (nhóm người dùng hoặc mã thông báo API) và một vai trò (tập hợp các đặc quyền) trên một đường dẫn cụ thể.

Nhiều phương thức xác thực khác nhau

Proxmox VE hỗ trợ nhiều nguồn xác thực, ví dụ như: Linux PAM, một server xác thực Proxmox VE tích hợp, LDAP, Microsoft Active Directory và OpenID Connect.

Ngoài ra, ở tính năng quản lý của Proxmox còn có một số điểm nổi bật như:

  • VNC console, hỗ trợ SSL.
  • Dựa trên Javascript Framework.
  • Dynamic Update cho các tài nguyên.
  • Tạo server ảo và container ảo.
  • Có thể xử lý hàng ngàn VM.

3. Lưu trữ linh hoạt

Proxmox cung cấp cho người dùng một mô hình lưu trữ linh hoạt. Các hình ảnh VM có thể được lưu trữ trên 1 hay nhiều kho cục bộ trên các kho lưu trữ được chia sẻ, như NFS và SAN.

Lưu trữ các máy ảo trên bộ nhớ được chia sẻ sẽ cho phép di chuyển trực tiếp các VM một cách nhanh chóng.

Các mô hình lưu trữ được Promox hỗ trợ

  • ZFS.
  • NFS Share.
  • Ceph RBD.
  • ISCI target.
  • GlusterFS.
  • LVM Group.
  • Director (Lưu trữ trên hệ thống file hiện có).

Các loại bộ nhớ cục bộ được hỗ trợ:

  • Nhóm LVM.
  • Thư mục (lưu trữ trên hệ thống tệp hiện có).
  • ZFS.

Lưu trữ dữ liệu ảo hóa bằng phần mềm Ceph

Ceph là một hệ thống tệp và lưu trữ đối tượng phân tán mã nguồn mở được thiết kế để cung cấp hiệu suất, độ tin cậy và khả năng mở rộng tuyệt vời. Môi trường ảo Proxmox tích hợp đầy đủ Ceph, cho bạn khả năng chạy và quản lý lưu trữ Ceph trực tiếp từ bất kỳ Cluster nodes nào của bạn.

Ceph cung cấp hai loại lưu trữ, Thiết bị khối RADOS (RBD) và CephFS. RBD cung cấp khả năng lưu trữ ở mức khối cho nội dung như ảnh đĩa và ảnh chụp nhanh. CephFS triển khai hệ thống tệp tương thích với POSIX bằng cách sử dụng cụm lưu trữ Ceph để lưu trữ dữ liệu của nó.

Lợi ích của Ceph với Proxmox VE

  • Dễ dàng thiết lập và quản lý thông qua GUI và CLI.
  • Tự khắc phục lỗi.
  • Có thể mở rộng đến mức exabyte.
  • Thiết lập các nhóm với các đặc điểm hiệu suất và dự phòng khác nhau.
  • Vận hành trên phần cứng thương mại.

4. Network

Proxmox sử dụng mô hình mạng bắc cầu. Tất cả các VM đều chia sẻ chung một “cây cầu”. Nó tương tự như mỗi cable ảo từ các máy khách đều được cắm vào cung một switch. Cây cầu này sau đó được kết nối với bộ adapter vật lý cho host server được gán cấu hình mạng TCP/IP. Từ đó VM có thể giao tiếp được với bên ngoài.

Proxmox hiện nay hỗ trợ VLAN, bonding và các tập hợp mạng. Do đó, người dùng có thể xây dựng các mạng ảo linh hoạt, phức tạp cho các host, tận dụng được toàn bộ công suất của stack mạng Linux.

Trong trường hợp bạn có nhu cầu cụ thể hơn, Proxmox VE cũng hỗ trợ Open vSwitch (OVS) như một giải pháp thay thế cho các cầu mạng, liên kết và giao diện VLAN của Linux. OVS cung cấp các tính năng nâng cao, chẳng hạn như hỗ trợ RSTP, VXLAN và OpenFlow, đồng thời hỗ trợ nhiều VLAN trên một cầu mạng duy nhất.

5. Sao lưu và khôi phục

Proxmox có công cụ sao lưu dữ liệu được tích hợp sẵn, gọi là “vzdump”. Công cụ này tạo ra các snapshot của khách ảo của Openvz và KVM. Vzdump sau đó sẽ tạo một tarball các dữ liệu VM hoặc CT, gồm các đĩa ảo và mọi dữ liệu cấu hình.

Những điểm chính

  • Sao lưu trực tiếp.
  • Lên lịch sao lưu: Các công việc sao lưu có thể được lên lịch để chúng được thực thi tự động vào những ngày và thời gian cụ thể, cho các node có thể chọn và hệ thống khách.
  • Hỗ trợ GUI cho việc vận hành sao lưu.
  • Hỗ trợ GUI cho việc khôi phục.
  • Giao diện cmd có sẵn.
  • Giám sát qua GUI.

Bộ nhớ dự phòng

Sao lưu trực tiếp KVM áp dụng cho tất cả các loại lưu trữ bao gồm hình ảnh VM trên NFS, iSCSI LUN và Ceph RBD. Định dạng sao lưu Proxmox VE được tối ưu hóa để lưu trữ các bản sao lưu VM nhanh chóng và hiệu quả (các tệp thưa thớt, dữ liệu không theo thứ tự, I / O giảm thiểu).

Tích hợp Proxmox Backup Server

Proxmox Backup Server là giải pháp sao lưu dành cho doanh nghiệp, có khả năng sao lưu  VMs, containers và máy chủ vật lý. Điều này đồng nghĩa với việc bạn có thể sao lưu và khôi phục người dùng liên tục bằng cách sử dụng cùng một giao diện chung mà các loại lưu trữ khác được sử dụng.

Các bản sao lưu này có tính chất gia tăng, chuyển dữ liệu mới được thay đổi qua mạng. Điều này rất có lợi cho băng thông mạng và tốc độ sao lưu. Dữ liệu cũng có thể được mã hóa dễ dàng ở phía máy người dùng, để những kẻ tấn công không thể tiếp cận được dữ liệu đã sao lưu của bạn.

Khôi phục một tệp tin

Thông thường, chỉ có duy nhất một tệp hoặc thư mục duy nhất từ ​​bản sao lưu. Từ giao diện web Proxmox VE, bạn có thể tìm kiếm và khôi phục các tệp hoặc thư mục riêng lẻ một cách an toàn từ máy VM hoặc bản sao lưu container.

Phục hồi trực tiếp

Việc khôi phục các bản sao lưu lớn có thể mất nhiều thời gian và là nguyên nhân chính gây ra downtime trong trường hợp sự cố xảy ra. Tuy nhiên, đối với các bản sao lưu VM được lưu trữ trên Proxmox Backup Server, tính năng khôi phục trực tiếp sẽ giảm thiểu downtime, cho phép VM khởi động ngay khi bắt đầu khôi phục. Trong trường hợp này, dữ liệu liên tục được sao chép ở chế độ nền, ưu tiên các phần mà VM đang tích cực truy cập.

6. Live migrate và High Availability Cluster

Promox VE High Availability Cluster cho phép định nghĩa các server ảo có sẵn. Với việc triển khai một cluster, ta có thể cân bằng workload trên các host khác nhau. Từ đó cải thiện tính khả dụng của các máy ảo. Giả sử một máy ảo hay container (VM hoặc CT) được cấu hình như một HA và host vật lý không thể xử lý được. Khi đó, VM sẽ được tự động restart trên một trong các cluster còn lại.

Trong trường hợp bảo trì phần cứng, ta có thể di chuyển các máy ảo trên một node khác. Quá trình này sẽ không hề xảy ra downtime, hoặc chỉ rất ít.

Đối với KVM container

Việc di chuyển một máy ảo từ host vật lý sang một host vật lý khác sẽ được thực hiện liền mạch, không gián đoạn. Để sử dụng di chuyển trực tiếp (live migration), mọi đĩa ảo phải nằm trên bộ lưu trữ dùng chung, giữa các host, như một SAN hay NAS.

Đối với OpenVZ container

Việc di chuyển container cũng sẽ không có downtime. Kể cả khi sử dụng các bộ nhớ cục bộ. Vì vậy, việc sử dụng bộ nhớ dùng chung (Không cần San hay Nas).

Proxmox VE HA Manager

Trình quản lý tài nguyên, Proxmox VE HA Manager, giám sát tất cả các VM và container trong Cluster và tự động hoạt động nếu một trong số chúng bị lỗi. Trình quản lý Proxmox VE HA hoạt động hiệu quả. Không cần cấu hình. Ngoài ra, hàng rào dựa trên cơ quan giám sát đơn giản hóa việc triển khai một cách đáng kể.

Toàn bộ Cụm Proxmox VE HA được cấu hình dễ dàng từ giao diện người dùng dựa trên web tích hợp.

Proxmox VE HA Simulator

Proxmox VE bao gồm một mô hình ảo hóa HA. Nó cho phép bạn kiểm tra hành vi của một cụm 3 nút trong thế giới thực với 6 VM. Proxmox HA Simulator giúp bạn nghiên cứu và hiểu về cách hoạt động của Proxmox VE HA.

7. Proxmox VE Firewall

Proxmox VE Firewall được tích hợp để bảo vệ cơ sở hạ tầng CNTT của bạn một cách dễ dàng. Firewall hoàn toàn có thể tùy chỉnh, cho phép mở rộng cấu hình thông qua GUI hoặc CLI.

Bạn có thể thiết lập các quy tắc Firewall cho tất cả các máy chủ bên trong một Cluster hoặc chỉ xác định các quy tắc cho VM và container. Các tính năng như firewall macros, bảo mật, bộ IP và bí danh giúp thực hiện tùy chỉnh đó dễ dàng hơn.

Distributed Firewall

Trong khi tất cả cấu hình được lưu trữ trong hệ thống cluster file, tường lửa dựa trên iptables chạy trên mỗi cluster node và do đó tạo nên sự tách biệt hoàn toàn giữa các máy ảo. Bản chất phân tán của hệ thống này cũng cung cấp băng thông cao hơn nhiều so với giải pháp tường lửa tập trung.

Lời kết

Hy vọng bài viết trên sẽ giúp bạn hiểu hơn về Proxmox là gì? Nếu có thắc mắc hay đóng góp ý kiến, mời bạn để lại bình luận phía dưới bài viết này. Bknet xin chân thành cảm ơn bạn!

Bài viết này hữu ích như thế nào?

Hãy bấm vào ngôi sao để đánh giá!

Đánh giá trung bình 5 / 5. Số phiếu bầu: 2