了解 ec2 freebsd 实例上的磁盘空间

了解 ec2 freebsd 实例上的磁盘空间

因此,当谈到 Unix 驱动器时,我可能缺乏一些基本的了解。

在 amazon-ec2 上,我刚刚创建了一个实例,其中指定了根设备为 30 GB。如果我转到卷,我会看到卷正在使用。但是当我通过 ssh 进入系统并运行时:

# df -h 
Filesystem    Size    Used   Avail Capacity  Mounted on
/dev/ad0a     9.9G    1.4G    7.7G    16%    /
devfs         1.0k    1.0k      0B   100%    /dev

我不明白?!

另外,关于亚马逊的卷,在详细信息中我看到附件:/dev/sda1,这到底是什么意思?

答案1

对于第一个问题,您的分区是 10GB,而驱动器是 30GB。运行gpart show以查看每个“驱动器”上的分区,包括可用空间。然后您可以确定分区的大小并使用gpart resize

一旦分区达到 30GB 或您想要的任何大小,运行growfs以调整分区上的文件系统大小。这两个命令都需要比我在此处列出的更多的参数,请参阅它们的手册页以了解详细信息man gpartman growfs如果您在运行命令时遇到任何特定问题,请再次询问,或进入聊天,里面有几位 FreeBSD 专家。

FreeBSD 不是 Linux,尽管许多人将两者混淆(两位答题者也曾混淆,但后来删除了错误答案)。不幸的是,亚马逊也犯了错误。Linux/dev/sda1对其第一块硬盘使用类似于的标签。FreeBSD/dev/ad0对其第一块 (S)ATA 硬盘(以及/dev/da0SCSI/SAS 驱动器,包括 ATAPI、USB、FireWire)使用类似标签。Solaris 使用/dev/rdsk/cWtXdYsZ... 此外,FreeBSD 还在 MBR 分区的设备名称后添加了字母,/dev/ad0a第一个 ATA 磁盘的第一个分区也是如此。您还会看到/dev/ad0b/,由于历史原因,这是整个磁盘,就像没有分区字母的设备名称一样。

答案2

大多数 AMI 映像需要 8GB 或 10GB 的根目录。考虑使用默认的 8GB,然后添加第二个 20GB 的设备并将其安装在需要使用数据的位置

如果必须调整大小,则无法在线进行,因此您可以:

  • 停止实例
  • 从实例创建卷 A 的快照
  • 从快照 A 创建卷 B
  • 将卷 B 附加到实例xbdf
  • 在 bsd 中获取新设备名称和大小
    gpart show
  • 调整分区大小(xbd5对我来说)如果分区在驱动器启动时使用了一些可用块
    gpart resize -i 1 -s 30G xbd5
    ,则参数-s可能需要略低于 30G。
  • 扩展您的文件系统
    growfs xbd5a
  • 停止实例 A
  • 从实例分离卷 B
  • 从实例分离卷 A
  • 将卷 B 附加为 /dev/sda1

根分区来自这里的 AMI看起来有点奇怪,我不太确定他们是否这样做了。

如果您计划创建大量此类文件,您可能需要设置您自己的 AMI 映像或快照您的工作调整大小卷,以便每次都可以从相同的 30GB 文件系统开始。

Amazon 用来/dev/sda1指代实例的初始引导/根设备。在 Linux 中,它指的是第一个设备的第一个分区,相当于/dev/ad0aFreeBSD 中的设备。

答案3

Colin Percival 创建的早期 FreeBSD AMI 使用 10GB 分区初始化 rootfs,而不管实际卷大小如何。此问题现已修复,初始根分区应与初始卷大小匹配。

如果要增加现有卷的大小,则需要:

1)转移/dev/sda1更大的体积

2)调整根分区的大小:

> gpart show
=>       3  62914549  ada0  GPT  (50G) [CORRUPT]
         3       125     1  freebsd-boot  (63K)
       128  62914424     2  freebsd-ufs  (30G)

> gpart recover ada0
ada0 recovered

> gpart show
=>        3  104857589  ada0  GPT  (50G)
          3        125     1  freebsd-boot  (63K)
        128   62914424     2  freebsd-ufs  (30G)
   62914552   41943040        - free -  (20G)

> gpart resize -i2 ada0
ada0p2 resized

> gpart show
=>        3  104857589  ada0  GPT  (50G)
          3        125     1  freebsd-boot  (63K)
        128  104857464     2  freebsd-ufs  (50G)

> growfs /
Device is mounted read-write; resizing will result in temporary write suspension for /.
It's strongly recommended to make a backup before growing the file system.
OK to grow filesystem on /dev/gpt/rootfs, mounted on /, from 30GB to 50GB? [yes/no] yes
super-block backups (for fsck_ffs -b #) at:
. . .

注意:FreeBSD 卷的大小不能减少,只能增加。

相关内容