虚拟化的魔力:Proxmox VE 入门课程

虚拟化的魔力:Proxmox VE 入门课程
今天我们就来说说如何在一台物理服务器上快速、轻松地部署多台不同操作系统的虚拟服务器。 这将允许任何系统管理员集中管理公司的整个IT基础设施并节省大量资源。 虚拟化的使用有助于尽可能地从物理服务器硬件中抽象出来,保护关键服务,并即使在发生非常严重的故障时也能轻松恢复其运行。

毫无疑问,大多数系统管理员都熟悉使用虚拟环境的技术,对于他们来说,本文不会有任何发现。 尽管如此,仍有一些公司由于缺乏有关虚拟解决方案的准确信息而没有利用虚拟解决方案的灵活性和速度。 我们希望我们的文章能够通过示例帮助您理解,开始使用虚拟化一次比体验物理基础设施的不便和缺点要容易得多。

幸运的是,尝试虚拟化的工作原理非常容易。 我们将展示如何在虚拟环境中创建服务器,例如转移公司使用的CRM系统。 几乎任何物理服务器都可以变成虚拟服务器,但首先您需要掌握基本操作技术。 这将在下面讨论。

它是如何工作的

说到虚拟化,很多专业新手都觉得很难理解这个术语,所以我们先解释一下几个基本概念:

  • 管理程序 – 允许您创建和管理虚拟机的特殊软件;
  • 虚拟机 (以下简称VM)是一个系统,它是物理服务器内的逻辑服务器,具有自己的一组特性、驱动器和操作系统;
  • 虚拟化主机 — 运行虚拟机管理程序的物理服务器。

为了使服务器作为成熟的虚拟化主机工作,其处理器必须支持两种技术之一 - Intel® VT 或 AMD-V™。 这两种技术都执行为虚拟机提供服务器硬件资源的最重要任务。

关键特征是虚拟机的任何操作都直接在硬件级别执行。 同时,它们彼此隔离,这使得单独控制它们变得非常容易。 虚拟机管理程序本身扮演着监管机构的角色,在它们之间分配资源、角色和优先级。 虚拟机管理程序还模拟操作系统正确运行所需的硬件部分。

虚拟化的引入使得一台服务器拥有多个正在运行的副本成为可能。 更改此类副本的过程中出现严重故障或错误不会以任何方式影响当前服务或应用程序的运行。 这也消除了两个主要问题——扩展和在同一硬件上保持不同操作系统“动物园”的能力。 这是组合各种服务的理想机会,而无需为每种服务购买单独的设备。

虚拟化提高了服务和已部署应用程序的容错能力。 即使物理服务器出现故障并需要更换另一台服务器,只要磁盘介质完好无损,整个虚拟基础架构也将保持完全运行。 在这种情况下,物理服务器可能来自完全不同的制造商。 对于使用已停产服务器并需要迁移到其他型号的公司来说尤其如此。

现在我们列出了当今最流行的虚拟机管理程序:

  • VMware的ESXi的
  • Microsoft Hyper-V
  • 开放虚拟化联盟KVM
  • Oracle VM VirtualBox的

它们都非常通用,但是,它们中的每一个都具有在选择阶段应始终考虑的某些特征:部署/维护成本和技术特征。 VMware和Hyper-V的商业许可证成本非常高,一旦出现故障,您自己很难解决这些系统的问题。

另一方面,KVM 完全免费且非常易于使用,特别是作为现成的基于 Debian Linux 的解决方案(称为 Proxmox 虚拟环境)的一部分。 我们可以推荐该系统来初步了解虚拟基础架构的世界。

如何快速部署Proxmox VE虚拟机管理程序

安装通常不会引起任何问题。 下载当前版本的镜像 从官方网站 并使用该实用程序将其写入任何外部媒体 Win32DiskImager (在 Linux 中使用 dd 命令),之后我们直接从此介质启动服务器。 从我们这里租用专用服务器的客户可以利用两种更简单的方法 - 只需直接从 KVM 控制台安装所需的映像,或使用 我们的 PXE 服务器.

