我想在我的磁盘上创建虚拟卷(分区)。我使用 VPS,无法缩小根分区并创建新分区。
所以我决定在磁盘上创建一个虚拟卷,假设我想创建大小为 12 GB 的虚拟卷,我该怎么做呢?
接下来,可以在每次重启后自动挂载吗?如何?
我想知道真实分区和虚拟卷之间是否存在性能下降(如延迟等)。
我使用带有 ext4 文件系统的 Debian 9。
更新:
我无法缩小分区,因为我无法安装 livecd(救援磁盘),因为我的托管提供商没有此选项。因此,我无法启动到 livecd 来卸载文件系统以更改分区。
我想要那个“分区”,因为在该分区中,用户将能够上传(使用网络应用程序)一些文件,并且我想将该空间/分区的大小限制为例如 12 GB,因此永远不会超过 12 GB。
更新2:
在安装的设备内运行fallocate -l 7G dummy
(创建大的虚拟文件)后df -h
:
Filesystem Size Used Avail Use% Mounted on
udev 485M 0 485M 0% /dev
tmpfs 100M 6.8M 93M 7% /run
/dev/mapper/vg-lv_root 19G 1.2G 17G 7% /
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/sda1 236M 37M 187M 17% /boot
/dev/loop0 12G 7.1G 3.9G 65% /srv/data
tmpfs 100M 0 100M 0% /run/user/0
您可以看到它已安装并且显示已使用的空间/srv/数据,但我想知道为什么它不显示根分区上的已用空间(我有来自提供商的 20 GB SSD,但df -h
显示我有 32 GB(20 GB 根分区和 12 GB 安装设备)。我如何才能看到“真实”已使用空间根分区中的空间?因为在根目录中我有那个数据.img它的大小为12 GB,但它不计入已用空间,df -h
显示已用空间,但运行后mkfs.ext4
不再显示,你明白我的意思吗? :)
另一个问题:我应该运行dd if=/dev/zero of=data.img bs=1M count=12000
命令吗?
答案1
以下是创建 12GB ext4 磁盘映像的方法,然后您可以在启动时自动安装该映像:
- 创建图像文件:
fallocate -l 12G /path/to/image.img
- 在文件中创建文件系统:
mkfs.ext4 /path/to/image.img
- 自动挂载文件系统:
echo "/path/to/image.img /srv/data ext4 defaults,auto,loop 0 0" >>/etc/fstab