构建虚拟基础设施 - 如何开始?

构建虚拟基础设施 - 如何开始?

我正在 vmware 工作站中构建虚拟基础架构,但我不知道如何开始。(我是一名大学生,所以我有 dreamspark 许可证和这些东西。这个基础架构的目的是学习。)想法如下:

  • 主机(i5-2500K、8 GB RAM、250 GB SSD)配备 Windows 8 Pro (x64) 和 vmware 工作站。主机有开发人员 sw-s(eclipse、vs2012)。

  • Windows 服务器:需要 IIS (ASP.NET)、MS-SQL -> 绝对是 Windows Server 2012 标准

  • Linux 服务器:Apache+PHP+MySQL(Centos 6.4)、Oracle(Centos 6.4)、Python+Flask(Ubuntu 13.04 服务器)(均为 64 位)
  • 当我真正需要它们时,服务器就会启动。
  • 以及许多客户端(win8、win7、ubuntu 桌面)。

现在我决定使用没有桌面的 Linux 服务器,那么 256 MB 内存就足够了。是否可以在 512 MB RAM 上安装没有 GUI 的 Windows Server 2012 Standart?一些基础设施已经准备就绪,但我仍然有一个问题:

  • 服务器将拥有静态 IP,而客户端将通过 dhcp 获取。这在 IPv4 中很容易,但对于 ipv6 有什么好的策略吗?
  • 我想创建一个域 - 比如 .vmware 之类的,这样我就可以轻松访问我的 vm-s - 例如 luke.vmware。我不想破解主机文件,因为在很多 vm-s 上很难维护。我想我需要一个 DNS 服务器,这会让生活更轻松。但它应该一直运行。vm 网络位于 NAT(VMNet8)后面,所以我应该在哪里安装?在 NAT 网络中可以吗,还是必须是主机?有什么好的建议吗?我坚持使用 vmware 工作站(我对 hyper-v 性能和 virtualbox 稳定性有疑问)。-我应该使用 NFS 还是 vmware 共享文件夹就足够了?如果是,NFS 应该是计算机或 VM。
  • 有没有好的方法来维护 vms(例如共享文件夹、更改内存、整体 GRID 接口),或者我应该使用 vmware api 编写脚本?我想要一个整体界面(使用 vmware 设置将 visio 图表与 excel 同步)。

提前谢谢你。Lajos

答案1

主机(i5-2500K、8 GB RAM、250 GB SSD),搭载 Windows 8 Pro (x64)

RAM 空间不大,硬盘空间也不大。您可以轻松运行 1 或 2 个虚拟机,但仅此而已。

和 VMware 工作站

对于开发人员的计算机来说这很好,但如果您有兴趣学习“企业”虚拟化,您应该看看 ESXi、Hyper-V Server 或类似产品。

Windows 服务器:需要 IIS (ASP.NET)

Win8 中提供此功能。如果您想尝试设置专用机器,那就去做吧。但如果您只想在 IIS 上进行开发,我建议您将其安装在您的开发工作站上。

MS-SQL -> 绝对是 Windows Server 2012 标准

MS-SQL 也可以安装在 Windows 8 上

Linux 服务器:Apache+PHP+MySQL(Centos 6.4)、Oracle(Centos 6.4)、Python+Flask(Ubuntu 13.04 服务器)(均为 64 位)

你对这种微不足道的技术有什么目的吗?操作系统种类繁多,但似乎没有理由想要它们(除了“必须全部掌握”综合症)

当我真正需要它们时,服务器就会启动。

这一点很明显,因为你没有足够的 RAM 来启动所有程序,并且无法让它们处于可用状态。在设置所有这些程序时,你几乎肯定会耗尽硬盘空间。

以及许多客户端(win8、win7、ubuntu 桌面)。

请参阅先前关于为何使用 Smörgåsbord 操作系统的评论。