安装程序有一个图形界面,只会问几个问题。

  1. 选择将在其上执行安装的磁盘。 在章节中 附加选项 您还可以指定其他标记选项。

    虚拟化的魔力:Proxmox VE 入门课程

  2. 指定区域设置。

    虚拟化的魔力:Proxmox VE 入门课程

  3. 指定将用于授权 root 超级用户的密码和管理员的电子邮件地址。

    虚拟化的魔力:Proxmox VE 入门课程

  4. 指定网络设置。 FQDN 代表完全限定域名,例如 node01.yourcompany.com.

    虚拟化的魔力:Proxmox VE 入门课程

  5. 安装完成后,可以使用“重新启动”按钮重新启动服务器。

    虚拟化的魔力:Proxmox VE 入门课程

    Web 管理界面将在

    https://IP_адрес_сервера:8006

安装后做什么

安装 Proxmox 后您应该做一些重要的事情。 让我们更详细地讨论它们中的每一个。

将系统更新到最新版本

为此,让我们转到服务器的控制台并禁用付费存储库(仅适用于已购买付费支持的用户)。 如果不这样做,apt在更新包源时会报错。

  1. 打开控制台并编辑 apt 配置文件:
    nano /etc/apt/sources.list.d/pve-enterprise.list
  2. 该文件中只有一行。 我们在它前面加一个符号 #禁用从付费存储库接收更新:
    #deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise
  3. 键盘快捷键 按Ctrl + X 通过回复退出编辑器 Y 当系统询问是否保存文件时。
  4. 我们运行命令来更新包源并更新系统:
    apt update && apt -y upgrade

注意安全

我们可以推荐安装最流行的实用程序 Fail2Ban,防止密码攻击(暴力破解)。 其操作原理是,如果攻击者在指定时间内以错误的登录名/密码尝试登录超过一定次数,则其 IP 地址将被封锁。 阻塞时间和尝试次数可以在配置文件中指定。

根据实践经验,在开放 ssh 端口 22 和外部静态 IPv4 地址的服务器运行一周期间,有超过 5000 次尝试猜测密码。 该实用程序成功阻止了大约 1500 个地址。

要完成安装,请参阅以下一些说明:

  1. 通过 Web 界面或 SSH 打开服务器控制台。
  2. 更新包来源:
    apt update
  3. 安装 Fail2Ban:
    apt install fail2ban
  4. 打开实用程序配置进行编辑:
    nano /etc/fail2ban/jail.conf
  5. 改变变量 班时间 (攻击者被阻止的秒数)和 最大重试 每个单独服务的(登录/密码输入尝试次数)。
  6. 键盘快捷键 按Ctrl + X 通过回复退出编辑器 Y 当系统询问是否保存文件时。
  7. 重新启动服务:
    systemctl restart fail2ban

您可以检查该实用程序的状态,例如,使用一个简单的命令删除尝试暴力破解 SSH 密码的被阻止 IP 地址的阻止统计信息:

fail2ban-client -v status sshd

该实用程序的响应将如下所示:

