]> git.proxmox.com Git - pve-docs.git/blame - pve-intro.adoc
formatting cleanup
[pve-docs.git] / pve-intro.adoc
CommitLineData
0fe09789
DM
1Introduction
2============
3
4{pve} is a platform to run virtual machines and containers. It is
5based on Debian Linux, and completely open source. For maximum
6flexibility, we implemented two virtualization technologies -
7Kernel-based Virtual Machine (KVM) and container-based virtualization
8(LXC).
9
10One main design goal was to make administration as easy as
11possible. You can use {pve} on a single node, or assemble a cluster of
12many nodes. All management task can be done using our web-based
13management interface, and even a novice user can setup and install
14{pve} within minutes.
15
16image::images/pve-software-stack.svg["Proxmox Software Stack",align="center"]
17
18
19Central Management
20------------------
21
22While many people start with a single node, {pve} can scale out to a
23large set of clustered nodes. The cluster stack is fully integrated
24and ships with the default installation.
25
98d7e09a 26Unique Multi-master Design::
0fe09789
DM
27
28The integrated web-based management interface gives you a clean
29overview of all your KVM guests and Linux containers and even of your
30whole cluster. You can easily manage your VMs and containers, storage
31or cluster from the GUI. There is no need to install a separate,
32complex, and pricy management server.
33
98d7e09a 34Proxmox Cluster File System (pmxcfs)::
0fe09789
DM
35
36Proxmox VE uses the unique Proxmox Cluster file system (pmxcfs), a
37database-driven file system for storing configuration files. This
38enables you to store the configuration of thousands of virtual
39machines. By using corosync, these files are replicated in real time
40on all cluster nodes. The file system stores all data inside a
41persistent database on disk, nonetheless, a copy of the data resides
42in RAM which provides a maximum storage size is 30MB - more than
43enough for thousands of VMs.
98d7e09a 44+
0fe09789
DM
45Proxmox VE is the only virtualization platform using this unique
46cluster file system.
47
98d7e09a 48Web-based Management Interface::
0fe09789
DM
49
50Proxmox VE is simple to use. Management tasks can be done via the
51included web based managment interface - there is no need to install a
52separate management tool or any additional management node with huge
53databases. The multi-master tool allows you to manage your whole
54cluster from any node of your cluster. The central web-based
55management - based on the JavaScript Framework (ExtJS) - empowers
56you to control all functionalities from the GUI and overview history
57and syslogs of each single node. This includes running backup or
58restore jobs, live-migration or HA triggered activities.
59
98d7e09a 60Command Line::
0fe09789
DM
61
62For advanced users who are used to the comfort of the Unix shell or
63Windows Powershell, Proxmox VE provides a command line interface to
64manage all the components of your virtual environment. This command
65line interface has intelligent tab completion and full documentation
66in the form of UNIX man pages.
67
98d7e09a 68REST API::
0fe09789
DM
69
70Proxmox VE uses a RESTful API. We choose JSON as primary data format,
71and the whole API is formally defined using JSON Schema. This enables
72fast and easy integration for third party management tools like custom
73hosting environments.
74
98d7e09a 75Role-based Administration::
0fe09789
DM
76
77You can define granular access for all objects (like VM´s, storages,
78nodes, etc.) by using the role based user- and permission
79management. This allows you to define privileges and helps you to
80control access to objects. This concept is also known as access
81control lists: Each permission specifies a subject (a user or group)
82and a role (set of privileges) on a specific path.
83
98d7e09a 84Authentication Realms::
0fe09789
DM
85
86Proxmox VE supports multiple authentication sources like Microsoft
87Active Directory, LDAP, Linux PAM standard authentication or the
88built-in Proxmox VE authentication server.
89
90
91Flexible Storage
92----------------
93
94The Proxmox VE storage model is very flexible. Virtual machine images
95can either be stored on one or several local storages or on shared
96storage like NFS and on SAN. There are no limits, you may configure as
97many storage definitions as you like. You can use all storage
98technologies available for Debian Linux.
99
100One major benefit of storing VMs on shared storage is the ability to
101live-migrate running machines without any downtime, as all nodes in
102the cluster have direct access to VM disk images.
103
104We currently support the following Network storage types:
105
106* LVM Group (network backing with iSCSI targets)
107* iSCSI target
108* NFS Share
109* Ceph RBD
110* Directly use iSCSI LUNs
111* GlusterFS
112
113Local storage types supported are:
114
115* LVM Group (local backing devices like block devices, FC devices, DRBD, etc.)
116* Directory (storage on existing filesystem)
117* ZFS
118
119Integrated Backup and Restore
120-----------------------------
121
8c1189b6 122The integrated backup tool (`vzdump`) creates consistent snapshots of
0fe09789
DM
123running Containers and KVM guests. It basically creates an archive of
124the VM or CT data which includes the VM/CT configuration files.
125
126KVM live backup works for all storage types including VM images on
127NFS, iSCSI LUN, Ceph RBD or Sheepdog. The new backup format is
128optimized for storing VM backups fast and effective (sparse files, out
129of order data, minimized I/O).
130
131High Availability Cluster
132-------------------------
133
134A multi-node Proxmox VE HA Cluster enables the definition of highly
135available virtual servers. The Proxmox VE HA Cluster is based on
136proven Linux HA technologies, providing stable and reliable HA
137services.
138
139Flexible Networking
140-------------------
141
142Proxmox VE uses a bridged networking model. All VMs can share one
143bridge as if virtual network cables from each guest were all plugged
144into the same switch. For connecting VMs to the outside world, bridges
145are attached to physical network cards assigned a TCP/IP
146configuration.
147
148For further flexibility, VLANs (IEEE 802.1q) and network
149bonding/aggregation are possible. In this way it is possible to build
150complex, flexible virtual networks for the Proxmox VE hosts,
151leveraging the full power of the Linux network stack.
152
8c1189b6 153
0fe09789
DM
154Integrated Firewall
155-------------------
156
157The intergrated firewall allows you to filter network packets on
8c1189b6
FG
158any VM or Container interface. Common sets of firewall rules can
159be grouped into ``security groups''.
160
0fe09789
DM
161
162Why Open Source
163---------------
164
165Proxmox VE uses a Linux kernel and is based on the Debian GNU/Linux
166Distribution. The source code of Proxmox VE is released under the
167http://www.gnu.org/licenses/agpl-3.0.html[GNU Affero General Public
168License, version 3]. This means that you are free to inspect the
169source code at any time or contribute to the project yourself.
170
171At Proxmox we are committed to use open source software whenever
172possible. Using open source software guarantees full access to all
173functionalities - as well as high security and reliability. We think
174that everybody should have the right to access the source code of a
175software to run it, build on it, or submit changes back to the
176project. Everybody is encouraged to contribute while Proxmox ensures
177the product always meets professional quality criteria.
178
179Open source software also helps to keep your costs low and makes your
180core infrastructure independent from a single vendor.
181
182Your benefit with {pve}
183-----------------------
184
185* Open source software
186* No vendor lock-in
187* Linux kernel
188* Fast installation and easy-to-use
189* Web-based management interface
190* REST API
191* Huge active community
192* Low administration costs and simple deployment
193
194Project History
195---------------
196
197The project started in 2007, followed by a first stable version in
1982008. By that time we used OpenVZ for containers, and KVM for virtual
199machines. The clustering features were limited, and the user interface
200was simple (server generated web page).
201
202But we quickly developed new features using the
203http://corosync.github.io/corosync/[Corosync] cluster stack, and the
204introduction of the new Proxmox cluster file system (pmxcfs) was a big
205step forward, because it completely hides the cluster complexity from
206the user. Managing a cluster of 16 nodes is as simple as managing a
207single node.
208
209We also introduced a new REST API, with a complete declarative
210spezification written in JSON-Schema. This enabled other people to
211integrate {pve} into their infrastructur, and made it easy provide
212additional services.
213
214Also, the new REST API made it possible to replace the original user
215interface with a modern HTML5 application using JavaScript. We also
216replaced the old Java based VNC console code with
217https://kanaka.github.io/noVNC/[noVNC]. So you only need a web browser
218to manage your VMs.
219
220The support for various storage types is another big task. Notably,
221{pve} was the first distribution to ship ZFS on Linux by default in
2222014. Another milestone was the ability to run and manage
223http://ceph.com/[Ceph] storage on the hypervisor nodes. Such setups
224are extremely cost effective.
225
226When we started we were among the first companies providing
227commercial support for KVM. The KVM project itself continuously
228evolved, and is now a widely used hypervisor. New features arrives
229with each release. We developed the KVM live backup feature, which
230makes it possible to create snapshot backups on any storage type.
231
232The most notable change with version 4.0 was the move from OpenVZ to
233https://linuxcontainers.org/[LXC]. Containers are now deeply
234integrated, and they can use the same storage and network features
235as virtual machines.