显然,我正在使用空间不足的 xvda1 磁盘。
我该如何更改/etc/fstab
以便我可以将 xvda2 作为顶层,并将 xvda1 作为附加资源?
它是一个 EC2 实例:
root@~# cat /etc/fstab
LABEL=cloudimg-rootfs / ext4 defaults 0 0
/dev/xvda2 /mnt auto defaults,nobootwait,comment=cloudconfig 0 2
root@:/# du --max-depth=1 -h
4.0K ./selinux
1.7G ./opt
29M ./boot
du: cannot access `./proc/23342/task/23342/fd/4': No such file or directory
du: cannot access `./proc/23342/task/23342/fdinfo/4': No such file or directory
du: cannot access `./proc/23342/fd/4': No such file or directory
du: cannot access `./proc/23342/fdinfo/4': No such file or directory
0 ./proc
98M ./lib
13M ./etc
2.8M ./home
72M ./run
8.0K ./dev
4.0K ./media
8.0M ./sbin
20K ./mnt
4.0K ./srv
0 ./tmp
8.3M ./bin
1.4M ./build
0 ./sys
1.4G ./usr
3.9G ./var
16K ./lost+found
233M ./root
7.4G .
root@:~# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda1 8361916 7845404 97084 99% /
udev 1929404 8 1929396 1% /dev
tmpfs 773948 73672 700276 10% /run
none 5120 0 5120 0% /run/lock
none 1934860 0 1934860 0% /run/shm
overflow 1024 64 960 7% /tmp
/dev/xvda2 412814512 203156 391641580 1% /mnt
答案1
如果是我的话,我会用一个更大的来替换它,只需几分钟的停机时间。
- 停止实例
- 在控制台中拍摄根卷的快照
- 从该快照创建具有更大卷大小的新 ebs
- 分离旧卷并附加新卷
- 重新启动您的实例
答案2
我猜这是 EC2 实例(因为 EC2 正在使用 xvda)。简而言之,你不能在 EC2 中这样做。
相反,您可以永久安装/dev/xvda2
(通过编辑/etc/fstab
),/home
或者/mnt
使用它作为放置数据的附加“池”。
您可以使用符号链接尝试将数据拆分为 2 个大小大致相同的数据集。通常,这并不难实现。
答案3
通常,unix/linux 文件系统被分成多个分区,分别为 /、/usr、/var、/home、/tmp 和 /srv。如果您无法重建或重新分区系统,请查找占用空间最多的分区,并将其移动到您的xvda2
分区。然后,您可以将其中的部分绑定挂载或符号链接到您的文件系统。
例如,如果你的 web 空间和 mysql 空间是最大的部分,你可以
- 停止 mysql 和 web 服务器
- 将 /var/lib/mysql 和 /var/www 移动到 /mnt 分区
- 将这些目录替换为 /mnt/mysql 和 /mnt/www 的符号链接
- 重新启动 mysql 和 web 服务器
在玩之前,不要忘记备份你的数据。