root@hypervisor:~# fail2ban-client -v status sshd
INFO   Loading configs for fail2ban under /etc/fail2ban
INFO     Loading files: ['/etc/fail2ban/fail2ban.conf']
INFO     Loading files: ['/etc/fail2ban/fail2ban.conf']
INFO   Using socket file /var/run/fail2ban/fail2ban.sock
Status for the jail: sshd
|- Filter
|  |- Currently failed: 3
|  |- Total failed:     4249
|  `- File list:        /var/log/auth.log
`- Actions
   |- Currently banned: 0
   |- Total banned:     410
   `- Banned IP list:

以类似的方式,您可以通过创建适当的规则来保护 Web 界面免受此类攻击。 Fail2Ban 此类规则的示例可以在 官方手册.

入门

我想提请您注意 Proxmox 安装后即可立即创建新机器。 但我们建议您完成初步设置,以便日后轻松管理系统。 实践表明,虚拟机管理程序和虚拟机应该分布在不同的物理介质上。 下面将讨论如何做到这一点。

配置磁盘驱动器

下一步是配置可用于保存虚拟机数据和备份的存储。

注意力! 下面的磁盘布局示例仅可用于测试目的。 对于实际使用,我们强烈建议使用软件或硬件 RAID 阵列,以防止驱动器发生故障时数据丢失。 我们将在以下文章之一中告诉您如何正确准备磁盘阵列以供操作以及在紧急情况下该怎么做。

我们假设物理服务器有两个磁盘 - / dev / sda上的,其上安装了虚拟机管理程序和一个空磁盘 的/ dev / sdb的,计划用于存储虚拟机数据。 为了让系统看到新的存储,可以使用最简单、最有效的方法——将其作为常规目录连接。 但在此之前,您需要做一些准备步骤。 作为示例,让我们看看如何连接新驱动器 的/ dev / sdb的,任意大小,将其格式化为文件系统 ext4.

  1. 我们对磁盘进行分区,创建一个新分区:
    fdisk /dev/sdb
  2. 按 键 o или g (将磁盘分区为 MBR 或 GPT)。
  3. 接下来,按 键 n (创建一个新部分)。
  4. 最后 w (保存更改)。
  5. 创建ext4文件系统:
    mkfs.ext4 /dev/sdb1
  6. 创建一个目录,我们将在其中挂载分区:
    mkdir /mnt/storage
  7. 打开配置文件进行编辑:
    nano /etc/fstab
  8. 在那里添加一个新行:
    /dev/sdb1	/mnt/storage	ext4	defaults	0	0
  9. 进行更改后,使用键盘快捷键保存它们 按Ctrl + X,回答 Y 对于编辑的问题。
  10. 为了检查一切是否正常,我们让服务器重新启动:
    shutdown -r now
  11. 重启后,检查挂载的分区:
    df -H

该命令的输出应显示 的/ dev / sdb1 挂载到目录中 /mnt/存储。 这意味着我们的驱动器已准备好使用。

在 Proxmox 中添加新存储库

登录控制面板并转至各个部分 数据中心知识库添加内容目录.

在打开的窗口中,填写以下字段:

  • ID ——未来储存设施的名称;
  • 目录 - /mnt/存储;
  • 内容 — 选择所有选项(依次单击每个选项)。

    虚拟化的魔力:Proxmox VE 入门课程

之后,按下按钮 添加内容。 这样就完成了设置。

创建虚拟机

要创建虚拟机,请执行以下操作序列:

  1. 我们决定操作系统的版本。
  2. 提前下载ISO镜像。
  3. 从菜单中选择 知识库 新创建的存储库。
  4. 点击这里 内容下载.
  5. 从列表中选择 ISO 映像,然后按 按钮确认选择 下载.

操作完成后,该图像将显示在可用图像列表中。

虚拟化的魔力:Proxmox VE 入门课程
让我们创建第一个虚拟机:

  1. 点击这里 创建虚拟机.
  2. 一一填写参数: 名字ISO 映像硬盘大小和类型处理器数量内存大小网络适​​配器.
  3. 选择所有所需参数后,单击 完成。 创建的机器将显示在控制面板菜单中。
  4. 选择它并单击 发射.
  5. 转到点 控制台 并以与在常规物理服务器上完全相同的方式安装操作系统。

如果需要创建另一台机器,请重复以上操作。 一旦它们全部准备就绪,您就可以通过打开多个控制台窗口来同时使用它们。

设置自动运行

默认情况下,Proxmox 不会自动启动机器,但只需单击两次即可轻松解决此问题:

  1. 单击所需机器的名称。
  2. 选择一个标签 选项开机启动.
  3. 我们在同名铭文旁边打勾。

现在,如果物理服务器重新启动,VM 将自动启动。

虚拟化的魔力:Proxmox VE 入门课程
对于高级管理员,还可以在 部分中指定其他启动参数 启动/关闭顺序。 您可以明确指定机器的启动顺序。 您还可以指定下一个虚拟机启动之前应该经过的时间以及关闭延迟时间(如果操作系统没有时间关闭,虚拟机管理程序将强制其在一定秒数后关闭)。

结论

本文概述了如何开始使用 Proxmox VE 的基础知识,我们希望它能帮助新手迈出第一步并尝试实际的虚拟化。

对于任何系统管理员来说,Proxmox VE 确实是一个非常强大且方便的工具; 最重要的是不要害怕尝试并了解它的真正工作原理。

如果有什么疑问,欢迎评论。

来源: habr.com

添加评论