我应该如何将 debian 安装到我没有物理访问权限的远程服务器上?
关于服务器的背景:debian 安装,没有 xen 或 lvm,ext3 fs 占用所有磁盘,有 11G 可用空间。
这是我的行动计划,请发表评论并提出改进建议。
- 尝试将安装的分区缩小到 current_data_size + 2G。
- 使用 fdisk/mkfs.ext3 在已释放的空间中创建一个新分区
- 使用一些无人值守/远程安装技术在新分区(可能是 debian)中安装临时 FS(有什么建议吗?)
- 修改 grub 的 menu.lst 以从新分区启动内核(这足以让新操作系统运行吗?)
- 重启..
- 进入新操作系统后(如何确保它有一个活动的 sshd 服务器?)使用 FS 工具擦除旧操作系统,使用 resize2fs 增大新分区以超过清除旧分区释放的空间。
一些随机问题:我可以使用 LVM 安装新操作系统,然后在有额外空间可用时扩展 VG/LV 以占用它吗?
编辑:
我是否意识到缩小已安装的文件系统存在缺陷,但缩小已安装的分区是不可能的?
系统有一个 unsed 分区用于交换,2.5G 大小,也许我可以将它交换并格式化以安装新的操作系统,你怎么看?
免责声明,这不完全是您问题的答案。
有很多方法可能会出错。您需要控制台访问权限,如果不是为了安装,那么出于十几个原因中的任何一个,您的服务器可能无法干净地提供未来的升级或补丁。享受那些远程网卡驱动程序更新!
如果这是一台真正的服务器,您应该购买某种形式的熄灯管理卡(如 HP 附带的集成 ILO)。您可以通过初始配置远程与某人交谈,然后再也不会出现问题。
http://en.wikipedia.org/wiki/Lights_out_management
在分区仍然挂载时缩小分区可能......嗯,令人兴奋。
至于“设置一切并重新启动,希望它启动,sshd 启动,等等......”,好吧,你可能不会犯一个错误并成功,但我要做的是,获得另一台你可以访问的机器,然后尝试所有这些。不碰盒子。每次你搞砸了,去修复它,再试一次,然后做笔记。在你擅长这一点之后,你就有更好的机会在远程机器上取得成功。
尽可能多地建立“出路”。如果您对盒子的 BIOS 进行某种无头远程访问,这也容易得多,但我相信您别无选择。
让我们知道怎么回事。
是的,缩小已安装的分区是不可能的。您可以安装在交换分区上,使用 chroot 可能是最简单的。其他选项:您可以安装内核以进行 nfs 引导,或者如果您的网卡支持,则进行 PXE 引导。然后,您可以尝试缩小分区,或者干脆将其废弃并从网上安装。
这是可行的,但完全远程会造成您失去对机器的控制的“漏洞”(通常在启动时)。ILO 或串行控制台 + 远程电源可能会为您填补这些空白,但需要在现场完成一些配置,因此归结为拥有“远程手”(您可以通过电话指导的人)。如果可以设置远程 BIOS 访问,那就去做吧,以后会节省很多时间。
此外,调整挂载分区的大小是不可能的(至少对于我知道的大多数文件系统)。使用交换分区进行 debootstrap 安装或进行 PXE 安装。
几年前,我通过创建一个完全预置的自定义 CD、对磁盘进行分区、安装了所有基础知识并为我留下了一台已配置的机器,准备好通过 SSH 进入和管理,从而处理了类似的情况。我使用http://linuxcoe.sourceforge.net/作为图像的基础,然后对其进行了调整。
当然,将图像调整到绝对自动化的程度需要一段时间,但这意味着我可以有一个 DC 猴子机架并安装操作系统,而无需考虑。主要用于大量安装,在您的情况下,我更倾向于使用 IPKVM 或串行控制台(如果您有一个好的 colo 提供商,他们应该能够让您连接)除非您已经获得了 IPMI/iLO/DRAC,它们是最好的临时远程管理工具。
有一件事让我很困惑——如果远程系统已经安装了 debian,为什么还要重新安装它?为什么不根据需要升级或安装/重新安装软件包?
但是,忽略这一点,你想做的事情是很有可能的。我已经做过几次(包括将位于英国的几台远程 HP/Compaq 机器从 RHEL 转换为 Debian,而我在澳大利亚时)。如果您在服务器中有一个远程管理卡(如 iLO 等),它往往会更顺畅且风险更小,但如果没有它也可能(只是风险更大)。
一般的想法是将debian安装到备用分区(如果没有其他可用空间,可以使用交换分区),chroot到该分区,安装sshd,配置grub和其他需要配置的东西(fstab,例如)。你说你的系统有 11GB 可用空间,所以你可以使用它。
如果现有系统是 debian,您可以使用 debootstrap 或 cdebootstrap 将 debian 安装到您的备用分区中。
如果现有系统不是 debian,请使用 debootstrap(甚至是标准 debian 安装程序)将 debian 安装到本地系统上的子目录(或 xen/kvm/virtuablbox vm)中,然后将其 tar。将其 scp 到现有系统并将其解压缩到正确的位置。
与任何主要的系统“手术”一样,在您开始做任何工作之前,制定您将要做什么以及您将要执行的顺序的计划。写下计划的过程会提醒您需要做的其他事情。然后停下来重新阅读你的计划,并做任何你需要的更正或额外的笔记。这样做几次,直到你确定你没有忘记任何东西。
试着设计你的计划,把“不归的时刻”推迟到最后可能的时刻。这通常意味着许多安全、无聊的准备步骤,最后一步来激活所有先前的步骤……并且,只要有可能,给自己留出一种方法来恢复/撤消每个步骤。例如,设置 grub 以便下次重新启动时只会启动到您的新环境,但随后的重新启动将启动到旧环境中 - 这样如果它没有恢复,您只需重新启动它即可。如果它有效,那么您可以手动更改 grub 的默认值。
如果可能的话,在本地机器上练习这个过程......没有键盘或显示器,就像你在远程机器上一样。
但是,在某些时候,您将不得不赌自己做对了并重新启动机器。正是在这一点上,拥有一个远程控制台是无价的。如果您没有,请尝试为远程数据中心的某个人安排一个特定的时间,以便在必要时通过电话/电子邮件/irc 遵循您的指示。
祝你好运。