我相信/ images / backups正在使用/ images?
中的空格/dev/sdb1 820G 645G 135G 83% /images
/dev/loop0 296G 296G 0 100% /images/backups
我在另一台500G免费的机器/图像中有类似的分区,我想拿出350G的/ images / backups,怎么做?
是不是,它是一个简单的循环挂载,它可以提供指定的空间量,或者我们应该创建一个所需大小和挂载的NULL文件?如果是这样,应该使用哪些挂载选项来指定大小?
答案 0 :(得分:3)
你需要创建一个固定大小的目标,但是可以使用一个“稀疏文件”,它实际上没有任何块写入它(因此在你写入之前它实际上不占用空间)它)。
例如:
dd if=/dev/zero of=file.img bs=1 count=0 seek=20G
将创建一个预先分配到20GB的稀疏文件。实际上,实际上预先向磁盘写入20GB的零(使文件非稀疏)在写入时会更快,并且可以减少碎片。
可以使用losetup命令将其附加到环回设备,创建文件系统并挂载:
losetup /dev/loop1 file.img
mke2fs -j /dev/loop1
mount /dev/loop1 /mnt/somewhere
如果您想知道现有文件是否稀疏,以下方法(在具有GNU工具的系统上;在纯POSIX环境中不支持以下某些):
{
read block_count block_size file_size
if (( block_count * block_size < file_size )) ; then
echo "Sparse"
else
echo "Non-Sparse"
fi
} < <(stat --format='%b %B %s'$'\n' /images/backups.img)