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


今天,我们将讨论如何在一个物理服务器上快速而简单地部署具有不同操作系统的多个虚拟服务器。 这将使任何系统管理员都可以集中管理公司的整个IT基础架构,并节省大量资源。 使用虚拟化有助于从物理服务器设备中尽可能多地抽象出来,保护关键服务,即使在发生严重故障时也可以轻松地恢复其工作。

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

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

如何运作


当涉及虚拟化时,许多新手专家很难理解术语,因此我们将解释一些基本概念:

  • 系统管理程序 -专用软件,可让您创建和管理虚拟机;
  • 虚拟机 (以下称为VM)是一种系统,它是物理服务器内部的逻辑服务器,具有自己的特性,驱动器和操作系统。
  • 虚拟化主机是一台运行管理程序的物理服务器。

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

关键功能是任何虚拟机操作都直接在硬件级别执行。 而且,它们彼此隔离,这很容易单独管理。 虚拟机管理程序本身扮演着控制机构的角色,在它们之间分配资源,角色和优先级。 系统管理程序还模拟了操作系统正确运行所必需的硬件部分。

虚拟化的实施使一台服务器可以具有多个运行副本。 对此类副本进行更改的过程中出现严重故障或错误,不会影响当前服务或应用程序的运行。 同时,还解决了两个主要问题-缩放和将不同操作系统的“ zoo”保留在同一设备上的能力。 这是合并各种服务的理想机会,而无需为每个服务购买单独的设备。

虚拟化可增强服务和已部署应用程序的弹性。 即使物理服务器发生故障并需要用另一台物理服务器替换,只要保留存储介质,整个虚拟基础架构将保持完全运行。 在这种情况下,物理服务器可能完全是另一个制造商的。 对于使用已经停产并且需要切换到其他型号的服务器的公司而言,尤其如此。

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

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

它们都是相当通用的,但是,它们每个都具有某些功能,在选择阶段应始终予以考虑:部署/维护成本和技术规格。 VMware和Hyper-V的商业许可证非常昂贵,如果出现故障,很难自行解决这些系统的问题。

另一方面,KVM完全免费且易于使用,尤其是作为基于Debian Linux的解决方案Proxmox Virtual Environment的一部分时。 我们可以向初次接触虚拟基础架构的人推荐该系统。

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


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

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

  1. 选择将在其上执行安装的磁盘。 在“ 选项”部分中,您还可以设置其他标记选项。

  2. 指定区域设置。

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

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

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



    基于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. 我们更改每个服务的bantime变量(将阻止攻击者的秒数)和maxretry (尝试登录/密码的次数)。
  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磁盘,计划将其用于存储虚拟机数据。 为了使系统可以看到新的存储,可以使用最简单,最有效的方法-将其作为普通目录进行连接。 但在此之前,应执行一些准备工作。 作为示例,让我们看看如何通过将其格式化为ext4文件系统来连接任何大小的新驱动器/ dev / sdb

  1. 我们标记磁盘,创建一个新分区:

     fdisk /dev/sdb 
  2. og (在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 / storage目录中。 这意味着我们的驱动器已准备就绪。

向Proxmox添加新存储


登录到控制面板,然后转到数据中心存储添加目录

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

  • ID-将来的存储名称;
  • 目录 -/ mnt /存储;
  • 内容 -选择所有选项(逐个单击每个选项)。


之后,单击添加按钮。 这样就完成了设置。

创建虚拟机


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

  1. 我们确定操作系统的版本。
  2. 预先下载ISO映像。
  3. 存储菜单中,选择新创建的存储。
  4. 单击内容下载
  5. 从列表中选择一个ISO映像,然后单击“ 下载”按钮确认选择。

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


我们创建第一个虚拟机:

  1. 点击创建虚拟机
  2. 我们填写以下参数: 名称 ➝ISO 映像硬盘的大小和类型处理器数量 ➝RAM 大小网络适​​配器
  3. 选择了所有需要的参数后,点击Finish 。 创建的机器将显示在控制面板菜单中。
  4. 选择它,然后单击“运行”
  5. 转到“ 控制台”项,然后以与在常规物理服务器上相同的方式安装操作系统。

如果需要创建另一台计算机,请重复上述操作。 它们准备就绪后,您可以同时使用它们,打开几个控制台窗口。

配置自动运行


默认情况下,Proxmox不会自动启动计算机,但是只需单击两次即可轻松解决:

  1. 我们单击所需汽车的名称。
  2. 选择选项卡选项引导启动
  3. 我们在同名题词前打勾。

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


对于高级管理员,还有机会在“ 开始/关闭顺序”部分中指定其他启动参数。 您可以明确指示应按哪些顺序启动计算机。 您还可以指定在启动下一个VM之前应该经过的时间以及关闭延迟时间(如果操作系统没有时间完成工作,系统管理程序将在一定秒数后强制关闭它)。

结论


本文概述了Proxmox VE入门的基础知识,我们希望它可以帮助新手专业人员迈出第一步,并尝试实施虚拟化。

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

如有任何疑问,欢迎发表评论。

Source: https://habr.com/ru/post/zh-CN483236/


All Articles