Proxmox là gì? Những điều về môi trường ảo Proxmox có thể bạn chưa biết
Thịnh Văn Hạnh 01/06/2023 1225 Lượt xem Chia sẻ bài viết
Lĩnh vực ảo hóa và khái niệm tổng quát về nó đã được BKNS đề cập trong các bài viết trước đây. Với bài này, chúng tôi muốn giới thiệu đến bạn một khía cạnh nhỏ khác thuộc ảo hóa – Proxmox. Proxmox là gì, nó đóng vai trò như thế nào, cùng tìm hiểu ngay dưới bài viết này nhé.
Tóm Tắt Bài Viết
- 1 Proxmox là gì?
- 2 Các thông số của Proxmox
- 3 Các tính năng của Proxmox là gì?
- 3.1 1. KVM và Container
- 3.2 2. Quản lý
- 3.2.1 Giao diện quản lý Web-based
- 3.2.2 Giao diện dòng lệnh (CLI)
- 3.2.3 Proxmox VE Mobile
- 3.2.4 Thiết kế multi-master độc đáo
- 3.2.5 Hệ thống tệp Proxmox Cluster (pmxcfs)
- 3.2.6 Di chuyển Trực tiếp / Trực tuyến
- 3.2.7 API REST
- 3.2.8 Quản lý quyền hạn, user dựa trên vai trò
- 3.2.9 Nhiều phương thức xác thực khác nhau
- 3.3 3. Lưu trữ linh hoạt
- 3.4 4. Network
- 3.5 5. Sao lưu và khôi phục
- 3.6 6. Live migrate và High Availability Cluster
- 3.7 7. Proxmox VE Firewall
- 4 Tổng kết
Proxmox là gì?
Để hiểu được các đặc tính của Proxmox, đầu tiên ta cần hiểu rõ được khái niệm Proxmox.
Proxmox là một nền tảng ảo hóa mã nguồn mở được sử dụng để quản lý và triển khai các máy ảo (virtual machines) và containers. Nó cung cấp một giải pháp ảo hóa toàn diện cho các trung tâm dữ liệu và môi trường ảo hóa. Proxmox hỗ trợ ảo hóa các hệ điều hành như Linux và Windows, cho phép người dùng tạo ra và quản lý các máy ảo trên một cơ sở hạ tầng vật lý.
Proxmox hỗ trợ hai công nghệ ảo hóa chính là KVM (Kernel-based Virtual Machine) và LXC (Linux Containers).
KVM cung cấp ảo hóa máy ảo thông qua việc sử dụng kernel Linux để tạo ra các máy ảo độc lập, trong khi LXC sử dụng công nghệ container để tạo ra các môi trường ảo hóa nhẹ hơn, chia sẻ kernel với máy chủ vật lý.
Proxmox cung cấp một giao diện web dễ sử dụng để quản lý các máy ảo và containers, cho phép người dùng tạo, khởi động, dừng, di chuyển và sao lưu các máy ảo. Ngoài ra, nó cũng cung cấp các tính năng như cân bằng tải, quản lý tài nguyên, giám sát hệ thống và bảo mật.
Proxmox là một giải pháp phổ biến trong việc xây dựng và quản lý hạ tầng ảo hóa, được sử dụng rộng rãi trong các doanh nghiệp và trung tâm dữ liệu để tăng hiệu suất và tận dụng tối đa tài nguyên máy chủ.
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
Proxmox Virtual Environment (Proxmox VE) là một môi trường ảo hóa dựa trên Debian GNU/Linux và sử dụng Kernel Linux tùy chỉnh. Mã nguồn của Proxmox VE là miễn phí và được phát hành theo Giấy phép Công cộng GNU Affero, phiên bản 3 (GNU AGPL, v3). Điều này có nghĩa là bạn có quyền tự do sử dụng phần mềm, kiểm tra mã nguồn bất kỳ lúc nào và đóng góp cho dự án.
Sử dụng phần mề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 độ đáng 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 cho ảo hóa toàn diện. Đây là một mô-đun kernel, được tích hợp vào kernel Linux chính và hoạt động trên bất kỳ phần cứng x86 nào 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 trên các máy ảo (VM), trong đó mỗi VM có phần cứng ảo riêng: card mạng, ổ đĩa, bộ điều khiển đồ họa, vv. Chạy nhiều ứng dụng trên các máy ảo trên một hệ thống duy nhất giúp tối ưu hóa phân bổ tài nguyên và tiết kiệm chi phí, đồng thời mang lại linh hoạt trong việc xây dựng trung tâm dữ liệu được xác định bằng phần mềm để đáp ứng nhu cầu kinh doanh của bạn.
Proxmox VE đã tích hợp KVM từ khi bắt đầu dự án vào năm 2008 (bắt đầu 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 nhẹ nhàng thay thế cho ảo hóa toàn bộ máy vì nó chia sẻ kernel của máy chủ.
Linux Container (LXC)
LXC là một phương pháp ảo hóa cấp hệ điều hành để chạy nhiều hệ điều hành Linux cô lập 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 của kernel Linux. Người dùng có thể dễ dàng tạo và quản lý các container hệ thống hoặc ứng dụng bằng cách sử dụng 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.
Tổng kết
Proxmox là một khái niệm hay thuộc lĩnh vực ảo hóa. Hy vọng đến đây bạn đã hiểu được Proxmox nghĩa là gì, 7 loại tính năng của Proxmox cùng đặc điểm chi tiết cụ thể ở từng tính năng.
Để đọc thêm các bài viết hữu ích khác về lĩnh vực công nghệ thông tin, hãy thường xuyên ghé thăm BKNS bạn nhé.
>> Đọc thêm: Abap Là Gì? Tìm Hiểu Về Ngôn Ngữ Lập Trình Có Thu nhập Khủng