我是一名 Web 开发人员,现在正在运行 VPS。我总是在自己的机器上工作,我处理过各种 Linux 发行版,但从未使用过生产服务器。
我创建了一个 VPS,它有 1Gb RAM 和 100Gb 硬盘(如果需要,可以以 100GB 为单位进行扩容)。在这个服务器上,我将安装五个用 Symfony2 (PHP) 开发的应用程序。所有应用程序都小于 1Gb,但可以根据用户上传的视频/照片进行扩容。它供公司内部使用。
是的。我会在 Debian7 中安装 LAMP,但是您认为哪个分区分布比较好?像这样的分区分布就可以了?/ (Root) 5Gb / (Swap) 2Gb / tmp 5Gb / home 5Gb / var 其余部分
我有另一台服务器,其中所有虚拟主机都托管在 /home 上,但我知道在 Debian 中它们托管在 /var/www 上,这是分配剩余磁盘的原因
还有一件事,我要安装图形环境吗?作为初学者,我喜欢有东西可以与 Windows 连接的想法,但我通过 ssh 管理得很好。
提前非常感谢
PD 抱歉我的英语不好。
答案1
我不敢相信人们仍然在为分区问题争论不休。
您有 3 个明智的选择。
1)自动分区。 允许操作系统选择配置磁盘的最佳方式。对我来说 99% 的时间都有效。
2)分区复杂。用硬主分区/扩展分区做任何你想做的事情。上面的方案可能有效,但最终你会遇到一个常见问题:/home 下分配了大量空间,但这些空间都被浪费了,而 /usr 空间也快用完了。
3)LVM 分区。 这很棒,但需要花点时间才能理解。您将磁盘分配为物理卷 (PV),将物理卷捆绑到卷组 (VG) 中,并从中划分出逻辑卷 (LV)。
获得逻辑卷后,您可以按自己喜欢的方式格式化它,将其安装在您想要的位置,更重要的是,调整其大小或缩小它。
我可能会尝试做如下的某种混合:
/dev/sda1 500MB /boot
/dev/sda2 REST OF DISK LVM
因此,您实际上在物理磁盘、第一个分区上拥有 /boot,并且在 MBR 上拥有引导加载程序。这对于引导加载程序可能不知道 LVM 的旧 GRUB 或 LILO 很有帮助。
-- 事实上,如果将软件 RAID(mdraid)与 LVM 结合起来,您可以做一些有趣的事情。
假设您有 4 个磁盘,每个磁盘容量为 1TB。
/dev/sda
/dev/sdb
/dev/sdc
/dev/sdd
我可能会尝试按如下方式进行分区。
/dev/sd[a-d]1 RAID Member 0.5% total space
/dev/sd[a-d]2 RAID Member 99.5% total space
然后组成2个突袭小组,
/dev/md0
是 RAID 1,的/dev/sd[a-d]1
,产生 5GB 的 RAID 1 阵列;
/dev/md1
是 RAID 6,的/dev/sd[a-d]2
,产生 1.9TB 的 RAID 6 阵列。
然后将 /dev/md0 挂载为 /boot(对此有很多保护),然后 /dev/md1 成为您的第一个 VG 的第一个 PV,您可以使用 LVM 将其分块。
答案2
下面给出了很好的解释:
http://www.debian.org/doc/manuals/securing-debian-howto/ch3.en.html#s3.2
智能分区方案取决于计算机的使用方式。一个好的经验法则是,对分区要相当宽容,并注意以下因素:
任何用户有写权限的目录树,例如 /home、/tmp 和 /var/tmp/,都应该放在单独的分区上。这样可以降低用户因填满“/”挂载点而导致系统不可用而遭受 DoS 攻击的风险(注意:这并不完全正确,因为总会有一些空间为 root 保留,而普通用户无法填满),还可以防止硬链接攻击。[2]
任何可能波动的分区,例如 /var(尤其是 /var/log)也应该放在单独的分区上。在 Debian 系统上,您应该将 /var 创建得比其他系统大一点,因为下载的软件包(apt 缓存)存储在 /var/cache/apt/archives 中。
任何要安装非发行版软件的分区都应位于单独的分区上。根据文件层次结构标准,该分区为 /opt 或 /usr/local。如果这些是单独的分区,则如果您(必须)重新安装 Debian 本身,它们不会被删除。
从安全角度来看,尝试将静态数据移至其自己的分区,然后以只读方式挂载该分区是有意义的。更好的做法是将数据放在只读介质上。有关更多详细信息,请参阅下文。
对于邮件服务器来说,为邮件缓冲池设置一个单独的分区非常重要。远程用户(无论有意还是无意)都可以填满邮件缓冲池(/var/mail 和/或 /var/spool/mail)。如果缓冲池位于单独的分区,这种情况不会导致系统不可用。否则(如果缓冲池目录与 /var 位于同一分区),系统可能会出现严重问题:不会创建日志条目,无法安装软件包,某些程序甚至可能无法启动(如果它们使用 /var/run)。
基本上,您不希望 /var 中的日志文件、/tmp 中的临时文件或用户弄乱磁盘,导致系统无法使用。因此,您需要将文件系统目标分隔成多个分区。
就我个人而言,我会避免使用 lvm,除非它在创建加密分区或软件 raid 时有用,尽管在没有 lvm 的情况下也可以工作。然而其他人确实喜欢它。
实际上,当我有选择时,我会或多或少地按照下面描述的方式设置服务器(顺序并不重要):
/boot should be small, about 1 GB
/ should be small as well, a few GB, you could combine / and /boot
swap
/usr reasonably large, 20 GB or more
/var not too small either, 10+ GB?
/opt
/tmp
/home I always use the remainder of the disk for that (which is most disk space)
如果它是桌面,您可以将其简化为如下所示的内容:
/boot
/
swap
/home