因此,当谈到 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 gpart
。man growfs
如果您在运行命令时遇到任何特定问题,请再次询问,或进入聊天,里面有几位 FreeBSD 专家。
FreeBSD 不是 Linux,尽管许多人将两者混淆(两位答题者也曾混淆,但后来删除了错误答案)。不幸的是,亚马逊也犯了错误。Linux/dev/sda1
对其第一块硬盘使用类似于的标签。FreeBSD/dev/ad0
对其第一块 (S)ATA 硬盘(以及/dev/da0
SCSI/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/ad0a
FreeBSD 中的设备。
答案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 卷的大小不能减少,只能增加。