服务器将拥有静态 IP,而客户端将通过 dhcp 获取。这在 IPv4 中很容易,但对于 ipv6 有什么好的策略吗?

为什么在 IPv6 中服务器不使用静态 IP,客户端也不使用 DHCP?问这个问题让我认为你可能需要多了解一些 IPv6 知识。

我想创建一个域名

从一开始,这个想法就很糟糕,但因为你是一个刚开始学习的学生,如果你使用 ,世界可能会原谅你.local。请记住,除了“胡闹”之外,绝不应在任何环境中使用“假”域名。永远不要在商业环境中使用,不要在开发环境中使用,不要在预生产环境中使用,不要在测试环境中使用,永远不要永远不要。这是一个疯狂的坏习惯,将在未来几十年造成许多麻烦。大多数系统管理员希望有一个特殊的地狱级别,专门为.local在商业环境中使用的人保留。

我不想破解主机文件,因为在很多虚拟机上很难维护。我想我需要一个 DNS 服务器,这样生活就轻松多了。但它应该一直运行。

没错,这就是 DNS 被发明的原因。可能不应该重新发明轮子。将服务器放在网络上所有服务器都可以访问的任何地方。这可能是虚拟机、物理机箱或主机……

我应该使用 NFS 还是 vmware 共享文件夹就足够了?如果是,NFS 应该是计算机或 VM。

Windows 没有NFS 很容易,但用起来并不好。像迄今为止的许多技术一样,我建议不要使用它,除非它能解决你试图解决的特定问题。

是否有一个好方法来维护 vm(例如共享文件夹、更改内存、整体 GRID 接口),或者我应该使用 vmware api 编写脚本?

API 和脚本都是好主意。除非你真的想深入研究,否则我不会对此太过疯狂。

我想要一个总体界面(使用 vmware 设置将 visio 图表与 excel 同步)。

文档编写是个好主意。这应该是我看到大学毕业生最薄弱的技能。并不是说他们不能编写文档(大多数情况下),而是文档编写的质量不足以及实际上去做严重缺乏。

两个想法:

  • 你拥有一大堆技术。你似乎很热衷于学习其中的一些。这就是 IT 通才的角色。但是,你也经常跨学科,这几乎从来没有奏效过。你有应用程序开发软件、Web 开发和基础设施。IT 行业有整个会议,旨在让这些独立且相对不同的群体更有效地相互交流,并了解彼此的不同目标。我强烈建议你选择你最喜欢的技术或角色并尝试一下,至少现在忘记其他的。

    许多基本技能跨越了界限。例如,管理员(维护基础设施:系统、网络、数据库、安全等)需要能够阅读、理解和编写脚本(Win 上的 PowerShell 和 VBScript;*nix 上的 Shell 和 Interpreted);许多人还了解各种编程语言。软件开发人员需要对他们将要从事的所有工作都略知一二。Web 开发人员需要了解大量运行其网站的软件以及他们的客户将运行的软件。

  • 另一种想法是,许多人认为通才的角色正在衰落,而且大多数迹象都支持这一点。“样样精通,样样不精”并不是一句夸赞。在非常小的商店里,了解各种技术是必不可少的,因为很少有人开发、安装和维护该技术。在这些非常小的商店之外,其他所有人都想要专家,即他们所在领域的大师。

    查看职业网站。您将找到“Ruby 开发人员”、“PHP 开发人员”、“.NET 开发人员”或“Linux 管理员”的帖子。如果您搜索“通才”,您现在将获得 17 个结果。第一个是“Ruby on Rails 通才”(他们正在寻找 Ruby Web 开发人员 -不是第一个职位是“通才”。第二个职位是“Java 开发人员”(也不是通才)。第三个职位是“软件工程师 - 通才”,职位描述立即开始,即 PaaS 工程师(本质上是虚拟化管理员;也不是通才工作)。你明白我的意思,但我浏览了列表,只有 2 个人实际上在寻找通才之类的职位。

相关内容