add section about soptware upgrades using apt-get
[pve-docs.git] / sysadmin.adoc
1 Host System Administration
2 ==========================
3
4 {pve} is based on the famous https://www.debian.org/[Debian] Linux
5 distribution. That means that you have access to the whole world of
6 Debian packages, and the base system is well documented. The
7 https://debian-handbook.info/download/stable/debian-handbook.pdf[Debian
8 Administrator\'s Handbook] is available online, and provide a
9 comprehensive introduction to the Debian operating system (see
10 xref:Hertzog13[]).
11
12 A standard {pve} installation uses the default repositories from
13 Debian, so you get bug fixes and security updates through that
14 channel. In addition, we provide our own package repository to roll
15 out all {pve} related packages. This includes updates to some
16 Debian packages when necessary.
17
18 We also deliver a specially optimized Linux kernel, where we enable all
19 required virtualization and container features. That kernel includes
20 drivers for http://zfsonlinux.org/[ZFS], and several hardware drivers.
21 For example, we ship Intel network card drivers to support their
22 newest hardware.
23
24 The following sections will concentrate on virtualization related
25 topics. They either explains things which are different on {pve}, or
26 tasks which are commonly used on {pve}. For other topics, please refer
27 to the standard Debian documentation.
28
29 System requirements
30 -------------------
31
32 For production servers, high quality server equipment is needed. Keep
33 in mind, if you run 10 Virtual Servers on one machine and you then
34 experience a hardware failure, 10 services are lost. {pve}
35 supports clustering, this means that multiple {pve} installations
36 can be centrally managed thanks to the included cluster functionality.
37
38 {pve} can use local storage (DAS), SAN, NAS and also distributed
39 storage (Ceph RBD). For details see xref:chapter-storage[chapter storage].
40
41 Minimum requirements, for evaluation
42 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
43
44 * CPU: 64bit (Intel EMT64 or AMD64)
45
46 * RAM: 1 GB RAM
47
48 * Hard drive
49
50 * One NIC
51
52 Recommended system requirements
53 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
54
55 * CPU: 64bit (Intel EMT64 or AMD64), Multi core CPU recommended
56
57 * RAM: 8 GB is good, more is better
58
59 * Hardware RAID with batteries protected write cache (BBU) or flash
60  based protection
61
62 * Fast hard drives, best results with 15k rpm SAS, Raid10
63
64 * At least two NICĀ“s, depending on the used storage technology you need more
65
66
67 Getting Help
68 ------------
69
70 There are basically two different support channels. {pve} itself if
71 fully open source, so we always encourage our users to discuss and
72 share their knowledge using the http://forum.proxmox.com/[Community
73 Support Forum]. The forum is fully moderated by the Proxmox support
74 team. Up to now, the forum has about 25.000 members, and more than
75 120.000 messages. Needless to say that such a large forum is a great
76 place to get information.
77
78 The second channel is the commercial support provided by
79 {proxmoxGmbh}. {pve} server subscriptions can be ordered online, see
80 http://shop.maurer-it.com[{pve} Shop]. For all details see
81 http://www.proxmox.com/proxmox-ve/pricing[{pve} Subscription Service
82 Plans].
83
84 Please contact the mailto:office@proxmox.com[Proxmox sales team] for
85 commercial support requests or volume discounts.
86
87 Package Repositories
88 --------------------
89
90 All Debian based systems use
91 http://en.wikipedia.org/wiki/Advanced_Packaging_Tool[APT] as package
92 management tool. The list of repositories is defined in
93 '/etc/apt/sources.list' and '.list' files found inside
94 '/etc/apt/sources.d/'. Updates can be installed directly using
95 'apt-get', or via the GUI.
96
97 Apt 'sources.list' files lists one package repository per line, with
98 the most preferred source listed first. Empty lines are ignored, and a
99 '#' character anywhere on a line marks the remainder of that line as a
100 comment. The information available from the configured sources is
101 acquired by 'apt-get update'.
102
103 .File '/etc/apt/sources.list'
104 ----
105 deb http://ftp.debian.org/debian jessie main contrib
106
107 # security updates
108 deb http://security.debian.org jessie/updates main contrib
109 ----
110
111 In addition, {pve} provides three different package repositories.
112
113 {pve} Enterprise Repository
114 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
115
116 This is the default, stable and recommended repository, available for
117 all {pve} subscription users. It contains the most stable packages,
118 and is suitable for production use. You need a valid subscription key
119 to access this repository. The `pve-enterprise` repository is enabled
120 by default:
121
122 .File '/etc/apt/sources.list.d/pve-enterprise.list'
123 ----
124 deb https://enterprise.proxmox.com/debian jessie pve-enterprise
125 ----
126
127 NOTE: You can disable this repository by commenting out the above line
128 using a '#' (at the start of the line). This prevents error messages
129 if you do not have a subscription key. Please configure the
130 `pve-no-subscription` repository in that case.
131
132 As soon as updates are available, the `root@pam` user is notified via
133 email about the available new packages. On the GUI, the change-log of
134 each package can be viewed (if available), showing all details of the
135 update. So you will never miss important security fixes.
136
137 {pve} No-Subscription Repository
138 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
139
140 As the name suggests, you do not need a subscription key to access
141 this repository. It can be used for testing and non-production
142 use. Its not recommended to run on production servers, as these
143 packages are not always heavily tested and validated.
144
145 We recommend to configure this repository in '/etc/apt/sources.list'.
146
147 .File '/etc/apt/sources.list'
148 ----
149 deb http://ftp.debian.org/debian jessie main contrib
150
151 # PVE pve-no-subscription repository provided by proxmox.com,
152 # NOT recommended for production use
153 deb http://download.proxmox.com/debian jessie pve-no-subscription
154
155 # security updates
156 deb http://security.debian.org jessie/updates main contrib
157 ----
158
159  
160 {pve} Test Repository
161 ~~~~~~~~~~~~~~~~~~~~~~
162
163 Finally, there is a repository called `pvetest`. This one contains the
164 latest packages and is heavily used by developers to test new
165 features. As usual, you can configure this using
166 '/etc/apt/sources.list' by adding the following line:
167
168 .sources.list entry for `pvetest`
169 ----
170 deb http://download.proxmox.com/debian jessie pvetest
171 ----
172
173
174 Installing {pve}
175 ----------------
176
177 {pve} ships as a set of Debian packages, so you can simply install it
178 on top of a normal Debian installation. After configuring the
179 repositories, you need to run:
180
181 [source,bash]
182 ----
183 apt-get update
184 apt-get install proxmox-ve
185 ----
186
187 While this looks easy, it presumes that you have correctly installed
188 the base system, and you know how you want to configure and use the
189 local storage. Network configuration is also completely up to you.
190
191 In general, this is not trivial, especially when you use LVM or
192 ZFS. This is why we provide an installation CD-ROM for {pve}. That
193 installer just ask you a few questions, then partitions the local
194 disk(s), installs all required packages, and configures the system
195 including a basic network setup. You can get a fully functional system
196 within a few minutes, including the following:
197
198 * Complete operating system (Debian Linux, 64-bit)
199 * Partition the hard drive with ext4 (alternative ext3 or xfs) or ZFS
200 * {pve} Kernel with LXC and KVM support
201 * Complete toolset
202 * Web based management interface
203
204 NOTE: By default, the complete server is used and all existing data is
205 removed.
206
207 Using the {pve} Installation CD-ROM
208 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
209
210 Please insert the installation CD-ROM, then boot from that
211 drive. Immediately afterwards you can choose the following menu
212 options:
213
214 Install Proxmox VE::
215
216 Start normal installation.
217
218 Install Proxmox VE (Debug mode)::
219
220 Start installation in debug mode. It opens a shell console at several
221 installation steps, so that you can debug things if something goes
222 wrong. Please press `CTRL-D` to exit those debug consoles and continue
223 installation. This option is mostly for developers and not meant for
224 general use.
225
226 Rescue Boot::
227
228 This option allows you to boot an existing installation. It searches
229 all attached hard disks, and if it finds an existing installation,
230 boots directly into that disk using the existing Linux kernel. This
231 can be useful if there are problems with the boot block (grub), or the
232 BIOS is unable to read the boot block from the disk.
233
234 Test Memory::
235
236 Runs 'memtest86+'. This is useful to check if your memory if
237 functional and error free.
238
239 You normally select *Install Proxmox VE* to start the installation.
240 After that you get prompted to select the target hard disk(s). The
241 `Options` button aside lets you select the target file system, and
242 defaults to `ext4`. The installer uses LVM if you select 'ext3',
243 'ext4' or 'xfs' as file system, and offers additional option to
244 restrict LVM space (see <<advanced_lvm_options,below>>)
245
246 If you have more than one disk, you can also use ZFS as file system.
247 ZFS supports several software RAID levels, so this is specially useful
248 if you do not have a hardware RAID controller. The `Options` button
249 lets you select the ZFS RAID level, and you can choose disks there.
250
251 The next pages just asks for basic configuration options like time
252 zone and keyboard layout. You also need to specify your email address
253 and select a superuser password.
254
255 The last step is the network configuration. Please note that you can
256 use either IPv4 or IPv6 here, but not both. If you want to configure a
257 dual stack node, you can easily do that after installation.
258
259 If you press `Next` now, installation starts to format disks, and
260 copies packages to the target. Please wait until that is finished,
261 then reboot the server.
262
263 Further configuration is done via the Proxmox web interface. Just
264 point your browser to the IP address given during installation
265 (https://youripaddress:8006). {pve} is tested for IE9, Firefox 10
266 and higher, and Google Chrome.
267
268
269 [[advanced_lvm_options]]
270 Advanced LVM configuration options
271 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
272
273 The installer creates a Volume Group (VG) called `pve`, and additional
274 Logical Volumes (LVs) called `root`, `data` and `swap`. The size of
275 those volumes can be controlled with:
276
277 `hdsize`::
278
279 Defines the total HD size to be used. This way you can save free
280 space on the HD for further partitioning (i.e. for an additional PV
281 and VG on the same hard disk that can be used for LVM storage).
282
283 `swapsize`::
284
285 To define the size of the `swap` volume. Default is the same size as
286 installed RAM, with 4GB minimum and `hdsize/8` as maximum.
287
288 `maxroot`::
289
290 The `root` volume size. The `root` volume stores the whole operation
291 system.
292
293 `maxvz`::
294
295 Define the size of the `data` volume, which is mounted at
296 '/var/lib/vz'.
297
298 `minfree`::
299
300 To define the amount of free space left in LVM volume group `pve`.
301 16GB is the default if storage available > 128GB, `hdsize/8` otherwise.
302 +
303 NOTE: LVM requires free space in the VG for snapshot creation (not
304 required for lvmthin snapshots).
305
306
307 ZFS Performance Tips
308 ^^^^^^^^^^^^^^^^^^^^
309
310 ZFS uses a lot of memory, so it is best to add additional 8-16GB RAM
311 if you want to use ZFS.
312
313 ZFS also provides the feature to use a fast SSD drive as write cache. The
314 write cache is called the ZFS Intent Log (ZIL). You can add that after
315 installation using the following command:
316
317  zpool add <pool-name> log </dev/path_to_fast_ssd>
318
319
320 System Software Updates
321 -----------------------
322
323 We provide regular package updates on all repositories. You can
324 install those update using the GUI, or you can directly run the CLI
325 command 'apt-get':
326
327  apt-get update
328  apt-get dist-upgrade
329
330 NOTE: The 'apt' package management system is extremely flexible and
331 provides countless of feature - see `man apt-get` or <<Hertzog13>> for
332 additional information.
333
334 You should do such updates at regular intervals, or when we release
335 versions with security related fixes. Major system upgrades are
336 announced at the https://forum.proxmox.com/[Forum]. Those announcement
337 also contain detailed upgrade instructions.
338
339 TIP: We recommend to run regular upgrades, because it is important to
340 get the latest security updates.
341
342
343 Network Configuration
344 ---------------------
345
346 Basic network setup.
347
348 image::images/cluster-nwdiag.svg[{pve} Cluster Network]
349
350 image::images/node-nwdiag.svg[{pve} Default Network Setup]
351
352
353 Local Storage
354 -------------
355
356 Logical Volume Manager (LVM)
357 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
358
359 TODO: info about LVM.
360
361
362 ZFS on Linux
363 ~~~~~~~~~~~~
364
365 TODO: info about ZFS.
366
367
368 Working with 'systemd'
369 ----------------------
370
371 Journal and syslog
372 ~~~~~~~~~~~~~~~~~~
373
374 TODO: explain persistent journal...
375
376
377
378
379
380
381