在Linux上安装VMware


在Linux上 安装 VMware 在 Linux 上安装 VMware 我们以前详细描述过在Win2003 上安装VMware,你想在Linux上安装VMware吗?尽管 VMware Server提供了一种简单、免费的小型服务器虚拟化解决方案,不过正确地配置它 很不容易,并且没有正确配置VMware的代价很高。这个指南为安装和配置提供了说明,主 要聚焦在高安全性以及维持一个在Linux上的VMware Server成功的生产实例。 VMware Server 工作原理及组件 在这一系列中,我们假定 VMware Server 安装在新的或目标服务器上。同样,我们强 调效率的最优化和 VMware Server 与主机操作系统(OS)的安全性。那么,VMware Server 是如何工作的呢?它又由哪些组件组成? ™ Linux 上的 VMware Server ™ VMware Server 的组件 准备和保护 Linux 如今有好几种可用的 Linux 企业级版本,Ubuntu 版本最新、最稳定的服务器版是 Edgy Eft Server。如何安装 Ubuntu Linux 组件并保护它们? ™ 如何为 VMware 安装及准备 Linux? ™ 如何为 VMware 配置和保护 Linux? 管理 TT 服务器技术专题之“主标题” Page 2 of 48 本部分讲解如何保护 VMware,解决 Ubuntu 下安装过程中出现的一些令人头疼的 Bug,监控和备份服务器,以及如何获得、安装 MUI,如何保护和配置 MUI 及如何登陆 MUI。 ™ 如何在 Linux 上安装与备份 VMware? ™ 如何使用 Linux 安装和管理 VMware MUI? 使用 本部分描述在 Linux 下创建 VMware 虚拟机和安装子操作系统。 ™ 如何在 Linux 下创建 VMware 虚拟机? ™ Linux 系统下如何使用 VMware 安装子操作系统 TT 服务器技术专题之“主标题” Page 3 of 48 Linux 上的 VMware Server 尽管 VMware Server 提供了一种简单、免费的小型服务器虚拟化解决方案,不过正 确地配置它很不容易,并且没有正确配置 VMware 的代价很高。这个指南为安装和配置 提供了说明,主要聚焦在高安全性以及维持一个在 Linux 上的 VMware Server 成功的 生产实例。 这个指南旨在为新接触 VMware Server 的 IT 管理员服务,而不是新的 IT 管理员。 同理,这也不是为那些刚接触 Linux 的人服务。 在这一系列文章中,TechTarget中国的特约虚拟化专家Andrew Kutz将讨论这个指 南的参数和描述VMware Server是如何工作的。(关于Windows上的VMware Server 信息请参见“在Win2003 上安装VMware”) 在这一系列中,我们假定 VMware Server 安装在新的或目标服务器上。同样,我们 强调效率的最优化和 VMware Server 与主机操作系统(OS)的安全性。其中包含了安 装一个新 OS(Ubuntu Linux 6.10 Server)的部分,因此,我们不能处理有关旧操作 系统版本和它们独有的小缺点和进程的问题。由于 VMware Server 宿主许多虚拟机,安 全是极为重要的性能。因此,这个指南的目标就是帮助读者创建一个防御主机。 根据你的具体情况,如果本指南中所介绍的某一步骤无法实现,把它标记下来等待将 来的部署,跳过它继续向前。例如,几个步骤能完成,不过需要重调现有的配置,比如处 理防火墙实施这部分。 我很担心在这个指南中我所讨论的一些步骤可能似乎在 Linux 资深管理员看来是混乱 的。例如,我在详细说明如何配置及让它安全之前讨论安装 ssh 这几步。我们所有人都有 自己安装一台服务器的首选方法,不过这仅是一种方法。如果有合适你自己的方法,你可 以越过这步。在本指南中,后面的部分将假定你执行了先前部分的步骤。 在本系列文章中,我依靠我自己的经验判断什么运行得好什么不好。我经常参考有 214 页的 VMware Server 管理指南。当你有许多空闲时间时,值得去阅读它。 VMware Server如何工作 VMware Server 是一种托管型的解决方案,这意味着 VMware Server 不是直接安 装在裸机服务器上。相反,VMware Server 必须安装在一台服务器的操作系统上,诸如 Microsoft Windows 或 Linux 上。这与 VMware 的另一款服务器虚拟化产品 ESX 以及 开源虚拟化解决方案 Xen 相反。 TT 服务器技术专题之“主标题” Page 4 of 48 因为VMware Server 负担着现有操作系统的 I/O 开销,它没有裸机 hypervisor 有 效率。另一方面,由于能使用每个与主机操作系统兼容的硬件驱动,VMware Server 有 广泛的驱动兼容性。这与裸机 hypervisor 形成对比,由于裸机 hypervisor 为了保持内 核又小又快,它的控制操作系统的内核与许多设备驱动都不兼容,因此一般只能支持有限 数量的驱动。Xen 是特别的——它是裸机 hypervisor,不过它旨在拥有广泛的硬件设备 兼容性,因为它依赖驱动域操作系统提供设备驱动,一般是 dom-0 里的操作系统,不过 也不一定。 在本系列的第二部分中,我们将探究VMware Server的组件。 (作者:Andrew Kutz 译者:唐琼瑶 来源:TechTarget 中国) TT 服务器技术专题之“主标题” Page 5 of 48 VMware Server 的组件 你不能在没有向 VMware Server 服务与执行介绍自己的情况下就去安装 VMware Server。它们是你建立和管理安全、网络、管理和其他功能的工具,同样也为虚拟机准 备主机。一旦你了解了它们,你将需要创建网络和磁盘阵列(RAID)。 因此,我们现在来看看这些服务,使用网络和磁盘阵列来执行与结束。 VMware Server服务 下面是一些关键的服务: VMware授权服务 VMware 授权服务监听来自本地和远程 VMware Server Console 应用的进入连 接。它为这些连接监听 902 端口。显然,这个服务也验证用户。这个服务的 binary 位于 “/usr/sbin/vmware-authd”。 VMware NAT服务 VMware NAT 服务允许 NATd 网络上的虚拟机与公共因特网通信。这个服务的 binary 位于“/usr/bin/vmnet-dhcpd”。 VMware DHCP服务 VMware DHCP 服务为到服务器上虚拟机的 IP 地址服务,判断是 NATd 或在专有网 络上。这个服务的 binary 位于“/usr/bin/vmnet-natd”。 VMware Registration服务 VMware Registration 服务用于关闭和开启虚拟机并管理虚拟机的连接。这个服务 的 binary 位于“/usr/sbin/vmware-serverd”。 执行 执行是 VMware Server 里的行动英雄,下面是它的一些关键特性: /USR/BIN/VMWARE-CMD TT 服务器技术专题之“主标题” Page 6 of 48 这个应用能用于控制 VMware Server 和来自命令行的虚拟机。为了更多地了解这个 命令,输入“vmware-cmd”。这个命令的更多信息也能在 VMware 的 Web 站点找到。 /USR/LIB/VMWARE/BIN/VMWARE-VMX 这个binary 是宿主实际的虚拟机的过程。这个命令运行的安全环境非常重要,在后 面我们将讨论到。 管理用户界面(MUI) VMware VI3 现在抛弃了 MUI,MUI 是通过一个 Web 浏览器与 VMware Server 相互作用的一种方式。通过 HTTP 也可得到 http://HOSTNAME:8222/ and HTTPS at https://HOSTNAME:8333/ . SSL is enforced by default. 物理主机服务器 这个堆栈的底部是物理主机服务器。在裸机之上的是主机操作系统,本例中是 Ubuntu 6.10(Edgy Eft)Server。 VMware Server 由三个主要的组件构成,并安装在主机操作系统之上。它们是注册 服务、授权服务以及 MUI。注册服务开启和关闭虚拟机并控制到虚拟机的客户端的连接。 授权服务执行来自 MUI 和 VMware Server Console 的进入连接。MUI 让用户管理员通 过一个 Web 界面与虚拟机联系。 网络 在开始配置网络前,请从网络端口拔掉服务器的以太网线缆。多数服务器会受到工 具,因为它们安装在一个不安全的状态下。远离网络使服务器安全,然后过一会存储它的 网络连通性。 请注意,这对我来说是标准步骤,因为我发现自己安装 Windows 服务器通常过于安 装 Linux 服务器。我十分担心 Ubuntu Linux。不过,在安装服务器时不从网络拔掉线缆 当然不会伤害任何事。如果你想让服务器连接着网络,那么我也不阻止你。然而,请注 意,接下来将转到 SSH 这一步, 如果这台服务器仅有一个网络端口,这对服务器安全非常有帮助,安装一个 PCI 以太 网卡以提供一个额外的网络端口。这为虚拟机考虑到了专有管理网络接口与公共网络接 口。 TT 服务器技术专题之“主标题” Page 7 of 48 许多步骤使随后在下文 SSH 和 VMware 部分讨论的专有管理网络接口更容易。从服 务器上所有可用的 NIC 里,给这些 NIC 的以太网线缆打补丁到一个专有网络。这个专有 网络不需要访问公共因特网——它的唯一目的是提供给服务器管理员访问服务器的方法。 由于某些原因,如果这个不能完成,不要担心。使用 Linux 提供的工具创建一个专有管理 网络接口是有可能的。一个真实的、物理的、专有的网络仅仅是一个非常好的安全性增加 层。 RAID 配置一个应用经常受忽视的一部分是它的磁盘 I/O 要求。通常,当涉及到虚拟机出错 时,缓慢的磁盘访问是罪魁祸首,而不是 CPU 和内存。确保最佳磁盘 I/O(输入/输出) 的一种方式是正确配置服务器的 RAID 容器。RAID 配置由服务器可用磁盘数量决定。下 面是一个便利列表: 2 个磁盘——1 个容器,RAID-1(镜像) 3 个磁盘——1 个容器,RAID-1 with hotspare 4 个磁盘——1 个容器,RAID-10 5 个磁盘——1 个容器,RAID-10 或 2 个容器,RAID-1(系统),RAID-1 with hotspare(数据) 尽管RAID-5 很流行,但没有用到它,因为每次写入对计算奇偶校验有性能影响。每 个人都有自己的 RAID 配置参数选择,展示一些配置所作的尝试能提供最佳的磁盘访问次 数,不用牺牲冗余。标签“系统”和“数据”分别指明操作系统应该安装哪个容器以及数据 (在这种情况下指虚拟机)应该安装在哪个容器。 现在,你该准备好阅读下一步骤:安装Linux。这是有趣的部分! (作者:Andrew Kutz 译者:唐琼瑶 来源:TechTarget 中国) TT 服务器技术专题之“主标题” Page 8 of 48 如何为 VMware 安装及准备 Linux? 在这系列的上一部分中,TechTarget中国的特约虚拟化专家Andrew Kutz已经告诉 了我们VMware的服务及执行。现在我们该使Linux启用起来,为VMware Server作准 备。 如今有好几种可用的 Linux 企业级版本,VMware Server 在大多数版本上都能安 装。Ubuntu 是我喜欢的版本,它的最新、最稳定的服务器版是 Edgy Eft Server。尽管 Ubuntu 不是这些版本中最安全的,仍然有一些指标能够用于进一步确保没有讨厌的东西 或代码在服务器上缓慢运行。 在我们开始安装 Ubuntu 之前,我想说的是 VMware Server 仅受运行 Linux 内核 版本 2.4.19+或以上的 Linux 版本的支持。最低的公认受支持的的内核版本是 Mandrake Linux 9.0 的 2.4.19。VMware 也明确地声明内核版本 2.2.14??5.0 不受 支持。这似乎暗示着早于 2.4.19 的版本可用。 我猜想大多数Linux 管理员倾向于坚持使用他们喜欢的 Linux 版本。我还猜测就算 Ubuntu Server 已经不新了,没有多少管理员有经验安装它。由于这两种猜想,我将讨 论更多关于安装 Ubuntu 6.10(Edgy Eft)Server 的细节。 下载Ubuntu Linux 安装Ubuntu Server 的第一步是在服务器硬件驱动器上能运行它。你能从 Ubuntu 网站下载 Ubuntu 6.10(Edgy Eft)Server。你只需要选择合适的镜像。一旦你选择了 镜像,你需要找到服务器安装 CD。这个 CD 有 32 位和 64 位版本。我将使用 32 位版本 的,不过 64 位版本的效果也一样。这个 CD 镜像在 ISO 镜像格式是可用的,并按照这个 命名惯例——ubuntu-6.10-server-(i386|amd64).iso。下载合适你的 ISO 镜像,用 你喜欢的 CD 刻录软件刻录成 CD。 如果你是在Mac(介质访问控制)上下载 ISO 镜像,你能照着伯明翰的亚拉巴马大 学 IT 网站的说明使用 Disk Utility 刻录它。在 Linux 刻录 CD 非常容易;你能使用标准 电源工具 cdrecord。自从 GNOME 和 KDE 能识别 ISO 镜像格式,你能在文件上右击并 选择“刻录 CD”或这一类的一些标签(注意:我知道 GNOME 和 KDE 不是 Linux 桌面的 一切,不过它们是最受欢迎的两个,因此,请你不要使用 Window Manager 或在随后的 步骤使用)。Window 本来就不能刻录 ISO 镜像,不过有个免费工具能刻录,这个工具 叫做 ISO Recorder,可以在 alexfienman.com 网站获得。 从CD启动Ubuntu TT 服务器技术专题之“主标题” Page 9 of 48 一旦安装媒介准备好,就可以安装了。把安装 CD 放进服务器上的 CD/DVD-ROM。 不要太早开启服务器。你需要确保在硬件驱动之前从 CD-ROM 设备开始启动。如果你不 能确定是否这个启动顺序是按这个命令设置的,请进入服务器的 BIOS 把设置改过来。 如果你肯定CD-ROM 是启动顺序里首先启动的或者你已作了这样的修改,继续让服 务器打开过去的 BIOS。服务器将检测到 Ubuntu CD,显示以下画面: 第一个选择是“安装硬盘”,这是我们想要的并且已经被选中。继续点击“确定”按钮。 Linux语言和键盘设置 安装程序将提示你语言和位置,例如,我选择“英语”和“美国”。 接下来,你将遇到下面这样的屏幕: TT 服务器技术专题之“主标题” Page 10 of 48 如果你没有一个物理的键盘连接到服务器,就会出现这个屏幕,并且不能借助 Avocent 连接、DRACs 或一些其他的远程连接设备远程地安装服务器。如果上面这个屏 幕没有出现,当问你是否想要检测你的键盘布局时,选择“是”。如果安装程序没有选择你 所喜欢的键盘布局,你可以重新开始选择过程。 网络设置 在你选择了一个键盘布局后,安装程序将问你如何配置服务器的网络接口。这个屏幕 就像下面的这样: TT 服务器技术专题之“主标题” Page 11 of 48 服务器的这个屏幕截图来自一个 PCI 扩展卡上装载的一个 Intel NIC 和两个 Broadcom NIC。PCI 卡比装载设备有较低的 PCI ID 是很常见的,如果你有像屏幕截图 上那样多的 NIC,试着选择一个成为服务器的管理接口 NIC。如果你没有那么多的 NIC,显然,你只能选择唯一的那一个,这也行。在选择 NIC 之前,请记下安装程序分配 给 NIC 的 ID。在上面的截图中,它们是“eth0”、“eth1”和“eth2”。这些值很重要,后 面我们将用到它们。选择一个 NIC 并点击确定。 如果服务器没能获得一个 DHCP 租赁协议,你所选的 NIC 将出现下面的屏幕: TT 服务器技术专题之“主标题” Page 12 of 48 继续点击“进入”。现在,安装程序将问是否进入一个 IP 地址。进入服务器预定的 IP 地址并点击“进入”。接下来的屏幕将问你服务器的网络掩码值。进入网络掩码并点击“进 入”。将提示服务器的网关地址。进入网关地址并点击“确定”。接下来,安装程序将提示 这台服务器所使用的 DNS 服务器地址。进入 DNS 地址值并点击“确定”。 安装程序将提示服务器的主机名字,如下图所示: TT 服务器技术专题之“主标题” Page 13 of 48 正如安装程序所示,你应该只进入到主机名字,而不是正式的主机域名,这点很重 要。例如,在上面的截图中,我只进入到“vms02”,尽管主机的 FQDN(正式域名)是 “vms02.lostcreations.com”。进入主机名字后点击“进入”。 分区 现在该划分服务器的硬盘驱动了。我们想手动地编辑分区表,选择“手动编辑分区表” 并点击“进入”,将得到下面的分区方案: mount_point, size, file_system_type, options /boot, 200 MB, ext3, boot flag /, 6 GB, ext3 swap, 1.5x physical RAM, swap /tmp, 1.5x physical RAM, ext3 /var, rest of disk, ext3 我知道我是在Linux 分区表上火上浇油,不过听我说说。启动分区不需要那么大, 200MB 将可以用于更新你的内核,不用担心移动旧的内核。对于安装一台 Ubuntu 服务 器,6GB 对上图中的/分区是富裕的。swap 与/tmp 应该是服务器物理 RAM 的 1.5 倍,。我不是凭空说的,这是 VMware 服务器管理手册第 154 页推荐的。如果可能,把 /var 文件系统放到一个隔离的磁盘比放到剩余的文件系统里要好些。例如,如果你的 RAID 配置提供了两个容器,指定一个给/var。由于虚拟机文件在/var 里,这将增加虚拟 机的性能。 TT 服务器技术专题之“主标题” Page 14 of 48 完成分区后,点击“进入”,将出现下面这样的屏幕: 如果你很喜欢所分配的文件系统,继续选择“完成分区与磁盘写入更改”并点击“确 认”。安装程序将再次询问你确认你的分区表。如果满意你的选择,选择“是”并点击“确 定”。选择“ 不”将让你重新设置文件系统。一旦你准备好交付你的文件系统,我们就能继 续进行了。 时区和用户 安装程序接下来将让你选择时区。选择合适的时区点击“确定”。在继续进行前,安装 程序会问你是否你的系统调到 UTC。大多数时候已经是这样了,因此如果你不确定的话 就选择“是”并点击“确定”。 现在我们来创建系统的第一个用户帐户。第一个用户帐户很特别,因为它将自动添加 到“admin”组,反过来将作为“ALL=(ALL) ALL”配置在 sudoers 文件。这意味着 “admin”组里的用户能调用来自任何主机任何命令上的 sudo。这对于熟悉 sudo 的 Ubuntu 用户很重要,因为“根”用户在默认情况下没有密码设置,这意味着你不能作为根 用户登陆服务器。为了成为根用户,你将输入“sudo su”。Sudo 将激活你的密码,然后 确认你就是根用户。关于更多 sudo 的信息,请在 shell 里输入“man sudo”查看。 第一个屏幕显示帮助你创建第一个用户的情景,像下图这样: TT 服务器技术专题之“主标题” Page 15 of 48 请注意,我输入的是我的全名,不是我的用户名。在这使用用户名也可以,不过我推 荐使用全名。我意思是 Ubuntu 只是非常礼貌地询问,而不是粗鲁地拒绝你。输入你的全 名并点击“确认”继续。 接下来的两个屏幕将问你进入并确认你的密码。这很重要,尤其是如果你没有从网络 断开你的服务器时,因为我们将稍后启用 SSH 而不是首先限制它。与人们流行的观念相 反,一个密码的复杂性与需要多长时间追踪它几乎没有关系。复杂密码的观念来源于多年 以前大多数 UNIX 系统不能处理多于 8 个字符的密码的事实,因此,管理员给用户灌输了 一个观念,那就是密码越复杂越好。因此,忘记密码,多想想 passphrases。 密码与passphrases 一个32 字符或更长的 passphrases 比一个 8 字符长及复杂的 32 字符(仅是 8X4)将带来成倍地更长时间的追踪。复杂性没有帮助,不过长度是攻破一个密码需要多 长时间的决定因素。一些人可能认为 32 字符太长而很难记住。这就是为什么你不应该认 为这是一个密码,但作为一个 passphrases——句子的关联性。例如,我没再使用的一 个旧 passphrases 是“I first met my wife when she was my college T.A. and she hates it when I reveal that information”。这个 passphrases 有 100 字符长, 没有计算机能攻破它。注意,在这个 passphrases 的末端有两个空白这并不一定要空 格。它可以是任何字符,是不是在视觉上的代表,例如作为一个制表符。 一旦你确认了你的密码,就该完成安装了。 TT 服务器技术专题之“主标题” Page 16 of 48 完成安装 安装程序现在将复制安装 Ubuntu Server 所需的文件到服务器的硬驱动。复制过程完 成后,安装程序将提示你弹出 CD-ROM。不要弹出 CD-ROM。让安装程序重新启动服务 器,并继续进行下一步。 VMware Server需要的Linux组件 由于我们让CD-ROM 留在服务器里,服务器将在 Ubuntu 安装程序里启动。选择最 后的选项“从优先硬盘启动”并点击:“确定”。这将在我们已经安装的系统里启动。 如果遇到了注册提示,使用安装末尾创建的用户名和密码登录。 VMware Server 需要好几个组件。 VMware Server 使用 xinetd 宿主它的授权守护进程,我们将需要必要的组件和 Linux 包与 VMware Server 一起创建模块。 输入下面的shell 安装 xinetd: sudo apt-get install xinetd 有个口令提示。进入它,然后套件将继续从我们留在服务器里的 CD-ROM 媒介安装 xinetd 包。 通过点击“Y”确认 xinetd 的安装并完成 xinetd 的安装。 现在,当涉及到安装重要的组件,注意到组件包仅仅是一个 meta 包很重要。也就是 说,当你安装重要组件时,你实际上安装了几个包,而不止是一个。输入下面的: sudo apt-get install build-essential 取决于阅读最后几个句子需要多长时间,sudo 将可能仍然需要隐藏你的密码并提示 你。除了隐藏的密码,你将注意到 Ubuntu 将提示你接下来要安装的包: binutils build-essential cpp cpp-4.1 dpkg-dev g++ g++-4.1 gcc gcc-4.1 libc6-dev libstdc++6-4.1-dev linux-libc-dev make patch 我花时间解释meta 包的原因是,当你安装重要组件时,如果你想要移除所有已安装 的包,你不能输入: sudo dpkg --purge build-essential TT 服务器技术专题之“主标题” Page 17 of 48 你需要输入: sudo dpkg --purge binutils build-essential cpp cpp-4.1 dpkg-dev g++ g++-4.1 gcc gcc-4.1 libc6-dev libstdc++6-4.1-dev linux-libc-dev make patch 当你安装了一个 meta 包,追踪什么包实际上已被安装是个好注意。点击“Y”继续, 将安装这些包。 接下来,我们将安装 linux 包。输入: sudo apt-get install linux-headers Ubuntu 将通知你 linux-headers 是一个虚拟包,我们需要明确地挑选一个安装选 项。这个选项记载在表上,你想要选择名字叫做“linux-headers-2.6.17-10-server”的 包。请输入: sudo apt-get install linux-headers-2.6.17-10-server 再次注意,这个命令实际上安装了两个包: linux-headers-2.6.17-10 linux-headers-2.6.17-10-server ew 因此,为了完全地卸载 Linux,你将输入: sudo dpkg --purge linux-headers-2.6.17-10 linux-headers-2.6.17-10- server 点击“Y”完成 linux-headers 包的安装。 最后安装ssh 守护进程。请输入: sudo apt-get install ssh 将提示你安装下面的包: ssh openssh-server 点击“Y”完成 ssh 安装。 我先前提到过,不过现在我再次提醒,因为这很重要。在安装 ssh 之前,由于没有端 口开着,服务器是完全安全的,不过现在,在安装了 ssh 守护进程后,服务器为到来的连 TT 服务器技术专题之“主标题” Page 18 of 48 接监听端口 22(ssh daemon 端口)。如果在开始安装之前你没有断开服务器的网络, 尝试输入下面的命令: sudo tail -f /var/log/auth.log 终端在滚动吗?如果有,这是因为你网络上的一些机器有意无意地或恶意地使用 ssh 攻击你的机器。auth.log 文件能看见 ssh 登陆意图。停止追踪日志文件类型 CTRL-C。 最后,我们必须安装各种各样的包。请输入: sudo apt-get install libx11-6 libxtst6 libice-dev libsm-dev libxrender-dev libxi-dev 点击“Y”。下面的这些包将通过上面的命令安装: libx11-6 libx11-data libxau6 libxdmcp6 libxext6 libxtst6 libice6 libsm6 libxt6 libice-dev x11proto-core-dev libsm-dev libx11-dev libxau-dev libxdmcp-dev libxext-dev libxrender-dev libxrender1 x11proto-input-dev x11proto-kb-dev x11proto-render-dev x11proto-xext-dev xtrans-dev libxi-dev libxi6 现在我们安装了所有必要的组件,我们能继续配置和保护Ubuntu。 (作者:Andrew Kutz 译者:唐琼瑶 来源:TechTarget 中国) TT 服务器技术专题之“主标题” Page 19 of 48 如何为 VMware 配置和保护 Linux? 在上一部分中,我们学习了如何安装Linux,我们安装了所有必须的Ubuntu Linux 组件。现在我们能继续配置和保护Ubuntu安装。在这部分中,我们将讨论到这些步骤。 配置 由于Ubuntu Server Install CD 可能通常不在服务器的 CD-ROM 里,我们需要告 知 Ubuntu 为随后的更新另觅地方。(这个 CD 不包含来自 Ubuntu 的最新包装)为了 从更新序列里删除 CD 媒介,我们将在文件来源里注释掉它的入口。输入: sudo vi /etc/apt/sources.list 找到任何以“deb cdrom”开始的入口行,通过在行前加前缀 a "#"(磅)字符注释掉 行。这时候,你必须决定是否将为来自主要 Ubuntu 错误或一个本地的服务器回收更新。 如果你需要进一步编辑文件指向一个本地的知识库,那么这样做。 保存文件并退出编辑。 网络配置 现在我们来看看需要配置的网络设置。 /etc/network/interfaces 如果你的服务器里有附加的 NIC,现在是时候配置它们了。我们需要编辑文件 /etc/network/interfaces。 sudo vi /etc/network/interfaces 在我们修改文件之前,应该像下面这样: TT 服务器技术专题之“主标题” Page 20 of 48 这个节以“auto eth2”开始并以“dns-nameservers”结束,应整体复制。你的可能 不读 eth2;如果是这样,大多数可能是 eth0 或 eth1。不管这个,一旦这个节被下面 (或上面)现有的覆盖,我们需要对副本作一些更改。 这个副本仍然读“eth2”。在副本里任何读“eth2”的地方,你应该更改成在服务器安 装期间你记下的那些 NIC ID 号里的一个。例如,在下面的屏幕,我把副本“eth2”改成 “eth0”。 如果你注意到,我也在原先的节上更改了注释,从“原先的网络界面”到“管理网络界 面”。我也更改了副本上“虚拟机网络界面”的注释。 TT 服务器技术专题之“主标题” Page 21 of 48 你应该为服务器的每个 NIC 重复复制原始节的过程。服务器拥有的 NIC 的数量(或 至少是驱动有的)与你安装时记录的 NIC ID 的数量相同。所有附加的 NIC 专用于虚拟 机,因此当你复制时,你也应该更改它们的注释为“虚拟机网络界面”。只有原始的 NIC 将专用于管理服务器和 VMware;其余的 NIC 将专用于虚拟机本身。 一旦配置了所有的 NIC,保存并退出文件。为了核实我们所作的更改是正确的,输入 下面内容在服务器上重新启动网络: sudo /etc/init.d/networking restart 由于你没有任何连接的网络线缆,这个命令需要很长时间。如果你没有收到任何错误 信息,那么配置是正确的。如果收到错误信息,你应该返回并检查文件,看看是否输入了 错误的信息。如果你发现不了错误,你可能通常应该在 lostcreations dot com 网站给 我发邮件了。 /etc/hosts 我们需要修改/etc/hosts 文件以便服务器有一个完全合格的域名。输入: sudo /etc/hosts 你的主机文件将和下面的屏幕类似: 你的主机文件和我的主机文件的差别在于我已经在服务器添加了一个 FQDN(完全合 格域名)。看我文件的第二行,在主机名“vms02”之前,我添加了服务器的 FQDN“vms02.lostcreations.com”。在文件里添加你的 FQDN,保存并退出文件。 在控制台输入下面的命令能确认你的服务器拥有了 FQDN: TT 服务器技术专题之“主标题” Page 22 of 48 hostname –f 这将返回到你服务器的 FQDN。 Syslog 如果你访问一个专用的系统日志服务器,继续并指示服务器发送所有调试水平的日志 登录。可以通过编辑文件 file0 /etc/syslog.conf 做到: sudo vi /etc/syslog.conf 添加这行到文件里的任何地方: *.debug @FQDN_OR_IP_OF_SYSLOG_SERVER 保存并退出文件。假若你需要使用服务器诊断一个问题并不能登录的话,所有在系统 日志的调试记录能帮助你。 禁用服务 Ubuntu Server 装载了大量 VMware 服务器不需要的服务。如果服务器不需要使用 一个服务,那么这个服务就不需要在启动时启用。我禁用的两个服务是 alsa-utils 和 pcmciautils。你可能会发现其他你希望禁用的服务。你能通过/etc/init.d 目录清单看见 一系列服务。 alsa-utils 文件/etc/init.d/alsa-utils 很容易禁用。为了禁用 alsa-utils,重新命名每一个在 /etc/rcS.d/里的文件“S50alsa-utils”代号连接“K50alsa-utils”。这将在启动时从启用 禁止 alsa-utils。现在为了停止这个服务,输入: sudo /etc/init.d/alsa-utils stop pcmciautils 为了禁止pcmciautils,在/etc/rcS.d/里重新命名”S13pcmciautils“代号连接为 “S87pcmciautils”。这将在启动时从启用里禁止 pcmciautils 服务。现在为了停止这个 服务,输入: sudo /etc/init.d/pcmciautils stop 保护 TT 服务器技术专题之“主标题” Page 23 of 48 尽管Ubuntu Linux 是一个安全的操作系统,我们能做一些事情减少额外的攻击。 Host.deny 与 hosts.allow hosts.deny 和 hosts.allow 文件允许我们配置与服务器上的任何开放端口会话的远 程主机。例如,ssh 守护进程支持 TCP 封装,因此,它将尊重由 hosts.deny 和 hosts.allow 文件定义的 ACLs。另一方面,Apache Web 服务器(默认下)不支持 TCP 封装,因此,hosts.deny 和 hosts.allow 文件客户端能访问的 Apache 进程开放的端口 没有影响。 我练习了访问控制,这意味着我明确地拒绝所有的访问并同意访问。为了明白地拒绝 访问,编辑/etc/hosts.deny 文件: sudo vi /etc/hosts.deny 添加这行到文件的末端: ALL:ALL 保存并退出文件。这时候,如果你的服务器与网络相连,没有远程客户端能够访问任 何由支持 TCP 封装过程开放的端口。这是因为你已经明确地拒绝了所有客户端。 现在,你需要允许一些客户端。编辑 etc/hosts.allow 文件: sudo vi /etc/hosts.allow 通过在文件的末端添加下面的代码允许某些客户端的所有远程连接: ALL:CLIENT_HOSTNAME_1, CLIENT_HOSTNAME_2, CLIENT_IP_ADDRESS_1, *.CLIENT.DOMAIN.COM 保存并退出文件。通过主机名和 IP 地址,你能看见添加到文件里的目录。为了学习 更多关于主机访问控制列表文件,在 shell 里输入下面的行: man hosts_access 显示的 man 页面将描述 hosts.deny 和 hosts.allow 文件的格式(提示,它们是相 同的格式)。 这时候,所有远程客户端被拒绝访问由支持 TCP 封装(tcp wrappers)进程所扩展 的服务器端口,除了那些你明确允许的客户端。并且由于目前仅开放的端口是支持 sshd TT 服务器技术专题之“主标题” Page 24 of 48 进程的 22,并且由于 sshd 支持 TCP 封装,如果你的服务器在网络上,那么只有在 hosts.allow 文件里明确允许的客户端能够通过 ssh 与服务器连接。 SSHD 除了主机访问文件,另一种锁定 ssh daemon 的方法是限制客户端使用公共密匙认 证。 请确定你想要这么做。如果你确实要这么做,那么你将不能使用密码通过 ssh 远程登 录服务器。你需要有一个公共密匙。如果你不确定这一步,请阅读 sial.org 上的关于 ssh 和公共密匙的文档。 为了限制ssh daemon,编辑 etc/ssh/sshd_config: sudo vi /etc/ssh/sshd_config 找到这一行: # PasswordAuthentication yes 并更改为不接受密码认证: PasswordAuthentication no 我们也需要告诉 ssh daemon 只应该监听管理界面 NIC。找到这行: # ListenAddress 0.0.0.0 用下面的代替: ListenAddress MGMT_NIC_IP MGMT_NIC_IP 是管理网络界面的 IP。更改这个设置意味着 ssh daemon 将不会 监听专用于虚拟机的 NIC。 保存并退出文件。输入下面的行重新启动 ssh daemon: sudo /etc/init.d/ssh restart 现在,ssh daemon 将只接受公共密匙认证并只监听来自管理界面 NIC 上的连接。 IPtables TT 服务器技术专题之“主标题” Page 25 of 48 为了预防到服务器上的未授权访问,我们将建立防火墙。我们将在/etc/rc.local 里设 置这些规则以便在启动时间里启用,编辑 etc/rc.local: sudo vi /etc/rc.local 在文件里复制和粘贴下面的防火墙规则,使用服务器管理网络界面的 IP 地址代替 MGMT_NIC_IP。 - --- 开始复制 --- # # INPUT # # allow all incoming traffic from the management interface NIC # as long as it is a part of an established connection iptables -I INPUT 1 -j ACCEPT -d MGMT_NIC_IP -m state --state RELATED,ESTABLISHED # allow all ssh traffic to the management interface NIC iptables -I INPUT 2 -j ACCEPT -p TCP -d MGMT_NIC_IP --destination-port 22 # allow all VMware MUI HTTP traffic to the management interface NIC iptables -I INPUT 3 -j ACCEPT -p TCP -d MGMT_NIC_IP --destination-port 8222 # allow all VMware MUI HTTPS traffic to the management interface NIC iptables -I INPUT 4 -j ACCEPT -p TCP -d MGMT_NIC_IP --destination-port 8333 # allow all VMware Authorization Daemon traffic to the management interface NIC iptables -I INPUT 5 -j ACCEPT -p TCP -d MGMT_NIC_IP --destination-port 902 # reject all other traffic to the management interface NIC iptables -I INPUT 6 -j REJECT -d MGMT_NIC_IP --reject-with icmp-port-unreachable # # OUTPUT # TT 服务器技术专题之“主标题” Page 26 of 48 # allow all outgoing traffic from the management interface NIC # if it is a part of an established connection iptables -I OUTPUT 1 -j ACCEPT -s MGMT_NIC_IP -m state --state RELATED,ESTABLISHED # allow all DNS queries from the management interface NIC iptables -I OUTPUT 2 -j ACCEPT -s MGMT_NIC_IP -p UDP --destination-port 53 # reject all other traffic from localhost iptables -I OUTPUT 3 -j REJECT -s 127.0.0.1 --reject-with icmp-port-unreachable # reject all other traffic from the management interface NIC iptables -I OUTPUT 4 -j REJECT -s MGMT_NIC_IP --reject-with icmp-port-unreachable - --- 结束复制 --- 一旦你在/etc/rc.local 里复制和粘贴了防火墙,装载它们请输入: sudo /etc/init.d/rc.local start 核实防火墙已装载,输入: sudo iptables –L 你能看见防火墙目录在 shell 里。请记住防火墙目录是一个相当限制的设置,不过仅 关于管理界面 NIC。这个防火墙规则设置一点都不影响服务器里其他的 NIC 及专用于虚 拟机的 NIC。 如果通过ssh,你有一个到服务器的远程控制 session 并且不能发送一些服务器的信 息或发到另一台服务器,记住,你想这样做的话就必须编辑防火墙规则。例如,这个规则 没有考虑到你想要更新的服务器。 现在该安全地配置网络了。一旦上面这些完成,如果正确输了所有的网络信息,服务 器就能在网络上通话了。 在这一系列的下一部分中,我们将讨论如何保护VMware Server及监视与备份服务 器。 (作者:Andrew Kutz 译者:唐琼瑶 来源:TechTarget 中国) TT 服务器技术专题之“主标题” Page 27 of 48 如何在 Linux 上安装与备份 VMware? 在上部分中我们已经学过了如何为VMware Server配置和保护Linux。VMware Server的安装过程本身是极其简单的。在本文中,我们将讲解如何保护VMware,解决 Ubuntu下安装过程中出现的一些令人头疼的Bug,以及如何监控和备份服务器。 下载 安装VMware Server 的第一步是先获得此软件。从安全的计算机中下载最新版本的 Linux 系统 VMware Server 和用户管理界面(Management User Interface)。如果 你已经在线购买了服务器,可以利用 scp(远程拷贝)或 sftp(安全文件传输)将这些文 件传输到服务器,或者也可以将这些文件刻录到 CD-ROM,还可以用只读的物理交换机 放到闪存盘中。 在下面的例子中,我们用的是 VMware Server 1.0.1-29996,但是在你看到本文 时,VMware 可能已经发布了新版本的 VMware Server,所以有些地方可能有所不同。 手工安装包(tarball)传输到服务器后,将它们移到/usr/local/src。然后,输入如 下内容压缩手工安装包: sudo tar xzf VMware-server-1.0.1-29996.tar.gz sudo tar xzf VMware-mui-1.0.1-29996.tar.gz 文件被压缩后,会有两个目录: vmware-server-distrib vmware-mui-distrib 重命名这两个目录,为它们添加一个后缀-1.0.1-29996(或者其它版本)。它们应 该是这样的: vmware-server-distrib-1.0.1-29996 vmware-mui-distrib-1.0.1-29996 之所以要重命名这两个目录,是为了以后下载最新 VMware Server 发布和更新手工 安装包时,压缩目录不会覆盖以前的目录。 安装 TT 服务器技术专题之“主标题” Page 28 of 48 现在,可以开始安装 VMware Server 了。目录应该被改为: /usr/local/src/vmware-server-distrib-1.0.1-29996 快速列出文件: ls -1 你会看到安装程序,它叫做“vmware-install.pl”。输入如下内容开始安装: sudo ./vmware-install.pl 其中有几步会提示你进行设置,可以直接按下“Enter”键接受默认值。最后,安装程 序会在第一次运行 VMware Server 之前提示你进行设置,这个窗口是这样的: 注意安装程序调用的命令,“/usr/bin/vmware-config.pl”。以后每次在此服务器上 更新内核都需要再运行这个命令,因为这条命令是建立 VMware Server 内核模板。所以 一定要记住,如果要更新内核,就准备好再次运行“/usr/bin/vmware-config.pl”。 按“Enter”键继续。这时,如果你没有安装上面 Component 部分中归类为 various 的包,会得到一个类似如下的警告: The correct version of one or more libraries needed to run VMware Server may be missing. This is the output of ldd /usr/bin/vmware: linux-gate.so.1 => (0xffffe000) libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7ed1000) libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7ecd000) libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7eb9000) libX11.so.6 => not found TT 服务器技术专题之“主标题” Page 29 of 48 libXtst.so.6 => not found libXext.so.6 => not found libXt.so.6 => not found libICE.so.6 => not found libSM.so.6 => not found libXrender.so.1 => not found libz.so.1 => /usr/lib/libz.so.1 (0xb7ea4000) libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7d70000) /lib/ld-linux.so.2 (0xb7efc000) 如果你安装了所有我让你安装的包,你不会得到这个警告。显示证书协议,阅读此协 议。继续接受安装程序的各默认值,直到提示所有的 VMware Server 预建模板适合运行 的内核: 如果你已经安装了所有 package,你就可以按“Enter”键继续。然后,确认 kernel header 的位置,再按“Enter”,看 VMware Server 安装程序建立内核模板。 内核模板建立完成后,安装程序会提示你是否要为虚拟机配置网络。接受默认的 “是”,按“Enter”键。如果服务器有多个 NIC,那么安装程序会询问你想将哪个 NIC 与 vmnet0(第一个虚拟机网络接口): TT 服务器技术专题之“主标题” Page 30 of 48 还记得配置的NIC 和指定的服务器管理界面 NIC 以及虚拟机 NIC 吗?输入指定为虚 拟机 NIC 的 NIC 名,例如,我输入的是“eth0”。按“Enter”以确认这个选择。 安装程序会询问你是否要配置另一个桥接网络。如果你把所有剩余 NIC 都专用于服 务器上的虚拟机了,你可能会想重复这个过程,为每个虚拟机 NIC 创建桥接网络。桥接 网络创建完毕后,继续安装过程。 安装程序会询问是否在虚拟机中使用 NAT 网络。按“Enter”接受默认选择的“是”。然 后,安装程序还会询问你是否要探测未使用的私有子网网段(private subnet)。按 “Enter”,接受默认值“是”。会出现如下错误: 由于我们前面配置的 iptable ruleset,安装程序无法探测网络。这没关系,安装程 序会要求你输入专用网络上主机的 IP 地址。输入“192.168.0.2”,按“Enter”键。 TT 服务器技术专题之“主标题” Page 31 of 48 下一步,安装程序会询问专用网络的子网掩码。输入“255.255.255.0”,回车。安 装程序会根据你输入的信息创建一个 NATd 网络。这个网络将是一个/24 网络,能容纳 254 台主机,这应该是比较充裕的。 下一步,安装程序会询问你是否想要为虚拟机配置 host-only 网络。按下“Enter”键 接受默认选项“是”。这里,安装程序会再一次询问是否探测未使用的私有子网网段。这次 输入“no”,回车。再一次输入 IP 地址(使用“192.168.1.2”),回车。使用与前面一样 的子网掩码“255.255.255.0”,回车。安装程序会创建一个可容纳 254 台主机的 host- only 网络。 现在,安装程序会询问使用哪个端口接受 VMware Server Console 连接。接受默 认端口 902 即可,按下“Enter”键继续。 注意,安装程序会停止和开始 xinetd daemon。这是因为 VMware Server 使用 xinetd 宿管 VMware Server authentication daemon,而且 xinetd 使用 tcp 外壳 (wrapper),这就意味着服务器的 hosts.deny 和 hosts.allow 文件会控制谁能够利用 VMware Server Console 应用远程连接到 VMware Server。 尽管没有提示,请注意,安装程序会说它是“Generating SSL Server Certificates”。以后,我们将会探讨这个问题。 现在,安装程序会询问存放虚拟机的目录。我们不想使用默认目录,因为默认值不仅 包含空格,还有大写字母。这是 Linux 系统,为了保险起见,不要使用默认值。 将默认值更改为“/var/lib/vmware/vms”,按下“Enter”键继续安装过程。 最后,安装程序会询问 VMware Server 序列号。要得到 VMware Server 的免费 序列号,请到 www.vmware.com/download/server,点击“现在注册”按钮即可获 得。获得序列号之后,输入序列号,按“Enter”键继续。 恭喜!VMware Server 安装完成,并已在服务器中运行。现在,就该配置和保护 VMware Server 了。 配置 与Windows 下的 VMware Server 不同,Linux 下的 VMware Server 大部分配置 实际上是由安装程序来完成的。不过,我们还有一件事需要做。 vmware-authd TT 服务器技术专题之“主标题” Page 32 of 48 在前面已经提到过,VMware authentication daemon 是宿于 xinetd 服务的。我 们需要修改 VMware authentication daemon 的配置,以便它只监听管理界面 NIC 的 连接。我们可以通过编辑如下文件来修改配置: sudo vi /etc/xinetd.d/vmware-authd 文件应该是这样的: # default: on # description: The VMware remote access authentication daemon service vmware-authd { disable = no port = 902 socket_type = stream protocol = tcp wait = no user = root server = /usr/sbin/vmware-authd type = unlisted } 在以端口开始的一行上面,我们要添加一行。添加之后,文件应该是这样的: # default: on # description: The VMware remote access identification’s daemon service vmware-authd { disable = no bind = MGMT_NIC_IP port = 902 socket_type = stream protocol = tcp wait = no user = root server = /usr/sbin/vmware-authd type = unlisted } 用管理界面的IP 地址替换 MGMT_NIC_IP,保存此文件,退出。用如下命令重启 xinetd: sudo /etc/init.d/xinetd restart TT 服务器技术专题之“主标题” Page 33 of 48 现在,VMware authentication daemon 会只监听专用管理界面上即将发生的连 接。 /lib/security/pam_unix2.so 我们必须建立一个快捷的符号链接(symlink),以防止 VMware Server Console 认证 vmware-authd daemon 时出错。执行如下命令建立符号连接: sudo ln -s /lib/security/pam_unix.so /lib/security/pam_unix2.so 如果不这样做,你会在/var/log/auth.log 文件中看到一个错误: Jan 19 04:15:48 vms02 vmware-authd[18898]: PAM unable to dlopen(/lib/security/pam_unix2.so) Jan 19 04:15:48 vms02 vmware-authd[18898]: PAM [dlerror: /lib/security/pam_unix2.so: cannot open sha red object file: No such file or directory] Jan 19 04:15:48 vms02 vmware-authd[18898]: PAM adding faulty module: /lib/security/pam_unix2.so 创建符号链接之后,就不会出现这个错误了。 监控 要对VMware Server 进行监控,可以有好几种方法。要查看 VMware Server 如 何工作,最原始的方法是访问 https://HOSTNAME:8333/的 VMware Server MUI。 MUI 会显示服务器中运行的虚拟机的使用统计数据。 另一种监控VMware Server 的方法是利用 VirtualCenter 1.x 和 2.0.1。它可以管 理 VMware Server 主机,并提供 VMware Server 主机的统计数据。 备份 VMware Server 没有 ESX 那样的热备份能力,所以在备份虚拟机之前一定要先将 其挂起。关于主机中的虚拟机备份和虚拟机自身的备份代理配置,在 VMware Server 管 理指南的第 95 页有非常简明的说明。在这里重复 VMware 自己的操作指南就没有什么意 义了,所以这部分请参照官方指南。 现在,你可以继续阅读下一部分的内容了:如何获得、安装、保护、配置和登陆管理 用户界面。 (作者:Andrew Kutz 译者:涂凡才 来源:TechTarget 中国) TT 服务器技术专题之“主标题” Page 34 of 48 如何使用 Linux 安装和管理 VMware MUI? 在上一部分中,我们配置和保护了Linux。接下来,我们将学习管理用户界面(MUI)。 与VMware Server的Windows版本不同,VMware Server MUI是一个单独的组件,安 装在Linux版本下。在本文中,TechTarget中国的特约虚拟化专家Andrew Kutz将详细 介绍如何获得、安装MUI,如何保护和配置MUI,以及如何登陆MUI。 下载 下载VMware Server 手工安装包(tarball)后,就应该已经有了 VMware MUI 安 装包。 安装 安装VMware Server MUI 的第一步是将目录更改为“/usr/local/src/vmware- mui-distrib-1.0.1-29996”。然后,输入: sudo ./vmware-install.pl 安装过程非常简单,接受所有的默认设置即可。完成安装后,会看到如下内容: 你会发现,VMware Server MUI http 服务器启动失败。这是因为 Edgy Eft 设置 有误,我们需要手动更改设置,以确保它能正常工作。 配置 TT 服务器技术专题之“主标题” Page 35 of 48 现在,我们看看如何进行手动设置。 /etc/init.d/httpd.vmware 安装完成后,VMware Server MUI 不能在 Edgy Eft 上正常启动。多亏 VMware 论坛上的一位用户(叫 tauceti)的解决办法,所以这个问题很容易处理。我们需要编辑 用于启动 VMware Server MUI http 服务器的初始化脚本(init script)。输入: sudo vi /etc/init.d/httpd.vmware 跳到第 258 行,258 行到 263 行应该和下面的类似: start) vmware_exec "Starting httpd.vmware:" vmware_start_httpd ;; stop) vmware_exec "Shutting down http.vmware: " vmware_stop_httpd ;; This stanza is the problem. Edit this text so that it resembles: start) # vmware_exec "Starting httpd.vmware:" vmware_start_httpd echo "Starting httpd.vmware:" vmware_start_httpd ;; stop) # vmware_exec "Shutting down http.vmware: " vmware_stop_httpd echo "Shutting down http.vmware" vmware_stop_httpd ;; 做这些更改后,保存文件并退出。现在,输入如下内容启动 VMware Server MUI: sudo /etc/init.d/httpd.vmware start 有一个小问题。我们刚刚更改的这个文件会在下一次重启服务器时被一个“清洁版”的 文件所替换。我们还得编辑这个“清洁版”的文件,使它也有如上的更改。 我们需要更改的这个文件是/usr/lib/vmware-mui/src/lib/httpd.vmware。同 样,将上面的那些更改应用到这个文件即可。现在,下一次重启服务器时,这些更改会被 保存。 /usr/lib/vmware-mui/apache/conf/httpd.conf TT 服务器技术专题之“主标题” Page 36 of 48 默认情况下,VMware Server MUI 会监听所有网络接口的连接。与 vmware- authd daemon 一样,我们也必须重新配置 VMware Server MUI,使它只监听管理界 面 NIC。首先,我们必须将目录更改为“/usr/lib/vmware-mui/apache/conf”。然后, 输入如下命令(其中,MGMT_NIC_IP 是你指定为管理界面 NIC 的 IP 地址): sudo cp httpd.conf httpd.conf.bak; sudo bash -c ’cat httpd.conf.bak | sed -r "s/^([[:space:]]+)Listen ([[:digit:]]+)$/\1Listen MGMT_NIC_IP:\2/g" > httpd.conf’ 上面的命令会备份 http.conf 文件到 http.bak,并且会创建一个新的 http.conf 文 件替换所有 Listen 指令,以便包含管理界面 NIC 的 IP 地址和端口的 Listen 指令替换原 有 Listen 指令。 我们还需要这样更改 http.conf 的源文件。要完成这个操作,只需将目录更改为 “/usr/lib/vmware-mui/src/apache/conf”,然后执行与刚才一模一样的替换命令。好 了,这样就完成了 http.conf 修改。 重启VMware Server MUI: sudo /etc/init.d/httpd.vmware restart 现在,VMware Server MUI 就只监听管理界面 NIC 的连接了。 登陆 现在,你应该能够浏览https://MGMT_NIC_IP:8333并看到服务器的VMware Server MUI了。然而,还有几件事需要考虑。 尽管非根用户(non-root user)可以登陆 MUI 管理他们自己的虚拟机,但只有根 用户(root user)才能通过 MUI 管理 VMware Server 本身。Ubuntu 默认情况下没有 启用根用户,所以你如果想通过 MUI 管理 VMware Server,就必须启用根用户。用如 下命令可以启用根用户并设置根用户口令: sudo passwd root 设置根用户口令后,你就能够用根用户帐号登陆 MUI 了。 只有有虚拟机权限的用户才能登陆 MUI。这就意味着,尽管你可能在安装 VMware Server 的服务器上有一个用户帐号,但除非这个用户帐号有虚拟机 vmx 文件的执行权 限,否则你还是不能登陆 MUI。我们将在后面的文章中再讨论文件权限的问题,以及文件 权限对虚拟机的意义。 TT 服务器技术专题之“主标题” Page 37 of 48 VMware Server Console 本指南的Windows 版本没有专门的 VMware Server Console 部分,因为在 WindowsServer 中安装 VMware Server 时也会安装控制台,管理员可以立即开始操作 VMware Server。 由于我们在没有 Windows X 的 Ubuntu 中安装了 VMware Server,所以我们需要 在一台单独的计算机上安装 VMware Server Console。在本指南中,我们将在 Ubuntu 6.10(Edgy Eft)中安装 VMware Server Console。 下载 要获得VMware Server Console很容易,只需登陆VMware Server网站 https://MGMT_NIC_IP:8333/,网页中会有一个下拉菜单,菜单中包含了各种不同版 本的VMware Server Console。选择Linux系统下安装的版本,其标签为“VMware Server Console for Linux (tar.gz)”,点击“下载”即可。 安装 下载手工安装包后,打开,将目录更改为下载位置。压缩安装包,然后和前面 VMware Server 和 VMware Server MUI 文件源目录一样,将其目录“vmware- server-console-distrib”更改为“vmware-server-console-distrib-1.0.1-29996” (或者其它版本)。这将防止被以后可能下载的 VMware Server Console 新版本覆 盖。 将目录更改为“vmware-server-console-distrib-1.0.1-29996”,输入如下命令开 始安装程序: sudo ./vmware-install.pl 安装过程很简单,只需接受所有默认设置即可。 连接VMware Server 连接VMware Server 服务器的第一步是启动新安装的 VMware Server Console。如果你使用的是 GNOME 或 KDE,安装程序会在系统菜单中创建一个快捷方 式。你还可以输入“vmware-server-console”从外壳(它在/usr/bin,所以应该在你的 路径下)启动控制台。 VMware Server Console 启动后,会询问你要进行连接的主机名。输入 VMware Server 服务器上的管理 NIC 的 IP 地址。此外,还要输入一个用户名和口令。在 VMware 中我没有证实过这个,不过好像 VMware Server 服务器上的任何用户都可以 TT 服务器技术专题之“主标题” Page 38 of 48 通过控制台登陆服务器。我对此做过测试,重新创建一个新用户,我没有为该用户建立外 壳,也没有为该用户创建主要组(primary group)或主目录,但是这个用户可以通过控 制台登陆。 现在你已连接到远程服务器了,请继续阅读下一部分:如何在Linux系统下创建 VMware虚拟机。 (作者:Andrew Kutz 译者:涂凡才 来源:TechTarget 中国) TT 服务器技术专题之“主标题” Page 39 of 48 如何在 Linux 下创建 VMware 虚拟机? 在本系列的上部分中,我们讲到了如何为Linux系统安装VMware Server管理用户 界面。在本文中,TechTarget中国的特约虚拟化专家Andrew Kutz将教你如何创建 VMware虚拟机。VMware Server Console连接到远程服务器后,点击“文件”菜单项, 然后点击“新的”及“虚拟机”。也可以使用组合键CTRL—N新建虚拟机。此外,VMware Server Console主屏中间的大按钮也可以用于创建新虚拟机。 选择新建虚拟机后,会出现一个向导,其标头为“新虚拟机向导”,点击“下一步”按 钮。 选择“自定义”选项,然后点击“下一步”。 TT 服务器技术专题之“主标题” Page 40 of 48 为虚拟机选择合适的子操作系统,并选择操作系统的版本。在本示例中,我们选择的 操作系统是 Microsoft Windows Server 2003 标准版。然后,点击“下一步”。 TT 服务器技术专题之“主标题” Page 41 of 48 为虚拟机选择一个名字。虚拟机位置一项将自动填写。点击“下一步”。 反选复选框“使虚拟机为私有”。这样,系统将根据文件权限(file permission)许可 或拒绝用户对虚拟机的访问。点击“下一步”。 尽管现在你可能很想为新建的虚拟机选择两个虚拟处理器,但是这样做不好。因为, 在 Windows Server 2003 中不能移除多余处理器。在 Windows Server 2000 中可以 这样做,但不知为什么,2003 版中不能。尽管以后要为虚拟机添加资源(本例中为 CPU)比较麻烦,但如果多余的 CPU 未被使用,将无法被移除。所以,最好先只选一 个,等以后要用的时候再添加,以免资源闲置。 选择“一个”,然后点击“下一步”。 尽管现在大多数服务器都至少需要 1G 内存,但 Windows Server 2003 只需 384M 内存就可流畅运行。为了保险起见,可以选择 512M。如果以后服务器需要更大的 RAM,可以再为它分配,以满足其需求。点击“下一步”。 除非虚拟机需要用专用网络或 NATd 网络,否则就选择“使用桥接网路”。在本指南 中,我们将不会讨论 VMware Server 中所有不同的网络设置类型。不过,随后即将会有 一个关于高级网络和 VMware Server 的指南。 TT 服务器技术专题之“主标题” Page 42 of 48 点击“下一步”。 BusLogic 适配器支持 legacy。选择“LSI Logic”,然后点击“下一步”。 选择“创建新虚拟磁盘”,点击“下一步”。选择“SCSI”,点击“下一步”。 Windows Server 2003 标准版安装只需 6G 空间就 OK 了,所以磁盘大小赋值为 “6”。 现在,有一个问题:是否为虚拟硬盘镜像预分配空间呢?如果服务器有 6G 的空余空 间,那么完全可以预先分配。这将提高虚拟机的性能。然而,预先分配空间也意味着磁盘 以后不能缩减或碎片整理。这一点一定要记住。 还有一个好办法,就是选中那个选项旁边的复选框,将磁盘分为若干个 2G 的文件。 这样,如果需要将虚拟机磁盘文件刻录到 DVD,或者通过网络传输文件,就会轻松得 多。转移或复制的数据越小,出错的几率也越小。 点击“下一步”。 为磁盘文件选一个好记的名称,如“%HOSTNAME%-system.vmdk”。点击“下一 步”。 TT 服务器技术专题之“主标题” Page 43 of 48 恭喜你!虚拟机创建完成! 文件权限 在Linux VMware Server 中,文件权限(file permission)是最重要的——尤其 是虚拟机配置文件(vmx 文件)的权限。虚拟机 vmx 文件的位置在 “/var/lib/vmware/vms/VM_NAME/VM_NAME.vmx”。有两种情况会涉及到 vmx 文 件的权限:用户访问和进程所有权(process ownership)。 用户访问 用户对虚拟机的访问权限级别是由虚拟机 vmx 文件中设置的文件权限所决定的。如 下是各种可能的文件权限以及它们的效果: • rwx——用户可以完全控制虚拟机,也可以登陆 VMware Server MUI。 • r-x——用户可以控制虚拟机状态(开/关/挂起),也可以登陆 VMware Server MUI。 • rw——用户可以更改虚拟机配置,但是不能改变虚拟机状态。如果用户没有任何 虚拟机的执行特权,将不能登陆 VMware Server MUI。 用户在 MUI 中只能看到自己有访问权限的虚拟机。 进程所有权 如果在 Windows 系统下安装 VMware Server,虚拟机进程的用户账号有很大的选 择余地。但是,Linux 系统下安装的 VMware Server 并非如此。所有虚拟机都运行于拥 有 vmx 文件的用户的安全环境(security context)。 这里,有一个安全性措施你可能想试试。创建一个低权限(low-privileged)的用户 账号,使它拥有所有虚拟机 vmx 文件。这样,所有的 vmx 进程就都由一个低权限用户 所有。 在本系列的下一部分中,我们将讲述在新虚拟机中如何安装子操作系统。 (作者:Andrew Kutz 译者:涂凡才 来源:TechTarget 中国) TT 服务器技术专题之“主标题” Page 44 of 48 Linux 系统下如何使用 VMware 安装子操作系统 在上文中,我们已经学习了如何创建虚拟机。现在,我们把注意力转向虚拟机的操作 系统安装。 准备工作 这一步是最简单的一步。为了达到本文的目的,我们安装的子操作系统将是 Windows 2003 Server 标准版。 安装子操作系统的第一步是将 Windows 2003 Server 标准版 CD 插入服务器 CD- ROM。 如果虚拟机经常会安装这个操作系统,最好创建一个安装 CD 的 ISO 镜像——可以 用命令“dd”进行创建。VMware Server 下 ISO 镜像的使用非常简单。在 VMware Server Console 选择新建的虚拟机,点击“虚拟机”菜单项,然后点击“设置”,会出现一 个新窗口“虚拟机设置”。新窗口的左侧有个菜单,列出了虚拟机的设备。 选择设备“CD-ROM(IDE 1:0)”,右边会有一个 “使用 ISO 镜像”选项。选择此选 项,然后找到需要使用的 ISO 镜像。虚拟机会把 ISO 镜像看作一张已插入 CD-ROM 的 CD。 插入安装CD 或载入 ISO 镜像之后,打开虚拟机。这是虚拟机第一次启动,CD- ROM 是启动顺序(boot order)中唯一的设备,所以任何可引导的 CD 或 ISO 镜像都将 被导入。然而,以后打开虚拟机时 CD-ROM 就不在启动顺序之列了(默认),需要手动 干预才能从 CD 或 ISO 镜像启动。这是一个小提示,以免以后遇到麻烦。 安装 CD 导入后,按照常规方法安装 Windows 即可。 VMware工具 Windows 安装完成后,还需安装 VMware Tools。VMware Tools 由一些特殊驱动 组成,这些驱动知道如何与 VMware Server 交互。VMware Tools 会让虚拟机的屏幕 分辨率更高、色深更高、网络连接(Gigabit)更快,还有智能的内存管理。VMware Tools 还有其它功能,要了解全部功能,请参见“VMware Server 虚拟机指南”第 39 页。 TT 服务器技术专题之“主标题” Page 45 of 48 要安装 VMware Tools,可以点击“虚拟机”菜单项,然后点击“安装 VMware Tools”,会出现一个类似如下的窗口。 点击“安装”,VMware Tools ISO 镜像会作为虚拟机 CD 被载入。余下的安装会在 虚拟机内进行,安装过程相当简单。提示选择安装模式时,选择“完全”安装选项。 在这过程中,很可能会弹出如下提示。 TT 服务器技术专题之“主标题” Page 46 of 48 既然VMware Tools SVGA 视频驱动已经安装,Windows 肯定会希望启用硬件加 速。所以,点击“是”。 然后,会出现一个显示属性窗口。点击“故障检修(troubleshoot)”标签,然后将 “硬件加速”滑动条拖到最右端的“全速”。 点击“确定”,然后点击 VMware Tools 安装窗口的“完成”按钮。重启虚拟机以完成 VMware Tools 安装。 TT 服务器技术专题之“主标题” Page 47 of 48 VMware 网站上提供了一个非常详细的 VMware 子操作系统安装指南。 内核更新和/usr/bin/vmware-config.pl 在本指南中,我一再提到内核更新。不过,现在我还要再提醒一下,这非常重要。如 果你更新了服务器内核,可能就必须重新配置 VMware Server。执行 /usr/bin/vmware-config.pl 命令即可重新进行配置。如果不重新配置,VMware Server 组件可能不会载入到正在运行的内核中,而且虚拟机会失去网络能力和高级内存 管理等。所以,请一定要记住。 结束语 本系列所提供的指南旨在帮助系统管理员在Linux系统下安全部署VMware Server。如果您有问题,欢迎发送到SearchServerVirtualization.com,或邮件至专家 信箱editor@searchservervirtualization.com。 (作者:Andrew Kutz 译者:涂凡才 来源:TechTarget 中国) TT 服务器技术专题之“主标题” Page 48 of 48
还剩47页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 6 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

hotfish_010

贡献于2012-10-30

下载需要 6 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf