使用 Amazon EC2 上的所有空间 - 中级

使用 Amazon EC2 上的所有空间 - 中级

我目前正在运行 Amazon EC2 - 中级预留实例,用于托管客户网站。最近似乎空间开始不足/dev/sda1- 所以我想我最好做好准备。

DF-H
文件系统大小已使用可用使用率%安装于
/dev/sda1 8.0G 5.6G 2.5G 70% /
无 848M 116K 848M 1% /dev
无 853M 0 853M 0%/dev/shm
无 853M 56K 853M 1% /var/运行
无 853M 0 853M 0%/var/锁
/dev/sda2 335G 195M 318G 1% /mnt

我见过这个问题:如何在 /dev/sda2 中挂载空间- 这提供了一种解决方案,但如何调整像 sda1 这样的活动分区的大小,这样我就不必更改当前设置了?或者有更好的方法来利用 sda2?

答案1

不要使用 /mnt 中的空间!这是临时存储,重启后不会保留 - 如果您将内容放入其中,它将丢失。一些 Linux 发行版会为您安装临时存储以方便您,将其用于临时或交换。

您有几个选择。

增加根驱动器大小

您无法动态调整 /dev/sda1 的大小。不过,您可以在启动时调整它的大小。这需要停机时间,但您可以做的是

  1. 将现有实例快照到 AMI。这应该会为您提供 ami-yyyyyy(我希望您已经这样做了或类似的事情,以便随着时间的推移进行备份!)

    ec2-stop-instances i-xxxxxx

    ec2-create-image --name my-image-name-v1.0 --description "My lovely Web Server" i-xxxxxxx

  2. 运行具有更大根驱动器大小的该映像的新实例

    ec2-run-instances -k ssh-key -z us-east-1b -t c1.medium -b "/dev/sda1=:50" ami-yyyyyy

  3. 现在您正在运行实例 i-zzzzz。根据您使用的 Linux,您可能需要调整文件系统的大小以获取额外的空间。在 Ubuntu 上,在盒子上:

    sudo resize2fs /dev/sdf

  4. 现在在您的弹性 IP 或 ELB 或 DNS 中将 i-zzzzzz 替换为 i-xxxxxx,或者无论您向全世界宣传它的方式。

添加第二个驱动器

这可能更好 - 稍微贵一点,但最好的做法是不要把一堆东西放在你的根驱动器上,因为它充满了日志或文件,你将会崩溃并且会经历一段悲伤的恢复时间。

  1. 创建所需大小的 EBS 卷,例如 20 GB。这将为您提供卷 vol-yyyyyy。

    ec2-create-volume -z us-east-1b -s 20

  2. 将卷附加到您的实例

    ec2-attach-volume vol-yyyyyy -i i-xxxxxx -d /dev/sdf

  3. 在实例上,创建文件系统并挂载它

    sudo mkfs -t ext3 /dev/sdf

    sudo mkdir -p /web

    sudo mount /dev/sdf /web

  4. 将您的网络根目录移至那里。

  5. 将新驱动器永久添加到 /etc/mnttab

    /dev/sdf /opt/apps ext3 defaults,rw 0 0

  6. 按照步骤 1 的方式将新图像快照到 AMI - 这始终是一个好的做法。

这还有一个好处,就是只需对卷进行快照,就可以单独备份该 EBS,而且如果您需要关闭一台服务器并启动另一台服务器,则可以从一台服务器分离 /web EBS 卷并将其附加到另一台服务器,从而轻松进行数据迁移。

答案2

我会根据需要将内容从中绑定/mnt到中/。这并不完美,但比现在更好,并且干扰最小。

相关内容