]> git.proxmox.com Git - pmg-docs.git/blame - pmg-installation.adoc
installation: align zfs performance tip with PVE documentation
[pmg-docs.git] / pmg-installation.adoc
CommitLineData
03c03402
DM
1Installation
2============
3
8eb27e2f
TL
4{pmg} is based on Debian. This is why the install disk images (ISO files)
5provided by Proxmox include a complete Debian system as well as all necessary
6{pmg} packages.
03c03402 7
8eb27e2f
TL
8TIP: See the xref:faq-support-table[support table in the FAQ] for the
9relationship between {pmg} releases and Debian releases.
03c03402 10
c78dc3bb 11The installer will guide you through the setup, allowing you to partition the local
8eb27e2f
TL
12disk(s), apply basic system configurations (for example, timezone, language,
13network) and install all required packages. This process should not take more
14than a few minutes. Installing with the provided ISO is the recommended method
15for new and existing users.
16
17Alternatively, {pmg} can be installed on top of an existing Debian system. This
18option is only recommended for advanced users because detailed knowledge about
19{pmg} is required.
03c03402 20
dfcaa012
AL
21include::pmg-installation-media.adoc[]
22
39abbce4 23[[pmg_install_iso]]
03c03402
DM
24Using the {pmg} Installation CD-ROM
25-----------------------------------
26
dfcaa012 27The installer ISO image includes the following:
03c03402
DM
28
29* Complete operating system (Debian Linux, 64-bit)
30
b2d388d4 31* The {pmg} installer, which partitions the hard drive(s) with ext4,
8eb27e2f 32 XFS or ZFS and installs the operating system
03c03402
DM
33
34* Linux kernel
35
36* Postfix MTA, ClamAV, Spamassassin and the {pmg} toolset
37
582a64ad 38* Web-based management interface for using the toolset
03c03402 39
aaec2aab
CH
40NOTE: All existing data on the for installation selected drives will be removed
41during the installation process. The installer does not add boot menu entries
42for other operating systems.
b2d388d4 43
dfcaa012
AL
44Please insert the xref:installation_prepare_media[prepared installation media]
45(for example, USB flash drive or CD-ROM) and boot from it.
46
47TIP: Make sure that booting from the installation medium (for example, USB) is
aaec2aab
CH
48enabled in your server's firmware settings. Secure boot needs to be disabled
49when booting an installer prior to {pmg} version 8.1.
dfcaa012 50
bf99325b
DW
51After choosing the correct entry (for example, Boot from USB) the {pmg} menu
52will be displayed, and one of the following options can be selected:
03c03402
DM
53
54image::images/installer/pmg-grub-menu.png[]
55
aaec2aab 56Install {pmg} (Graphical)::
03c03402
DM
57
58Start normal installation.
59
aaec2aab
CH
60TIP: It's possible to use the installation wizard with a keyboard only. Buttons
61can be clicked by pressing the `ALT` key combined with the underlined character
62from the respective button. For example, `ALT + N` to press a `Next` button.
03c03402 63
aaec2aab 64Install {pmg} (Terminal UI)::
03c03402 65
aaec2aab
CH
66Starts the terminal-mode installation wizard. It provides the same overall
67installation experience as the graphical installer, but has generally better
68compatibility with very old and very new hardware.
03c03402 69
aaec2aab 70Install {pmg} (Terminal UI, Serial Console)::
03c03402 71
aaec2aab
CH
72Starts the terminal-mode installation wizard, additionally setting up the Linux
73kernel to use the (first) serial port of the machine for in- and output. This
74can be used if the machine is completely headless and only has a serial console
75available.
03c03402 76
aaec2aab
CH
77Both modes use the same code base for the actual installation process to
78benefit from more than a decade of bug fixes and ensure feature parity.
03c03402 79
aaec2aab
CH
80TIP: The 'Terminal UI' option can be used in case the graphical installer does
81not work correctly, due to e.g. driver issues.
03c03402 82
aaec2aab
CH
83Advanced Options: Install {pmg} (Graphical, Debug Mode)::
84
85Starts the installation in debug mode. A console will be opened at several
86installation steps. This helps to debug the situation if something goes wrong.
87To exit a debug console, press `CTRL-D`. This option can be used to boot a live
88system with all basic tools available. You can use it, for example, to repair a
89degraded ZFS 'rpool' or fix the bootloader for an existing {pmg} setup.
90
91Advanced Options: Install {pmg} (Terminal UI, Debug Mode)::
92
93Same as the graphical debug mode, but preparing the system to run the
94terminal-based installer instead.
95
96Advanced Options: Install {pmg} (Serial Console Debug Mode)::
97
98Same the terminal-based debug mode, but additionally sets up the Linux kernel to
99use the (first) serial port of the machine for in- and output.
100
101Advanced Options: Rescue Boot::
102
103With this option you can boot an existing installation. It searches all attached
104hard disks. If it finds an existing installation, it boots directly into that
105disk using the Linux kernel from the ISO. This can be useful if there are
106problems with the bootloader (GRUB/`systemd-boot`) or the BIOS/UEFI is unable to
107read the boot block from the disk.
108
109Advanced Options: Test Memory (memtest86+)::
110
111Runs `memtest86+`. This is useful to check if the memory is functional and free
112of errors. Secure Boot must be turned off in the UEFI firmware setup utility to
113run this option.
114
115You normally select *Install {pmg} (Graphical)* to start the installation.
dc69da07 116image::images/installer/pmg-select-target-disk.png[]
03c03402 117
bf99325b
DW
118The first step is to read our EULA (End User License Agreement). Following
119this, you can select the target hard disk(s) for the installation.
03c03402 120
582a64ad
OB
121CAUTION: By default, the whole server is used and all existing data is removed.
122Make sure there is no important data on the server before proceeding with the
123installation.
03c03402 124
03c03402 125The `Options` button lets you select the target file system, which
12908dd2 126defaults to `ext4`. The installer uses LVM if you select
bf99325b 127`ext4` or `xfs` as a file system, and offers additional options to
03c03402
DM
128restrict LVM space (see <<advanced_lvm_options,below>>)
129
bf99325b
DW
130If you have more than one disk, you can also use ZFS as a file system.
131ZFS supports several software RAID levels, which is particularly useful
03c03402 132if you do not have a hardware RAID controller. The `Options` button
bf99325b 133lets you choose the ZFS RAID level and select which disks will be used.
03c03402 134
aaec2aab
CH
135WARNING: ZFS on top of any hardware RAID is not supported and can result in data
136loss.
137
dc69da07
DM
138image::images/installer/pmg-select-location.png[]
139
582a64ad 140The next page asks for basic configuration options like your
bf99325b
DW
141location, timezone, and keyboard layout. The location is used to
142select a nearby download server, in order to increase the speed of updates.
143The installer is usually able to auto-detect these settings, so you only need to
144change them in rare situations when auto-detection fails, or when you want to
582a64ad 145use a keyboard layout not commonly used in your country.
dc69da07
DM
146
147image::images/installer/pmg-set-password.png[]
148
149You then need to specify an email address and the superuser (root)
150password. The password must have at least 5 characters, but we highly
151recommend to use stronger passwords - here are some guidelines:
152
153- Use a minimum password length of 12 to 14 characters.
154
155- Include lowercase and uppercase alphabetic characters, numbers and symbols.
156
60522152
TL
157- Avoid character repetition, keyboard patterns, dictionary words, letter or
158 number sequences, usernames, relative or pet names, romantic links (current
159 or past) and biographical information (e.g., ID numbers, ancestors' names or
160 dates).
dc69da07 161
aecce55c
TL
162It is sometimes necessary to send notification to the system administrator, for
163example:
dc69da07
DM
164
165- Information about available package updates.
166
bf99325b 167- Error messages from periodic cron jobs.
dc69da07 168
aecce55c 169All those notification mails will be sent to the specified email address.
dc69da07
DM
170
171image::images/installer/pmg-setup-network.png[]
03c03402 172
aecce55c
TL
173The next step is the network configuration. Please note that you can use either
174IPv4 or IPv6 here, but not both. If you want to configure a dual stack node,
bf99325b 175you can easily do that after the installation.
03c03402 176
f6249b79
TL
177image::images/installer/pmg-summary.png[]
178
aecce55c
TL
179When you press `Next`, you will see an overview of your entered configuration.
180Please re-check every setting, you can still use the `Previous` button to go
181back and edit any settings.
f6249b79 182
bf99325b
DW
183After clicking `Install`, the installer will begin to format and copy packages
184to the target disk(s).
dc69da07
DM
185
186image::images/installer/pmg-installation.png[]
187
bf99325b
DW
188Copying the packages usually takes several minutes. When this is
189finished, you can reboot the server.
03c03402 190
aaec2aab
CH
191If the installation failed, check out specific errors on the second TTY
192(`CTRL + ALT + F2') and ensure that the systems meets the
193xref:install_minimal_requirements[minimum requirements]. If the installation
194is still not working, look at the xref:getting_help[how to get help chapter].
195
bf99325b 196Further configuration is done via the {pmg} web interface:
f03ead41
SI
197
198[thumbnail="pmg-gui-login-window.png"]
03c03402 199
bf99325b 200. Point your browser to the IP address given during the installation
f03ead41 201(https://youripaddress:8006).
b5b01ac3 202
bf99325b 203. Log in and upload your subscription key.
b2d388d4 204+
bf99325b 205NOTE: The default login is "root", and the password is the one chosen during the
aecce55c 206installation.
03c03402 207
b2d388d4
DM
208. Check the IP configuration and hostname.
209
bf99325b 210. Check the timezone.
b2d388d4
DM
211
212. Check your xref:firewall_settings[Firewall settings].
213
bf99325b 214. Configure {pmg} to forward the incoming SMTP traffic to your mail
b2d388d4 215server ('Configuration/Mail Proxy/Default Relay') - 'Default
09e283f2 216Relay' is your email server.
b2d388d4 217
09e283f2 218. Configure your email server to send all outgoing messages through
303ee757 219your {pmg} ('Smart Host', port 26 by default).
b2d388d4
DM
220
221For detailed deployment scenarios see chapter
222xref:chapter_deployment[Planning for Deployment].
223
bf99325b
DW
224After the installation, you have to route all your incoming and
225outgoing email traffic to {pmg}. For incoming traffic, you
b2d388d4 226have to configure your firewall and/or DNS settings. For outgoing
09e283f2 227traffic you need to change the existing email server configuration.
b2d388d4 228
03c03402
DM
229
230[[advanced_lvm_options]]
231Advanced LVM Configuration Options
232~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
233
234The installer creates a Volume Group (VG) called `pmg`, and additional
235Logical Volumes (LVs) called `root` and `swap`. The size of
236those volumes can be controlled with:
237
238`hdsize`::
239
582a64ad
OB
240Defines the total disk size to be used. This way you can save free
241space on the disk for further partitioning (i.e. for an additional PV
242and VG on the same disk that can be used for LVM storage).
03c03402
DM
243
244`swapsize`::
245
246Defines the size of the `swap` volume. The default is the size of the
bf99325b
DW
247installed memory. The minimum is 4 GB and the maximum is 8 GB. The resulting
248value cannot be greater than `hdsize/8`.
03c03402 249
03c03402
DM
250`minfree`::
251
bf99325b
DW
252Defines the amount of free space that should be left in the LVM volume group
253`pmg`. With more than 128GB storage available, the default is 16GB, otherwise
254`hdsize/8` will be used.
03c03402
DM
255+
256NOTE: LVM requires free space in the VG for snapshot creation (not
257required for lvmthin snapshots).
258
259
260ZFS Performance Tips
261~~~~~~~~~~~~~~~~~~~~
262
c8be3f03
CH
263ZFS works best with a lot of memory. If you intend to use ZFS make sure to have
264enough RAM available for it. A good calculation is 4GB plus 1GB RAM for each TB
03c03402
DM
265RAW disk space.
266
c8be3f03
CH
267ZFS can use a dedicated drive as write cache, called the ZFS Intent Log (ZIL).
268Use a fast drive (SSD) for it. It can be added after installation with the
269following command:
03c03402 270
c8be3f03
CH
271---
272# zpool add <pool-name> log </dev/path_to_fast_ssd>
273---
3372775f 274
39abbce4 275[[pmg_install_on_debian]]
03c03402
DM
276Install {pmg} on Debian
277-----------------------
278
279{pmg} ships as a set of Debian packages, so you can install it
280on top of a normal Debian installation. After configuring the
bf99325b 281xref:pmg_package_repositories[package repositories], you need to run:
03c03402
DM
282
283[source,bash]
284----
3e2d2270
TL
285apt update
286apt install proxmox-mailgateway
03c03402
DM
287----
288
bf99325b 289Installing on top of an existing Debian installation seems easy, but
582a64ad 290it assumes that you have correctly installed the base system, and you
03c03402
DM
291know how you want to configure and use the local storage. Network
292configuration is also completely up to you.
293
294NOTE: In general, this is not trivial, especially when you use LVM or
295ZFS.
e3eaa56a
DM
296
297
39abbce4 298[[pmg_install_on_debian_container]]
bf99325b 299Install {pmg} as a Linux Container Appliance
3fc72cc0 300--------------------------------------------
c13d3d4f 301
bf99325b 302{pmg} can also run inside a Debian-based LXC
c13d3d4f 303instance. In order to keep the set of installed software, and thus the
582a64ad 304necessary updates minimal, you can use the `proxmox-mailgateway-container`
bf99325b 305meta-package. This does not depend on any Linux kernel, firmware, or components
aaec2aab 306used for booting from bare-metal, like GRUB.
17a13972 307
bf99325b 308A ready-to-use appliance template is available through the `mail` section of the
15dbf331
CE
309https://www.proxmox.com/proxmox-virtual-environment/overview[Proxmox VE]
310appliance manager, so if you already use Proxmox VE, you can set up a {pmg}
311instance in minutes.
17a13972 312
bf99325b
DW
313NOTE: It's recommended to use a static network configuration. If DHCP must be
314used, ensure that the container always leases the same IP, for example, by
315reserving one with the container's network MAC address.
5991f9eb 316
bf99325b 317Additionally, you can install this on top of a container-based Debian
3e2d2270 318installation. After configuring the
bf99325b 319xref:pmg_package_repositories[package repositories], you need to run:
3e2d2270
TL
320
321[source,bash]
322----
323apt update
324apt install proxmox-mailgateway-container
325----
5991f9eb 326
e3eaa56a
DM
327[[pmg_package_repositories]]
328Package Repositories
329--------------------
330
0261cbde
FE
331{pmg} uses http://en.wikipedia.org/wiki/Advanced_Packaging_Tool[APT] as its
332package management tool like any other Debian-based system.
333
334Repositories in {pmg}
335~~~~~~~~~~~~~~~~~~~~~
336
337Repositories are a collection of software packages. They can be used to install
338new software, but are also important to get new updates.
339
340NOTE: You need valid Debian and Proxmox repositories to get the latest
341security updates, bug fixes and new features.
342
343APT Repositories are defined in the file `/etc/apt/sources.list` and in `.list`
344files placed in `/etc/apt/sources.list.d/`.
345
346Repository Management
347^^^^^^^^^^^^^^^^^^^^^
348
349[thumbnail="pmg-gui-admin-repositories.png"]
350
351Since {pmg} 7.0 you can check the repository state in the web interface. The
352'Dashboard' shows a high level status overview, while the separate 'Repository'
353panel (accessible via 'Administration') shows in-depth status and list of all
354configured repositories.
355
356Basic repository management, for example, activating or deactivating a
357repository, is also supported.
358
359Sources.list
360^^^^^^^^^^^^
361
362In a `sources.list` file, each line defines a package repository. The preferred
363source must come first. Empty lines are ignored. A `#` character anywhere on a
364line marks the remainder of that line as a comment. The available packages from
365a repository are acquired by running `apt update`. Updates can be installed
366directly using `apt`, or via the GUI (Administration -> Updates).
e3eaa56a
DM
367
368.File `/etc/apt/sources.list`
369----
483f7a35 370# basic Debian repositories:
25901eb2
TL
371deb http://deb.debian.org/debian bookworm main contrib
372deb http://deb.debian.org/debian bookworm-updates main contrib
aedc8192 373
e3eaa56a 374# security updates
25901eb2 375deb http://security.debian.org/debian-security bookworm-security main contrib
483f7a35
TL
376
377# Proxmox Mail Gateway repo required too - see below!
e3eaa56a
DM
378----
379
0261cbde 380{pmg} provides three different package repositories.
e3eaa56a
DM
381
382
383{pmg} Enterprise Repository
384~~~~~~~~~~~~~~~~~~~~~~~~~~~
385
386This is the default, stable and recommended repository, available for
387all {pmg} subscription users. It contains the most stable packages,
388and is suitable for production use. The `pmg-enterprise` repository is
389enabled by default:
390
391.File `/etc/apt/sources.list.d/pmg-enterprise.list`
392----
25901eb2 393deb https://enterprise.proxmox.com/debian/pmg bookworm pmg-enterprise
e3eaa56a
DM
394----
395
396As soon as updates are available, the `root@pam` user is notified via
bf99325b 397email about the newly available packages. From the GUI, the change-log of
e3eaa56a 398each package can be viewed (if available), showing all details of the
bf99325b 399update. Thus, you will never miss important security fixes.
e3eaa56a 400
bf99325b
DW
401Please note that you need a valid subscription key to access this
402repository. We offer different support levels, which you can find further
403details about at {pricing-url}.
e3eaa56a
DM
404
405NOTE: You can disable this repository by commenting out the above line
bf99325b 406using a `#` (at the start of the line). This prevents error messages,
e3eaa56a 407if you do not have a subscription key. Please configure the
bf99325b 408`pmg-no-subscription` repository in this case.
e3eaa56a
DM
409
410
411{pmg} No-Subscription Repository
412~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
413
414As the name suggests, you do not need a subscription key to access
415this repository. It can be used for testing and non-production
bf99325b 416use. It's not recommended to use this on production servers, as these
e3eaa56a
DM
417packages are not always heavily tested and validated.
418
bf99325b 419We recommend configuring this repository in `/etc/apt/sources.list`.
e3eaa56a
DM
420
421.File `/etc/apt/sources.list`
422----
25901eb2
TL
423deb http://ftp.debian.org/debian bookworm main contrib
424deb http://ftp.debian.org/debian bookworm-updates main contrib
483f7a35
TL
425
426# security updates
25901eb2 427deb http://security.debian.org/debian-security bookworm-security main contrib
e3eaa56a
DM
428
429# PMG pmg-no-subscription repository provided by proxmox.com,
430# NOT recommended for production use
25901eb2 431deb http://download.proxmox.com/debian/pmg bookworm pmg-no-subscription
e3eaa56a
DM
432----
433
434
435{pmg} Test Repository
436~~~~~~~~~~~~~~~~~~~~~
437
bf99325b
DW
438Finally, there is a repository called `pmgtest`. This contains the
439latest packages, and is heavily used by developers to test new
440features. As with before, you can configure this using
e3eaa56a
DM
441`/etc/apt/sources.list` by adding the following line:
442
443.sources.list entry for `pmgtest`
444----
25901eb2 445deb http://download.proxmox.com/debian/pmg bookworm pmgtest
e3eaa56a
DM
446----
447
582a64ad 448WARNING: the `pmgtest` repository should only be used
e3eaa56a
DM
449for testing new features or bug fixes.
450
451
452SecureApt
453~~~~~~~~~
454
bf99325b
DW
455We use GnuPG to sign the `Release` files inside these repositories,
456and APT uses these signatures to verify that all packages are from a
e3eaa56a
DM
457trusted source.
458
bf99325b
DW
459The key used for verification is already installed, if you install from
460our installation CD. If you install via another means, you can manually
25901eb2 461download the key by executing the following command as root user:
e3eaa56a 462
483f7a35 463----
25901eb2 464 # wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
483f7a35 465----
e3eaa56a 466
483f7a35 467Verify the checksum afterwards with the `sha512sum` CLI tool:
e3eaa56a
DM
468
469----
25901eb2
TL
470# sha512sum /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
4717da6fe34168adc6e479327ba517796d4702fa2f8b4f0a9833f5ea6e6b48f6507a6da403a274fe201595edc86a84463d50383d07f64bdde2e3658108db7d6dc87 /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
e3eaa56a
DM
472----
473
483f7a35 474or the `md5sum` CLI tool:
e3eaa56a
DM
475
476----
25901eb2
TL
477# md5sum /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
47841558dc019ef90bd0f6067644a51cf5b /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
e3eaa56a
DM
479----
480
481
45613eb1
AZ
482Debian Non-Free Repository
483~~~~~~~~~~~~~~~~~~~~~~~~~~
96806766
SI
484
485Certain software cannot be made available in the `main` and `contrib`
486areas of the {debian} archives, since it does not adhere to the Debian
487Free Software Guidelines (DFSG). These are distributed in the
488{debian_nonfree_archive_area}. For {pmg} two packages from the `non-free` area
489are needed in order to support the RAR archive format:
490
491* `p7zip-rar` for matching xref:pmg_mailfilter_what[Archive Objects] in the
492 xref:chapter_mailfilter[Rule system]
493
494* `libclamunrar` for detecting viruses in RAR archives.
495
45613eb1
AZ
496To enable the `non-free` component, run `editor /etc/apt/sources.list` and
497append `non-free` to the end of each `.debian.org` repository line.
5479707c 498
bf99325b 499Following this, you can install the required packages with:
5479707c
TL
500
501----
502apt update
503apt install libclamunrar p7zip-rar
504----
9163e56a
AZ
505
506
507[[pmg_debian_firmware_repo]]
508Debian Firmware Repository
509~~~~~~~~~~~~~~~~~~~~~~~~~
510Starting with Debian Bookworm ({pmg} 8) non-free firmware (as defined by
511https://www.debian.org/social_contract#guidelines[DFSG]) has been moved to the
512newly created Debian repository component `non-free-firmware`.
513
514Enable this repository if you want to set up
515xref:pmg_firmware_cpu[Early OS Microcode Updates] or need additional
516xref:pmg_firmware_runtime_files[Runtime Firmware Files] not already included in
517the pre-installed package `pve-firmware`.
518
519To be able to install packages from this component, run
520`editor /etc/apt/sources.list`, append `non-free-firmware` to the end of each
521`.debian.org` repository line and run `apt update`.